/* Menu screens only. The running stage and its input/overlay layout remain
   governed by style.css and journey-layout.css. */
.menu-header{height:84px;border-bottom-color:#a4bdce16;position:relative;z-index:3}
.menu-header .brand{gap:10px}
.menu-header .brand>i{font-size:8px;letter-spacing:1.4px;color:#718392}
.menu-header .header-right{gap:8px}
.menu-header .header-link{min-height:44px;padding:10px 14px;background:transparent;color:#aebdc8;font-size:12px;font-weight:500;letter-spacing:.1px}
.menu-header .header-link:hover{color:var(--mint);background:#b6ff7005}
.menu-header .icon-button{width:44px;height:44px;border-color:#a4bdce1c;margin-left:8px}
#menu{min-width:0}
#menu button{touch-action:manipulation}
#home-screen{position:relative;overflow:clip}
#home-screen .hero{min-height:calc(100svh - 137px);min-height:calc(100dvh - 137px);max-height:950px;display:flex;align-items:center;padding:64px 0 70px;isolation:isolate}
#home-screen .hero-copy{width:53%;max-width:700px;z-index:2}
#home-screen .eyebrow{font-size:10px;letter-spacing:2.4px;color:#8f9eac}
#home-screen .release-tag{font-size:9px;color:#536575;margin-left:12px;letter-spacing:1px;border:0;padding:0;background:transparent}
#home-title{font-size:clamp(92px,11.5vw,180px);line-height:.82;letter-spacing:-2.5px;margin:28px 0 26px}
#home-screen .title-period{color:#dde6eb}
#home-screen .hero-copy>p{font-size:17px;line-height:1.6;color:#97a9b7;margin:0 0 31px;letter-spacing:.1px}
#home-screen .hero-actions{display:block}
#home-screen #play{min-width:204px;min-height:57px;justify-content:space-between;font-size:13px;letter-spacing:1.8px;padding:0 24px;box-shadow:0 9px 40px #a5e66a0d;transition:background .15s,transform .15s}
#home-screen #play>span{font-size:25px;line-height:1}
#home-screen .hero-details{margin-top:22px;font-size:8px;color:#546a7c;letter-spacing:1.5px}
#home-screen .hero-details span{gap:13px}
#home-screen .hero-details i{width:3px;height:3px;box-shadow:none;background:#708791;opacity:.6}
#home-screen .hero-art{position:absolute;inset:0 -5% 0 28%;margin:0;min-width:0;min-height:0;z-index:0;pointer-events:none}
#home-screen .hero-art:after{background:linear-gradient(90deg,var(--bg) 0%,#0a0d1399 10%,transparent 35%,transparent 85%,var(--bg) 100%),linear-gradient(0deg,var(--bg),transparent 20%,transparent 80%,var(--bg))}
#home-screen .home-footer{min-height:53px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #a4bdce12;color:#526575;font-size:8px;letter-spacing:1.7px;padding:14px 0 max(14px,env(safe-area-inset-bottom));position:relative;z-index:1}
#menu .menu-screen{padding:30px 0 52px;min-width:0;max-width:1360px;margin:0 auto}
#menu .screen-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:25px}
#menu .screen-title{display:flex;gap:24px;align-items:center;min-width:0}
#menu .menu-back{display:inline-flex;gap:9px;align-items:center;min-height:44px;background:transparent;padding:8px 0;color:#93a7b7;font-size:11px;letter-spacing:.2px;white-space:nowrap}
#menu .menu-back>span{font-size:20px;color:#c6d4dd}
#menu .menu-back:hover{color:var(--mint)}
#menu .screen-heading h2{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-style:normal;font-size:42px;line-height:1.05;font-weight:600;letter-spacing:-.5px;margin:0;color:#e2eaf0}
#menu .screen-heading h2:focus{outline:none}
#menu .screen-heading h2:focus-visible{outline:2px solid var(--mint);outline-offset:6px}
#menu .records-link{min-height:44px;display:inline-flex;gap:12px;align-items:center;padding:8px 0;font-weight:500;text-transform:none;letter-spacing:.1px;color:#8198aa;font-size:11px}
#menu .records-link span{margin:0}
#level-screen .chapter-selector{display:flex;gap:8px;margin:0 0 24px;padding:0;max-width:560px}
#level-screen .chapter-selector button{min-height:45px;display:flex;align-items:center;justify-content:flex-start;gap:12px;flex:1;padding:10px 15px;background:#0e1822;border:1px solid #283744;color:#768b9b;font-size:10px;font-weight:600;letter-spacing:.7px;text-align:left}
#level-screen .chapter-selector button>span{font-size:11px;letter-spacing:0;font-weight:400;color:#8ca1b2}
#level-screen .chapter-selector button[aria-pressed=true],#level-screen .chapter-selector button.active{border-color:#b6ff7066;background:#b6ff7008;color:var(--mint)}
#level-screen .chapter-selector button[aria-pressed=true]>span,#level-screen .chapter-selector button.active>span{color:#d1dec8}
#level-screen .selector-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:28px;align-items:start}
#level-screen #world-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;align-content:start;min-width:0}
#level-screen .world-tile{position:relative;isolation:isolate;overflow:hidden;min-width:0;min-height:136px;padding:13px 10px 12px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:5px;background:#111e2b;border:1px solid #32455566;color:#d5e1eb;transition:border-color .15s,transform .15s}
#level-screen .world-tile:before{content:'';position:absolute;inset:0;z-index:-2;background-image:var(--scene);background-position:center 32%;background-size:cover;opacity:.72;transition:opacity .15s}
#level-screen .world-tile:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#08111c17,#08111c24 20%,#08111cea 84%)}
#level-screen .world-tile:hover{border-color:#a6c1d485;transform:translateY(-2px)}
#level-screen .world-tile:hover:before{opacity:1}
#level-screen .world-tile[aria-pressed=true],#level-screen .world-tile.selected,#level-screen .world-tile.active{border-color:var(--world,var(--mint));box-shadow:inset 0 0 0 1px var(--world,var(--mint));background:#142332}
#level-screen .world-tile[aria-pressed=true] .tile-number,#level-screen .world-tile.selected .tile-number,#level-screen .world-tile.active .tile-number{color:var(--world,var(--mint))}
#level-screen .tile-number{position:absolute;top:10px;left:10px;font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:27px;font-weight:500;line-height:1;color:#a8bdcd}
#level-screen .tile-name{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:20px;font-weight:600;line-height:1.02;letter-spacing:.1px;overflow-wrap:normal;max-width:100%;color:#e0eaf0}
#level-screen .tile-status{min-height:11px;font-size:7px;line-height:1.35;letter-spacing:.5px;color:#7e99ad;font-weight:400}
#level-screen .selector-detail{min-width:0;border:1px solid #2b3d4b;background:linear-gradient(145deg,#13202d88,#0c1520a6)}
#level-screen #selected-world{min-width:0}
#level-screen .selected-art{display:block;position:relative;width:100%;height:184px;object-fit:cover;background-color:#132333;background-size:cover;background-position:center 33%;background-image:var(--scene);border:0;border-bottom:1px solid #293a49;overflow:hidden}
#level-screen .selected-art>span{position:absolute;top:10px;left:10px;z-index:1;max-width:calc(100% - 20px);padding:7px 9px;background:#07121bc7;border:1px solid #b7d0df20;font-size:8px;line-height:1.5;letter-spacing:1px;color:#bacdd9}
#level-screen .selected-art>img{display:block;width:100%;height:100%;object-fit:cover}
#level-screen .selected-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101b2b88,transparent 55%);pointer-events:none}
#level-screen .selected-info{padding:18px 20px 0;min-width:0}
#level-screen .selected-info>small,#level-screen .selected-info>.eyebrow{font-size:8px;letter-spacing:1.2px;color:var(--world,#8da3b4);text-transform:uppercase;line-height:1.6}
#level-screen .selected-info h3{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:38px;line-height:1.05;letter-spacing:-.2px;font-weight:600;margin:4px 0 8px;color:#e4edf3}
#level-screen .selected-info p,#level-screen .selected-info .signature{font-size:10px;line-height:1.7;margin:0;color:#859eaf;display:block}
#level-screen .selected-stages{display:flex;flex-wrap:wrap;gap:5px 12px;list-style:none;padding:0;margin:12px 0 0;color:#697f91;font-size:8px;line-height:1.6}
#level-screen .selected-stages>span,#level-screen .selected-stages>li{min-width:0}
#level-screen .selected-stages b{font-weight:500;color:#aac1d0;margin-right:3px}
#level-screen .run-setup{padding:20px 20px 0;display:grid;gap:13px}
#level-screen .setup-row{display:grid;gap:7px;min-width:0}
#level-screen .setup-label{font-size:9px;font-weight:500;letter-spacing:.4px;color:#9badba}
#level-screen #speed-selector,#level-screen #retry-selector{display:grid;min-width:0;width:100%;padding:3px;gap:3px;background:#08111b85;border:1px solid #2a3c4b;margin:0}
#level-screen #speed-selector{grid-template-columns:repeat(3,minmax(0,1fr))}
#level-screen #retry-selector{grid-template-columns:repeat(4,minmax(0,1fr))}
#level-screen #speed-selector button,#level-screen #retry-selector button{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:0;padding:7px 4px;gap:7px;border:1px solid transparent;background:transparent;color:#8096a8;font-size:10px;letter-spacing:0;line-height:1.25}
#level-screen #speed-selector button>b{font-size:10px;font-weight:600;letter-spacing:0}
#level-screen #speed-selector button>small{font-size:8px;color:#546f84;letter-spacing:0}
#level-screen #speed-selector button[aria-pressed=true],#level-screen #retry-selector button[aria-pressed=true],#level-screen #speed-selector button.active,#level-screen #retry-selector button.active{border-color:#b6ff7050;background:#b6ff700b;color:#d3efc2}
#level-screen #speed-selector button[aria-pressed=true]>small{color:#a0ba8e}
#level-screen .retry-description{min-height:17px;margin:3px 0 0;font-size:11px;line-height:1.55;letter-spacing:0;color:#9aafbf}
#level-screen .selector-actions{padding:18px 20px 20px}
#level-screen #play-selected{min-height:50px;width:100%;padding:11px 16px;gap:12px;justify-content:space-between;text-align:left;font-size:11px;letter-spacing:.6px;line-height:1.4}
#level-screen #play-selected>span{font-size:23px}
#records-screen .records-device{font-size:9px;color:#607d92;letter-spacing:.2px;padding:0 0 8px}
#records-screen .circuit-dashboard{margin:0 0 22px}
#records-screen .circuit-stat>b>small{display:none}
#records-screen .world-mastery{margin:0 0 28px}
#records-screen .scoreboard{margin:0;padding-top:25px}
#records-screen #legacy-records{min-height:44px;margin-top:12px}
/* Progressive Help belongs to the menu dialog, not the in-game overlay. */
.help-panel{color:#aebfcd}
.help-panel>h2{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:44px;font-weight:600;line-height:1.05;margin:10px 0 18px;color:#e2ebf1}
.help-panel .help-quickstart{padding:13px 15px;margin:0 0 17px;border-left:2px solid var(--mint);background:#b6ff7006;font-size:12px;line-height:1.8;color:#b9cbd8}
.help-panel .help-quickstart p{margin:0 0 5px}
.help-panel .help-quickstart p:last-child{margin-bottom:0}
.help-panel .help-quickstart b{color:#e3ecd9;font-weight:600}
.help-panel .help-sections{display:grid;gap:7px}
.help-panel .help-group{border:1px solid #2c3e4c;background:#0c172166}
.help-panel .help-group>summary{min-height:48px;padding:13px 15px;cursor:pointer;font-size:12px;font-weight:500;color:#c2d2dd;line-height:1.6}
.help-panel .help-group>summary::marker{color:#779169;font-size:10px}
.help-panel .help-group[open]>summary{border-bottom:1px solid #2c3e4c;color:#d9f4c6;background:#b6ff7005}
.help-panel .help-group-body{padding:4px 15px 14px;font-size:12px;line-height:1.8;color:#899faf}
.help-panel .help-group-body p{margin:10px 0 0}
.help-panel .help-group-body ul,.help-panel .help-group-body ol{padding-left:19px;margin:10px 0 0;display:grid;gap:7px}
.help-panel .help-group-body b{color:#bacece;font-weight:500}
.help-panel .help-note{font-size:10px;line-height:1.8;color:#667f91;margin:15px 0 0}
.help-panel #help-done{width:100%;min-height:46px;margin-top:18px;justify-content:space-between}
@media(min-width:1600px){#home-screen .hero-art{inset:0 -3% 0 30%}}
@media(max-width:1000px){
  #home-title{font-size:clamp(86px,12vw,126px)}
  #home-screen .hero-copy{width:60%}
  #level-screen .selector-layout{grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:18px}
  #level-screen #world-cards{gap:7px}
  #level-screen .world-tile{min-height:118px;padding:10px 7px}
  #level-screen .tile-number{font-size:24px;top:8px;left:8px}
  #level-screen .tile-name{font-size:17px}
  #level-screen .tile-status{font-size:6px;letter-spacing:0}
  #level-screen .selected-art{height:148px}
  #level-screen .selected-info,#level-screen .run-setup{padding-left:15px;padding-right:15px}
  #level-screen .selected-info h3{font-size:33px}
  #level-screen .selector-actions{padding-left:15px;padding-right:15px}
}
@media(max-width:700px){
  .menu-header{height:65px}
  .menu-header .brand{font-size:13px;gap:8px}
  .menu-header .brand>i{display:none}
  .menu-header .brand-icon{height:30px;width:27px;font-size:30px}
  .menu-header .header-right{gap:1px}
  .menu-header .header-link{font-size:11px;padding:8px 10px}
  .menu-header .icon-button{margin-left:3px}
  #home-screen .hero{min-height:calc(100dvh - 111px);padding:45px 0}
  #home-screen .hero-copy{width:75%}
  #home-title{font-size:clamp(86px,17vw,120px);margin:23px 0}
  #home-screen .hero-copy>p{font-size:14px;margin-bottom:25px}
  #home-screen .hero-art{inset:0 -18% 0 10%;opacity:.75}
  #home-screen .home-footer{min-height:46px;font-size:7px;letter-spacing:1.1px}
  #menu .menu-screen{padding:20px 0 35px}
  #menu .screen-heading{margin-bottom:17px;gap:12px;align-items:center}
  #menu .screen-title{gap:16px}
  #menu .screen-heading h2{font-size:32px}
  #menu .records-link{font-size:10px;gap:7px}
  #menu .records-link>span{font-size:14px}
  #level-screen .chapter-selector{margin-bottom:16px;gap:7px;max-width:none}
  #level-screen .chapter-selector button{font-size:9px;gap:7px;padding:8px 10px}
  #level-screen .chapter-selector button>span{font-size:10px}
}
@media(max-width:600px) and (orientation:portrait){
  #home-screen .hero-copy{width:100%}
  #home-screen .hero-art{inset:0 -30% 0 -30%;opacity:.45}
  #home-title{font-size:clamp(82px,23vw,118px)}
  #menu .screen-heading{align-items:flex-start}
  #menu .screen-title{display:block}
  #menu .screen-heading h2{margin-top:7px;font-size:35px}
  #menu .records-link{margin-top:44px}
  #level-screen .selector-layout{grid-template-columns:1fr;gap:18px}
  #level-screen .world-tile{min-height:99px;padding:9px 7px}
  #level-screen .tile-number{font-size:22px}
  #level-screen .tile-name{font-size:16px}
  #level-screen .selected-art{height:155px}
  #level-screen .selected-info h3{font-size:36px}
  #level-screen .selected-stages{font-size:8px}
  #records-screen .records-device{margin-top:55px;font-size:8px}
  .help-panel>h2{font-size:36px}
}
@media(max-height:500px) and (orientation:landscape){
  .menu-header{height:52px}
  .menu-header .brand{font-size:12px}
  .menu-header .brand-icon{height:27px;width:25px;font-size:28px}
  .menu-header .brand>i{display:none}
  .menu-header .header-right{gap:1px}
  .menu-header .header-link{font-size:10px;padding:8px 10px}
  .menu-header .icon-button{width:44px;height:44px}
  #home-screen .hero{min-height:calc(100dvh - 83px);padding:17px 0 19px}
  #home-screen .hero-copy{width:54%}
  #home-screen .eyebrow{font-size:7px;letter-spacing:1.5px}
  #home-screen .release-tag{font-size:7px;margin-left:8px}
  #home-title{font-size:clamp(48px,8.5vw,83px);line-height:.84;letter-spacing:-1px;margin:12px 0 11px}
  #home-screen .hero-copy>p{font-size:11px;margin:0 0 13px;line-height:1.4}
  #home-screen #play{min-height:44px;min-width:160px;font-size:11px;padding:0 17px}
  #home-screen #play>span{font-size:21px}
  #home-screen .hero-details{margin-top:10px;font-size:6px;letter-spacing:1.2px}
  #home-screen .hero-art{inset:0 -5% 0 30%;opacity:.9}
  #home-screen .home-footer{min-height:31px;padding:8px 0;font-size:6px;letter-spacing:1px}
  #menu .menu-screen{padding:11px 0 25px}
  #menu .screen-heading{margin-bottom:8px;gap:12px}
  #menu .screen-title{gap:15px}
  #menu .menu-back{font-size:10px}
  #menu .screen-heading h2{font-size:27px}
  #menu .records-link{font-size:10px}
  #level-screen .chapter-selector{margin-bottom:10px;max-width:530px}
  #level-screen .chapter-selector button{min-height:44px;font-size:8px;padding:7px 10px;gap:7px}
  #level-screen .chapter-selector button>span{font-size:9px}
  #level-screen .selector-layout{grid-template-columns:minmax(0,1.05fr) minmax(245px,.95fr);gap:14px}
  #level-screen #world-cards{gap:6px}
  #level-screen .world-tile{min-height:91px;padding:8px 6px;gap:3px}
  #level-screen .tile-number{top:7px;left:7px;font-size:21px}
  #level-screen .tile-name{font-size:15px}
  #level-screen .tile-status{font-size:6px;min-height:8px}
  #level-screen .selected-art{height:88px}
  #level-screen .selected-info{padding:10px 12px 0}
  #level-screen .selected-info h3{font-size:27px;margin:0 0 5px}
  #level-screen .selected-info p,#level-screen .selected-info .signature{font-size:9px;line-height:1.6}
  #level-screen .selected-info>small,#level-screen .selected-info>.eyebrow{font-size:7px}
  #level-screen .selected-stages{display:none}
  #level-screen .run-setup{padding:12px 12px 0;gap:9px}
  #level-screen .setup-row{gap:5px}
  #level-screen .setup-label{font-size:8px}
  #level-screen #speed-selector button,#level-screen #retry-selector button{font-size:9px;gap:5px;padding:5px 2px}
  #level-screen #speed-selector button>b{font-size:9px}
  #level-screen #speed-selector button>small{font-size:7px}
  #level-screen .selector-actions{padding:12px}
  #level-screen #play-selected{min-height:44px;font-size:10px}
  #records-screen .records-device{font-size:8px}
  .help-panel>h2{font-size:34px;margin-bottom:13px}
  .help-panel .help-quickstart{font-size:11px;padding:10px 12px}
  .help-panel .help-group>summary{min-height:44px;padding:10px 12px;font-size:11px}
  .help-panel .help-group-body{font-size:11px;padding-left:12px;padding-right:12px}
}
@media(max-width:359px){
  .menu-header .brand{font-size:11px}
  .menu-header .header-link{padding:7px;font-size:10px}
  .menu-header .icon-button{margin:0}
  #home-title{font-size:80px}
  #level-screen .tile-name{font-size:14px}
  #menu .screen-heading h2{font-size:31px}
}
@media(prefers-reduced-motion:reduce){
  #menu button,#menu .world-tile:before{transition:none}
  #menu .world-tile:hover,#menu #play:hover{transform:none}
}
/* Grouped settings use their own dialog surface; no general dialog overrides. */
.settings-panel>h2{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:43px;font-weight:600;line-height:1.05;margin:10px 0 9px;color:#e0eaf1}
.settings-panel>p,.settings-panel .settings-section>p,.settings-panel .settings-advanced>p{font-size:11px;line-height:1.75;color:#768fa1;margin:6px 0 12px}
.settings-panel .settings-section{border-top:1px solid #2b3b48;margin-top:19px;padding-top:15px}
.settings-panel .settings-section h3{font-size:12px;line-height:1.5;letter-spacing:.2px;font-weight:600;color:#c0d1de;margin:0 0 11px}
.settings-panel label{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:9px;font-weight:500;letter-spacing:.6px;line-height:1.6;color:#8da4b5;margin-top:7px}
.settings-panel label>b{font-size:10px;font-weight:500;letter-spacing:.2px;color:#c0dba9;font-variant-numeric:tabular-nums}
.settings-panel input[type=range]{width:100%;min-height:44px;cursor:pointer;accent-color:var(--mint);margin:2px 0 7px}
.settings-panel .toggle-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:48px;padding:11px 0;gap:14px;text-align:left;border-bottom:1px solid #2a3b482e;background:transparent}
.settings-panel .toggle-row>span{font-size:10px;line-height:1.7;letter-spacing:.3px;color:#8ea7b9}
.settings-panel .toggle-row>b{font-size:9px;line-height:1.6;font-weight:500;max-width:145px;color:#c9ddb8;letter-spacing:.3px}
.settings-panel .toggle-row:disabled>b{color:#6c8394}
.settings-panel .settings-advanced{border:1px solid #293b4a;padding:0 13px;margin:18px 0 0;background:#0b162066}
.settings-panel .settings-advanced>summary{min-height:46px;padding:12px 0;font-size:11px;line-height:1.8;color:#91a9ba;cursor:pointer}
.settings-panel .settings-advanced>summary::marker{color:#6d8b62;font-size:10px}
.settings-panel .settings-advanced[open]>summary{color:#d3eac5;border-bottom:1px solid #2c3c491f;margin-bottom:3px}
.settings-panel .settings-advanced>summary:focus-visible,.help-panel .help-group>summary:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
.settings-panel #settings-done{width:100%;min-height:46px;margin-top:19px;justify-content:space-between}
@media(max-height:500px) and (orientation:landscape){
  .settings-panel>h2{font-size:34px}
  .settings-panel .settings-section{margin-top:14px;padding-top:11px}
  .settings-panel .settings-section h3{font-size:11px;margin-bottom:7px}
  .settings-panel .toggle-row{min-height:44px;padding:9px 0}
  .settings-panel .settings-advanced{margin-top:14px}
}
/* A phone in landscape needs full-width world names before the run setup. */
@media(max-width:760px) and (max-height:500px) and (orientation:landscape){
  #level-screen .selector-layout{grid-template-columns:minmax(0,1fr);gap:14px}
  #level-screen #world-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
  #level-screen .world-tile{min-height:92px;padding:9px 9px 8px;gap:4px}
  #level-screen .tile-number{font-size:22px;top:8px;left:9px}
  #level-screen .tile-name{font-size:17px;line-height:1.05}
  #level-screen .tile-status{font-size:7px;line-height:1.4;min-height:10px}
  #level-screen #selected-world{display:grid;grid-template-columns:minmax(130px,.36fr) minmax(0,.64fr);align-items:stretch}
  #level-screen .selected-art{height:114px;border-bottom:0;border-right:1px solid #293a49;background-position:center 30%}
  #level-screen .selected-art>span{top:8px;left:8px;font-size:7px;padding:5px 7px;max-width:calc(100% - 16px)}
  #level-screen .selected-info{padding:12px 14px 10px}
  #level-screen .selected-info h3{font-size:31px;margin:0 0 5px}
  #level-screen .selected-info p,#level-screen .selected-info .signature{font-size:10px;line-height:1.55}
  #level-screen .selected-info>small{display:block;margin-top:7px;font-size:8px;line-height:1.5;letter-spacing:.3px}
  #level-screen .selected-stages{display:none}
  #level-screen .run-setup{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;padding:12px 13px 0;gap:15px}
  #level-screen .setup-label{font-size:9px}
  #level-screen #speed-selector button,#level-screen #retry-selector button{min-height:44px;font-size:10px;padding:6px 3px}
  #level-screen #speed-selector button>b{font-size:10px}
  #level-screen #speed-selector button>small{font-size:8px}
  #level-screen .retry-description{font-size:11px;line-height:1.5;margin-top:3px}
  #level-screen .selector-actions{position:static;background:#0d1723f5;border-top:1px solid #2b3d4b55;padding:11px 13px max(11px,env(safe-area-inset-bottom));margin-top:12px}
  #level-screen #play-selected{min-height:46px;font-size:11px}
  #home-screen .hero-art{height:auto}
}
@media(max-width:760px) and (max-height:360px) and (orientation:landscape){
  #home-screen .hero{min-height:calc(100svh - 52px);min-height:calc(100dvh - 52px);padding:14px 0;max-height:none}
  #home-screen .home-footer{display:none}
  #home-title{font-size:clamp(46px,8.2vw,58px);line-height:.84;margin:9px 0 10px}
  #home-screen .hero-copy>p{margin:0 0 11px;font-size:11px;line-height:1.4}
  #home-screen .hero-details{margin-top:9px}
  #home-screen #play{min-height:44px}
}
/* Portrait keeps the whole orb above the title, clear of inherited offsets. */
@media(max-width:639px) and (orientation:portrait){
  #home-screen .hero-art{left:0;right:0;top:0;bottom:auto;width:100%;height:200px;margin:0;transform:none;opacity:.85}
  #level-screen #world-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  #level-screen .world-tile{min-height:104px;padding:10px 9px}
  #level-screen .tile-name{font-size:17px;line-height:1.05}
  #level-screen .tile-status{font-size:7px}
}
.home-footer a{color:var(--muted,#a7b8ac);font:inherit;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.home-footer a:hover,.home-footer a:focus-visible{color:#b6ff83}
.saved-run-note{font-size:14px!important;line-height:1.45!important;max-width:34em;margin:14px 0 0!important;color:#b7cbb8}
.hero-actions{flex-wrap:wrap}
