:root{--cyan:#72eefb;--cyan2:#bafaff;--ink:#061319;--glass:rgba(5,20,26,.34);--line:rgba(140,238,251,.25);--safe-b:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#031014;color:#f4fdff;font-family:Montserrat,Arial,sans-serif}.app{position:relative;width:100%;height:100%;overflow:hidden}.world-bg{position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(0,8,12,.08),rgba(0,9,14,.3)),url('https://assets.atomoz.org/protocol/image/images/main-bg.png');background-size:cover;background-position:center}.veil{position:absolute;inset:0;background:radial-gradient(circle at 42% 34%,transparent 0 22%,rgba(0,8,11,.22) 68%,rgba(0,8,11,.57) 100%);pointer-events:none}.brand{position:absolute;left:max(20px,env(safe-area-inset-left));top:max(20px,env(safe-area-inset-top));z-index:5;max-width:min(520px,68vw);text-shadow:0 2px 14px #000}.brand small{display:block;color:rgba(201,250,255,.58);font-size:8px;letter-spacing:.31em}.brand strong{display:block;margin-top:7px;font-weight:400;font-size:clamp(21px,3.1vw,38px);letter-spacing:.12em}.brand span{display:block;margin-top:8px;color:rgba(230,250,252,.53);font-size:8px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}.view{position:absolute;inset:0;z-index:3;padding:118px max(20px,env(safe-area-inset-right)) calc(105px + var(--safe-b)) max(20px,env(safe-area-inset-left));overflow:auto}.panel{width:min(570px,100%);background:linear-gradient(100deg,rgba(4,17,22,.34),rgba(6,30,37,.22));border:1px solid rgba(157,240,253,.17);border-right-color:rgba(132,237,252,.45);backdrop-filter:blur(12px) saturate(110%);box-shadow:0 0 30px rgba(38,216,239,.025);padding:18px}.panel.right{margin-left:auto}.eyebrow{font-size:7px;letter-spacing:.2em;color:rgba(188,245,251,.52);text-transform:uppercase}.headline{font-size:19px;font-weight:400;letter-spacing:.08em;margin:8px 0 4px}.muted{font-size:8px;line-height:1.5;color:rgba(232,250,252,.5);letter-spacing:.05em}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.btn,.field button{border:1px solid rgba(141,238,251,.25);border-right-color:rgba(130,237,252,.55);background:rgba(3,18,23,.35);color:rgba(241,254,255,.86);backdrop-filter:blur(8px);padding:11px 13px;font:500 8px Montserrat,Arial;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.btn:hover,.btn.active{border-color:rgba(130,238,252,.72);background:rgba(7,41,49,.47)}.btn.danger{border-color:rgba(255,144,144,.25)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:14px}.card{position:relative;min-height:118px;border:1px solid rgba(151,240,252,.15);background:rgba(3,16,21,.3);backdrop-filter:blur(8px);padding:12px;cursor:pointer;overflow:hidden}.card.active{border-right-color:rgba(114,238,251,.7);box-shadow:inset -2px 0 rgba(114,238,251,.32)}.card img{width:100%;height:98px;object-fit:cover;display:block;margin-bottom:9px;filter:saturate(.82) contrast(1.03)}.card b{font-size:9px;letter-spacing:.1em;font-weight:500}.card small{display:block;margin-top:5px;font-size:6px;color:rgba(235,250,252,.45);line-height:1.4;letter-spacing:.07em}.field{margin-top:12px}.field label{display:block;margin-bottom:6px;font-size:7px;letter-spacing:.14em;color:rgba(221,249,252,.57);text-transform:uppercase}.field input,.field select{width:100%;height:39px;border:1px solid rgba(145,236,249,.18);background:rgba(1,11,15,.46);color:#effdff;padding:0 10px;outline:none;font:400 9px Montserrat,Arial}.field input[type=range]{padding:0}.readout{display:flex;justify-content:space-between;margin-top:5px;color:rgba(225,248,251,.45);font-size:7px}.camera-stage{position:relative;width:100%;height:calc(100vh - 220px);min-height:340px;border:1px solid var(--line);background:rgba(2,12,16,.42);overflow:hidden}.camera-stage video{width:100%;height:100%;object-fit:cover}.camera-cross{position:absolute;inset:50% auto auto 50%;width:34px;height:34px;transform:translate(-50%,-50%);border:1px solid rgba(177,246,255,.42);border-radius:50%}.camera-cross:before,.camera-cross:after{content:"";position:absolute;background:rgba(177,246,255,.48)}.camera-cross:before{width:46px;height:1px;left:-7px;top:16px}.camera-cross:after{height:46px;width:1px;top:-7px;left:16px}.capture-bar{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:10px}.capture-shutter{width:62px;height:62px;border-radius:50%;border:1px solid rgba(190,249,255,.75);background:rgba(2,16,20,.27);box-shadow:0 0 0 7px rgba(190,249,255,.08);cursor:pointer}.gps{display:inline-flex;gap:8px;align-items:center}.gps i{width:6px;height:6px;border-radius:50%;background:#72eefb;box-shadow:0 0 10px #72eefb}.zone-live{border-left:2px solid rgba(114,238,251,.72)}.q-dock,.main-menu{position:fixed;right:max(16px,env(safe-area-inset-right));z-index:20;display:flex;justify-content:flex-end;gap:8px}.q-dock{bottom:calc(16px + var(--safe-b));height:50px}.q-slots{display:flex;gap:6px;width:0;overflow:hidden;opacity:0;transform:translateX(18px);transition:.34s cubic-bezier(.22,.8,.24,1)}.q-dock.open .q-slots{width:274px;opacity:1;transform:none}.q-slots button,.square-control{position:relative;width:50px;height:50px;flex:0 0 50px;border:1px solid rgba(157,240,253,.25);border-right-color:rgba(132,237,252,.54);background:linear-gradient(145deg,rgba(6,24,30,.39),rgba(2,10,14,.18));backdrop-filter:blur(11px) saturate(108%);color:rgba(224,251,255,.82);cursor:pointer}.q-slots button.active{border-color:rgba(114,238,251,.72);background:rgba(6,39,47,.49)}.q-slots b,.q-toggle>b{font-size:13px;font-weight:400}.q-slots small,.square-control small{position:absolute;bottom:5px;left:0;right:0;font-size:4.5px;letter-spacing:.1em;color:rgba(255,255,255,.38)}.main-menu{bottom:calc(74px + var(--safe-b));align-items:flex-end}.menu-items{width:0;opacity:0;overflow:hidden;transform:translateX(18px);transition:.34s cubic-bezier(.22,.8,.24,1)}.main-menu.open .menu-items{width:min(270px,calc(100vw - 84px));opacity:1;transform:none}.menu-items button{width:100%;min-height:50px;margin-top:6px;padding:9px 13px 8px 16px;border:1px solid rgba(157,240,253,.18);border-right-color:rgba(132,237,252,.47);background:linear-gradient(90deg,rgba(4,17,22,.24),rgba(5,26,32,.38));backdrop-filter:blur(9px);color:#effcff;display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.menu-items b{display:block;font-size:8px;font-weight:500;letter-spacing:.14em}.menu-items small{display:block;margin-top:5px;font-size:5.5px;letter-spacing:.08em;color:rgba(230,248,251,.38)}.menu-items i{font-style:normal;color:var(--cyan)}.hamb{width:17px;display:grid;gap:4px;margin:auto}.hamb i{height:1px;background:var(--cyan);display:block}.hamb i:first-child{width:11px;margin-left:auto}.hamb i:last-child{width:7px;margin-left:auto}.player{position:fixed;left:50%;bottom:calc(16px + var(--safe-b));z-index:19;transform:translateX(-50%);height:50px;min-width:260px;max-width:min(440px,calc(100vw - 390px));display:flex;align-items:center;border:1px solid rgba(151,240,252,.2);background:rgba(3,16,21,.38);backdrop-filter:blur(11px);transition:.32s}.q-dock.open~.player{} .player-play,.player-mini{height:48px;border:0;background:transparent;color:rgba(222,252,255,.8);cursor:pointer}.player-play{width:48px;border-right:1px solid rgba(150,240,252,.14)}.player-mini{width:43px;border-left:1px solid rgba(150,240,252,.14);font-size:6px}.player-copy{min-width:0;flex:1;padding:0 12px}.player-copy small,.player-copy span{display:block;font-size:5px;letter-spacing:.12em;color:rgba(225,250,252,.4)}.player-copy b{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:4px 0;font-size:8px;letter-spacing:.09em;font-weight:500}.toast{position:fixed;z-index:100;left:50%;top:50%;transform:translate(-50%,-50%) translateY(10px);padding:12px 16px;border:1px solid rgba(151,240,252,.32);background:rgba(3,15,20,.72);backdrop-filter:blur(10px);font-size:8px;letter-spacing:.1em;text-transform:uppercase;opacity:0;pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:translate(-50%,-50%)}
@media(max-width:760px){.brand{max-width:75vw}.view{padding-top:108px;padding-bottom:142px}.main-menu{bottom:calc(74px + var(--safe-b))}.q-dock{right:10px}.q-dock.open .q-slots{width:246px;gap:4px}.q-slots button,.square-control{width:46px;height:46px;flex-basis:46px}.q-dock{height:46px}.player{left:10px;transform:none;bottom:calc(70px + var(--safe-b));max-width:calc(100vw - 20px);width:240px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.audio-gate{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(1,9,13,.54);backdrop-filter:blur(9px);transition:.28s}.audio-gate.armed{opacity:0;pointer-events:none}.audio-gate-btn{width:min(420px,92vw);padding:22px 24px;border:1px solid rgba(114,238,251,.42);border-right-color:rgba(114,238,251,.9);background:linear-gradient(120deg,rgba(3,18,24,.72),rgba(8,34,41,.52));backdrop-filter:blur(14px);color:#effdff;text-align:left;cursor:pointer;box-shadow:0 0 34px rgba(68,230,249,.06)}.audio-gate-btn small,.audio-gate-btn span{display:block}.audio-gate-btn small{font-size:7px;letter-spacing:.25em;color:rgba(194,247,253,.5)}.audio-gate-btn b{display:block;margin:10px 0 8px;font:400 16px Montserrat,Arial;letter-spacing:.12em}.audio-gate-btn span{font:400 8px/1.55 Montserrat,Arial;letter-spacing:.06em;color:rgba(231,251,253,.58)}

.creator-lock{position:fixed;z-index:31;right:max(16px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));border:1px solid rgba(151,240,252,.16);background:rgba(3,16,21,.24);backdrop-filter:blur(9px);color:rgba(230,251,253,.48);font:500 6px Montserrat,Arial;letter-spacing:.13em;padding:9px 11px;cursor:pointer}
body:not(.creator-unlocked) .q-dock,body:not(.creator-unlocked) .main-menu{display:none!important}
body:not(.creator-unlocked) .brand strong{font-size:clamp(22px,5vw,40px)}
body:not(.creator-unlocked) .view{padding-bottom:calc(96px + var(--safe-b));display:flex;align-items:center}
body:not(.creator-unlocked) .user-ride-panel{margin:auto;width:min(620px,100%);padding:24px}
.ride-live{margin-top:22px;padding:24px 12px;border-top:1px solid rgba(151,240,252,.2);border-bottom:1px solid rgba(151,240,252,.12);text-align:center}
.ride-live small,.ride-live span{display:block;color:rgba(225,250,252,.48);font-size:7px;letter-spacing:.12em}.ride-live strong{display:block;margin:14px 0;font-size:clamp(25px,6vw,48px);font-weight:300;letter-spacing:.12em}.trouble-note{margin-top:14px;font-size:6px;line-height:1.6;letter-spacing:.08em;color:rgba(225,250,252,.38)}
.btn.primary{border-color:rgba(114,238,251,.65);background:rgba(4,38,46,.48)}
body:not(.creator-unlocked) .player{bottom:calc(16px + var(--safe-b));left:50%;transform:translateX(-50%);width:min(520px,calc(100vw - 32px));max-width:none}
@media(max-width:760px){body:not(.creator-unlocked) .view{padding-top:96px;padding-bottom:92px}body:not(.creator-unlocked) .player{left:16px;right:16px;width:auto;transform:none;bottom:calc(16px + var(--safe-b))}.creator-lock{right:12px;top:12px}}

.radar-wrap{margin-top:18px;padding-top:15px;border-top:1px solid rgba(151,240,252,.14)}
.radar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:7px;letter-spacing:.14em;color:rgba(222,250,253,.55)}
.radar-head b{font-weight:500;color:rgba(191,245,252,.8)}
.radar{display:block;width:min(100%,390px);height:auto;margin:0 auto;overflow:visible}
.radar-ring{fill:none;stroke:rgba(145,237,250,.18);stroke-width:1}
.radar-axis{stroke:rgba(145,237,250,.08);stroke-width:1}
.radar-ring-label{fill:rgba(225,250,252,.28);font:8px Montserrat,Arial;letter-spacing:.05em}
.radar-north{fill:rgba(200,248,253,.62);font:500 9px Montserrat,Arial;letter-spacing:.12em}

.radar-zone-radius{fill:rgba(112,225,240,.055);stroke:rgba(132,237,252,.34);stroke-width:.8;vector-effect:non-scaling-stroke;pointer-events:none}
.radar-zone-radius.active{fill:rgba(112,225,240,.13);stroke:rgba(178,248,255,.92);stroke-width:1.35}
.radar-voice-radius{fill:none;stroke:rgba(238,253,255,.72);stroke-width:.8;stroke-dasharray:2 2;vector-effect:non-scaling-stroke;pointer-events:none}
.radar-point circle{fill:rgba(3,18,23,.82);stroke:rgba(132,237,252,.55);stroke-width:1.2}
.radar-point text{fill:rgba(238,253,255,.9);font:500 7px Montserrat,Arial;text-anchor:middle;pointer-events:none}
.radar-point.active circle{fill:rgba(80,220,238,.28);stroke:rgba(132,237,252,.95);stroke-width:2}
.radar-you circle:first-child{fill:rgba(221,253,255,.95)}
.radar-you circle:last-child{fill:none;stroke:rgba(132,237,252,.75);stroke-width:1.5}
.radar-near{margin-top:7px;text-align:center;font-size:6px;line-height:1.6;letter-spacing:.08em;color:rgba(225,250,252,.42)}
.radar-empty{margin-top:16px;padding:16px;border:1px solid rgba(151,240,252,.12);text-align:center;font-size:7px;letter-spacing:.12em;color:rgba(225,250,252,.4)}
.radius-presets,.voice-trigger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.radius-preset,.voice-trigger .btn{min-height:58px;text-align:left;position:relative}
.radius-preset small,.voice-trigger .btn small{display:block;margin-top:5px;font-size:6px;letter-spacing:.08em;color:rgba(225,250,252,.48)}
.radius-preset em{display:block;margin-top:5px;font-style:normal;font-size:5px;letter-spacing:.06em;color:rgba(255,184,184,.62)}
.radius-preset:disabled{opacity:.34;cursor:not-allowed;border-color:rgba(255,160,160,.2)}
.radius-preset.active,.voice-trigger .btn.active{border-color:rgba(114,238,251,.78);background:rgba(6,42,50,.5)}

.radar-direction{fill:rgba(221,253,255,.95);stroke:none}
/* v1.5 creator radar editor */
.edit-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 14px}.edit-tabs .btn{min-height:42px}.edit-help{margin-bottom:14px}.creator-radar{margin-top:4px}.radar-zoom{display:grid;grid-template-columns:46px 1fr 46px;gap:8px;align-items:center;margin:8px auto 6px;max-width:390px}.radar-zoom span{text-align:center;font-size:7px;letter-spacing:.12em;color:rgba(225,250,252,.58)}.btn.mini{min-height:34px;padding:7px 9px;font-size:14px}.radar-point.editor{cursor:pointer}.radar-point.editor.selected circle{fill:rgba(84,229,246,.34);stroke:rgba(220,254,255,.98);stroke-width:2.3}.radar-zone-radius.selected{fill:rgba(104,228,244,.16);stroke:rgba(212,253,255,.98);stroke-width:1.6}.radar-zone-radius.conflict{fill:rgba(255,132,132,.10);stroke:rgba(255,175,175,.72);stroke-dasharray:3 2}.radar-editor-center circle{fill:rgba(234,254,255,.9)}.radar-zone-editor{margin-top:12px;padding-top:14px;border-top:1px solid rgba(151,240,252,.14)}.small-headline{font-size:18px!important}.voice-trigger.compact .btn{min-height:48px}

/* v1.6 shared semantic radar range control */
.radar-range-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 10px;padding:0 2px;color:rgba(225,245,248,.66);font-size:10px;letter-spacing:.12em}
.radar-range-toggle{min-width:112px}
\n/* v1.7 creator radar center modes */
.radar-live-user circle:first-child{fill:rgba(255,255,255,.96);stroke:rgba(132,237,252,.9);stroke-width:1}
.radar-live-user circle:nth-child(2){fill:none;stroke:rgba(255,255,255,.72);stroke-width:1.4;stroke-dasharray:2 2}
.radar-live-user text{fill:rgba(255,255,255,.86);font:500 7px Montserrat,Arial;text-anchor:middle;letter-spacing:.08em}
.radar-point.editor.offrange{opacity:.5}
.radar-point.editor.offrange circle{stroke-dasharray:2 2}
.radar-center-toggle{min-width:112px;font-size:8px!important}
.capture-gps-overlay{position:absolute;left:50%;top:18px;transform:translateX(-50%);z-index:4;min-width:min(340px,82%);padding:10px 14px;text-align:center;border:1px solid rgba(160,239,250,.22);background:rgba(2,12,16,.48);backdrop-filter:blur(9px);pointer-events:none}.capture-gps-overlay b,.capture-gps-overlay small{display:block}.capture-gps-overlay b{font-size:8px;font-weight:500;letter-spacing:.14em}.capture-gps-overlay small{margin-top:5px;font-size:6px;letter-spacing:.08em;color:rgba(235,251,253,.56)}.capture-gps-overlay.ready{border-color:rgba(114,238,251,.72);background:rgba(4,33,39,.54)}.capture-gps-overlay.searching{opacity:.82}.capture-gps-overlay.capturing,.capture-gps-overlay.saved{border-color:rgba(190,249,255,.72);background:rgba(4,30,36,.68)}.capture-shutter:disabled{opacity:.28;cursor:not-allowed;box-shadow:0 0 0 7px rgba(190,249,255,.03)}.capture-shutter:not(:disabled){box-shadow:0 0 0 7px rgba(190,249,255,.1),0 0 24px rgba(114,238,251,.12)}.capture-confirm{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(1,10,13,.28);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:.16s}.capture-confirm.show{opacity:1}.capture-confirm b{font-size:18px;font-weight:400;letter-spacing:.2em}.capture-confirm small{margin-top:9px;font-size:7px;letter-spacing:.13em;color:rgba(225,250,252,.72)}

/* v2.0 radar background calibration */
.radar-stage{position:relative;width:100%;max-width:460px;margin:0 auto;overflow:hidden;aspect-ratio:1/1;border-radius:50%}
.radar-stage .radar{position:relative;z-index:2;width:100%;height:100%;display:block}
.radar-bg-image{position:absolute;z-index:1;height:auto;max-width:none;opacity:.5;transform-origin:center center;pointer-events:none;user-select:none;-webkit-user-drag:none}
.radar-bg-image.calibrating{z-index:3;pointer-events:auto;cursor:grab;touch-action:none;outline:1px dashed rgba(218,252,255,.42)}
.radar-bg-image.calibrating:active{cursor:grabbing}
.bg-calibration .radar-point.editor{pointer-events:none}
.bg-calibration .radar{pointer-events:none}
.radar-bg-calibration-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.radar-bg-calibrator{margin-top:14px;padding-top:14px;border-top:1px solid rgba(151,240,252,.14)}
.radar-bg-calibrator label b{float:right;font-weight:500;color:rgba(219,251,255,.82)}
.radar-bg-actions{margin-top:14px}
.radar-user-search{fill:rgba(126,244,255,.08);stroke:rgba(126,244,255,.7);stroke-width:1.2;stroke-dasharray:2 2;pointer-events:none}

/* v2.2 external map location paste */
.maps-add-panel{margin-top:14px;padding-top:14px;border-top:1px solid rgba(151,240,252,.14)}
.maps-add-panel[hidden]{display:none}
.maps-paste{box-sizing:border-box;width:100%;margin-top:10px;padding:12px;border:1px solid rgba(151,240,252,.2);background:rgba(2,14,19,.42);color:rgba(236,253,255,.92);font:400 10px/1.5 Montserrat,Arial;letter-spacing:.04em;resize:vertical;outline:none}
.maps-paste:focus{border-color:rgba(114,238,251,.62)}
.maps-parse-status{margin:9px 0 3px;padding:10px 0;border-top:1px solid rgba(151,240,252,.08);border-bottom:1px solid rgba(151,240,252,.08);font-size:7px;letter-spacing:.1em;color:rgba(225,250,252,.42)}
.maps-parse-status b,.maps-parse-status span{display:block}.maps-parse-status span{margin-top:5px;font-size:6px;letter-spacing:.06em;color:rgba(225,250,252,.5)}
.maps-parse-status.ready b{color:rgba(187,250,255,.92)}.maps-parse-status.warn b{color:rgba(255,215,185,.78)}


/* v2.5 mobile scrolling: interactive surfaces should not swallow vertical page gestures. */
.view{touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}
.panel,.card,.actions,.btn,.field,.maps-add-panel,.maps-paste,.edit-tabs,.radar-wrap,.radar-stage{touch-action:pan-y}
/* Calibration is the one intentional drag surface. */
.radar-bg-image.calibrating{touch-action:none}

/* v2.7 creator workflow: permanent workspace tabs + Q workflow switch */
.creator-tabs{display:none;position:fixed;z-index:24;left:50%;transform:translateX(-50%);bottom:calc(14px + var(--safe-b));height:52px;align-items:stretch;gap:5px;padding:0 4px}
body.creator-unlocked .creator-tabs{display:flex}
.creator-tabs button{position:relative;min-width:72px;height:52px;padding:8px 10px 13px;border:1px solid rgba(157,240,253,.22);border-right-color:rgba(132,237,252,.52);background:linear-gradient(145deg,rgba(6,24,30,.46),rgba(2,10,14,.28));backdrop-filter:blur(11px);color:rgba(224,251,255,.78);font:500 7px Montserrat,Arial;letter-spacing:.11em;text-transform:uppercase;cursor:pointer}
.creator-tabs button b{display:block;font-size:13px;font-weight:400;margin-bottom:4px}.creator-tabs button.active{border-color:rgba(114,238,251,.72);background:rgba(6,39,47,.56)}
body.creator-unlocked .player{bottom:calc(76px + var(--safe-b))}
body.creator-unlocked .q-dock{bottom:calc(14px + var(--safe-b));right:max(14px,env(safe-area-inset-right))}
body.creator-unlocked .q-dock.open .q-slots{width:108px}
.workflow-slots button{width:50px!important;flex-basis:50px!important}
.travel-mode-chip{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-size:7px;letter-spacing:.12em;color:rgba(220,250,253,.62)}
.travel-mode-chip b{color:rgba(235,253,255,.92)}
.travel-setup{max-width:620px;margin-left:auto}.travel-step{padding:4px 0 2px}.travel-step-number{font-size:7px;letter-spacing:.18em;color:rgba(157,240,253,.58);margin-bottom:8px}.travel-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.travel-choice-grid .btn{min-height:48px}.travel-summary{margin-top:14px;padding:14px;border-top:1px solid rgba(151,240,252,.15);border-bottom:1px solid rgba(151,240,252,.10);font-size:8px;line-height:1.8;color:rgba(230,250,252,.62)}
.project-prefs{margin-top:18px;padding-top:14px;border-top:1px solid rgba(151,240,252,.14)}
.project-prefs .preset-row{margin-top:8px}
@media(max-width:760px){body.creator-unlocked .view{padding-bottom:164px}.creator-tabs{left:8px;right:68px;transform:none;overflow-x:auto;justify-content:flex-start}.creator-tabs button{min-width:64px;padding-left:8px;padding-right:8px}.creator-workflow-dock{right:8px}.travel-choice-grid{grid-template-columns:1fr}}

/* v2.8 creator footer + mobile scroll reliability */
body.creator-unlocked .creator-tabs{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  transform:none;
  width:100%;
  height:calc(68px + var(--safe-b));
  padding:6px max(8px,env(safe-area-inset-right)) calc(6px + var(--safe-b)) max(8px,env(safe-area-inset-left));
  gap:5px;
  justify-content:space-around;
  align-items:stretch;
  overflow-x:auto;
  overflow-y:hidden;
  z-index:60;
  background:linear-gradient(180deg,rgba(2,13,18,.80),rgba(2,12,17,.97));
  border-top:1px solid rgba(132,237,252,.28);
  backdrop-filter:blur(14px) saturate(112%);
  -webkit-backdrop-filter:blur(14px) saturate(112%);
}
body.creator-unlocked .creator-tabs button{
  height:56px;
  min-width:72px;
  flex:1 0 72px;
}
body.creator-unlocked .q-dock{
  bottom:calc(82px + var(--safe-b));
  right:max(14px,env(safe-area-inset-right));
  z-index:72;
}
body.creator-unlocked .main-menu{
  bottom:calc(140px + var(--safe-b));
  z-index:70;
}
body.creator-unlocked .player{
  bottom:calc(82px + var(--safe-b));
  z-index:58;
}
body.creator-unlocked .view{
  padding-bottom:calc(160px + var(--safe-b));
}

/* Make the view the authoritative vertical scroller on touch devices. */
.view{
  overflow-x:hidden;
  overflow-y:scroll;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:auto;
  touch-action:pan-y;
  scroll-behavior:auto;
}
/* Ordinary UI surfaces must not create competing touch regions. */
.panel,.card,.actions,.field,.maps-add-panel,.maps-paste,.edit-tabs,.radar-wrap,
.travel-choice-grid,.project-defaults,.project-grid,.creator-projects,.zone-editor{
  touch-action:auto;
}
/* The normal radar itself should still allow a page swipe to begin over it. */
.radar-stage:not(:has(.radar-bg-image.calibrating)),.radar{
  touch-action:pan-y;
}
/* Only the explicit map-background calibration drag surface captures gestures. */
.radar-bg-image.calibrating{touch-action:none!important}

@media(max-width:760px){
  body.creator-unlocked .creator-tabs{
    left:0;right:0;bottom:0;transform:none;
    width:100%;
    height:calc(68px + var(--safe-b));
    padding-left:6px;padding-right:6px;
  }
  body.creator-unlocked .creator-tabs button{min-width:68px;height:56px}
  body.creator-unlocked .q-dock{bottom:calc(82px + var(--safe-b));right:10px}
  body.creator-unlocked .player{bottom:calc(82px + var(--safe-b));left:10px;transform:none}
  body.creator-unlocked .view{padding-bottom:calc(158px + var(--safe-b))}
}


/* v3.0 compact player + friendlier Travel Auto guide */
.player{
  min-width:50px;
  width:50px;
  max-width:50px;
  overflow:hidden;
  transition:width .28s cubic-bezier(.22,.8,.24,1),max-width .28s cubic-bezier(.22,.8,.24,1),background .2s,border-color .2s;
}
.player .player-copy,.player .player-mini{display:none}
.player.expanded{
  width:min(360px,calc(100vw - 92px));
  max-width:min(360px,calc(100vw - 92px));
  background:rgba(3,16,21,.72);
  border-color:rgba(151,240,252,.34);
}
.player.expanded .player-copy{display:block}
.player.expanded .player-mini{display:block}
.player-replay{display:none;width:43px;height:48px;border:0;border-left:1px solid rgba(150,240,252,.14);background:transparent;color:#ffbd69;font-size:17px;cursor:pointer}
.player.expanded.has-voice-replay .player-replay{display:block}
.player-play{flex:0 0 48px}
body.creator-unlocked .player{left:10px;transform:none}
body:not(.creator-unlocked) .player{left:16px;transform:none;width:50px;max-width:50px;min-width:50px}
body:not(.creator-unlocked) .player.expanded{width:min(440px,calc(100vw - 32px));max-width:min(440px,calc(100vw - 32px))}

.travel-guide-card{padding:16px 18px}
.travel-guide-title{margin:10px 0 9px;font-size:14px;line-height:1.25;letter-spacing:.08em;font-weight:400}
.travel-guide-note{margin-top:10px;max-width:520px;font-size:8.5px;line-height:1.65;letter-spacing:.035em;color:rgba(235,251,253,.62)}
.travel-guide-step{padding:24px 22px 22px}
.travel-prompt{margin-top:12px;font-size:clamp(22px,4vw,34px);line-height:1.06;letter-spacing:.075em;font-weight:400}
.travel-prompt-sub{margin-top:12px;max-width:520px;font-size:10px;line-height:1.6;letter-spacing:.025em;color:rgba(239,252,254,.64)}
.travel-field{margin-top:20px}.travel-field label{font-size:8px;color:rgba(225,250,252,.72)}
.travel-field select{height:46px;font-size:10px}
.travel-primary-actions{margin-top:22px}.travel-primary-actions .btn{min-height:46px;font-size:8.5px}
.travel-radius-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.travel-radius-row .btn{min-height:46px}
.travel-summary.friendly{display:grid;gap:5px;padding:14px 0;margin-top:18px}.travel-summary.friendly span{font-size:6.5px;letter-spacing:.18em;color:rgba(155,240,252,.56)}.travel-summary.friendly b{font-size:13px;letter-spacing:.08em;font-weight:400}.travel-summary.friendly small{font-size:7.5px;line-height:1.5;color:rgba(230,250,252,.56)}
@media(max-width:760px){
  .player.expanded{width:min(290px,calc(100vw - 82px));max-width:min(290px,calc(100vw - 82px))}
  .travel-guide-step{padding:22px 18px}.travel-prompt{font-size:25px}.travel-prompt-sub{font-size:10px}.travel-radius-row{grid-template-columns:1fr 1fr}
}


/* v3.1 Capture is the screen: camera becomes the full visual background. */
.app[data-mode="capture"] .world-bg,
.app[data-mode="capture"] .veil{opacity:0;pointer-events:none}
.app[data-mode="capture"] .view{
  inset:0;
  padding:0!important;
  overflow:hidden!important;
  touch-action:none;
}
.app[data-mode="capture"] .camera-stage{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  border:0;
  background:#02090c;
  overflow:hidden;
}
.app[data-mode="capture"] .camera-stage video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.app[data-mode="capture"] .camera-stage:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,8,12,.26) 0,rgba(0,8,12,.02) 25%,rgba(0,8,12,.02) 62%,rgba(0,8,12,.34) 100%);
}
.app[data-mode="capture"] .camera-cross,
.app[data-mode="capture"] .capture-gps-overlay,
.app[data-mode="capture"] .capture-bar,
.app[data-mode="capture"] .capture-confirm{z-index:3}
.app[data-mode="capture"] .capture-bar{
  bottom:calc(92px + var(--safe-b));
  z-index:7;
}
.app[data-mode="capture"] .capture-shutter{
  width:68px;
  height:68px;
  background:rgba(2,16,20,.18);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.app[data-mode="capture"] .capture-gps-overlay{
  top:max(88px,calc(env(safe-area-inset-top) + 72px));
  width:auto;
  max-width:calc(100vw - 38px);
  min-width:min(330px,calc(100vw - 38px));
  background:rgba(2,12,16,.34);
}
.app[data-mode="capture"] .capture-info-overlay{
  position:absolute;
  z-index:6;
  left:max(16px,env(safe-area-inset-left));
  bottom:calc(162px + var(--safe-b));
  width:min(390px,calc(100vw - 32px));
  margin:0!important;
  padding:11px 13px;
  background:rgba(2,14,18,.22);
  border-color:rgba(157,240,253,.14);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.app[data-mode="capture"] .capture-info-overlay .travel-guide-title{font-size:12px;margin:6px 0}
.app[data-mode="capture"] .capture-info-overlay .travel-guide-note{display:none}
.app[data-mode="capture"] .capture-info-overlay .actions{margin-top:8px}
.app[data-mode="capture"] .capture-info-overlay .btn{padding:8px 10px;background:rgba(2,14,18,.30)}
.app[data-mode="capture"] .capture-info-overlay .travel-mode-chip{margin-top:0}
.app[data-mode="capture"] .brand{
  z-index:6;
  text-shadow:0 2px 16px rgba(0,0,0,.7);
}
.app[data-mode="capture"] .brand span{display:none}
.app[data-mode="capture"] .creator-lock{z-index:65}

@media(max-width:760px){
  .app[data-mode="capture"] .capture-info-overlay{
    left:12px;
    bottom:calc(164px + var(--safe-b));
    width:min(310px,calc(100vw - 24px));
  }
  .app[data-mode="capture"] .capture-info-overlay .gps{display:none}
  .app[data-mode="capture"] .capture-info-overlay .travel-guide-title{font-size:11px}
  .app[data-mode="capture"] .capture-bar{bottom:calc(90px + var(--safe-b))}
}


/* v3.2 top-right creator menu + lighter capture overlays */
.creator-lock{
  min-width:44px;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border:1px solid rgba(151,240,252,.16);
  background:rgba(3,16,21,.24);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
  color:rgba(230,251,253,.48);
  font:500 6px Montserrat,Arial;
  letter-spacing:.13em;
}
body.creator-unlocked .creator-lock{
  width:44px;
  min-width:44px;
  height:44px;
  padding:0;
  font-size:18px;
  letter-spacing:0;
  color:rgba(235,251,253,.88);
}
body.creator-unlocked .creator-lock small{display:none}
body.creator-unlocked .creator-lock .dots{line-height:1; transform:translateY(-1px)}

/* Main menu now lives under the top-right creator/menu button. */
.main-menu{
  top:calc(max(18px,env(safe-area-inset-top)) + 50px);
  bottom:auto;
  align-items:flex-start;
  z-index:70;
}
.main-menu .square-control{display:none}
.main-menu.open .menu-items{width:min(290px,calc(100vw - 32px))}
.menu-items button[data-menu="lock"] b{color:rgba(255,220,220,.95)}

/* Full-screen capture should feel like camera first, UI second. */
.app[data-mode="capture"] .capture-gps-overlay{
  top:max(92px,calc(env(safe-area-inset-top) + 74px));
  min-width:0;
  padding:0;
  border:0;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:none;
  text-shadow:0 2px 12px rgba(0,0,0,.65);
}
.app[data-mode="capture"] .capture-gps-overlay b{
  font-size:12px;
  font-weight:500;
  letter-spacing:.16em;
}
.app[data-mode="capture"] .capture-gps-overlay small{
  margin-top:6px;
  font-size:7px;
  letter-spacing:.12em;
  color:rgba(236,251,253,.72);
}
.app[data-mode="capture"] .capture-gps-overlay.ready,
.app[data-mode="capture"] .capture-gps-overlay.searching,
.app[data-mode="capture"] .capture-gps-overlay.capturing,
.app[data-mode="capture"] .capture-gps-overlay.saved{
  border:0;
  background:transparent;
}

.app[data-mode="capture"] .capture-info-overlay{
  width:min(360px,calc(100vw - 28px));
  padding:0;
  background:transparent;
  border:0;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:none;
}
.app[data-mode="capture"] .capture-info-overlay .travel-mode-chip{
  margin:0 0 10px;
}
.app[data-mode="capture"] .capture-info-overlay .travel-guide-title{
  font-size:16px;
  margin:0 0 10px;
  text-shadow:0 2px 12px rgba(0,0,0,.55);
}
.app[data-mode="capture"] .capture-info-overlay .actions{
  margin-top:0;
}
.app[data-mode="capture"] .capture-info-overlay .btn{
  padding:10px 12px;
  background:rgba(2,14,18,.22);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.app[data-mode="capture"] .capture-info-overlay .travel-guide-note,
.app[data-mode="capture"] .capture-info-overlay .gps{display:none}

@media(max-width:760px){
  .main-menu{
    top:calc(max(16px,env(safe-area-inset-top)) + 48px);
    right:10px;
  }
  .app[data-mode="capture"] .capture-gps-overlay b{font-size:11px}
  .app[data-mode="capture"] .capture-info-overlay{left:12px;width:min(320px,calc(100vw - 24px))}
  .app[data-mode="capture"] .capture-info-overlay .travel-guide-title{font-size:15px}
}


/* v3.3 library-first creator + contextual page menu */
.context-menu{display:none;position:fixed;right:68px;bottom:calc(82px + var(--safe-b));z-index:74;align-items:flex-end;gap:7px}
body.creator-unlocked .context-menu{display:flex}
.context-items{width:0;opacity:0;overflow:hidden;transform:translateX(14px);transition:.3s cubic-bezier(.22,.8,.24,1)}
.context-menu.open .context-items{width:min(270px,calc(100vw - 150px));opacity:1;transform:none}
.context-items button{width:100%;min-height:48px;margin-top:6px;padding:9px 12px 8px 14px;border:1px solid rgba(157,240,253,.18);border-right-color:rgba(132,237,252,.48);background:linear-gradient(90deg,rgba(4,17,22,.48),rgba(5,26,32,.62));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#effcff;display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}
.context-items b{display:block;font-size:8px;font-weight:500;letter-spacing:.13em}.context-items small{display:block;margin-top:4px;font-size:5.5px;letter-spacing:.07em;color:rgba(230,248,251,.43)}.context-items i{font-style:normal;color:var(--cyan)}
.context-toggle b{font-size:14px;font-weight:400}
.context-toggle small{font-size:4.5px}
.library-card.selected{border-color:rgba(114,238,251,.68);box-shadow:inset -2px 0 rgba(114,238,251,.38)}
.library-hint{margin:0 0 14px;font-size:7px;line-height:1.55;letter-spacing:.06em;color:rgba(232,250,252,.48)}
.app-modal{position:fixed;inset:0;z-index:160;display:flex;align-items:flex-end;justify-content:center;padding:22px 16px calc(84px + var(--safe-b));background:rgba(1,8,11,.42);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.app-modal-card{width:min(560px,100%);max-height:min(72vh,680px);overflow:auto;padding:18px;border:1px solid rgba(151,240,252,.28);background:rgba(3,17,22,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.app-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.app-modal-head b{font-size:12px;font-weight:400;letter-spacing:.13em}.app-modal-close{width:36px;height:36px;border:1px solid rgba(151,240,252,.2);background:rgba(3,16,21,.4);color:#effcff}
.audio-library-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.audio-library-list button{min-height:54px;text-align:left}.audio-library-list button small{display:block;margin-top:5px;color:rgba(230,250,252,.45)}
.radar-return{margin-bottom:12px}
.priority-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.priority-presets .btn{min-height:46px}.priority-presets .btn.active{border-color:rgba(114,238,251,.78);background:rgba(6,42,50,.5)}
.overlap-notice{margin:12px 0;padding:11px 12px;border-left:2px solid rgba(255,190,104,.72);background:rgba(44,29,10,.24)}.overlap-notice b,.overlap-notice span{display:block}.overlap-notice b{font-size:8px;letter-spacing:.12em;color:rgba(255,220,172,.92)}.overlap-notice span{margin-top:5px;font-size:6px;line-height:1.55;letter-spacing:.05em;color:rgba(240,244,245,.56)}
.visual-card{min-height:154px;display:flex;align-items:flex-end;background-size:cover;background-position:center;background-repeat:no-repeat;isolation:isolate}.visual-card-copy{position:relative;z-index:2;width:100%;padding-top:30px}.visual-card.has-card-bg{border-color:rgba(151,240,252,.3);box-shadow:inset 0 -58px 42px rgba(0,7,10,.38)}.visual-card.has-card-bg b,.visual-card.has-card-bg small{text-shadow:0 2px 10px rgba(0,0,0,.95)}.visual-card.has-card-bg b{color:#f5feff}.visual-card.has-card-bg small{color:rgba(239,253,255,.72)}.library-card.visual-card.selected{border-color:rgba(114,238,251,.88);box-shadow:inset -3px 0 rgba(114,238,251,.72),inset 0 -58px 42px rgba(0,7,10,.38)}.project-visual-card{min-height:170px}.visual-card.image-missing{background-image:linear-gradient(145deg,rgba(5,27,34,.52),rgba(2,12,16,.32))!important}
@media(max-width:760px){.context-menu{right:64px;bottom:calc(82px + var(--safe-b))}.context-menu.open .context-items{width:min(250px,calc(100vw - 132px))}.app-modal{padding-left:10px;padding-right:10px}.audio-library-list{grid-template-columns:1fr 1fr}}


/* v3.4 unified app modes: RIDE / CREATE / STUDIO */
body:not(.creator-unlocked) .q-dock{display:flex!important}
body:not(.creator-unlocked) .main-menu{display:flex!important}
body:not(.creator-unlocked) .creator-lock{display:flex!important}
body:not(.creator-unlocked) .creator-tabs{display:none!important}
body:not(.creator-unlocked):not(.world-mode) .context-menu{display:none!important}
.q-dock{z-index:76}
.q-dock.open .q-slots{width:166px}
.workflow-slots button{width:50px!important;flex-basis:50px!important}
.creator-lock .dots{font-size:18px;line-height:1}
body:not(.creator-unlocked) .creator-lock{width:44px;min-width:44px;height:44px;padding:0}
/* Global menu is available in every app mode. */
.main-menu{display:flex}
@media(max-width:760px){.q-dock.open .q-slots{width:158px}}


/* v3.5+ unified Q: all app modes are always visible when Q opens. */
.q-dock.open .q-slots,
body.creator-unlocked .q-dock.open .q-slots{
  width:222px!important;
  min-width:222px;
  overflow:visible;
}
body:not(.creator-unlocked) .q-dock{display:flex!important}
body:not(.creator-unlocked) .q-dock.open .q-slots{width:222px!important}
@media(max-width:760px){
  .q-dock.open .q-slots,
  body.creator-unlocked .q-dock.open .q-slots,
  body:not(.creator-unlocked) .q-dock.open .q-slots{
    width:196px!important;
    min-width:196px;
    gap:4px;
  }
}

/* v3.11+ WORLD laboratory: layered listening controls and live Sindi signals. */
.world-panel{width:min(650px,100%)}
.world-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.world-start{flex:0 0 auto;min-width:116px}
.world-live{display:grid;grid-template-columns:1fr auto;gap:5px 12px;margin-top:16px;padding:14px;border-left:2px solid rgba(114,238,251,.72);background:linear-gradient(90deg,rgba(7,40,48,.44),rgba(2,15,20,.18))}
.world-live small{grid-column:1/-1;font-size:6px;letter-spacing:.16em;color:rgba(205,247,252,.48)}
.world-live b{font-size:11px;font-weight:500;letter-spacing:.1em}.world-live span{font-size:7px;color:rgba(228,249,252,.52)}
.world-layers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.world-layer{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 10px;border:1px solid rgba(151,240,252,.13);background:rgba(2,13,17,.32);color:rgba(225,247,250,.42);font:500 7px Montserrat,Arial;letter-spacing:.1em;cursor:pointer}
.world-layer i,.world-place>i{display:block;background:var(--layer);box-shadow:0 0 10px color-mix(in srgb,var(--layer),transparent 45%)}
.world-layer i{width:7px;height:7px;border-radius:50%;opacity:.32}.world-layer.active{color:#effdff;border-color:color-mix(in srgb,var(--layer),transparent 48%);background:color-mix(in srgb,var(--layer),transparent 91%)}.world-layer.active i{opacity:1}
.world-order{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin-top:14px;padding:12px 0;border-top:1px solid rgba(151,240,252,.12);border-bottom:1px solid rgba(151,240,252,.1)}
.world-order small{font-size:6px;letter-spacing:.15em;color:rgba(208,246,251,.48)}.world-order span{grid-column:1;font-size:7px;line-height:1.6;color:rgba(239,252,253,.66)}.world-order .btn{grid-column:2;grid-row:1/3}
.world-places-title{margin-top:17px}.world-places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}
.world-place{display:flex;gap:10px;min-height:70px;padding:11px;border:1px solid rgba(151,240,252,.12);background:rgba(2,13,17,.28)}.world-place.live{border-color:color-mix(in srgb,var(--layer),transparent 42%);background:linear-gradient(105deg,color-mix(in srgb,var(--layer),transparent 87%),rgba(2,13,17,.28));box-shadow:inset 14px 0 24px color-mix(in srgb,var(--layer),transparent 95%)}
.world-place>i{width:3px;min-width:3px;opacity:.72}.world-place small,.world-place b,.world-place span{display:block}.world-place small{font-size:5.5px;letter-spacing:.12em;color:rgba(223,248,251,.43)}.world-place b{margin-top:6px;font-size:8px;font-weight:500;letter-spacing:.09em}.world-place span{margin-top:5px;font-size:5.5px;line-height:1.45;color:rgba(231,249,251,.43)}
.world-events{margin-top:14px;padding-top:12px;border-top:1px solid rgba(151,240,252,.1)}.world-events small,.world-events span{display:block}.world-events small{font-size:6px;letter-spacing:.14em;color:rgba(208,246,251,.46)}.world-events span{margin-top:7px;font-size:6px;color:rgba(235,251,253,.58)}
.world-special{margin-top:14px;padding:13px;border:1px solid rgba(185,156,255,.22);background:linear-gradient(115deg,rgba(43,29,67,.34),rgba(3,16,21,.22))}
.world-special-head{display:flex;justify-content:space-between;gap:14px;align-items:baseline}.world-special-head small{font-size:6px;letter-spacing:.15em;color:rgba(211,196,255,.76)}.world-special-head span{font-size:5.5px;color:rgba(233,245,249,.42)}
.world-packs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.world-pack{display:flex;align-items:center;gap:10px;min-height:54px;padding:9px 11px;border:1px solid rgba(151,240,252,.12);background:rgba(2,13,17,.34);color:rgba(229,249,251,.53);text-align:left;cursor:pointer}.world-pack>i{font-style:normal;font-size:16px;color:var(--pack,#72eefb);opacity:.42}.world-pack span,.world-pack b,.world-pack small{display:block}.world-pack b{font:500 7px Montserrat,Arial;letter-spacing:.1em}.world-pack small{margin-top:5px;font:400 5.5px Montserrat,Arial;letter-spacing:.07em;color:rgba(229,248,250,.38)}.world-pack.active{border-color:color-mix(in srgb,var(--pack,#72eefb),transparent 42%);background:color-mix(in srgb,var(--pack,#72eefb),transparent 91%);color:#f5fdff}.world-pack.active>i{opacity:1;filter:drop-shadow(0 0 7px var(--pack,#72eefb))}
.world-underlay{opacity:.68}.world-place.special{border-color:rgba(185,156,255,.32);background:linear-gradient(110deg,rgba(42,27,65,.3),rgba(2,13,17,.26))}
.world-pack.unavailable,.world-pack:disabled{cursor:default;opacity:.38}.world-pack.srt-offer{grid-column:1/-1}.world-srt-wallet{display:grid;gap:6px;margin-top:14px;padding:13px 14px;border:1px solid rgba(255,189,105,.25);background:linear-gradient(110deg,rgba(61,39,13,.28),rgba(3,16,21,.22))}.world-srt-wallet small{font-size:6px;letter-spacing:.16em;color:rgba(255,218,171,.7)}.world-srt-wallet b{font-size:15px;font-weight:400;letter-spacing:.1em;color:#ffe1b5}.world-srt-wallet span,.world-srt-empty{font-size:5.5px;line-height:1.55;letter-spacing:.06em;color:rgba(235,249,251,.43)}.world-srt-nearby{border-color:rgba(255,189,105,.18)}.world-srt-empty{grid-column:1/-1;padding:11px;border:1px dashed rgba(151,240,252,.12)}
.world-order-editor{margin-top:14px}.world-order-editor>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;border-top:1px solid rgba(151,240,252,.1)}.world-order-editor b{font-size:8px;font-weight:500;letter-spacing:.1em}.world-order-editor span{display:flex;gap:6px}.world-order-editor button:disabled{opacity:.25}
body.world-mode .brand small{color:rgba(121,230,192,.68)}body.world-mode .world-bg{filter:saturate(.92) hue-rotate(-5deg)}
@media(max-width:760px){.world-hero{display:block}.world-start{width:100%;margin-top:12px}.world-layers,.world-packs{grid-template-columns:repeat(2,minmax(0,1fr))}.world-places{grid-template-columns:1fr}.world-order{grid-template-columns:1fr}.world-order .btn{grid-column:1;grid-row:auto}.world-live{grid-template-columns:1fr}.world-live small{grid-column:1}.world-special-head{display:block}.world-special-head span{display:block;margin-top:6px}}


/* v3.6 interaction repair: vertical OPTIONS/Q stack and image placeholders */
.img-slot.image-missing:empty{
  min-height:98px;
  margin-bottom:9px;
  border:1px dashed rgba(151,240,252,.10);
  background:rgba(2,13,17,.10);
}
/* Q is the lower control; page OPTIONS sits directly above it on the same right edge. */
.q-dock,
body.creator-unlocked .q-dock{
  right:max(12px,env(safe-area-inset-right))!important;
  bottom:calc(82px + var(--safe-b))!important;
}
.context-menu,
body.creator-unlocked .context-menu{
  right:max(12px,env(safe-area-inset-right))!important;
  bottom:calc(136px + var(--safe-b))!important;
  z-index:77;
}
.context-menu.open .context-items{
  width:min(270px,calc(100vw - 82px));
}
@media(max-width:760px){
  .q-dock,body.creator-unlocked .q-dock{right:10px!important;bottom:calc(82px + var(--safe-b))!important}
  .context-menu,body.creator-unlocked .context-menu{right:10px!important;bottom:calc(134px + var(--safe-b))!important}
  .context-menu.open .context-items{width:min(250px,calc(100vw - 76px))}
}


/* v3.7 layered player + storage maintenance */
.player{overflow:visible}
.player-layer-controls{
  position:absolute;
  left:0;
  bottom:56px;
  display:grid;
  gap:6px;
  opacity:0;
  transform:translateY(8px) scale(.96);
  transform-origin:bottom left;
  pointer-events:none;
  transition:.2s ease;
}
.player.layers-open .player-layer-controls{opacity:1;transform:none;pointer-events:auto}
.player-layer-btn{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  position:relative;
  border:1px solid rgba(180,245,253,.35);
  background:rgba(2,14,18,.78);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  cursor:pointer;
}
.player-layer-btn b{font:400 13px Montserrat,Arial}
.player-layer-btn small{position:absolute;left:0;right:0;bottom:5px;font-size:4.5px;letter-spacing:.09em;color:rgba(244,253,255,.62)}
.player-layer-btn.music-layer{color:#72eefb;border-color:rgba(114,238,251,.62)}
.player-layer-btn.voice-layer{color:#ffc66d;border-color:rgba(255,198,109,.62)}
.player-layer-btn.all-layer{color:#f7fbff;border-color:rgba(247,251,255,.58)}
.player.music-layer-off .music-layer,.player.voice-layer-off .voice-layer,.player.all-layer-off .all-layer{opacity:.45}
.player.layers-open .player-play{border-color:rgba(114,238,251,.48);background:rgba(4,33,39,.48)}

.storage-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px}
.storage-stats>div{min-height:78px;border:1px solid rgba(151,240,252,.14);background:rgba(2,14,19,.28);padding:12px}
.storage-stats small{display:block;font-size:6px;letter-spacing:.16em;color:rgba(225,250,252,.45)}
.storage-stats b{display:block;margin-top:10px;font-size:16px;font-weight:400;letter-spacing:.08em}
.storage-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.storage-actions .btn{min-height:46px}
.btn.danger-soft{border-color:rgba(255,190,150,.32)}
.storage-reset{border-color:rgba(255,120,120,.52)!important;color:rgba(255,225,225,.95)}
.storage-warning{margin-top:16px;padding:12px 0;border-top:1px solid rgba(255,140,140,.18)}
.storage-warning b,.storage-warning span{display:block}.storage-warning b{font-size:7px;letter-spacing:.13em;color:rgba(255,215,215,.86)}.storage-warning span{margin-top:7px;font-size:7px;line-height:1.55;color:rgba(245,228,228,.48)}
@media(max-width:520px){.storage-actions{grid-template-columns:1fr}.storage-stats{grid-template-columns:1fr 1fr}}

/* v3.13 focused WORLD home: listening first, configuration in modal sheets. */
body.world-mode .view{display:flex!important;align-items:center!important;padding-top:112px!important;padding-bottom:calc(96px + var(--safe-b))!important;overflow:auto}
.world-home{width:min(590px,100%);margin:auto 0 auto auto;padding:18px 20px 20px;border-top:1px solid rgba(151,240,252,.16);border-right:1px solid rgba(132,237,252,.38);background:linear-gradient(115deg,rgba(2,14,19,.18),rgba(4,23,29,.34));backdrop-filter:blur(10px) saturate(108%);-webkit-backdrop-filter:blur(10px) saturate(108%);box-shadow:18px 12px 42px rgba(0,0,0,.12)}
.world-focus{display:flex;align-items:center;gap:15px}.world-focus-copy{min-width:0;flex:1}.world-focus-copy .headline{font-size:clamp(20px,4vw,30px);margin-top:7px}.world-pulse{position:relative;display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border:1px solid rgba(114,238,251,.24);border-radius:50%;color:rgba(180,247,254,.74)}.world-pulse:before,.world-pulse i{content:"";position:absolute;inset:7px;border:1px solid rgba(114,238,251,.13);border-radius:50%}.world-pulse i{inset:17px;background:rgba(114,238,251,.07);box-shadow:0 0 18px rgba(114,238,251,.08)}.world-pulse span{position:relative;z-index:1;font-size:17px}.world-pulse.running{border-color:rgba(114,238,251,.72);box-shadow:0 0 24px rgba(114,238,251,.1)}.world-pulse.running:before{animation:worldPulse 2.2s ease-out infinite}@keyframes worldPulse{0%{transform:scale(.78);opacity:.9}100%{transform:scale(1.45);opacity:0}}
.world-primary-action{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:68px;margin-top:17px;padding:13px 17px;border:1px solid rgba(114,238,251,.62);border-right-color:rgba(180,249,255,.96);background:linear-gradient(100deg,rgba(5,39,47,.55),rgba(2,17,22,.31));color:#f3fdff;text-align:left;cursor:pointer;box-shadow:0 0 24px rgba(114,238,251,.045)}.world-primary-action b,.world-primary-action small{display:block}.world-primary-action b{font:500 13px Montserrat,Arial;letter-spacing:.15em}.world-primary-action small{font:400 6px Montserrat,Arial;letter-spacing:.1em;color:rgba(229,250,252,.47)}.world-primary-action.stop{border-color:rgba(255,164,164,.42);background:linear-gradient(100deg,rgba(52,20,21,.42),rgba(2,17,22,.28))}
.world-gps-recovery{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:9px;padding:9px 11px;border:1px solid rgba(255,183,106,.34);background:linear-gradient(90deg,rgba(79,42,17,.38),rgba(5,22,27,.28));color:rgba(255,231,206,.75)}.world-gps-recovery span{font-size:6px;letter-spacing:.08em}.world-gps-recovery button{flex:0 0 auto;padding:8px 10px;border:1px solid rgba(255,183,106,.58);background:rgba(4,18,22,.64);color:#fff1df;font:500 6px Montserrat,Arial;letter-spacing:.12em;cursor:pointer}
.world-now{--signal:#58e6f2;display:grid;grid-template-columns:1fr auto;gap:5px 14px;margin-top:12px;padding:12px 14px;border-left:3px solid color-mix(in srgb,var(--signal),transparent 16%);background:linear-gradient(90deg,color-mix(in srgb,var(--signal),transparent 82%),color-mix(in srgb,var(--signal),transparent 96%) 72%,rgba(2,14,18,.06));box-shadow:inset 16px 0 28px color-mix(in srgb,var(--signal),transparent 94%);transition:border-color .3s,background .3s,box-shadow .3s}.world-now.has-signal{border-left-color:var(--signal)}.world-now small{grid-column:1/-1;font-size:5.5px;letter-spacing:.17em;color:color-mix(in srgb,var(--signal),white 38%)}.world-now b{font-size:9px;font-weight:500;letter-spacing:.09em;text-shadow:0 0 16px color-mix(in srgb,var(--signal),transparent 75%)}.world-now span{font-size:6px;color:rgba(225,248,251,.45)}
.world-glance{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.world-glance button{position:relative;min-height:72px;padding:11px 30px 10px 12px;border:1px solid rgba(151,240,252,.13);background:rgba(2,14,18,.2);color:#effcff;text-align:left;cursor:pointer}.world-glance small,.world-glance b,.world-glance span{display:block}.world-glance small{font:400 5.5px Montserrat,Arial;letter-spacing:.15em;color:rgba(196,244,250,.42)}.world-glance b{overflow:hidden;margin-top:7px;font:500 7.5px Montserrat,Arial;letter-spacing:.09em;white-space:nowrap;text-overflow:ellipsis}.world-glance span{margin-top:6px;font:400 5px Montserrat,Arial;letter-spacing:.07em;color:rgba(225,248,251,.38)}.world-glance i{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-style:normal;color:rgba(114,238,251,.58)}
.world-last-event{display:flex;align-items:center;gap:8px;margin-top:11px;font-size:5.5px;letter-spacing:.08em;color:rgba(226,249,251,.42)}.world-last-event i{width:5px;height:5px;border-radius:50%;background:#72eefb;box-shadow:0 0 8px rgba(114,238,251,.72)}
.world-special.compact{margin-top:0}.world-signal-intro{margin-bottom:12px}.world-places.modal-list{grid-template-columns:1fr}.world-places.modal-list .world-place{min-height:62px}
@media(max-width:760px){body.world-mode .view{padding:104px 12px calc(92px + var(--safe-b))!important}.world-home{padding:14px 14px 16px}.world-pulse{width:50px;height:50px;flex-basis:50px}.world-primary-action{min-height:62px}.world-now{grid-template-columns:1fr}.world-now small{grid-column:1}.world-glance{grid-template-columns:1fr 1fr}.world-glance button{min-height:68px;padding-left:10px}.world-glance b{font-size:6.8px}}
@media(max-width:390px) and (max-height:700px){body.world-mode .brand span{display:none}body.world-mode .view{padding-top:78px!important}.world-home{padding-top:11px}.world-focus-copy .headline{font-size:18px}.world-pulse{width:44px;height:44px;flex-basis:44px}.world-primary-action{min-height:56px;margin-top:11px}.world-now{margin-top:9px;padding-top:9px;padding-bottom:9px}.world-glance{margin-top:8px}.world-glance button{min-height:62px}.world-last-event{display:none}}

/* v3.19 WORLD explorer: one live zone source, free radar and gated map. */
.world-pulse{padding:0;background:rgba(3,20,25,.12);cursor:pointer}.world-pulse small{position:absolute;z-index:2;left:50%;bottom:-12px;transform:translateX(-50%);font:400 4px Montserrat,Arial;letter-spacing:.15em;color:rgba(205,247,252,.46)}
.world-explorer-choice-copy small,.world-explorer-choice-copy b,.world-explorer-choice-copy span{display:block}.world-explorer-choice-copy small{font-size:6px;letter-spacing:.17em;color:rgba(114,238,251,.58)}.world-explorer-choice-copy b{margin-top:8px;font-size:16px;font-weight:400;letter-spacing:.11em}.world-explorer-choice-copy span{margin-top:8px;font-size:7px;line-height:1.6;color:rgba(226,248,251,.5)}
.world-explorer-choices{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.world-explorer-choices button{display:flex;align-items:center;gap:12px;min-height:92px;padding:14px;border:1px solid rgba(114,238,251,.28);background:linear-gradient(135deg,rgba(8,42,50,.42),rgba(2,14,18,.2));color:#effcff;text-align:left;cursor:pointer}.world-explorer-choices button.map-choice{border-color:rgba(185,156,255,.35);background:linear-gradient(135deg,rgba(49,31,73,.32),rgba(2,14,18,.2))}.world-explorer-choices i{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border:1px solid currentColor;border-radius:50%;font-style:normal;color:#72eefb}.world-explorer-choices .map-choice i{color:#b99cff}.world-explorer-choices b,.world-explorer-choices small{display:block}.world-explorer-choices b{font-size:10px;font-weight:500;letter-spacing:.15em}.world-explorer-choices small{margin-top:6px;font-size:5px;line-height:1.45;letter-spacing:.1em;color:rgba(231,249,251,.46)}
.map-entitlement{text-align:center}.map-entitlement>i{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 15px;border:1px solid rgba(185,156,255,.62);border-radius:50%;font-size:24px;font-style:normal;color:#b99cff;box-shadow:0 0 30px rgba(185,156,255,.12)}.map-entitlement>small,.map-entitlement>b,.map-entitlement>span{display:block}.map-entitlement>small{font-size:6px;letter-spacing:.18em;color:#b99cff}.map-entitlement>b{margin-top:8px;font-size:20px;font-weight:400;letter-spacing:.14em}.map-entitlement>span{max-width:390px;margin:10px auto 18px;font-size:7px;line-height:1.7;color:rgba(231,248,250,.55)}.map-entitlement label{display:block;text-align:left;font-size:6px;letter-spacing:.14em;color:rgba(225,248,251,.58)}.map-entitlement input{display:block;width:100%;height:50px;margin-top:7px;padding:0 14px;border:1px solid rgba(185,156,255,.38);outline:0;background:rgba(9,13,24,.65);color:#fff;font:500 14px Montserrat,Arial;letter-spacing:.16em}.map-entitlement .btn{width:100%;margin-top:10px}.map-entitlement em{display:block;min-height:12px;margin-top:9px;font:normal 6px Montserrat,Arial;letter-spacing:.12em;color:#ff8ca5}
.world-explorer{position:fixed;z-index:300;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#031116;color:#effcff}.world-explorer>header{display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:max(15px,env(safe-area-inset-top)) 18px 13px;border-bottom:1px solid rgba(151,240,252,.18);background:linear-gradient(90deg,rgba(3,20,26,.98),rgba(5,30,37,.96))}.world-explorer>header small,.world-explorer>header b{display:block}.world-explorer>header small{font-size:5.5px;letter-spacing:.18em;color:rgba(114,238,251,.55)}.world-explorer.map>header small{color:rgba(185,156,255,.78)}.world-explorer>header b{margin-top:7px;font-size:17px;font-weight:400;letter-spacing:.14em}.world-explorer>header button{width:44px;height:44px;border:1px solid rgba(151,240,252,.24);background:rgba(2,14,18,.35);color:#effcff;font-size:24px;font-weight:300}.world-explorer>footer{position:relative;z-index:4;display:grid;grid-template-columns:110px minmax(0,1fr) 82px;align-items:stretch;min-height:86px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid rgba(151,240,252,.18);background:rgba(2,14,18,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.world-explorer>footer>button{border:1px solid rgba(151,240,252,.23);background:rgba(5,27,33,.35);color:#dffbff;font:500 6px Montserrat,Arial;letter-spacing:.11em}.world-explorer.map>footer>button:last-child{color:#72eefb}.world-explorer-info{min-width:0;padding:7px 14px}.world-explorer-info small,.world-explorer-info b,.world-explorer-info span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.world-explorer-info small{font-size:5px;letter-spacing:.16em;color:rgba(114,238,251,.68)}.world-explorer-info b{margin-top:5px;font-size:9px;font-weight:500;letter-spacing:.1em}.world-explorer-info span{margin-top:5px;font-size:5.5px;letter-spacing:.07em;color:rgba(226,248,251,.45)}
.world-radar-surface{position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 48%,rgba(17,74,84,.3),rgba(3,17,22,.88) 53%,#020b0f 100%)}.world-radar-surface:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(114,238,251,.018) 4px 5px);pointer-events:none}.world-radar-range{position:absolute;z-index:2;top:18px;left:50%;transform:translateX(-50%);font-size:5.5px;letter-spacing:.17em;color:rgba(190,244,250,.42)}.world-radar-svg{position:relative;z-index:1;width:min(82vh,94vw);height:min(82vh,94vw);max-height:100%;overflow:visible}.world-radar-ring{fill:none;stroke:rgba(114,238,251,.16);stroke-width:1}.world-radar-axis{stroke:rgba(114,238,251,.08);stroke-width:1}.world-radar-north{fill:rgba(220,251,254,.7);font:500 8px Montserrat,Arial;letter-spacing:.15em}.world-radar-zone{--zone:#58e6f2;cursor:pointer}.world-radar-radius{fill:color-mix(in srgb,var(--zone),transparent 88%);stroke:color-mix(in srgb,var(--zone),transparent 24%);stroke-width:1;vector-effect:non-scaling-stroke}.world-radar-pin{fill:var(--zone);stroke:#061319;stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px var(--zone))}.world-radar-zone.live .world-radar-radius{fill:color-mix(in srgb,var(--zone),transparent 76%);stroke:var(--zone);stroke-width:2}.world-radar-zone.live .world-radar-pin{animation:worldZonePulse 1.7s ease-in-out infinite}.world-radar-zone.selected .world-radar-pin{stroke:#fff;stroke-width:3}.world-radar-user circle{fill:rgba(3,18,23,.72);stroke:#eafdff;stroke-width:1.5}.world-radar-user path{fill:#f2fdff;filter:drop-shadow(0 0 4px rgba(114,238,251,.8))}@keyframes worldZonePulse{50%{opacity:.55}}
.world-map-surface{position:relative;min-height:0;background:#071216}.google-world-map{position:absolute;inset:0}.world-map-status{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 16px;border:1px solid rgba(185,156,255,.38);background:rgba(2,12,17,.88);font-size:7px;letter-spacing:.14em;color:#e9e2ff}.world-map-status.error{color:#ffb3c4;border-color:rgba(255,111,145,.5)}.world-map-status button{display:block;width:100%;margin-top:10px;padding:9px;border:1px solid rgba(255,111,145,.42);background:rgba(42,13,24,.5);color:#fff;font:500 6px Montserrat,Arial;letter-spacing:.12em}.map-not-configured{display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 45%,rgba(76,52,114,.28),#061319 58%)}.map-not-configured>div{width:min(420px,100%);text-align:center}.map-not-configured i{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 17px;border:1px solid rgba(185,156,255,.55);border-radius:50%;font-size:26px;font-style:normal;color:#b99cff}.map-not-configured small,.map-not-configured b,.map-not-configured span{display:block}.map-not-configured small{font-size:6px;letter-spacing:.16em;color:#b99cff}.map-not-configured b{margin-top:9px;font-size:19px;font-weight:400;letter-spacing:.12em}.map-not-configured span{margin:12px auto 20px;font-size:7px;line-height:1.7;color:rgba(229,247,250,.55)}.map-not-configured .btn{width:100%}
@media(max-width:560px){.world-explorer-choices{grid-template-columns:1fr}.world-explorer-choices button{min-height:78px}.world-explorer>footer{grid-template-columns:82px minmax(0,1fr) 66px;padding-left:7px;padding-right:7px}.world-explorer-info{padding-left:9px;padding-right:9px}.world-explorer-info span{font-size:4.8px}.world-radar-svg{width:min(72vh,96vw);height:min(72vh,96vw)}}
.world-radar-zone.disabled{opacity:.3}.world-radar-zone.live,.world-radar-zone.selected{opacity:1}
