:root{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#e5efd4;background:#13251e;color-scheme:dark}*{box-sizing:border-box}body{margin:0;overscroll-behavior:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation;border:0}button:disabled{cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid #d0ed9d;outline-offset:3px}button:hover:not(:disabled){filter:brightness(1.1)}[hidden]{display:none!important}.screen{min-height:100dvh}.menu-screen{background:radial-gradient(ellipse at 90% 0,#34513b 0,transparent 40%),#13251e}.menu-header{max-width:940px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:calc(24px + env(safe-area-inset-top)) 24px 20px}.brand{text-decoration:none;color:#e6f1d7;font-size:19px;font-weight:800;letter-spacing:-.7px;display:flex;align-items:center;gap:10px}.brand-icon{display:grid;place-items:center;background:#d5ecaa;color:#2e4733;width:32px;height:36px;border-radius:8px;font-size:24px}.icon-button{min-width:44px;min-height:44px;border:1px solid #4d655245;background:#ffffff05;color:#c6d8b9;border-radius:12px;font-size:20px}#sound{font-size:10px;padding:0 12px;letter-spacing:1px}.menu-content{max-width:880px;margin:auto;padding:15px 24px calc(32px + env(safe-area-inset-bottom))}.eyebrow{display:block;font-size:10px;letter-spacing:2px;color:#adbf99;font-weight:600}.menu-intro h1{font-size:clamp(38px,7vw,62px);font-weight:600;letter-spacing:-2.6px;line-height:1.06;margin:18px 0}.menu-intro em{font-family:Georgia,serif;font-weight:400;color:var(--accent,#d0e5a5)}.menu-intro p{font-size:13px;color:#93aa94;margin:0 0 30px}.progress-row{display:flex;justify-content:space-between;font-size:11px;color:#b5c8a6;margin-bottom:10px}progress{appearance:none;display:block;width:100%;height:5px;border:0;background:#2e4437;border-radius:10px;overflow:hidden}progress::-webkit-progress-bar{background:#2e4437}progress::-webkit-progress-value{background:#cee8a0}progress::-moz-progress-bar{background:#cee8a0}.primary{background:var(--accent,#d2e8a7);color:#243b28;border-radius:12px;min-height:52px;font-weight:700;padding:14px 22px;font-size:14px}.continue-button{display:flex;justify-content:space-between;align-items:center;width:100%;margin:22px 0 10px}.menu-actions{display:flex;gap:12px;justify-content:center}.menu-actions button{background:transparent;color:#b8cbaa;min-height:44px;font-size:12px}.level-heading{display:flex;align-items:center;justify-content:space-between;margin:28px 0 16px;gap:10px}.level-heading h2{font-size:17px;font-weight:500;margin:0}.level-heading>span{font-size:8px;letter-spacing:.5px;color:#829880}.chapter{margin-bottom:24px}.chapter-heading{display:flex;justify-content:space-between;margin:0 0 10px;color:#8fa788;font-size:10px;letter-spacing:1px;font-weight:500}.chapter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.level-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:70px;border:1px solid #425e44;border-radius:12px;background:#223d2d;color:#d0e3b5}.level-number{font-size:22px;font-weight:600;letter-spacing:-1px}.level-state{font-size:8px;letter-spacing:.6px;text-transform:uppercase;color:#a3bd8d}.level-button.completed{background:#3e563a;border-color:#6a8751}.level-button.current{background:var(--accent,#d2e8a7);border-color:var(--accent,#d2e8a7);color:#243b28;box-shadow:0 0 20px #cce7a010}.level-button.current .level-state{color:#3f5e37}.level-button:disabled{background:#192e23;border-color:#293e2f;color:#63785e}.level-button:disabled .level-state{color:#63785e}.menu-note{text-align:center;font-size:11px;line-height:1.8;color:#7f957b;margin:26px 0 0}.play-screen{position:fixed;inset:0;height:100dvh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:var(--bgc,#14271e)}.play-header{z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(12px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));border-bottom:1px solid #ffffff0a}.lvl-button{min-width:50px;min-height:44px;background:var(--accent,#d0e5a5);border-radius:10px;color:#263b2b;font-size:12px;letter-spacing:1px;font-weight:800}.play-title{text-align:center;min-width:0}.play-title span{display:block;font-size:9px;letter-spacing:2px;color:#9eb48f;margin-bottom:4px}.play-title strong{font-size:13px;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-area{position:relative;min-height:0;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}.board-hud{position:absolute;top:15px;left:18px;right:18px;display:flex;justify-content:space-between;gap:8px;pointer-events:none;font-size:9px;letter-spacing:1px;color:#9cb18c}.board-hud b{color:#e6efda;font-weight:500;margin-left:5px;font-size:13px}.best-label{margin-left:14px}.play-footer{padding:0 16px calc(12px + env(safe-area-inset-bottom));background:var(--bgc,#14271e)}.play-footer p{font-size:11px;text-align:center;color:#b4c69f;line-height:1.4;min-height:24px;margin:4px 0 8px}.footer-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.direction-pad{display:flex;gap:7px}.direction-pad button{width:44px;height:44px;border-radius:11px;border:1px solid #52654c;background:#293d2c;color:#d4e8b9;font-size:22px}.swipe-label{font-size:8px;line-height:1.6;letter-spacing:1px;color:#8ca07e;text-align:right}.result{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:20px;background:#0e2118d9;backdrop-filter:blur(9px)}.result-card{max-width:360px;width:100%;text-align:center}.win-mark{display:grid;place-items:center;width:66px;height:66px;border-radius:22px;background:var(--accent,#d2e8a7);color:#263b2b;font-size:36px;margin:0 auto 24px}.result h2{font-size:32px;letter-spacing:-1.3px;font-weight:500}.result p{font-size:13px;line-height:1.7;color:#aabd9d;margin-bottom:26px}.result button{display:block;width:100%;margin-top:10px}.secondary{min-height:48px;border-radius:12px;background:#ffffff06;border:1px solid #78916a55;color:#b9ceaa;font-size:13px}dialog{width:min(92vw,520px);max-height:85dvh;padding:0;border:1px solid #49603e;border-radius:20px;background:#1a3023;color:#dfeccb;box-shadow:0 20px 100px #0007}dialog::backdrop{background:#07150edf;backdrop-filter:blur(5px)}.help-header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #ffffff12;position:sticky;top:0;background:#1a3023;z-index:1}.help-header h2{margin:0;font-size:22px;font-weight:500}.help-content{padding:22px}.help-content article{margin-bottom:26px}.help-content article>span{font-size:9px;letter-spacing:1.5px;color:#a4bb8c}.help-content h3{font-size:17px;margin:9px 0;font-weight:500}.help-content p{font-size:13px;line-height:1.8;color:#a8bd9c;margin:0}.help-content i{font-style:normal;display:inline-block;padding:4px 7px;border-radius:6px;background:#ffffff09}.grow{color:#f2b36b}.shrink{color:#b5a0f0}.normal{color:#e1efad}.bridge{color:#77d4e0}.portal{color:#f49bda}.help-content .primary{width:100%}@media(min-width:700px){.menu-content{padding-top:36px}.menu-intro{margin-bottom:35px}.chapter-grid{grid-template-columns:repeat(10,minmax(0,1fr))}.level-button{min-height:78px}.menu-intro h1 br{display:none}.play-header{padding-left:30px;padding-right:30px}.play-footer{padding-left:30px;padding-right:30px}.footer-controls{max-width:500px;margin:auto}}@media(max-width:350px){.menu-content{padding-left:16px;padding-right:16px}.chapter-grid{gap:6px}.level-button{min-height:64px}.direction-pad{gap:4px}.direction-pad button{width:40px}.swipe-label{display:none}.best-label{margin-left:7px}}@media(max-height:480px) and (orientation:landscape){.play-header{padding-top:5px;padding-bottom:5px}.play-footer{position:absolute;bottom:0;left:0;right:0;pointer-events:none;background:transparent}.footer-controls{max-width:none}.footer-controls button,.direction-pad{pointer-events:auto}.play-footer p{margin-bottom:4px}.direction-pad{margin-left:auto}.swipe-label{display:none}.board-hud{top:8px}.play-screen{grid-template-rows:auto minmax(0,1fr)}.result h2{margin:10px 0}.win-mark{display:none}.result p{margin:10px 0}}
@media(min-width:700px){.menu-intro em{margin-left:.2em}}
/* Power colors match the board symbols. */
.help-content i.grow{color:#ffb45e;box-shadow:0 0 18px #ffb45e30}
.help-content i.shrink{color:#bc9cff;box-shadow:0 0 18px #bc9cff30}
.help-content i.normal{color:#d8f38c;box-shadow:0 0 18px #d8f38c30}
.help-content i.bridge{color:#67e0ef;box-shadow:0 0 18px #67e0ef30}
.help-content i.portal{color:#ff75d1;box-shadow:0 0 18px #ff75d130}
.help-content i.fragile{color:#f3c58b;box-shadow:0 0 18px #f3c58b30}

.level-button:not(:disabled){box-shadow:inset 0 -3px 0 var(--t,transparent)}.level-button.current{box-shadow:inset 0 -3px 0 #0003}.made-with{display:block;margin-top:18px;font-size:10px;letter-spacing:2px;color:#8fa788}.play-screen,.play-footer{transition:background .4s}

.world{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;background:radial-gradient(circle,hsla(var(--hue,150),30%,14%,.82),var(--bgc,#14271e));animation:worldin .5s ease-out;cursor:pointer}.world h2{margin:8px 0 0;font-size:clamp(44px,14vw,84px);letter-spacing:-3px;font-weight:700;color:var(--accent,#d2e8a7)}.world strong{font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(26px,7vw,40px)}.world small{margin-top:26px;font-size:9px;letter-spacing:2px;color:#9eb48f}#confetti{position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none}@keyframes worldin{from{opacity:0;transform:scale(.94)}}@media(prefers-reduced-motion:reduce){.world{animation:none}}

.result{overflow-y:auto}.result-card{padding:16px 0}.result-scores{display:flex;justify-content:center;gap:32px;margin:20px 0}.result-scores span{font-size:9px;letter-spacing:1px;color:#aabd9d}.result-scores strong{display:block;font-size:30px;color:var(--accent,#d2e8a7);margin-top:5px}.result #result-tip{margin:10px 0}.level-button.perfect{border-color:#e8d78a}.level-button.perfect .level-state{color:#f4e39d}.board-hud{flex-wrap:wrap;row-gap:6px}@media(max-height:600px){.result .win-mark{display:none}.result h2{font-size:26px;margin:10px 0}.result-scores{margin:10px 0}.result p{margin:8px 0}.result button{min-height:40px;padding:8px 14px}}

.board-hud{justify-content:flex-end}.control-options{border:0;padding:0;margin:0 0 20px}.control-options legend{font-weight:600;margin-bottom:12px}.control-options label{display:flex;align-items:center;gap:14px;padding:16px;margin-bottom:10px;border:1px solid #52654c;border-radius:12px;cursor:pointer;min-height:64px}.control-options label:has(input:checked){border-color:#d2e8a7;background:#d2e8a710}.control-options input{accent-color:#b5d68b;width:20px;height:20px;flex-shrink:0}.control-options strong,.control-options small{display:block}.control-options small{color:#a8bd9c;margin-top:6px;line-height:1.5}#settings-done{margin-top:22px}#menu-settings{margin-left:auto;margin-right:10px}

.developer-name{display:inline-block;margin-top:10px;color:#d2e8a7}.menu-note a{color:#aabd9d}.tip-button{min-width:44px;min-height:44px;border-radius:12px;background:var(--accent,#d2e8a7);color:#243b28;font-weight:700}.footer-controls{flex-wrap:wrap;gap:8px}.play-footer #tip-progress:empty{display:none}.play-footer #tip-progress{margin:2px 0;font-size:10px;color:#b9ddff;min-height:0}#tip-dialog button.secondary,#tip-dialog button.primary{width:100%;display:block;margin-top:12px;min-height:46px}#tip-store-status{margin:12px 0;color:#e7ce8b}#privacy-options{margin-top:18px;width:100%}
/* Release presentation: quiet mineral surfaces, clear hierarchy, generous touch targets. */
:root{background:#101f1b;color:#edf2dc}
.menu-screen{background:radial-gradient(ellipse at 75% 10%,#2b4439 0,transparent 43%),linear-gradient(150deg,#172b24,#101e1b 75%)}
.menu-header{max-width:1080px;padding-top:calc(26px + env(safe-area-inset-top))}
.menu-content{max-width:1020px}
.brand{font-size:16px;letter-spacing:1.8px}.brand-icon{box-shadow:0 4px 16px #0003;transform:rotate(-7deg)}
.menu-intro{position:relative;isolation:isolate;min-height:295px;padding-top:40px;margin-bottom:24px}
.menu-intro h1{font-size:clamp(46px,6.5vw,72px);font-weight:500;letter-spacing:-3px;line-height:1.04;margin:22px 0}
.menu-intro h1 br{display:block}.menu-intro em{margin-left:0;color:#dbecb5}.menu-intro p{max-width:420px;color:#adbfac;font-size:13px;line-height:1.8}
.hero-art{position:absolute;width:58%;right:-30px;top:-42px;z-index:-1;pointer-events:none}
.eyebrow{font-size:9px;letter-spacing:2.4px;color:#b6cba5}
.developer-name{font-size:10px;letter-spacing:1px;color:#8fa58e}
.continue-button{background:linear-gradient(120deg,#e2efb8,#b9d592);box-shadow:0 6px 22px #0002;min-height:58px;letter-spacing:.3px}
.primary,.secondary,.icon-button,.level-button{transition:transform .15s,background .15s,box-shadow .15s}
button:active:not(:disabled){transform:translateY(2px) scale(.98)}
.level-heading{margin-top:36px}.level-heading h2{font-family:Georgia,serif;font-size:25px;color:#e4ebd4}
.chapter{padding:20px;border:1px solid #b7d6a51a;border-radius:20px;background:linear-gradient(120deg,#b4c7ac08,#b4c7ac02);margin-bottom:14px}
.chapter-heading{color:#b0c3a4;font-size:9px;letter-spacing:1.5px;margin-bottom:16px;align-items:center;gap:8px}.chapter-count{font-size:10px;letter-spacing:0;color:#9daf97;white-space:nowrap}
.level-button{background:linear-gradient(145deg,#304d3b,#253d31);border-color:#647e5045;min-height:78px;border-radius:13px}
.level-button:disabled{background:#14271f;border-color:#334b3844;color:#73816e}.level-button:disabled .level-state{color:#788871}
.level-button.current{background:linear-gradient(135deg,#e1eeba,#b9d592);box-shadow:0 0 0 3px #cfe6a41c,0 8px 22px #0003}
.level-number{font-weight:500;font-size:25px}.level-state{font-size:7px;letter-spacing:.8px}
.play-header{background:#0c1b1638;border-bottom:1px solid #b6cda315}.play-title strong{font-size:15px}.play-title span{color:#b9c9a8}
.board-hud{top:18px;justify-content:center}.board-hud>span{padding:10px 18px;background:#07130e66;border:1px solid #c8dfaf18;border-radius:40px;backdrop-filter:blur(8px);color:#b1c19f}.board-hud b{font-variant-numeric:tabular-nums;font-weight:600}
.play-footer{padding-top:10px;border-top:1px solid #bfd5aa0d}.play-footer p{max-width:580px;margin:2px auto 12px;color:#bfceb0}
.icon-button{background:#ffffff05;border-color:#bcd2aa26}.tip-button{padding:0 18px;background:linear-gradient(130deg,#e0edb5,#b8d197)}
.result{background:#091a13c9}.result-card{padding:28px;border:1px solid #c8dda633;border-radius:28px;background:linear-gradient(140deg,#2c4334f5,#172c22f5);box-shadow:0 25px 80px #0005}.result h2{font-family:Georgia,serif;font-size:35px;letter-spacing:-1px}.win-mark{border-radius:50%;box-shadow:0 0 40px #d2e8a720}.result-scores{background:#07170e44;padding:18px 8px;border-radius:16px}.result-scores strong{font-variant-numeric:tabular-nums}
@media(max-width:699px){.menu-content{padding-top:0}.menu-intro{padding-top:12px;min-height:380px}.menu-intro h1{font-size:46px;max-width:290px}.menu-intro p{max-width:245px;font-size:12px}.hero-art{width:340px;top:115px;right:-54px;opacity:.9}.menu-intro .developer-name{margin-top:4px}.chapter{padding:16px 12px}.chapter-grid{gap:8px}.chapter-heading{font-size:8px;letter-spacing:1px}.menu-intro p{position:relative;z-index:1}.level-button{min-height:68px}}
@media(max-width:350px){.hero-art{width:290px;right:-46px;top:135px}.chapter{padding:14px 9px}.chapter-grid{gap:5px}.menu-intro h1{font-size:42px}.level-heading>span{font-size:7px}}
@media(max-height:600px){.result-card{padding:15px 22px}.result-scores{padding:8px}.result h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.menu-screen{overflow-x:clip}
.menu-actions{flex-wrap:wrap}
#tip-shop{width:min(94vw,640px)}
.store-packs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.tip-pack{padding:14px;background:#ffffff06;border:1px solid #8aa57745;border-radius:14px;margin:0!important}
.tip-pack h3{font-size:20px;margin:0 0 8px}.tip-pack .pack-price{font-size:18px;color:#e4eddb;font-variant-numeric:tabular-nums}
.tip-pack .pack-price.unavailable{font-size:12px;color:#a8bd9c}
.tip-pack .pack-saving{font-size:11px;line-height:1.5;min-height:34px;margin:6px 0 12px}
.tip-pack button{width:100%;padding:8px;min-height:44px;font-size:12px}.tip-pack button:disabled{opacity:.5}
#store-balance{font-weight:600;color:#e4eddb;margin:14px 0}.help-content .store-disclosure{font-size:12px;line-height:1.6;margin:12px 0;color:#c3d2b5}
#store-status{margin:12px 0;color:#e7ce8b}#store-refresh{width:100%;margin:0 0 14px}
@media(max-width:350px){.store-packs{gap:8px}.tip-pack{padding:10px}.tip-pack h3{font-size:17px}.tip-pack .pack-price{font-size:15px}}
.play-screen.tutorial-active{grid-template-rows:auto auto minmax(0,1fr) auto}
.tutorial-panel{padding:12px 18px;border-bottom:1px solid #b6cda330;background:#1a3023;z-index:2}
.tutorial-panel p{max-width:760px;margin:0 auto 10px;font-size:14px;line-height:1.5;color:#e4eddb}
.tutorial-panel>div{display:flex;gap:10px;max-width:760px;margin:auto}
.tutorial-panel button{padding:8px 14px;min-height:44px;font-size:12px}
.tutorial-panel button:disabled{opacity:.45;cursor:default}
.tutorial-hand{position:absolute;left:50%;top:54%;z-index:3;pointer-events:none;text-align:center;--swipe-x:65px;--swipe-y:0px}
.tutorial-hand span{display:block;font-size:52px;filter:drop-shadow(0 3px 8px #000);animation:tutorial-swipe 1.5s ease-in-out infinite}
.tutorial-hand b{display:block;margin-top:8px;font-size:10px;letter-spacing:2px;color:#edf5db;text-shadow:0 2px 4px #000}
.tutorial-hand.demo-hand span{animation:none}
.tutorial-hand.demo-hand.demo-playing span{animation:tutorial-demo .9s ease-in-out 1 both}
@keyframes tutorial-demo{from{transform:translate(-32px,0)}to{transform:translate(32px,0)}}
.tutorial-hand[data-direction=left]{--swipe-x:-65px}.tutorial-hand[data-direction=up]{--swipe-x:0px;--swipe-y:-55px}
.tutorial-hand[data-direction=down]{--swipe-x:0px;--swipe-y:55px}
@keyframes tutorial-swipe{0%,15%{transform:translate(calc(var(--swipe-x) * -.5),calc(var(--swipe-y) * -.5));opacity:.4}65%,85%{transform:translate(calc(var(--swipe-x) * .5),calc(var(--swipe-y) * .5));opacity:1}100%{opacity:.1}}
#tutorial-offer button,#tutorial-replay{width:100%;display:block;margin-top:14px}
@media(max-height:480px) and (orientation:landscape){.tutorial-panel{padding:7px 12px;min-height:56px}.tutorial-panel p{font-size:12px;margin-bottom:5px}.tutorial-panel>div{position:absolute;right:12px;top:8px;max-width:180px}.tutorial-panel{padding-right:205px;position:relative}.tutorial-panel button{font-size:10px;padding:5px;min-height:40px}.tutorial-hand{top:33%}.tutorial-hand span{font-size:36px}}
@media(max-width:699px){.menu-intro{min-height:410px}.hero-art{width:300px;top:190px;right:0}.menu-intro p{max-width:290px}}
@media(max-width:350px){.hero-art{width:270px;top:198px;right:-5px}}

.menu-header{flex-wrap:wrap;gap:12px}.menu-tools{display:flex;align-items:center;gap:8px;margin-left:auto}.story-line-button{min-height:44px;padding:0 12px;border:1px solid #4d655245;border-radius:12px;background:#ffffff05;color:#c6d8b9;font-size:12px}
.level-tile{min-width:0;display:flex;flex-direction:column;gap:4px}.level-tile .level-button{width:100%;flex:1}.level-scene{display:block;width:100%;min-height:44px;padding:4px 0;border-radius:8px;background:#ffffff07;color:#c5d9ad;font-size:11px;white-space:nowrap}
/* A gentle family story, with reading time controlled by the player. */
.world{cursor:default;overflow-y:auto;display:block;padding:24px 18px;padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.story-card{max-width:540px;min-height:100%;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.world h2{font-family:Georgia,serif;font-size:clamp(27px,6vw,40px);letter-spacing:-.7px;line-height:1.15;margin:0;max-width:490px}
.world p{font-size:16px;line-height:1.75;color:#deead2;margin:0;max-width:490px}
.story-art{display:block;width:100%;max-width:390px;height:auto;margin:0 auto}.world .story-art{max-height:190px;object-fit:contain}
.world .primary{margin:8px 0;min-height:48px}.world .eyebrow{margin-top:10px}
#story-dialog{width:min(94vw,580px)}#story-dialog h3{font-family:Georgia,serif;font-size:26px;line-height:1.2;margin:14px 0}#story-copy{line-height:1.8}#story-done{width:100%;margin-top:16px}.story-navigation{display:flex;justify-content:space-between;gap:12px}.story-navigation button:disabled{opacity:.4}
.ending-story{border-top:1px solid #c8dda633;margin-top:18px}.ending-story .story-art{max-width:280px}.result-card{max-height:none}.result:has(.ending-story:not([hidden])){align-items:flex-start;padding-top:24px;padding-bottom:24px}.result-card h2{overflow-wrap:anywhere}
@media(max-height:600px){.world .story-art{max-height:110px}.story-card{gap:10px}.world p{font-size:14px;line-height:1.6}.world h2{font-size:27px}}
@media(max-width:699px){.hero-art{top:205px;width:320px;right:-12px}.menu-intro{min-height:405px}}

/* Captioned animated clips share one player across world intros and the movie. */
.film-player{width:100%;text-align:left;border:1px solid #b9d29b33;border-radius:16px;overflow:hidden;background:#10221b;box-shadow:0 12px 36px #0003}
.film-screen{position:relative;background:#9ab69b;aspect-ratio:16/9}.film-screen canvas{width:100%;height:100%;touch-action:auto}.film-badge{position:absolute;top:12px;left:14px;font-size:8px;letter-spacing:2px;color:#294638;background:#f8efd8b8;border-radius:20px;padding:6px 9px;pointer-events:none}
.film-caption{padding:16px 20px;min-height:115px;background:#10221b}.film-speaker{display:block;font-size:11px;letter-spacing:.8px;font-weight:750;color:#f1d49e;margin-bottom:7px}.film-caption p,.world .film-caption p{font-size:clamp(14px,2.6vw,18px);line-height:1.5;color:#f1f4e6;max-width:none;margin:0;min-height:3em}
.film-controls{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 10px}.film-controls button{min-height:44px;padding:8px 12px;border:1px solid #9ab18340;border-radius:9px;background:#d8e8b90b;color:#dce9c9;font-size:12px}.film-controls button:disabled{opacity:.4}.film-controls button:first-child{background:#d3e6ad;color:#243b28;min-width:75px}.film-progress{height:3px;border-radius:0}.film-status{display:block;min-height:26px;padding:6px 12px;font-size:10px;color:#afc89e}
#story-dialog{width:min(96vw,780px);max-height:94dvh}#story-dialog .help-content{padding:18px}#story-dialog h3{font-size:24px;margin:10px 0 16px}.story-navigation{margin-top:12px}.story-navigation button{padding:8px 14px;flex:1}#story-watch-all{width:100%;margin-top:10px}.story-card{max-width:740px;gap:12px}.world h2{max-width:none;font-size:clamp(23px,5vw,32px)}.world .primary{width:100%;margin:0}.world{z-index:7}.ending-story{padding-top:8px}
@media(max-width:420px){.film-caption{padding:13px 14px}.film-controls{gap:4px;padding:0 8px 8px}.film-controls button{font-size:11px;padding:8px}.film-badge{font-size:7px;padding:4px 7px;top:8px;left:8px}#story-dialog .help-content{padding:12px}.world{padding-left:10px;padding-right:10px}}
@media(max-height:520px) and (orientation:landscape){.film-screen{max-height:210px;aspect-ratio:auto}.film-screen canvas{object-fit:contain}.story-card{justify-content:flex-start}.film-caption{min-height:90px}.film-caption p{font-size:14px}}
