/* Island picker only: keep the game visible through a light glass surface. */
#map.sv-island-menu[open]{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);width:min(820px,94vw)!important;max-height:90dvh!important;padding:24px 28px!important;gap:18px;border:1px solid #c5a8ff66!important;border-radius:28px!important;background:linear-gradient(145deg,#322558d9,#171831de)!important;backdrop-filter:blur(22px) saturate(1.2);box-shadow:0 24px 90px #0c082f66,inset 0 1px #ffffff1a!important;overflow:hidden!important;color:#fff}
#map.sv-island-menu::backdrop{background:#080d2338;backdrop-filter:blur(5px)}
#map.sv-island-menu>header{display:grid!important;grid-template-columns:minmax(0,1fr) 36px;gap:18px!important;margin:0!important;padding:0!important;align-items:start!important}
#map.sv-island-menu .sv-map-heading{grid-column:1;min-width:0;flex-basis:auto!important}
#map.sv-island-menu .sv-map-heading h2{font:900 28px/1.15 ui-rounded,'Trebuchet MS',system-ui!important;letter-spacing:-.8px!important;margin:0 0 5px!important}
#map.sv-island-menu .sv-map-heading h2 span{color:#c7ff54}
#map.sv-island-menu .sv-map-heading p{font-size:12px!important;color:#d0c6e6!important;line-height:1.4!important;margin:0!important}
#map.sv-island-menu .sv-map-head-actions{display:contents!important}
#map.sv-island-menu .sv-map-close{grid-column:2;grid-row:1;color:#e7defa!important;width:36px!important;height:36px!important;border-radius:50%!important;background:#ffffff0b!important;font-size:21px!important}
#map.sv-island-menu .sv-map-places{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 0 14px;border-bottom:1px solid #d1bcff24}
#map.sv-island-menu .sv-map-places button{display:flex;align-items:center;justify-content:center;gap:12px;padding:4px 12px!important;min-width:0;border:1px solid #d1bcff20!important;border-radius:16px!important;background:#ffffff05!important;color:#fff!important;font:750 14px/1.3 ui-rounded,'Trebuchet MS',system-ui!important;text-align:left;box-shadow:none!important}
#map.sv-island-menu .sv-map-places button:hover{background:#ffffff0d!important;border-color:#d1bcff50!important}
#map.sv-island-menu .sv-map-place-icon{display:block;width:76px;height:68px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 5px 7px #0b071d55)}
#map.sv-island-menu .sv-map-places small{display:none}
#map.sv-island-menu .sv-map-switch{grid-column:1/-1;grid-row:3;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px!important;white-space:normal!important;padding:0 0 14px!important;border:0!important;border-bottom:1px solid #d1bcff24!important;background:none!important}
#map.sv-island-menu .sv-map-switch button{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:7px!important;padding:8px 3px 12px!important;border:1px solid transparent!important;border-radius:18px!important;background:transparent!important;font:700 11px/1.35 ui-rounded,'Trebuchet MS',system-ui!important;letter-spacing:0!important;color:#d6cce9!important;min-height:0!important;white-space:normal;transition:background .18s,color .18s}
#map.sv-island-menu .sv-map-switch img{display:block;width:82px;height:76px;object-fit:contain;filter:drop-shadow(0 7px 9px #0b071d55);transition:transform .18s}
#map.sv-island-menu .sv-map-switch button:hover img{transform:translateY(-3px)}
#map.sv-island-menu .sv-map-switch button[data-active="1"]{background:linear-gradient(180deg,#b9a2ff0b,#caff5410)!important;border-color:#ccff5438!important;color:#dbff8d!important}
#map.sv-island-menu .sv-map-switch button::after{display:none!important}
#map.sv-island-menu button:focus-visible{outline:2px solid #d2ff65!important;outline-offset:3px}
#map.sv-island-menu>section{min-height:0;max-height:48dvh;overflow:auto;padding:2px 3px 8px!important;scrollbar-width:thin;scrollbar-color:#b9a2ff55 transparent}
#map.sv-island-menu>section[hidden]{display:none!important}
#map.sv-island-menu .islands{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
#map.sv-island-menu .islands button{display:flex!important;flex-direction:column;align-items:center;justify-content:start;gap:4px;min-height:0!important;padding:6px!important;border-radius:18px!important;font-size:12px!important}
#map.sv-island-menu .islands button:hover{background:#ffffff08!important}
#map.sv-island-menu .islands button:before{width:100%;height:96px;margin:0 0 3px!important;flex-shrink:0}
#map.sv-island-menu .islands small{display:none!important}
#map.sv-island-menu .sv-skills-official{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0!important}
#map.sv-island-menu .sv-skills-name{font-size:12px!important;margin:8px 0 4px!important;line-height:1.35!important}
#map.sv-island-menu .sv-skills-meta{font-size:10px!important;line-height:1.4!important}
#map.sv-island-menu .sv-skills-art{max-height:140px;max-width:140px}
#map.sv-island-menu .sv-skills-track{gap:18px!important;padding:0 2px 12px!important;align-items:start}
#map.sv-island-menu .sv-skills-track>*{flex-basis:145px;min-width:0!important}
#map.sv-island-menu .sv-skills-track .sv-skills-create{min-height:0!important;width:145px!important}
.sv-menu-create-art{display:block;width:140px;height:140px;background:url('/schoolverse-ui/assets/icons/map-home.svg') center/contain no-repeat;position:relative}
.sv-menu-create-art::after{content:'+';position:absolute;right:7px;bottom:6px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#cbff60;color:#1c2532;font:700 23px/1 system-ui;box-shadow:0 3px 12px #0004}
#map.sv-island-menu .sv-skills-empty{min-width:160px;align-self:center;padding:16px!important;border:0;background:none}
#map.sv-island-menu .sv-skills-empty strong{font-size:13px!important}#map.sv-island-menu .sv-skills-empty p{font-size:11px!important}
#map.sv-island-menu .sv-skills-scroll-controls{margin:4px 0 0}
.svim-list{display:grid;gap:10px}.svim-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:16px;background:#ffffff08;border:1px solid #ffffff16;text-align:left}
.svim-card img{width:72px;height:58px;border-radius:10px;object-fit:cover}.svim-card b{display:block;font-size:13px}.svim-card small{display:block;color:#c9bedf;font-size:11px;margin-top:5px}.svim-bar{height:4px;background:#ffffff16;border-radius:5px;overflow:hidden;margin-top:8px}.svim-bar i{display:block;height:100%;background:#caff64}
.svim-go{padding:10px 16px;border-radius:12px;background:#ceff68;color:#22273d;font-size:12px;font-weight:800}.svim-go:disabled{opacity:.5}
.svim-empty{text-align:center;padding:20px 12px;color:#ece7fa}.svim-empty img{display:block;width:105px;height:90px;object-fit:contain;margin:0 auto 12px}.svim-empty b{display:block;font-size:14px}.svim-empty p{font-size:12px!important;line-height:1.5!important;color:#c9bedf;max-width:290px;margin:8px auto!important}
@media(max-width:550px){#map.sv-island-menu[open]{padding:18px 14px!important;gap:12px;border-radius:22px!important}#map.sv-island-menu .sv-map-heading h2{font-size:24px!important}#map.sv-island-menu .sv-map-switch{gap:4px!important}#map.sv-island-menu .sv-map-switch img{width:60px;height:60px}#map.sv-island-menu .sv-map-switch button{font-size:10px!important;padding:7px 2px!important;border-radius:12px!important}#map.sv-island-menu .islands button:before{height:75px}#map.sv-island-menu .islands{gap:10px!important}#map.sv-island-menu .sv-skills-official{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-height:540px){#map.sv-island-menu[open]{padding:12px 18px!important;gap:10px}#map.sv-island-menu>header{gap:8px!important}#map.sv-island-menu .sv-map-heading h2{font-size:22px!important}#map.sv-island-menu .sv-map-heading p{display:none}#map.sv-island-menu .sv-map-switch{padding-bottom:7px!important}#map.sv-island-menu .sv-map-switch img{width:45px;height:42px}#map.sv-island-menu .sv-map-switch button{padding:3px!important;gap:3px!important}#map.sv-island-menu>section{max-height:43dvh}#map.sv-island-menu .islands button:before{height:65px}}
@media(prefers-reduced-motion:reduce){#map.sv-island-menu .sv-map-switch img{transition:none}}
@media(max-width:550px){#map.sv-island-menu .sv-map-places{gap:8px;padding-bottom:10px}#map.sv-island-menu .sv-map-places button{gap:6px;padding:4px 6px!important;font-size:11px!important;border-radius:12px!important}#map.sv-island-menu .sv-map-place-icon{width:52px;height:52px}}
@media(max-height:540px){#map.sv-island-menu .sv-map-places{gap:10px;padding-bottom:7px}#map.sv-island-menu .sv-map-places button{font-size:11px!important;padding:2px 8px!important}#map.sv-island-menu .sv-map-place-icon{width:45px;height:38px}}
