/* PSS-WORLD-01.MOBILE-WORLD-07
 * The same festival, composed for a phone: a labeled thumb dock, scenic shortcuts,
 * separated movement controls and safe areas. No additional image downloads.
 */
.mobile-navigation-hint,.mobile-scenic,.mobile-identity{display:none}

/* OMEGA12: the world opens into real, existing community journeys. */
.community-choices{display:grid;gap:10px;margin:22px 0 12px}
.community-choice{display:grid;grid-template-columns:26px minmax(0,1fr) 18px;gap:12px;align-items:center;min-height:76px;padding:15px 17px;border:1px solid #cba5bf50;border-radius:13px;background:linear-gradient(115deg,#4a304f,#302039);color:#ffe6c8;text-decoration:none}
.community-choice>span:first-child{font-size:25px;color:#efc5a0;text-align:center}
.community-choice strong{display:block;font:600 15px/1.4 var(--sans)}
.community-choice small{display:block;margin-top:4px;font:12px/1.6 var(--sans);color:#ead4e6}
.community-choice:hover{background:#51344f;border-color:#e5b7a4a6}
.community-choice:focus-visible,.community-project-links a:focus-visible,.hud-home-link:focus-visible{outline:3px solid #ffe0a6;outline-offset:3px}
.community-project-links{display:flex;flex-direction:column;gap:2px;margin:12px 0 20px}
.community-project-links a{display:inline-flex;align-items:center;min-height:44px;width:fit-content;max-width:100%;color:#f0cafa;font:12px/1.6 var(--sans)}
.community-return{min-height:48px}
.mobile-panel .hud-home-link{display:flex;align-items:center;justify-content:center;min-height:48px;padding:9px 10px;border:1px solid #b28bb651;border-radius:11px;background:#432b4a;color:#fae8f0;text-align:center;text-decoration:none;font:500 12px/1.4 var(--sans)}
.quest-finale-actions #quest-finale-community{grid-column:1/-1}

/* OMEGA13: one guidance line, with room for readable interaction feedback. */
body:has(#toast.visible) .mobile-navigation-hint,body:has(dialog[open]) .mobile-navigation-hint,body:has(#toast.visible) .desktop-guide,body:has(dialog[open]) .desktop-guide{visibility:hidden}
.water-places{display:grid;gap:16px;margin:22px 0}
.water-place{min-width:0;padding:18px 16px;border:1px solid #acbbb84a;border-radius:14px;background:linear-gradient(135deg,#29414455,#30213d);scroll-margin-top:18px}
.water-place-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.water-temperature{padding:5px 9px;border:1px solid #9acece50;border-radius:20px;font:600 10px/1.4 var(--sans);color:#c9f0e8;background:#244343}
.water-temperature.hot{border-color:#dbac7d70;color:#ffe0b6;background:#56372c}
.water-scene-label{font:10px/1.5 var(--sans);color:#d8c9dd}
.water-place h3{margin:15px 0 8px;font:26px/1.16 var(--serif);color:#ffe1be;scroll-margin-top:20px}
.water-place h3:focus{outline:2px solid #ffe0a6;outline-offset:5px;border-radius:3px}
.water-place p{font:12px/1.7 var(--sans);margin:10px 0;color:#e5d9e5}
.water-place .water-address{font-size:11px;color:#d5e7e2}
.water-place .water-notice{padding:11px 12px;border-left:2px solid #edc68b;border-radius:0 7px 7px 0;background:#9f75451d;color:#f8dfb9}
.water-place-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}
.water-place-actions button{min-height:48px;font-size:11px}
.water-place-actions a,.water-place-sources a{display:inline-flex;align-items:center;min-height:44px;font-size:11px;line-height:1.5}
.water-place-actions a{padding:4px 2px}
.water-place-sources{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding-top:7px;border-top:1px solid #a5b3c129}
.water-place-sources a:focus-visible,.water-place-actions a:focus-visible{outline:3px solid #ffe0a6;outline-offset:3px}
.water-place .water-view-note{font-size:11px;color:#d5c5da}
.water-return{min-height:48px}
@media (min-width:900px) and (pointer:fine){
  .desktop-guide{bottom:146px;max-width:calc(100vw - 56px)}
  body:not(.intro-dismissed):not(.touring) .desktop-guide,.quest-guided .desktop-guide{visibility:hidden}
}

@media (max-width:899px), (pointer:coarse){
  html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
  #world,body:not(.exploring):not(.walking):not(.flying):not(.touring) #world{width:100%;height:100dvh;min-height:0!important;overflow:hidden;overscroll-behavior:contain}
  #world{--dock-bottom:calc(env(safe-area-inset-bottom) + 10px);--dock-height:56px;--pad-bottom:calc(env(safe-area-inset-bottom) + 84px)}
  .masthead,.quest-card,.mode-switch,.world-tools,.spook-control,.scene-bottom,.scene-credits,.walk-hint,.district-badge,.fallback,.art-tools,.desktop-only,.desktop-guide,.scenic-views{display:none!important}
  .vignette,.walking .vignette,.flying .vignette{background:linear-gradient(0deg,#10091c66,transparent 24%,transparent 85%,#10091c55);pointer-events:none}
  .mobile-toolbar{position:absolute;z-index:8;top:auto;bottom:var(--dock-bottom);left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));height:var(--dock-height);padding:4px;display:grid;grid-template-columns:1fr 1.16fr 1fr;align-items:stretch;gap:4px;max-width:410px;margin-inline:auto;border:1px solid #d5a77e70;border-radius:18px;background:linear-gradient(140deg,#392338ee,#1c152bf2);box-shadow:0 6px 24px #07031055,inset 0 1px #fff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:auto}
  .mobile-toolbar button.mobile-hud-icon,.mobile-toolbar button.mobile-hud-quest{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:46px;height:46px;width:100%;padding:3px 7px;border:1px solid transparent;border-radius:12px;background:transparent;box-shadow:none;color:#ffe5c4;font:600 11px/1.25 var(--sans);letter-spacing:0;backdrop-filter:none;-webkit-backdrop-filter:none;touch-action:manipulation}
  .mobile-toolbar #hud-map{grid-column:1;grid-row:1}
  .mobile-toolbar #hud-quest{grid-column:2;grid-row:1;border-inline:1px solid #c9a78a30;border-radius:5px}
  .mobile-toolbar #hud-toggle{grid-column:3;grid-row:1}
  .mobile-toolbar .dock-symbol{display:block;font-size:19px;line-height:20px;color:#f6c38d;font-weight:400}
  .mobile-toolbar .dock-label{display:block;font-size:10px;line-height:15px;font-weight:600;letter-spacing:.2px;white-space:nowrap}
  .mobile-toolbar #hud-quest-count{margin-left:3px;color:#fff1dc;font-variant-numeric:tabular-nums}
  .mobile-toolbar #hud-toggle[aria-expanded=true]{background:linear-gradient(145deg,#ffdfaa,#e9b47d);border-color:#ffe8bf;color:#32203c}
  .mobile-toolbar #hud-toggle[aria-expanded=true] .dock-symbol{color:#53304d}
  .mobile-toolbar button:focus-visible{outline-offset:1px;outline:3px solid #ffe0a6}
  .mobile-toolbar button:active{transform:scale(.97);filter:brightness(1.12)}
  .mobile-identity{display:block;position:absolute;z-index:6;left:50%;transform:translateX(-50%);top:calc(env(safe-area-inset-top) + 14px);width:max-content;max-width:calc(100vw - 44px);padding:7px 18px 8px;border:1px solid #e6bfa533;border-radius:30px;background:#1b1423a6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);text-align:center;text-shadow:0 1px 8px #0d081e;color:#edcaa4;font:600 8px/1.3 var(--sans);letter-spacing:1.6px;pointer-events:none}
  .mobile-identity strong{display:inline;margin-left:7px;font:400 15px/1.25 var(--serif);letter-spacing:0;color:#ffead0}
  .mobile-identity small{display:block;font:9px/1.4 var(--sans);letter-spacing:.35px;color:#e5d2e7;margin:2px 0 0;opacity:1}

  .mobile-panel:not([hidden]){display:block;position:absolute;z-index:9;top:auto;bottom:calc(var(--dock-bottom) + var(--dock-height) + 9px);left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));width:auto;max-width:410px;margin-inline:auto;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 104px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ad82aa #26182d;border:1px solid #cda1868a;border-radius:20px;padding:14px;background:linear-gradient(150deg,#332039f5,#1c152bf9);box-shadow:0 12px 38px #0805118c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#f8e9ef}
  .mobile-panel .hud-head{margin:0 0 9px;gap:8px;min-height:44px;font-size:10px;line-height:1.5;letter-spacing:1.1px;color:#f3ceaa}
  .mobile-panel .hud-head button{flex-shrink:0;min-width:44px;min-height:44px;border:1px solid #bd93bd40;border-radius:12px;font-size:24px;background:#50304c45;color:#ffe8ce}
  .mobile-panel button,.mobile-panel select{min-height:48px;font-size:12px;line-height:1.4;color:#fae8f0;border:1px solid #b28bb651;border-radius:11px;background:#432b4a}
  .mobile-panel button{padding:9px 10px;white-space:normal;word-break:normal}
  .mobile-panel button[aria-pressed=true]{background:linear-gradient(135deg,#ffe2b6,#e7b47c);border-color:#ffe5bd;color:#35203e}
  .mobile-panel button:disabled{opacity:.45;cursor:wait}
  .mobile-panel button:focus-visible,.mobile-panel select:focus-visible{outline-offset:2px;outline:3px solid #ffe0a6}
  .mobile-panel .hud-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .mobile-panel .hud-action-grid{gap:7px;margin-top:12px;padding-top:12px;border-top:1px solid #d3a4cc29}
  .mobile-panel .hud-action-grid #hud-events{background:#78474a;border-color:#d6a18072;color:#fff0dc}
  .mobile-panel .hud-option-row{gap:9px;margin-top:14px}
  .mobile-panel label{font-size:11px;line-height:1.4;color:#ecd2e5}
  .mobile-panel select{padding:0 9px;width:100%;max-width:100%;min-width:0;height:48px;background:#271b37;font-size:16px}
  .mobile-panel .hud-foot{margin:12px 2px 2px;font-size:11px;line-height:1.6;color:#d8bfd7}
  .mobile-panel .mobile-scenic{display:block;margin-top:14px;padding-top:12px;border-top:1px solid #d3a4cc29}
  .mobile-scenic h2{font:500 10px/1.4 var(--sans);text-transform:uppercase;letter-spacing:1.2px;color:#e8bfa3;margin:0 0 8px}
  .mobile-scenic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .mobile-panel .mobile-scenic-button{display:flex;align-items:center;gap:9px;text-align:left;background:linear-gradient(110deg,#553349,#34223e);border-color:#c49a7959;color:#ffe0b6}
  .mobile-panel .mobile-scenic-button[data-scene-view="nightgarden"]{grid-column:1/-1}
  .mobile-scenic-button>span:first-child{font-size:20px;line-height:1;color:#d9b1f2;flex-shrink:0}
  .mobile-scenic-button[aria-pressed=true]>span:first-child{color:#77476d}

  .invitation{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:calc(env(safe-area-inset-bottom) + 100px);max-width:420px;margin-inline:auto;padding:18px 18px 16px;border:1px solid #d3b2be29;border-radius:20px;background:linear-gradient(140deg,#23152cd9,#21172ac2);box-shadow:0 12px 40px #0c061c29;pointer-events:auto}
  .invitation::before{display:none}
  .invitation .eyebrow{font-size:8px;line-height:1.5;letter-spacing:1.4px;margin:0 0 10px;color:#f4c99b}
  .invitation h1{font:400 clamp(37px,10.2vw,53px)/1.02 var(--serif);letter-spacing:-1px;color:#fff0e3;margin:0}
  .invitation em{color:#f5c99e}
  .invitation .intro-copy{font-size:12px;line-height:1.65;margin:12px 0 15px;color:#ebdce9;max-width:330px}
  .invitation .intro-copy br{display:none}
  .invitation .intro-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .invitation .intro-actions .button,.invitation .intro-actions .button:last-child{width:100%;max-width:none;min-width:0;min-height:48px;padding:10px 10px;font-size:11px;line-height:1.35;gap:7px;border-radius:11px}
  .invitation .gold{background:linear-gradient(140deg,#ffe2af,#edb27a);color:#30203c;border-color:#ffe2ac}
  .invitation .glass{background:#493047bd;border-color:#bc8db35a;color:#ffe2c0}
  .invitation .crystal-preview-link{font-size:10px;line-height:1.4;min-height:44px;margin:3px 0 -8px;padding:10px 0;color:#f0cbff}
  .invitation .scene-label{display:none}
  .render-fallback .invitation .scene-label{font-size:10px;line-height:1.5;margin-top:10px;color:#e7cce7}
  .intro-dismissed .invitation,.walking .invitation,.flying .invitation,.touring .invitation,.exploring .invitation{display:none!important}

  .mobile-navigation-hint{display:none;position:absolute;z-index:6;left:50%;transform:translateX(-50%);bottom:calc(var(--dock-bottom) + var(--dock-height) + 13px);width:max-content;max-width:calc(100% - 32px);margin:0;padding:6px 11px;border:1px solid #e2bbcb22;border-radius:15px;background:#21162aa8;color:#f6ddc9;text-align:center;font:500 10px/1.5 var(--sans);text-shadow:0 1px 3px #100818;pointer-events:none}
  .intro-dismissed .mobile-navigation-hint,.walking .mobile-navigation-hint,.flying .mobile-navigation-hint,.touring .mobile-navigation-hint,.exploring .mobile-navigation-hint{display:block}
  .walking .mobile-navigation-hint,.flying .mobile-navigation-hint{bottom:calc(var(--pad-bottom) + 112px)}
  .hud-panel-open #toast,.hud-panel-open .mobile-identity,.hud-panel-open .mobile-navigation-hint,.hud-minimal .mobile-navigation-hint,.immersive-ui .mobile-navigation-hint,.hud-minimal .mobile-identity,.immersive-ui .mobile-identity{display:none!important}

  .move-pad:not([hidden]),.look-pad:not([hidden]){position:absolute;display:flex!important;width:108px;height:108px;bottom:var(--pad-bottom);z-index:7;border:1px solid #e7bfdb69;background:#27193673;box-shadow:inset 0 0 18px #10071f44,0 2px 13px #0b061b1c;opacity:.76;touch-action:none}
  .move-pad{left:max(15px,env(safe-area-inset-left));border-radius:50%}
  .move-pad span{width:46px;height:46px;top:30px;left:30px;border:1px solid #ffe9c6;border-radius:50%;background:linear-gradient(140deg,#ffe0a9b5,#c2826c9c);box-shadow:0 0 13px #dc9c7155}
  .move-pad small,.look-pad small{bottom:6px;font-size:8px;letter-spacing:1.4px;color:#ffe6c4}
  .look-pad:not([hidden]){right:max(15px,env(safe-area-inset-right));border-color:#e8c6e339;background:#24152d33;box-shadow:none;opacity:.46;pointer-events:none!important}
  .look-pad .look-ring{font-size:35px;opacity:.8}
  .fly-controls:not([hidden]){position:absolute;right:max(15px,env(safe-area-inset-right));bottom:calc(var(--pad-bottom) + 118px);z-index:7;display:flex!important;gap:6px}
  .fly-controls button{width:51px;min-width:0;min-height:44px;padding:8px 5px;font-size:11px;border-radius:10px;background:#3e294bc9;border:1px solid #cea4cd68;color:#ffe7c8;touch-action:none}
  .touch-controls:not([hidden]){display:none!important}
  .button-controls .touch-controls:not([hidden]){display:grid!important;left:max(15px,env(safe-area-inset-left));bottom:var(--pad-bottom);z-index:7;grid-template-columns:44px 44px 44px;grid-template-rows:44px 44px;gap:5px}
  .button-controls .touch-controls button{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:10px;border:1px solid #dcb0d080;background:#392243c9;color:#ffe6bf}
  .button-controls .move-pad{display:none!important}
  .hud-panel-open .move-pad,.hud-panel-open .look-pad,.hud-panel-open .touch-controls,.hud-panel-open .fly-controls{visibility:hidden;pointer-events:none}
  .hud-minimal .mobile-toolbar{left:auto;right:max(12px,env(safe-area-inset-right));width:68px;max-width:68px;display:block;padding:4px;opacity:.75}
  .hud-minimal .mobile-toolbar>:not(#hud-toggle){display:none}
  .hud-minimal .mobile-toolbar #hud-toggle{opacity:1}
  .hud-minimal .move-pad:not([hidden]){opacity:.48}
  .hud-minimal .look-pad:not([hidden]){opacity:.24}

  .drawer,.town-map-drawer{width:100%;max-width:100%;height:min(92dvh,840px);max-height:92dvh;margin:auto 0 0;border-radius:22px 22px 0 0;padding:22px max(18px,env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 24px) max(18px,env(safe-area-inset-left));overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(145deg,#2b1d35,#1e152b);color:#f6e6f1;border-color:#c9a7cb65}
  .drawer-head{position:relative;gap:12px}
  .drawer-head>.icon-button{flex-shrink:0;min-width:48px;width:48px;min-height:48px;height:48px;background:#4c3053;color:#ffe4c7}
  .drawer-head h2{font-size:30px;color:#ffe1be}
  .drawer input,.drawer select{font-size:16px;min-height:48px}
  .drawer .filters{flex-wrap:wrap}
  .drawer .filters button,.drawer .event-actions .button,.drawer .quest-stop .button,.drawer .plan-card button,.drawer .text-button{min-height:48px;font-size:12px}
  .drawer .event-actions a,.drawer .plan-card .row a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.5}
  .drawer .setting{align-items:flex-start;font-size:12px;line-height:1.5;margin-block:18px;gap:9px}
  .drawer .setting select{font-size:14px;max-width:60%}
  .drawer .event-card p,.drawer .plan-card p{font-size:12px;line-height:1.75}
  .drawer .event-kicker{font-size:8px;letter-spacing:.8px}
  .drawer .event-meta{flex-wrap:wrap}
  .drawer .source-badge{font-size:9px}
  .loading{top:auto;bottom:calc(var(--dock-bottom) + var(--dock-height) + 17px);left:50%;right:auto;transform:translateX(-50%);min-width:0;max-width:calc(100% - 32px);width:max-content;padding:13px 16px;gap:12px;font-size:11px;white-space:normal;background:#251830ef;border-radius:14px}
  .loading small{font-size:10px;line-height:1.4;color:#e3cde7}
  .loading .spinner{flex-shrink:0;width:24px;height:24px}
  .toast,#toast{bottom:calc(env(safe-area-inset-bottom) + 82px);max-width:calc(100% - 36px);width:max-content;padding:11px 15px;z-index:20;font-size:11px;line-height:1.5;background:#f5d6b0;color:#33203c;pointer-events:none}
  .walking #toast,.flying #toast{bottom:calc(var(--pad-bottom) + 120px)}
  .restore-interface{top:calc(env(safe-area-inset-top) + 12px);right:max(12px,env(safe-area-inset-right));min-height:48px;padding:10px 15px;border:1px solid #d1acbd6b;background:#2b1b37dc;font-size:12px}
  .restore-interface kbd{display:none}
  #crosshair{opacity:.7}
  #xr-overlay{z-index:20}
  .xr-active .mobile-navigation-hint,.xr-active .mobile-toolbar,.xr-active .mobile-panel,.xr-active .mobile-identity{display:none!important}
}

@media (max-width:359px){
  .mobile-toolbar{left:9px;right:9px}
  .mobile-identity{padding:7px 13px;font-size:7px}
  .mobile-identity strong{font-size:14px}
  .invitation{left:12px;right:12px;padding:15px}
  .invitation h1{font-size:36px}
  .invitation .intro-copy{font-size:11px}
  .mobile-panel:not([hidden]){left:9px;right:9px;padding:12px}
  .mobile-panel button{font-size:11px}
  .mobile-panel .hud-head{font-size:9px}
}

@media (max-height:550px) and (max-width:899px), (max-height:550px) and (pointer:coarse){
  #world{--dock-bottom:calc(env(safe-area-inset-bottom) + 7px);--dock-height:54px;--pad-bottom:calc(env(safe-area-inset-bottom) + 72px)}
  .mobile-toolbar{max-width:350px}
  .mobile-toolbar button.mobile-hud-icon,.mobile-toolbar button.mobile-hud-quest{min-height:44px;height:44px}
  .mobile-toolbar .dock-symbol{font-size:17px;line-height:18px}
  .mobile-identity{top:calc(env(safe-area-inset-top) + 8px);padding:5px 14px;font-size:7px}
  .mobile-identity small{display:none}
  .mobile-panel:not([hidden]){right:max(12px,env(safe-area-inset-right));left:max(12px,env(safe-area-inset-left));bottom:calc(var(--dock-bottom) + var(--dock-height) + 7px);max-width:520px;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 82px)}
  .mobile-panel .hud-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mobile-scenic-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .mobile-panel .mobile-scenic-button{flex-direction:column;gap:3px;text-align:center;font-size:10px;padding:8px 5px;min-height:54px}
  .invitation{left:max(16px,env(safe-area-inset-left));right:auto;bottom:calc(var(--dock-bottom) + var(--dock-height) + 12px);max-width:330px;margin:0;padding:12px 15px}
  .invitation h1{font-size:32px}
  .invitation .eyebrow{margin-bottom:5px;font-size:7px}
  .invitation .intro-copy,.invitation .crystal-preview-link,.render-fallback .invitation .scene-label{display:none}
  .invitation .intro-actions{margin-top:10px}
  .invitation .intro-actions .button{min-height:44px;font-size:10px;padding:8px}
  .move-pad:not([hidden]),.look-pad:not([hidden]){width:96px;height:96px}
  .move-pad span{left:24px;top:24px}
  .fly-controls:not([hidden]){bottom:calc(var(--pad-bottom) + 104px)}
  .walking .mobile-navigation-hint,.flying .mobile-navigation-hint{bottom:calc(var(--dock-bottom) + var(--dock-height) + 9px);max-width:calc(100% - 280px);font-size:9px;padding:4px 8px}
  .drawer,.town-map-drawer{height:96dvh;max-height:96dvh;padding-top:15px}
  .drawer-head h2{font-size:26px}
}

@media (prefers-reduced-motion:reduce){
  .mobile-toolbar,.mobile-toolbar button,.mobile-panel,.move-pad,.look-pad{transition:none!important;animation:none!important}
}

/* OMEGA11 keeps the next little wonder within thumb reach. */
@media (max-width:899px), (pointer:coarse){
  .quest-guided #toast{top:calc(env(safe-area-inset-top) + 76px);bottom:auto}
  .quest-guide{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(var(--dock-bottom) + var(--dock-height) + 12px);width:auto;max-width:380px;margin-inline:auto;padding:11px 12px;grid-template-columns:25px minmax(0,1fr) 44px;gap:7px 7px}
  .quest-guide-dismiss{min-width:44px;width:44px;min-height:44px}
  .quest-guide-star{font-size:29px}
  #quest-guide-title{font-size:17px}
  #quest-guide-clue{font-size:10px}
  #quest-guide-action{min-height:44px;font-size:11px}
  .mobile-panel .hud-trail{margin-top:0;margin-bottom:14px}
  .mobile-panel #hud-next-lantern{min-height:48px;background:linear-gradient(135deg,#ffe2b6,#e8b47d);border-color:#ffe4b7;color:#35203e}
  #quest-journey{padding:17px 15px;margin-bottom:20px}
  #quest-journey h3{font-size:26px;line-height:1.2}
  #quest-step-clue{font-size:12px;line-height:1.7}
  .quest-journey .trail-seals{gap:8px}
  .quest-journey .trail-seals li{width:38px;height:38px;font-size:25px}
  .quest-finale-actions .button{min-height:48px;font-size:12px}
  .landmark-next{width:100%}
}
@media (max-width:359px){
  .quest-guide{left:9px;right:9px;padding:10px;gap:6px}
  #quest-guide-title{font-size:16px}
  #quest-journey{padding:15px 12px}
  #quest-journey h3{font-size:24px}
  .quest-journey .trail-seals{gap:7px}
  .quest-journey .trail-seals li{width:34px;height:34px}
  .quest-finale-actions{grid-template-columns:1fr}
  #quest-finale-share{grid-column:auto}
}
@media (max-height:550px) and (max-width:899px), (max-height:550px) and (pointer:coarse){
  .quest-guide{left:max(12px,env(safe-area-inset-left));right:auto;width:min(340px,calc(100% - 24px));max-width:340px;padding:9px 11px;gap:5px 7px}
  #quest-guide-clue{display:none}
  #quest-guide-title{font-size:16px}
  #quest-guide-action{min-height:44px}
  .mobile-panel .hud-trail{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.85fr);gap:4px 12px;align-items:center}
  #hud-trail-progress,#hud-trail-title,#hud-trail-clue{grid-column:1}
  #hud-trail .trail-seals{grid-column:2;grid-row:1/3;margin:0;justify-content:center;gap:5px}
  #hud-trail .trail-seals li{width:26px;height:26px;font-size:20px}
  #hud-next-lantern{grid-column:2;grid-row:3;min-width:0}
  #hud-trail-clue{margin:4px 0 0;font-size:10px}
}
