.gesture-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0}.gesture-card{display:flex;min-height:104px;align-items:center;justify-content:center;flex-direction:column;gap:9px}.gesture-icon{font-size:30px;color:#f1cf8c}.gesture-card:hover .gesture-icon{animation:paw-wave .6s ease-in-out alternate infinite}@keyframes paw-wave{to{transform:rotate(14deg) translateY(-3px)}}.chat-gestures{font-size:22px;padding:4px 9px!important;color:#f3d592!important}.sea-kicker{font-size:10px!important;letter-spacing:.15em;color:#d1b986!important;text-transform:uppercase}.sea-art{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:4/3}.boat-card{margin:20px 0;padding:14px;border:1px solid #61878455;border-radius:16px;background:linear-gradient(150deg,#264951,#162e39);color:#edf1de;overflow:hidden}.boat-card.equipped{border-color:#bcdda3}.boat-card h3{font-size:23px;margin:6px 0}.boat-card p{line-height:1.6}.boat-card .sea-art{margin-top:-12px;filter:drop-shadow(0 12px 8px #0b1b2760)}.boat-card button{margin-top:8px}.fish-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.fish-card{border:1px solid #81979660;border-radius:14px;background:#173940;padding:10px;display:flex;flex-direction:column;gap:7px;color:#eff2df}.fish-card h4{margin:0;font-size:15px}.fish-card small{font-size:11px;line-height:1.45}.fish-card .sea-art{margin:-5px 0 -12px}.fish-card.undiscovered .sea-art{filter:grayscale(.85);opacity:.6}.fish-card[data-rarity=rare]{border-color:#749edf}.fish-card[data-rarity=epic]{border-color:#c095e2}.fish-card[data-rarity=legendary]{border-color:#e5c173;background:linear-gradient(135deg,#424c44,#2c3e45)}.rarity{text-transform:uppercase;letter-spacing:.12em;color:#d2c596}.fish-card button{font-size:11px;padding:8px!important;min-width:0}.touch-scroll progress{width:100%;accent-color:#b6d8a5;height:10px}.cinema-url{display:flex;flex-direction:column;gap:12px;margin:20px 0}.cinema-url input{box-sizing:border-box;width:100%;padding:14px;border:1px solid #8ba39b;border-radius:9px;background:#f7f1df;color:#203c40;font-size:14px}.cinema-viewer{pointer-events:auto;position:absolute;z-index:18;left:50%;top:70px;transform:translateX(-50%);width:min(880px,calc(100vw - 32px));max-height:calc(var(--app-height,100vh) - 146px);overflow:auto;padding:14px;box-sizing:border-box;border:1px solid #927f64;border-radius:18px;background:#132630f5;box-shadow:0 24px 100px #081721a0;color:#eee8d8}.cinema-viewer[hidden]{display:none}.cinema-viewer header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.cinema-viewer header button{font-size:12px}.cinema-mount{width:100%;aspect-ratio:16/9;min-height:200px;background:#081419}.cinema-mount iframe{display:block;width:100%;height:100%;min-height:200px;border:0}.cinema-note{font-size:12px;line-height:1.4;margin:10px 0}.cinema-controls{display:flex;gap:10px;flex-wrap:wrap}.cinema-controls button{font-size:12px}.cinema-watching .touch-drawer,.cinema-watching .touch-history,.cinema-watching #touch-actions,.cinema-watching #touch-stick,.cinema-watching #touch-map{display:none!important}.cinema-watching .touch-status{display:none}@media(max-width:600px){.cinema-viewer{top:62px;width:calc(100vw - 16px);padding:8px;max-height:calc(var(--app-height,100vh) - 135px)}.cinema-viewer header{font-size:13px}.cinema-controls button{flex:1}.touch-chat .chat-gestures{padding:3px 5px!important;min-width:26px}.fish-grid{gap:8px}.fish-card{padding:8px}}@media(prefers-reduced-motion:reduce){.gesture-card:hover .gesture-icon{animation:none}}
@media(max-height:500px){.cinema-viewer{top:54px;padding:6px;width:min(720px,calc(100vw - 16px));max-height:calc(var(--app-height,100vh) - 116px)}.cinema-viewer header{margin-bottom:6px;font-size:12px}.cinema-viewer header button{min-height:36px!important;padding:6px 9px!important}.cinema-mount{height:200px;aspect-ratio:auto}}

/* A small number of destinations at a time, with stable icon + label pairs. */
#touch-ui .touch-nav{width:min(340px,92%);padding:calc(var(--safe-top) + 72px) 18px calc(16px + var(--safe-bottom));gap:12px;background:linear-gradient(155deg,#214c4d,#122d37);box-shadow:20px 0 70px #061f2940}
#touch-ui .touch-nav h2{font-size:25px;margin:0 0 7px;font-weight:650}
#touch-ui .menu-eyebrow{font-size:11px;color:#b7cfbd}
#touch-ui .menu-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:4px;background:#0e2830;border-radius:13px}
#touch-ui .menu-groups button{font-size:14px;text-align:center;min-height:41px;padding:7px 3px;border:0;background:transparent;border-radius:9px;color:#adc5c2}
#touch-ui .menu-groups [aria-selected=true]{background:#d6e2bf;color:#1e4141;box-shadow:0 3px 8px #0002}
#touch-ui .menu-links{display:flex;flex-direction:column;gap:9px}
#touch-ui .menu-destination{display:flex;align-items:center;gap:13px;min-height:78px;width:100%;padding:14px 12px;background:#ffffff06;border:1px solid #aecbbb28;border-radius:15px;text-align:left;transition:background .18s,transform .18s}
#touch-ui .menu-destination:hover{background:#b5d8c315;transform:translateX(3px)}
#touch-ui .menu-destination svg,#touch-ui .menu-footer svg{width:27px;height:27px;fill:none;stroke:#d5dca5;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
#touch-ui .menu-destination>span:not(.menu-chevron){flex:1;min-width:0}
#touch-ui .menu-destination strong{display:block;font-size:16px;font-weight:650}
#touch-ui .menu-destination small{display:block;font-size:12px;line-height:1.45;color:#b5c8c3;margin-top:5px}
#touch-ui .menu-chevron{color:#a6c7b3;font-size:25px}
#touch-ui .menu-footer{display:flex;gap:8px;margin-top:auto;padding-top:16px;border-top:1px solid #bad3c32b}
#touch-ui .menu-footer button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;font-size:13px;padding:10px 8px}
#touch-ui .menu-footer svg{width:19px;height:19px}
#touch-ui .menu-request-count{display:inline-block;font-size:12px;color:#f2c98c;margin-top:3px}
#touch-ui .worlds-open{}.world-intro{font-size:17px;margin:0 0 18px}
#touch-ui.worlds-open .touch-drawer{width:min(840px,calc(100% - 24px));max-height:none}
.world-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.world-card{overflow:hidden;border:1px solid #afbeab;border-radius:18px;background:#fffaf0;display:flex;flex-direction:column}
.world-cover{position:relative;background:#21474c;aspect-ratio:8/5;overflow:hidden}.world-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}.world-card:hover img{transform:scale(1.04)}
.world-population{position:absolute;left:10px;bottom:10px;border-radius:20px;padding:6px 11px;background:#173c40e8;color:#ecf0dc;font-size:12px;box-shadow:0 2px 12px #1225}
.world-copy{padding:16px;display:flex;flex-direction:column;flex:1}.world-tag{font-size:10px;letter-spacing:.13em;font-weight:700;color:#5b7567}.world-copy h3{font-size:22px!important;line-height:1.15;margin:7px 0!important;color:#234947}.world-copy p{font-size:14px;line-height:1.55;color:#527067;margin:0 0 16px;flex:1}
#touch-ui .world-visit,#touch-ui .world-current{width:100%;margin-top:auto;background:#2d6558;border:0;color:#fffbea;min-height:43px}.world-current{opacity:.65}
.settings-camera{display:flex;flex-wrap:wrap;gap:7px}.settings-camera button{flex:1;white-space:nowrap}
/* The same official player moves between the room surface and expanded UI. */
#touch-ui .cinema-viewer.in-world{transform:none;position:absolute;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;max-height:none;overflow:visible;z-index:16}
#touch-ui .cinema-viewer.in-world>header{display:none}
#touch-ui .cinema-viewer.in-world .cinema-mount{height:var(--screen-height);min-height:0;aspect-ratio:auto;overflow:hidden}
#touch-ui .cinema-viewer.in-world .cinema-mount iframe{min-height:0}
.cinema-tools{padding:0}.cinema-viewer.in-world .cinema-tools{padding:7px 0 0;color:#efe9d4}
.cinema-viewer.in-world .cinema-controls{justify-content:center;gap:5px}
#touch-ui .cinema-viewer.in-world .cinema-controls button{font-size:12px;min-height:35px;padding:7px 10px;background:#173641f2;border:1px solid #bdc6a555}
.cinema-viewer.in-world .cinema-note{display:none}
.cinema-viewer.in-world:has(.cinema-note:not(:empty)) .cinema-note{display:block;text-align:center;font-size:11px;background:#13333bcf;border-radius:6px;margin:4px 0 0;padding:3px 6px}
.cinema-poster{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;padding:16px;text-align:center;background:radial-gradient(ellipse at 50% 30%,#355560,#152f3e 65%);color:#f2e4c2;overflow:hidden}
.cinema-poster .poster-stars{font-size:24px;color:#ceaa68;letter-spacing:.35em;margin-bottom:10px}.cinema-poster>small{font-size:10px;letter-spacing:.25em;color:#bdc7b8}.cinema-poster>strong{font-family:Georgia,serif;font-size:clamp(20px,3vw,44px);font-weight:400;margin:6px 0}.cinema-poster p{font-size:12px;margin:4px 0 12px;color:#c8d2c7;line-height:1.45}
#touch-ui .cinema-poster button{padding:8px 13px;min-height:36px;font-size:12px;border-color:#b3b98b;color:#e9e8c7;background:#3a5a5b}
#touch-ui .cinema-viewer.expanded{z-index:20}.cinema-viewer.expanded .cinema-tools{padding-top:12px}
@media(max-width:640px){.world-grid{grid-template-columns:1fr}.world-cover{aspect-ratio:16/8}.world-copy{padding:14px}.world-copy h3{font-size:21px!important}#touch-ui.worlds-open .touch-drawer{left:12px;right:12px;width:auto}.cinema-poster{padding:10px}.cinema-poster .poster-stars{margin:0 0 4px;font-size:18px}.cinema-poster p{margin-bottom:8px}.cinema-viewer.in-world .cinema-controls{flex-wrap:nowrap}#touch-ui .cinema-viewer.in-world .cinema-controls button{padding:7px 8px;font-size:11px}.cinema-viewer.in-world .cinema-note{max-width:100%}}
@media(max-height:500px){#touch-ui .touch-nav{padding-top:62px}#touch-ui .menu-destination{min-height:65px;padding:10px}#touch-ui .menu-footer{margin-top:8px}#touch-ui .touch-nav h2{font-size:21px}#touch-ui .menu-groups{position:sticky;top:0;z-index:1}.cinema-viewer.in-world .cinema-note{display:none!important}}
@media(prefers-reduced-motion:reduce){.world-card img,#touch-ui .menu-destination{transition:none}.world-card:hover img{transform:none}}

.tea-steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;gap:5px;counter-reset:tea}.tea-steps li{font-size:12px;border-top:4px solid #d7d7c2;padding:8px 0;color:#617270}.tea-steps li.done{border-color:#39876c}.tea-steps li[aria-current]{border-color:#c49340;color:#143f41;font-weight:700}.tea-order{background:#e4ddc1;border:1px solid #c9bd92;border-radius:20px;padding:20px;min-height:130px;margin:16px 0}.tea-order h4{font-size:23px;margin:6px 0}.tea-order p{line-height:1.6}.tea-cup{float:right;position:relative;width:65px;height:90px;background:linear-gradient(#ddb577,#bb8351);border:3px solid #fdf8e6;border-top-width:8px;border-radius:5px 5px 20px 20px;margin:12px 5px 12px 20px;transform:rotate(6deg)}.tea-straw{position:absolute;left:38px;top:-33px;height:40px;width:8px;background:#317966}.tea-pearls{position:absolute;bottom:8px;left:9px;width:10px;height:10px;border-radius:50%;background:#4b382d;box-shadow:17px 3px #4b382d,30px -3px #4b382d,7px -12px #4b382d,23px -13px #4b382d}.tea-options{border:0;border-top:1px solid #cdcdbb;padding:14px 0;margin:12px 0}.tea-options legend{font-weight:700;padding-right:10px}.tea-options button{margin:4px;min-height:42px}.tea-options button[aria-pressed=true]{background:#276253;color:#fff}.fish-bulk-sale{padding:16px;background:#e1ead7;border:1px solid #9eb6a5;border-radius:16px;margin:14px 0}.fish-bulk-sale button{width:100%;font-weight:700;background:#276253;color:white}.fish-bulk-sale button:disabled{opacity:.5}

/* Community spaces, extras and quiet time */
.performance-chip{margin-left:auto;align-self:center;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;padding:7px 9px;background:#173c43dc;border:1px solid #8ba39b50;border-radius:20px;color:#d5e5cf;pointer-events:none}
.space-card{margin:18px 0;padding:14px;background:linear-gradient(145deg,#284850,#183440);color:#edf1de;border:1px solid #7caaa26b;border-radius:16px;display:flex;flex-direction:column;gap:10px;overflow:hidden}
.space-card.selected{border-color:#d6ce97}.space-card h3{margin:0}.space-card p{margin:0;line-height:1.6}.community-art{width:100%;aspect-ratio:8/5;object-fit:cover;border-radius:9px;background:#173540}
.space-card.locked .community-art,.animated-card.locked .community-art{filter:saturate(.15);opacity:.62}.space-card.locked h3,.animated-card.locked strong,.gesture-card.locked{color:#a3aaa8}
.animated-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.animated-card{min-width:0;padding:10px;border:1px solid #738c8a66;border-radius:12px;display:flex;flex-direction:column;gap:9px;background:#173940}.animated-card strong{font-size:14px}.animated-card small{font-size:11px;line-height:1.5}.animated-card button{font-size:12px!important;padding:9px!important}.gesture-card small{font-size:10px}.gesture-card.locked .gesture-icon{filter:grayscale(1);opacity:.5}.gesture-card.locked:hover .gesture-icon{animation:none}
.afk-notice{position:absolute;left:50%;transform:translateX(-50%);top:76px;max-width:min(540px,calc(100vw - 28px));box-sizing:border-box;border:1px solid #bdc6a5;border-radius:14px;background:#203b4df5;color:#eee8d8;padding:15px;z-index:26;pointer-events:auto;text-align:center;display:flex;flex-direction:column;gap:10px;font-size:13px;box-shadow:0 12px 35px #06192370}.afk-notice[hidden]{display:none}.afk-notice button{font-size:12px;min-height:40px}.afk-notice strong{font-weight:500;line-height:1.5}
@media(max-width:480px){.performance-chip{font-size:9px;padding:5px 7px}.touch-top .touch-identity{max-width:54vw}.animated-grid{gap:8px}.animated-card{padding:8px}.space-card{padding:10px}.afk-notice{top:70px;width:calc(100vw - 28px)}}
.animated-card{color:#edf1de}

/* Lantern Run stays in the world: compact objectives, large direct action. */
.lantern-hud{position:absolute;top:max(72px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(430px,calc(100% - 32px));background:rgba(18,39,44,.94);border:1px solid #799b90;border-radius:18px;padding:15px 18px;color:#f8efd5;box-shadow:0 8px 30px #06171e44;pointer-events:auto;z-index:12;font-size:13px;box-sizing:border-box}
.lantern-hud[hidden]{display:none}.run-heading,.run-badges{display:flex;justify-content:space-between;align-items:center;gap:12px}.run-heading{letter-spacing:.1em;color:#eac58d;font-size:12px}.run-clock{font-size:20px;font-variant-numeric:tabular-nums;color:#fff2c9;letter-spacing:0}.run-badges{margin:9px 0;color:#b7e0ca;font-size:12px}.run-objective{display:block;font-size:15px;margin-top:8px}.lantern-hud p{margin:7px 0;line-height:1.45}.lantern-hud small{display:block;color:#b5ccc3;line-height:1.4}.lantern-hud button{margin-top:10px;min-height:42px}.run-hurt{color:#ffbb9f;display:block;margin-top:8px}.lantern-hud.run-result{top:50%;transform:translate(-50%,-50%);padding:25px;text-align:center;width:min(480px,calc(100% - 32px))}.run-result h2{font-size:27px;margin:10px 0}.run-payoff{display:block;color:#a1edbd;margin:15px 0}.run-medal{font-size:20px;color:#ffda86;margin-top:20px}.run-close{margin:0!important;padding:0 10px!important;min-height:28px!important}.run-result small{font-size:11px;margin:12px 0}.run-result .primary{width:100%}
@media(max-width:600px){.lantern-hud{top:max(67px,env(safe-area-inset-top));font-size:11px;padding:10px 12px;border-radius:12px}.lantern-hud .run-objective{font-size:13px}.lantern-hud p{margin:5px 0}.run-badges{margin:5px 0}.lantern-hud small{font-size:10px}.run-heading{font-size:10px}.run-clock{font-size:17px}}
@media(max-height:500px){.lantern-hud:not(.run-result){left:12px;transform:none;width:270px;top:67px;padding:8px 12px;font-size:11px}.lantern-hud:not(.run-result) small{display:none}.run-result{max-height:calc(100% - 20px);overflow:auto}.run-result h2{font-size:20px;margin:5px 0}.run-result .run-medal{margin-top:8px}}

/* Harbour adventures */
.angler-hero{padding:20px;border:1px solid #adcbb866;border-radius:18px;background:linear-gradient(135deg,#1f4e53,#293c58);margin-bottom:18px}.angler-hero h3{font-size:27px;margin:8px 0}.angler-hero progress,.angler-commission progress{width:100%;accent-color:#bce2a6}.angler-zones{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:14px 0}.angler-zone{border-radius:12px;padding:14px;background:#2e5256;border-top:4px solid #a3caad}.angler-zone[data-zone=coral]{border-color:#ed9bb4;background:#523e50}.angler-zone[data-zone=deep]{border-color:#a6a2e1;background:#353e58}.angler-zone p{font-size:13px;line-height:1.5}.angler-rod,.angler-commission{padding:18px;border:1px solid #bad1b544;border-radius:14px;margin:12px 0;background:#1d4148}.angler-rod h4,.angler-commission h4{font-size:19px;margin:5px 0}.angler-rod button,.angler-commission button{margin:10px 6px 0 0}.rod-art{float:right;font-size:34px}.angler-rod[data-rod=aurora]{border-color:#b6a9e2}.angler-fight{height:26px!important;margin:10px 0!important;min-width:230px}#touch-fish{max-width:min(430px,calc(100vw - 24px));display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-radius:18px;border:1px solid #bce0bc88;box-shadow:0 8px 28px #061b2299}#touch-fish[hidden]{display:none}#touch-fish>div:first-child,#touch-fish>.touch-timing,#touch-fish>strong,#touch-fish>small{flex-basis:100%}#touch-fish>div:first-child{font-weight:700;font-size:18px}#touch-fish>button{min-height:42px}#touch-fish>small{font-size:13px;color:#cee0d6}.fish-card small{line-height:1.45}
.angler-hero,.angler-zone,.angler-rod,.angler-commission{color:#f0f3e4}
@media(max-width:600px){.angler-zones{grid-template-columns:1fr 1fr}.angler-zone{padding:10px}.angler-hero{padding:14px}#touch-fish{padding:12px;bottom:74px}.angler-fight{min-width:190px}}

#touch-ui #touch-fish{width:min(370px,calc(100vw - 32px));box-sizing:border-box}#touch-ui #touch-fish .angler-fight{width:100%;min-width:0}

/* Core navigation and readable player cards — release 31 */
#touch-ui .quick-nav{display:flex;justify-content:center;gap:6px;pointer-events:auto}#touch-ui .quick-nav button{flex:1;max-width:150px;min-height:42px;padding:8px 12px;background:#183e46}#touch-ui .quick-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}#touch-ui .quick-nav button:focus-visible{outline:3px solid #ffcd83}
#touch-ui #camera-controls{position:absolute;top:74px;right:12px;display:flex;gap:3px;pointer-events:auto}#touch-ui #camera-controls button{min-height:32px;width:32px;font-size:18px}#touch-ui:has(.touch-drawer:not([hidden])) #camera-controls,#touch-ui:has(#world-menu-toggle[aria-expanded=true]) #camera-controls{display:none}#touch-ui.keyboard-open .quick-nav{display:none}
#touch-ui .player-card-hero{padding:20px;background:#21454d;border-radius:16px;color:#f9f1dd;text-align:center}.player-card-hero svg{display:block;margin:auto;width:72px;height:72px;fill:currentColor;stroke:#142e36;stroke-width:1.3}.player-card-hero h2{margin:8px 0;overflow-wrap:anywhere}.player-card-hero small{display:block;margin-top:8px}.profile-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.profile-stats>div{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:14px;background:#e0e6d6;border-radius:12px}.profile-stats svg{width:23px;height:23px;stroke:#2a6660;stroke-width:1.8;fill:none}.profile-stats strong{font-size:23px}.profile-stats small{flex-basis:100%}#touch-ui .chat-name{padding:0 5px 0 0;min-height:24px;border:0;background:none;color:inherit;font-weight:700}
.run-steps{list-style:none;padding:0;margin:12px 0;display:grid;gap:8px}.run-steps li{display:grid;grid-template-columns:40px 1fr;gap:3px 8px;padding:10px;background:#ffffff10;border:1px solid #95b5a955;border-radius:10px}.run-steps svg{grid-row:span 2;width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.8;color:#9edcc3}.run-steps strong{font-size:14px}.run-steps span{font-size:12px;line-height:1.35}.touch-scroll .run-steps li{background:#e0e7d7}.touch-scroll .run-steps svg{color:#286258}.ready-crew{display:flex;gap:6px;flex-wrap:wrap}.ready-crew span{padding:6px 9px;background:#ffffff0a;border-radius:20px;font-size:12px}.ready-crew .is-ready{background:#badba9;color:#203d35}
#touch-ui .lantern-hud{top:80px;max-height:calc(var(--app-height) - 205px);overflow:auto}#touch-ui .lantern-hud:not(.run-boarding):not(.run-result){width:min(360px,calc(100% - 30px));top:80px}#touch-ui .lantern-hud details{margin-top:8px}#touch-ui .lantern-hud summary{cursor:pointer;min-height:28px;padding:5px}#touch-ui .lantern-hud h2{font-size:22px;margin:10px 0}#touch-ui .lantern-hud.run-result{top:50%}#touch-ui .run-boarding .primary{width:100%}#touch-ui .lantern-hud>button{margin-right:5px}#touch-ui .crew-invite{max-height:calc(var(--app-height) - 200px);overflow:auto}
#touch-ui #touch-fish{bottom:116px}#touch-ui .touch-drawer{bottom:116px}.cinema-viewer.in-world .cinema-controls button{min-height:36px}
@media(max-width:600px){#touch-ui .lantern-hud{top:115px;width:calc(100% - 24px)}#touch-ui .run-steps li{padding:7px}.run-steps span{font-size:11px}#touch-ui .touch-actions{bottom:140px}#touch-ui .quick-nav button{font-size:13px}#touch-ui #camera-controls{top:72px}.profile-stats>div{padding:10px}}
@media(max-height:520px){#touch-ui .run-boarding{left:12px;transform:none;width:min(420px,calc(100% - 24px));top:62px;max-height:calc(var(--app-height) - 172px)}#touch-ui .quick-nav button{min-height:32px;padding:4px 10px}#touch-ui .run-steps{gap:4px}.run-steps li{padding:5px}.run-steps span{font-size:11px}}
#touch-ui #touch-map{top:116px}
/* Social rooms: the cat owns the camera; one Watch entry owns cinema controls. */
#touch-ui .cinema-viewer.in-world .cinema-watch-layout{display:block}
#touch-ui .cinema-viewer.in-world .cinema-playlist,#touch-ui .cinema-viewer.in-world .cinema-note,#touch-ui .cinema-viewer.in-world #cinema-retry{display:none!important}
#touch-ui .cinema-viewer.in-world .cinema-watch-main{width:100%;height:var(--screen-height)}
#touch-ui .cinema-viewer.in-world .cinema-mount{width:100%;height:100%}
#touch-ui .cinema-viewer .cinema-mount{position:relative;overflow:hidden}
#cinema-player-host{position:absolute;inset:0;width:100%;height:100%}
#cinema-player-host[hidden],#cinema-poster[hidden]{display:none!important}
#cinema-player-host iframe{display:block;width:100%;height:100%;border:0;min-height:200px}
#touch-ui .cinema-viewer.expanded{position:absolute;inset:64px max(12px,calc((100% - 1200px)/2)) 78px;transform:none;width:auto;max-height:none;margin:0;padding:0;overflow:hidden;display:flex;flex-direction:column;border-radius:18px;background:#122d37;z-index:85;box-shadow:0 0 0 100vmax #0b263bbb}
#touch-ui .cinema-viewer.expanded[hidden]{display:none}
#touch-ui .cinema-viewer.expanded>header{padding:12px 16px;margin:0;flex:none;border-bottom:1px solid #a6c4b52a}
#touch-ui .cinema-viewer.expanded>header button{min-height:36px;width:38px;font-size:22px;padding:0}
.cinema-watch-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:0;flex:1;overflow:auto}
.cinema-watch-main{min-width:0;align-self:start}
#touch-ui .cinema-viewer.expanded .cinema-mount{width:100%;aspect-ratio:16/9;height:auto;min-height:200px;background:#07191f}
#touch-ui .cinema-viewer.expanded .cinema-poster{position:absolute;inset:0}
#touch-ui .cinema-viewer.expanded .cinema-note{margin:10px 16px;padding:0;color:#c5d4c8;font-size:13px}
#touch-ui #cinema-retry{margin:0 16px 12px}
.cinema-playlist{background:#eff0df;color:#24454b;padding:16px;min-width:0;overflow:auto}
.cinema-playlist h3{font-size:17px;margin:0 0 12px}.cinema-playlist .cinema-url{display:flex;flex-direction:row;gap:7px;margin:0}.cinema-playlist .cinema-url input{flex:1;min-width:0;padding:11px 10px;border:1px solid #a2b9ae;background:#fffef7;font-size:16px}
#touch-ui .cinema-playlist .cinema-url button{flex:none;font-size:13px;background:#275c52;color:#fff8e3;border:0;padding:10px}
.cinema-feedback{font-size:13px;color:#33634d;margin:9px 0}.cinema-feedback:empty{display:none}.cinema-feedback.error{color:#933c35}
#cinema-video-list{margin-top:18px}.cinema-video-card{display:flex;align-items:center;gap:9px;margin:9px 0 18px;min-width:0}.cinema-video-card img{width:86px;aspect-ratio:16/9;object-fit:cover;border-radius:7px;flex:none}.cinema-video-card>div{flex:1;min-width:0}.cinema-video-card small{display:block;font-size:11px;color:#64796d}.cinema-video-card strong{display:block;font-size:13px;overflow-wrap:anywhere;margin-top:4px}
#touch-ui .cinema-video-card button{padding:7px;min-height:34px;font-size:11px;color:#24454b;background:transparent;border:1px solid #a2b9ae;max-width:78px}.cinema-empty,.cinema-host,.cinema-limits{font-size:12px;line-height:1.5;color:#587064}.cinema-host{border-top:1px solid #cbd5c2;padding-top:12px}.cinema-limits{display:block;margin-top:16px}
#touch-ui.cinema-watching .quick-nav,#touch-ui.cinema-watching #camera-controls,#touch-ui.drawing-watching .quick-nav,#touch-ui.drawing-watching #camera-controls,#touch-ui.drawing-watching #touch-actions,#touch-ui.drawing-watching #touch-stick{display:none!important}
@media(max-width:700px){#touch-ui .cinema-viewer.expanded{inset:58px 8px 72px;border-radius:13px}.cinema-watch-layout{display:block}.cinema-playlist{padding:14px}.cinema-playlist .cinema-url{flex-direction:row}.cinema-video-card img{width:96px}}
@media(max-height:500px){#touch-ui .cinema-viewer.expanded{inset:5px 8px 58px}.cinema-watch-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px}.cinema-playlist{padding:10px}#touch-ui .cinema-viewer.expanded>header{padding:5px 12px}.cinema-playlist .cinema-url{flex-direction:column}.cinema-video-card img{width:60px}}
#touch-ui.is-travelling #touch-actions,#touch-ui.is-travelling #camera-controls{visibility:hidden}
#touch-ui.is-travelling .quick-nav{pointer-events:none;opacity:.6}
