/* ANGELS NIGHT WORLD W24 · mascot + GTA-inspired GPS cockpit.
 * Lightweight HTML/CSS/SVG, no CSS backdrop blur on mobile. */
#anwCompanion{position:absolute;z-index:28;width:64px;height:66px;pointer-events:none;user-select:none;touch-action:none}
#anwCompanion .anw-companion-avatar{position:absolute;inset:0;border:2px solid #e2fdff99;padding:0;width:64px;height:64px;border-radius:23px;background:linear-gradient(155deg,#24344fd9,#121a31ec);display:grid;place-items:center;box-shadow:0 7px 26px #0007,0 0 0 4px #82ddd622;pointer-events:auto;touch-action:none;cursor:grab}
#anwCompanion .anw-companion-avatar:active{cursor:grabbing}
#anwCompanion .anw-companion-avatar svg{width:62px;height:62px;pointer-events:none}
#anwCompanion .anw-companion-avatar:focus-visible{outline:3px solid #b4fff7;outline-offset:3px}
#anwCompanion .anw-companion-count{position:absolute;right:-3px;top:-9px;display:grid;place-items:center;min-width:25px;height:25px;padding:2px 5px;border:2px solid #091326;border-radius:20px;background:#ff8cb3;color:#181225;font:900 11px system-ui;pointer-events:none}
#anwCompanion .anw-companion-count[hidden],#anwCompanion .anw-companion-note[hidden],#anwCompanion .anw-companion-flag[hidden]{display:none!important}
#anwCompanion .anw-companion-note{position:absolute;bottom:73px;right:0;max-width:min(245px,70vw);min-width:165px;width:max-content;padding:10px 12px;border:1px solid #80dfd97a;border-radius:13px;background:#0d2030f5;color:#edfffe;font:550 11px/1.45 system-ui;box-shadow:0 8px 22px #0006;pointer-events:none;overflow-wrap:anywhere}
#anwCompanion .anw-companion-flag{position:absolute;top:74px;left:0;width:min(306px,calc(100vw - 24px));max-height:min(440px,76dvh);overflow-y:auto;overscroll-behavior:contain;padding:10px;border-radius:19px;border:1px solid #7fded866;background:#101c2bef;color:#edf9fa;box-shadow:0 17px 38px #0009;pointer-events:auto;touch-action:pan-y}
#anwCompanion .anw-companion-flag.leftward{left:auto;right:0}
#anwCompanion .anw-companion-flag.upward{top:auto;bottom:74px}
#anwCompanion .anw-companion-flag header{display:flex;align-items:center;justify-content:space-between;padding:0 3px 9px}
#anwCompanion .anw-companion-flag header strong{letter-spacing:.08em;font:800 10px system-ui;color:#a2eae6}
#anwCompanion #anwCompanionClose{width:38px;height:38px;min-width:38px;border:0;background:#ffffff12;color:#eef6ff;border-radius:12px;font:700 19px system-ui}
#anwCompanion .anw-companion-primary{display:grid;grid-template-columns:1fr 1fr;gap:7px}
#anwCompanion button[data-companion-action]{min-height:47px;display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:12px;border:1px solid #ffffff24;background:#ffffff0e;color:#f2f9fc;text-align:left;font:700 11px system-ui;cursor:pointer}
#anwCompanion button[data-companion-action] span{display:grid;place-items:center;flex:none;width:24px;font-size:19px;color:#b5f9ef}
#anwCompanion .anw-companion-primary button:first-child{grid-column:1/-1;background:linear-gradient(110deg,#6edfd8,#a4faea);border-color:#8dfaf0;color:#103035;min-height:57px;font-size:15px}
#anwCompanion .anw-companion-primary button:first-child span{color:#103035;font-size:23px}
#anwCompanion .anw-companion-more{margin-top:8px;border:1px solid #ffffff1e;border-radius:12px;padding:3px 7px}
#anwCompanion .anw-companion-more summary{cursor:pointer;padding:9px 5px;color:#bccddb;font:720 11px system-ui}
#anwCompanion .anw-companion-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding-bottom:7px}
#anwCompanion .anw-companion-grid button{min-height:43px}
#anwCompanion .anw-companion-pets{display:flex;gap:9px;justify-content:center;align-items:center;border:1px solid #ffffff1f;border-radius:12px;padding:10px 5px 8px;margin:9px 0 0}
#anwCompanion .anw-companion-pets legend{font:650 10px system-ui;color:#bcd0dc;padding:0 5px}
#anwCompanion [data-companion-kind]{width:54px;height:54px;display:grid;place-items:center;border-radius:13px;background:#182e42;border:1px solid #ffffff29;padding:0;cursor:pointer}
#anwCompanion [data-companion-kind][aria-pressed="true"]{border:2px solid #98f9ed;background:#27606b}
#anwCompanion [data-companion-kind] svg{width:45px;height:45px}
#anwCompanion .anw-companion-flag button:focus-visible,#anwCompanion summary:focus-visible{outline:2px solid #9ffff0;outline-offset:2px}
/* Only the joystick pad survives as the essential mobile movement input.
 * All bottom-screen buttons are replaced by the mascot flag menu. */
#openINight,.bottom-nav,.touch-actions,.room-chat-preview,.desktop-help{display:none!important}
/* Legacy HUD notifications are now delivered through the mascot bubble. */
#game:has(#anwCompanion) #toast{display:none!important}
#anwMiniMap{position:absolute;z-index:14;top:calc(130px + var(--safe-top));right:calc(13px + var(--safe-right));width:170px;height:168px;display:flex;flex-direction:column;gap:3px;padding:9px;border:1px solid #9ee5e254;border-radius:15px;background:#0a1624d9;color:#e6f9fb;cursor:pointer;box-shadow:0 8px 27px #0006;overflow:hidden}
#anwMiniMap .anw-mini-heading{font:800 9px system-ui;letter-spacing:.07em;text-align:left;display:flex;justify-content:space-between;align-items:center;color:#a8e6e0}
#anwMiniMap .anw-mini-heading b{display:grid;place-items:center;background:#174654;width:21px;height:21px;border-radius:7px;color:#d8fffa}
#anwMiniMap .anw-mini-canvas{position:relative;display:block;flex:1;overflow:hidden;border:1px solid #7ed6d83d;border-radius:9px;background:linear-gradient(90deg,#ffffff06 1px,transparent 1px),linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(150deg,#132e42,#111a2c);background-size:17px 17px,17px 17px,auto}
#anwMiniMap .anw-mini-canvas:before{content:'';position:absolute;left:32%;top:23%;width:36%;height:52%;border:1px solid #53bfc34b;background:#329fa70d}
#anwMiniMap #anwMiniSelf{position:absolute;z-index:3;font-size:19px;color:#f7fffb;text-shadow:0 0 5px #2dfff1;transform-origin:center}
#anwMiniMap .anw-mini-pin{position:absolute;transform:translate(-50%,-50%);width:5px;height:5px;border-radius:50%;background:#f6bd91;z-index:2}
#anwMiniMap .anw-mini-pin.type-player{background:#8af8e4;width:7px;height:7px}
#anwMiniMap .anw-mini-pin.type-monster{background:#fa6e86}
#anwMiniMap .anw-mini-pin.type-portal{background:#c39dff}
#anwMiniMap .anw-mini-foot{text-align:center;font:650 10px system-ui;color:#e8f4f4}
#anwMiniMap:focus-visible{outline:3px solid #a5fff4;outline-offset:3px}
/* Full GPS with actual positions and walkable collision-based routes. */
#anwGpsOverlay{position:absolute;inset:0;z-index:39;display:grid;place-items:center;padding:calc(12px + var(--safe-top)) calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left));pointer-events:auto}
#anwGpsOverlay[hidden]{display:none!important}
#anwGpsOverlay .anw-gps-shade{position:absolute;inset:0;background:#040913d8}
#anwGpsOverlay .anw-gps-panel{position:relative;max-width:880px;width:100%;max-height:96%;display:flex;flex-direction:column;gap:12px;border:1px solid #90e9df4c;border-radius:21px;padding:17px;background:#0f1c2cf7;color:#eaf7fb;box-shadow:0 18px 65px #000b}
#anwGpsOverlay .anw-gps-head{display:flex;align-items:center;justify-content:space-between}
#anwGpsOverlay .anw-gps-head small{font:750 9px system-ui;letter-spacing:.16em;color:#86ded5}
#anwGpsOverlay .anw-gps-head h2{font:800 24px system-ui;letter-spacing:-.045em;margin:4px 0 0}
#anwGpsOverlay #anwGpsClose{width:45px;height:45px;border:0;border-radius:14px;background:#ffffff10;color:#fff;font:700 20px system-ui}
#anwGpsOverlay .anw-gps-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#anwGpsOverlay .anw-gps-tools span{margin-right:auto;color:#94c7cc;font:680 10px system-ui}
#anwGpsOverlay .anw-gps-tools button{min-height:36px;border-radius:9px;background:#22364b;color:#d5eff1;border:1px solid #ffffff2a;padding:6px 10px;font:650 10px system-ui;cursor:pointer}
#anwGpsOverlay .anw-gps-main{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(225px,.85fr);gap:12px;overflow:hidden}
#anwGpsOverlay .anw-gps-map{position:relative;width:100%;aspect-ratio:30/34;max-height:62dvh;min-height:240px;overflow:hidden;border:1px solid #5c899a;border-radius:14px;background:repeating-linear-gradient(0deg,transparent 0,transparent 23px,#ffffff05 24px),repeating-linear-gradient(90deg,transparent 0,transparent 23px,#ffffff05 24px),#19283b}
#anwGpsOverlay .anw-gps-map:before{content:'';position:absolute;inset:4% 5%;border:4px solid #527187;border-radius:8px;pointer-events:none}
#anwGpsOverlay .anw-map-stage{position:absolute;left:28%;width:44%;height:13%;top:4%;background:#c281b425;border:1px solid #d59ac177}
#anwGpsOverlay .anw-map-dance,#anwGpsOverlay .anw-map-bar,#anwGpsOverlay .anw-map-dj,#anwGpsOverlay .anw-map-vip{position:absolute;font:760 10px system-ui;letter-spacing:.05em;color:#9abfd0;text-align:center;pointer-events:none}
#anwGpsOverlay .anw-map-dance{left:30%;top:40%;width:40%;height:32%;border:1px solid #74e2e260;background:#55ddcc0b;display:grid;place-items:center}
#anwGpsOverlay .anw-map-bar{left:6%;top:49%;color:#caa8fd}
#anwGpsOverlay .anw-map-dj{left:38%;top:9%;color:#ffbdd9}
#anwGpsOverlay .anw-map-vip{right:8%;top:49%;color:#d6c8ff}
#anwGpsOverlay .anw-gps-routes,#anwGpsOverlay .anw-gps-pins{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#anwGpsOverlay .anw-gps-pins .anw-map-pin{position:absolute;transform:translate(-50%,-50%);width:25px;height:25px;border:1px solid #ffffff91;border-radius:50%;background:#265b70;color:#f5fffe;font:800 14px system-ui;display:grid;place-items:center;pointer-events:auto;cursor:pointer;box-shadow:0 2px 8px #0008;padding:0}
#anwGpsOverlay .anw-map-pin.type-self{background:#b0ffee;color:#053a42;transform:translate(-50%,-50%) rotate(-35deg)}
#anwGpsOverlay .anw-map-pin.type-player{background:#21a898}
#anwGpsOverlay .anw-map-pin.type-npc{background:#c89669}
#anwGpsOverlay .anw-map-pin.type-place{background:#526a88}
#anwGpsOverlay .anw-map-pin.type-monster{background:#bb364e}
#anwGpsOverlay .anw-map-pin.type-portal{background:#845dcb}
#anwGpsOverlay .anw-map-pin.selected{outline:3px solid #c7fffb;outline-offset:3px}
#anwGpsOverlay .anw-gps-sidebar{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:hidden}
#anwGpsOverlay .anw-gps-navigation{display:grid;gap:6px;padding:12px;border:1px solid #7bdad14d;background:#153442a1;border-radius:13px}
#anwGpsOverlay .anw-gps-navigation strong{font:800 14px system-ui}
#anwGpsOverlay .anw-gps-navigation span{font:550 11px/1.4 system-ui;color:#afd1df}
#anwGpsOverlay .anw-gps-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border-radius:11px;background:#ffffff0b;padding:9px;color:#bdd2dd;font:640 10px system-ui}
#anwGpsOverlay .anw-gps-items{flex:1;overflow-y:auto;min-height:40px;scrollbar-width:thin;display:flex;flex-direction:column;gap:5px}
#anwGpsOverlay .anw-gps-place{min-height:37px;border-radius:10px;border:1px solid #ffffff1f;background:#ffffff0d;color:#eaf8fa;text-align:left;padding:8px 10px;font:650 11px system-ui;cursor:pointer}
#anwGpsOverlay .anw-gps-place.selected{border-color:#99ffef;background:#2a6361}
#anwGpsOverlay #anwGpsEmpty{font:500 10px/1.4 system-ui;color:#9eb2c5;margin:0}
#anwGpsOverlay button:focus-visible{outline:2px solid #abfff4;outline-offset:2px}
@media(max-width:650px){
 #anwMiniMap{top:calc(108px + var(--safe-top));right:calc(10px + var(--safe-right));width:118px;height:124px;padding:6px}
 #anwCompanion .anw-companion-avatar{width:62px;height:62px}
 #anwGpsOverlay .anw-gps-panel{padding:10px;gap:7px;max-height:100%}
 #anwGpsOverlay .anw-gps-main{grid-template-columns:1fr;overflow-y:auto;gap:8px}
 #anwGpsOverlay .anw-gps-map{min-height:0;max-height:none;width:min(100%,350px);margin:0 auto;aspect-ratio:30/34}
 #anwGpsOverlay .anw-gps-sidebar{overflow:visible}
 #anwGpsOverlay .anw-gps-items{max-height:120px;overflow-y:auto}
 #anwGpsOverlay .anw-gps-head h2{font-size:20px}
 #anwGpsOverlay .anw-gps-legend{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(orientation:landscape) and (max-height:560px){
 #anwMiniMap{top:calc(58px + var(--safe-top));width:100px;height:94px}
 #anwGpsOverlay .anw-gps-panel{padding:8px;gap:5px}
 #anwGpsOverlay .anw-gps-main{grid-template-columns:minmax(150px,1fr) minmax(170px,1fr);overflow:hidden}
 #anwGpsOverlay .anw-gps-map{width:auto;height:calc(100dvh - 105px);min-height:0}
 #anwGpsOverlay .anw-gps-sidebar{overflow-y:auto}
}
@media(prefers-reduced-motion:reduce){#anwCompanion *,#anwGpsOverlay *{animation:none!important;transition:none!important}}

#anwCompanion.near-top .anw-companion-note{top:74px;bottom:auto}
#anwCompanion.menu-open .anw-companion-note{display:none}
@media(pointer:coarse){#anwCompanion button{touch-action:manipulation}}

/* W26 — GTA-style round radar anchored at TOP RIGHT, no banner/footer. */
#anwMiniMap{
 position:absolute;top:calc(55px + var(--safe-top,0px));right:calc(10px + var(--safe-right,0px));
 left:auto;bottom:auto;width:88px;height:88px;min-width:88px;min-height:88px;
 aspect-ratio:1;border-radius:50%;padding:0;display:block;overflow:hidden;
 border:2px solid #a6f5eb91;background:#10263c;
 box-shadow:0 4px 15px #0008,0 0 0 3px #0a142a88;
 backdrop-filter:none;-webkit-backdrop-filter:none;
}
#anwMiniMap .anw-mini-heading,#anwMiniMap .anw-mini-foot{display:none!important}
#anwMiniMap .anw-mini-canvas{
 position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:50%;
 overflow:hidden;background-size:13px 13px,13px 13px,auto;
}
#anwMiniMap .anw-mini-canvas:before{
 left:25%;top:22%;width:50%;height:58%;border-width:1px;
}
#anwMiniMap #anwMiniSelf{font-size:17px}
#anwMiniMap .anw-mini-pin{box-shadow:0 0 0 1px #0a162a}
#anwMiniMap:focus-visible{outline:3px solid #a5fff4;outline-offset:3px}
@media(max-width:650px){
 #anwMiniMap{top:calc(56px + var(--safe-top,0px));right:calc(9px + var(--safe-right,0px));
  width:72px;height:72px;min-width:72px;min-height:72px;padding:0;border-radius:50%}
 #anwMiniMap #anwMiniSelf{font-size:14px}
}
@media(orientation:landscape) and (max-height:560px){
 #anwMiniMap{top:calc(43px + var(--safe-top,0px));right:calc(8px + var(--safe-right,0px));
  width:66px;height:66px;min-width:66px;min-height:66px;padding:0;border-radius:50%}
}
@media(max-height:410px) and (orientation:landscape){
 #anwMiniMap{top:calc(39px + var(--safe-top,0px));width:58px;height:58px;min-width:58px;min-height:58px}
}
/* Palette entry lives INSIDE complete Settings; never a second gear icon. */
#inightRoot .inight-settings-shortcut{gap:12px;min-height:57px;text-align:left}
#inightRoot .inight-settings-shortcut .inight-appearance-symbol{
 display:grid;place-items:center;width:36px;height:36px;flex:none;
 background:var(--app-surface-alt);color:var(--app-accent);
 border-radius:12px;font-size:24px;
}
