/* SV_POP_UI_V1 — supplied SchoolVerse POP design, existing HUD controls. */
.sv-ui{--sv-lime:#c3ff24;--sv-pink:#ff42bd;--sv-cyan:#23e8ff;--sv-text:#fff;--sv-muted:#d8c9ee;font-family:ui-rounded,'Arial Rounded MT Bold','Trebuchet MS',system-ui,sans-serif;font-size:14px;line-height:1.3;color:#fff;text-shadow:0 2px 4px #100921;isolation:isolate}
.sv-ui *{box-sizing:border-box}.sv-ui [hidden]{display:none!important}.sv-ui button{font-family:inherit;appearance:none;-webkit-appearance:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.sv-ui img{display:block;object-fit:contain;user-select:none;-webkit-user-drag:none}
.sv-ui .sv-panel,.sv-ui .sv-btn{border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none}
.sv-ui .sv-btn{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;padding:0;min-width:0;min-height:0;color:#fff;font-weight:900;letter-spacing:-.025em;text-align:center;transition:translate .15s,scale .15s,filter .15s}
.sv-ui .sv-btn:hover{translate:0 -3px;box-shadow:none;filter:brightness(1.13)}.sv-ui .sv-btn:active,.sv-ui .sv-btn.is-held{scale:.95;translate:0 1px}.sv-ui button:focus-visible,.sv-ui .sv-joystick:focus-visible{outline:none;filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 8px #23e8ff)}.sv-ui button:disabled{opacity:.45;cursor:default;translate:none}
.sv-ui .sv-icon{width:31px;height:31px;pointer-events:none;flex:none;filter:drop-shadow(0 4px 0 #160f3c60)}.sv-ui .sv-label{white-space:nowrap;text-shadow:0 2px 4px #100921}
.sv-ui .sv-brand{display:flex;align-items:center;gap:5px;font-size:23px;font-weight:950;letter-spacing:-1.2px;transform:rotate(-3deg)}.sv-ui .sv-brand .sv-icon{width:25px;height:25px}
.sv-ui .sv-profile{width:260px;padding:0;display:grid;grid-template-columns:69px 1fr;column-gap:8px;row-gap:0;align-items:center}.sv-ui .sv-profile__portrait{width:69px;height:75px;grid-row:1/3;overflow:hidden;background:none;border:0;box-shadow:none;border-radius:0}.sv-ui .sv-profile__portrait img{width:100%;height:100%;object-fit:contain;clip-path:ellipse(47% 49% at 50% 50%)}.sv-ui .sv-profile__name{display:block;font-size:19px;font-weight:950;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sv-ui .sv-profile__grade{display:block;font-size:10px;color:#e2d9ff;margin-top:3px}.sv-ui .sv-profile>.sv-btn{grid-column:2;flex-direction:row;justify-content:flex-start;gap:4px;font-size:15px;color:#ff76ce;min-height:28px}.sv-ui .sv-profile>.sv-btn .sv-icon{width:18px;height:18px}
.sv-ui .sv-location{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:900;white-space:nowrap;padding:0}.sv-ui .sv-location .sv-icon{width:42px;height:45px}
.sv-ui .sv-utilities{display:flex;gap:18px}.sv-ui .sv-btn--utility{width:43px;min-height:44px;font-size:9px;gap:6px}.sv-ui .sv-btn--utility .sv-icon{width:31px;height:31px}
.sv-ui .sv-dock{display:flex;flex-direction:column;gap:24px;padding:0}.sv-ui .sv-btn--tile{min-width:84px;font-size:16px;gap:1px}.sv-ui .sv-btn--tile .sv-icon{width:75px;height:75px}.sv-ui [data-action=islands]{color:#c3ff24;transform:rotate(-5deg)}.sv-ui [data-action=my-bricks]{color:#ff83d6;transform:rotate(4deg)}.sv-ui .sv-count{position:absolute;right:1px;top:3px;font-size:21px;font-weight:950;color:#ffeb29;transform:rotate(8deg);text-shadow:0 2px 3px #201330}
.sv-ui .sv-joystick{width:96px;height:96px;border:0;border-radius:50%;background:radial-gradient(circle,#23e8ff30 0 33%,#23e8ff15 48%,transparent 70%);box-shadow:none;backdrop-filter:none;touch-action:none;cursor:grab;user-select:none}.sv-ui .sv-joystick__pad{position:absolute;width:34px;height:34px;left:calc(50% - 17px);top:calc(50% - 17px);border-radius:50%;background:radial-gradient(circle at 32% 23%,#cfffff,#23e8ff 60%,#008fe1);filter:drop-shadow(0 5px 0 #143f78);pointer-events:none}.sv-ui .sv-joystick__arrow{position:absolute;width:10px;height:10px;pointer-events:none}.sv-ui .sv-joystick__arrow--up{top:3px;left:calc(50% - 5px)}.sv-ui .sv-joystick__arrow--left{left:3px;top:calc(50% - 5px);transform:rotate(-90deg)}.sv-ui .sv-joystick__arrow--right{right:3px;top:calc(50% - 5px);transform:rotate(90deg)}.sv-ui .sv-joystick__label{position:absolute;left:108px;top:37px;color:#e2d5ff;white-space:nowrap;font-size:11px;pointer-events:none}
.sv-ui .sv-movement{display:flex;align-items:flex-end;gap:22px}.sv-ui .sv-btn--round{width:82px;height:100px;color:#4bf1ff;font-size:13px;letter-spacing:1px}.sv-ui .sv-btn--round .sv-icon{width:67px;height:70px}.sv-ui .sv-btn--run{width:64px;height:78px;color:#ffe729}.sv-ui .sv-btn--run .sv-icon{width:44px;height:47px}
.sv-hud{position:fixed;inset:0;height:100dvh;z-index:50;pointer-events:none;overflow:hidden;--sv-left:max(24px,calc(env(safe-area-inset-left,0px) + 16px));--sv-right:max(24px,calc(env(safe-area-inset-right,0px) + 16px));--sv-bottom:max(28px,calc(env(safe-area-inset-bottom,0px) + 18px))}.sv-hud button,.sv-hud__joystick{pointer-events:auto}.sv-hud__brand{position:absolute;top:max(23px,env(safe-area-inset-top));left:28px}.sv-hud__profile{position:absolute;top:70px;left:22px}.sv-hud__location{position:absolute;top:24px;left:50%;transform:translateX(-50%)}.sv-hud__utilities{position:absolute;top:24px;right:27px}.sv-hud__dock{position:absolute;top:205px;left:23px}.sv-hud__joystick{position:absolute;bottom:var(--sv-bottom);left:var(--sv-left)}.sv-hud__movement{position:absolute;bottom:var(--sv-bottom);right:var(--sv-right)}.sv-hud[data-suspended=true]{display:none}
@media(max-height:760px) and (min-width:701px){.sv-ui .sv-hud__dock{top:180px;gap:15px;flex-direction:row}.sv-ui .sv-btn--tile .sv-icon{width:60px;height:60px}}
@media(max-width:1000px){.sv-ui .sv-utilities{gap:10px}.sv-hud__utilities{right:20px}.sv-ui .sv-joystick__label{display:none}}
@media(max-width:700px){.sv-hud{--sv-left:max(18px,calc(env(safe-area-inset-left,0px) + 12px));--sv-right:max(20px,calc(env(safe-area-inset-right,0px) + 12px));--sv-bottom:max(26px,calc(env(safe-area-inset-bottom,0px) + 16px))}.sv-hud__brand{left:15px;top:20px}.sv-ui .sv-brand{font-size:20px}.sv-ui .sv-brand .sv-icon{width:20px;height:20px}.sv-hud__utilities{top:19px;right:12px}.sv-ui .sv-utilities{gap:8px}.sv-ui .sv-btn--utility{width:28px;font-size:7px;gap:4px}.sv-ui .sv-btn--utility .sv-icon{width:25px;height:25px}.sv-hud__profile{left:10px;top:72px}.sv-ui .sv-profile{width:210px;grid-template-columns:48px 1fr;column-gap:6px}.sv-ui .sv-profile__portrait{width:48px;height:54px}.sv-ui .sv-profile__name{font-size:15px;max-width:145px}.sv-ui .sv-profile__grade{font-size:8px;max-width:145px}.sv-ui .sv-profile>.sv-btn{font-size:12px}.sv-ui .sv-profile>.sv-btn .sv-icon{width:14px;height:14px}.sv-hud__location{top:140px;left:auto;right:16px;transform:none}.sv-ui .sv-location{font-size:12px;gap:5px}.sv-ui .sv-location .sv-icon{width:29px;height:31px}.sv-hud__dock{top:auto;bottom:var(--sv-bottom);left:50%;transform:translateX(-50%)}.sv-ui .sv-dock{flex-direction:row;gap:18px}.sv-ui .sv-btn--tile{min-width:59px;font-size:12px}.sv-ui .sv-btn--tile .sv-icon{width:50px;height:53px}.sv-ui .sv-count{font-size:17px}.sv-ui .sv-joystick{width:80px;height:80px}.sv-ui .sv-joystick__pad{width:30px;height:30px;left:calc(50% - 15px);top:calc(50% - 15px)}.sv-ui .sv-movement{flex-direction:column;gap:10px;align-items:center}.sv-ui .sv-btn--run{width:52px;height:55px}.sv-ui .sv-btn--round:not(.sv-btn--run){width:56px;height:70px}.sv-ui .sv-btn--run .sv-icon{width:31px;height:34px}.sv-ui .sv-btn--round:not(.sv-btn--run) .sv-icon{width:45px;height:48px}.sv-ui .sv-btn--round .sv-label{font-size:9px}}
@media(max-width:360px){.sv-ui .sv-brand{font-size:17px}.sv-ui .sv-utilities{gap:5px}.sv-ui .sv-joystick{width:64px;height:64px}.sv-ui .sv-joystick__pad{width:26px;height:26px;left:calc(50% - 13px);top:calc(50% - 13px)}.sv-ui .sv-dock{gap:10px}.sv-ui .sv-btn--tile{min-width:52px}.sv-ui .sv-btn--tile .sv-icon{width:45px;height:48px}}
@media(max-height:500px) and (min-width:701px){.sv-hud__dock{top:158px!important}.sv-ui .sv-btn--tile .sv-icon{width:45px;height:48px}.sv-ui .sv-btn--run{width:52px;height:60px}.sv-ui .sv-btn--round:not(.sv-btn--run){width:64px;height:75px}.sv-ui .sv-btn--round .sv-icon{width:48px;height:51px}.sv-ui .sv-joystick{width:76px;height:76px}}
@media(prefers-reduced-motion:reduce){.sv-ui *{transition:none!important;animation:none!important}}
/* SVG images do not inherit currentColor from their host document. */
.sv-ui .sv-joystick__arrow{filter:brightness(0) saturate(100%) invert(86%) sepia(55%) saturate(2630%) hue-rotate(130deg) brightness(106%) contrast(105%)}
.sv-ui .sv-profile>.sv-btn .sv-icon{display:none}.sv-ui .sv-profile>.sv-btn .sv-label:after{content:' ↗'}
