@font-face{font-family:Bree Serif;font-style:normal;font-display:swap;font-weight:400;src:url(./bree-serif-latin-ext-400-normal-amfO-E0k.woff2)format("woff2"),url(./bree-serif-latin-ext-400-normal-CnorAOA2.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bree Serif;font-style:normal;font-display:swap;font-weight:400;src:url(./bree-serif-latin-400-normal-DFKDEHQE.woff2)format("woff2"),url(./bree-serif-latin-400-normal-Dbaz2OwO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(./lexend-vietnamese-400-normal-DoLa7jNB.woff2)format("woff2"),url(./lexend-vietnamese-400-normal-mPlHoWg5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(./lexend-latin-ext-400-normal-D38JI5AK.woff2)format("woff2"),url(./lexend-latin-ext-400-normal-D9P7pMo-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(./lexend-latin-400-normal-CwRJVcUA.woff2)format("woff2"),url(./lexend-latin-400-normal-CHypAkT3.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:600;src:url(./lexend-vietnamese-600-normal-Cr1ePs6O.woff2)format("woff2"),url(./lexend-vietnamese-600-normal-BxEVPgxw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:600;src:url(./lexend-latin-ext-600-normal-hDcqLAH9.woff2)format("woff2"),url(./lexend-latin-ext-600-normal-BXtyp5LP.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:600;src:url(./lexend-latin-600-normal-DdvlkEkX.woff2)format("woff2"),url(./lexend-latin-600-normal-DSBzZxpA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:OpenDyslexic;font-style:normal;font-display:swap;font-weight:400;src:url(./opendyslexic-latin-400-normal-nUhe5EwG.woff2)format("woff2"),url(./opendyslexic-latin-400-normal-Cv3YY6GF.woff)format("woff")}:root{--ink:#2b1d12;--ink-soft:#5a4632;--paper:#fbf3df;--paper-2:#f2e3bf;--paper-edge:#d9c08f;--wood:#8a5a34;--wood-dark:#5b391f;--leaf:#4f9a3f;--leaf-dark:#2f6a2a;--sky:#2f6fe8;--sun:#ffd13a;--red:#e8402f;--shadow:0 6px 0 #3c230f59, 0 12px 28px #140a0059;--display:"Bree Serif", Georgia, serif;--body:"Lexend", system-ui, sans-serif;--ts:1;--gutter:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--body);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none;background:#10221a;margin:0;overflow:hidden}body.dyslexic{--body:"OpenDyslexic", "Lexend", sans-serif;--display:"OpenDyslexic", "Bree Serif", serif}#game,#game canvas{width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;font-size:calc(18px * var(--ts));z-index:10;position:fixed;inset:0}.layer{pointer-events:none;position:absolute;inset:0}.layer>*{pointer-events:auto}.hidden{display:none!important}.haptic-switch{opacity:0;position:fixed;top:-100px;left:-100px}.btn{font-family:var(--display);color:#fffaf0;cursor:pointer;text-shadow:0 2px #00000040;background:linear-gradient(#5fb84a,#3d8a32);border:3px solid #2a5a22;border-radius:18px;outline:none;min-width:3em;padding:.5em 1.2em;font-size:1.25em;transition:transform 80ms,box-shadow 80ms,filter .15s;box-shadow:0 5px #24501d,0 10px 20px #0000004d}.btn:hover,.btn:focus-visible{filter:brightness(1.1);transform:translateY(-2px)}.btn:focus-visible{box-shadow:0 5px #24501d,0 0 0 4px #fff3a0,0 10px 20px #0000004d}.btn:active,.btn.pressed{transform:translateY(4px)scale(.97,.94);box-shadow:0 1px #24501d}.btn.alt{color:#3a2208;text-shadow:0 1px #fff6;background:linear-gradient(#f2c04a,#d99a1f);border-color:#8a5a12;box-shadow:0 5px #7a4c0e,0 10px 20px #0000004d}.btn.blue{background:linear-gradient(#5a9af5,#2f6fe8);border-color:#1d4596;box-shadow:0 5px #173a80,0 10px 20px #0000004d}.btn.ghost{color:var(--ink);border-color:var(--paper-edge);text-shadow:none;background:#fffaebeb;box-shadow:0 4px #b89a64}.btn.small{border-radius:14px;padding:.35em .8em;font-size:.95em}.btn.round{border-radius:50%;place-items:center;width:2.6em;min-width:0;height:2.6em;padding:0;display:grid}.btn[disabled]{filter:grayscale(.7)brightness(.85);cursor:not-allowed}.panel{background:radial-gradient(ellipse at 30% 20%, #fff9, transparent 60%), linear-gradient(var(--paper), var(--paper-2));border:4px solid var(--paper-edge);box-shadow:var(--shadow), inset 0 0 0 3px #ffffff80, inset 0 0 40px #aa78282e;color:var(--ink);border-radius:26px;padding:1.2em 1.4em}.panel h1,.panel h2,.panel h3{font-family:var(--display);color:var(--wood-dark);margin:0 0 .4em;font-weight:400}.panel h2{font-size:1.8em}.scrim{padding:var(--gutter);background:radial-gradient(#0a140f73,#050a08cc);place-items:center;animation:.25s fadeIn;display:grid;position:absolute;inset:0}.menu-col{flex-direction:column;align-items:stretch;gap:.7em;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.6em;display:flex}.close-x{position:absolute;top:.5em;right:.5em}.screen{padding:var(--gutter);padding-top:max(var(--gutter), env(safe-area-inset-top));padding-bottom:max(var(--gutter), env(safe-area-inset-bottom));flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.big-panel{width:min(1100px,100%);max-height:100%;position:relative;overflow:auto}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8em;display:grid}.tile{border:3px solid var(--paper-edge);text-align:center;cursor:pointer;background:#ffffff8c;border-radius:16px;padding:.6em;font-size:.9em;transition:transform .1s}.tile:hover,.tile:focus-visible{border-color:var(--sun);outline:none;transform:translateY(-3px)rotate(-1deg)}.tile.locked{filter:grayscale()opacity(.55)}.tile canvas,.tile img{aspect-ratio:1;object-fit:contain;width:100%;max-width:120px;margin:0 auto .3em;display:block}.muted{color:var(--ink-soft);font-size:.85em}.title-wrap{padding:0 calc(var(--gutter) + 4vw);pointer-events:none;flex-direction:column;justify-content:center;align-items:flex-start;display:flex;position:absolute;inset:0}.title-wrap>*{pointer-events:auto}.game-title{font-family:var(--display);color:#fff8e6;text-shadow:0 4px #6a3a12,0 8px #3c1e0a80,0 14px 30px #00000080;letter-spacing:.01em;margin:0;font-size:clamp(2.2rem,6.2vw,5.6rem);line-height:.95;position:relative}.game-title .sub{color:var(--sun);margin-top:.15em;font-size:.5em;display:block}.game-title .feather{position:absolute;top:-.2em;left:2.35em;transform:rotate(28deg)}.byline{font-family:var(--display);color:#fff;text-shadow:0 2px 6px #0009;margin:.6em 0 1.4em;font-size:clamp(1rem,1.8vw,1.6rem)}.title-menu{flex-direction:column;gap:.55em;width:min(320px,80vw);display:flex}.title-menu .btn{text-align:left}.version{right:var(--gutter);bottom:var(--gutter);color:#fff9;font-size:.7em;position:absolute}.bubble{min-width:200px;max-width:min(560px,86vw);font-size:calc(1.1em * var(--ts));transform-origin:50% 100%;cursor:pointer;background:#fffdf6;border:3px solid #3a2a1a;border-radius:24px;padding:.65em 1em .7em 4.4em;line-height:1.35;animation:.22s cubic-bezier(.3,1.6,.5,1) pop;position:absolute;box-shadow:0 6px #28190a4d,0 12px 24px #00000040}.bubble.noportrait{padding-left:1em}.bubble:after{content:"";left:var(--tail,50%);background:#fffdf6;border-bottom:3px solid #3a2a1a;border-right:3px solid #3a2a1a;border-bottom-right-radius:6px;width:26px;height:20px;position:absolute;bottom:-18px;transform:translate(-50%)skew(-25deg)rotate(35deg)}.bubble.below:after{top:-18px;bottom:auto;transform:translate(-50%)skew(-25deg)rotate(215deg)}.bubble .who{font-family:var(--display);color:var(--name,#c04a2a);margin-bottom:.1em;font-size:.85em;display:block}.bubble .portrait{background:radial-gradient(circle at 40% 35%, #fff, var(--pbg,#e8f2ff));border:3px solid #3a2a1a;border-radius:50%;width:3.5em;height:3.5em;position:absolute;top:50%;left:.45em;overflow:hidden;transform:translateY(-50%)}.bubble .portrait img{object-fit:cover;width:100%;height:100%}.bubble.big .text{font-family:var(--display);letter-spacing:.02em;font-size:1.6em}.bubble.shake{animation:.22s cubic-bezier(.3,1.6,.5,1) pop,80ms linear .2s 8 shake}.bubble.think{border-style:dashed;border-radius:40px}.bubble.think:after{border:3px solid #3a2a1a;border-radius:50%;width:16px;height:16px;bottom:-26px;transform:translate(-50%)}.bubble .next{color:#9a7a4a;font-size:.8em;animation:.8s ease-in-out infinite bob;position:absolute;bottom:.3em;right:.6em}.choices{width:min(560px, calc(100% - 2 * var(--gutter)));flex-direction:column;gap:.6em;display:flex;position:absolute;bottom:12%;left:50%;transform:translate(-50%)}.choices .btn{font-family:var(--body);text-align:left;font-size:1.05em}.choices .btn .lock{float:right;opacity:.8;font-size:.8em}.narration{width:min(820px, calc(100% - 2 * var(--gutter)));font-family:var(--display);font-size:calc(1.3em * var(--ts));text-align:center;cursor:pointer;padding:1em 1.4em 1.1em;line-height:1.45;animation:.4s fadeDown;position:absolute;top:7%;left:50%;transform:translate(-50%)}.narration .next{font-family:var(--body);color:var(--ink-soft);margin-top:.4em;font-size:.6em;display:block}.narration.page{font-size:calc(1.5em * var(--ts));top:50%;transform:translate(-50%,-50%)}.letterbox:before,.letterbox:after{content:"";z-index:1;background:#000;height:0;transition:height .5s;position:absolute;left:0;right:0}.letterbox:before{top:0}.letterbox:after{bottom:0}.letterbox.on:before,.letterbox.on:after{height:9vh}.big-title{text-align:center;font-family:var(--display);color:#fff6d8;text-shadow:0 4px #6a3a12,0 10px 30px #0009;width:calc(100% - 2 * var(--gutter));pointer-events:none;font-size:clamp(2rem,6vw,5rem);animation:1s cubic-bezier(.2,1.4,.4,1) titleIn;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.big-title .sub{color:var(--sun);margin-top:.3em;font-size:.4em;display:block}.fader{opacity:0;pointer-events:none;background:#000;transition:opacity .5s;position:absolute;inset:0}.hud{pointer-events:none;padding:var(--gutter);padding-top:max(var(--gutter), env(safe-area-inset-top));position:absolute;inset:0}.hud>*{pointer-events:auto}.hud .counts{left:var(--gutter);top:max(var(--gutter), env(safe-area-inset-top));align-items:center;gap:.5em;display:flex;position:absolute}.chip{border:3px solid var(--paper-edge);font-family:var(--display);background:#fffaebeb;border-radius:999px;align-items:center;gap:.3em;padding:.15em .7em .15em .3em;font-size:1.05em;transition:transform .15s;display:flex;box-shadow:0 3px #5a3c1459}.chip.bump{animation:.3s bump}.chip canvas{width:1.6em;height:1.6em}.hw-slots{gap:2px;display:flex}.hw-slots i{background:#d9cfb8;border-radius:2px;width:.8em;height:1em;display:inline-block}.hw-slots i.on{background:#fffdf4;box-shadow:inset 0 0 0 2px #9ab0d8}.hud .topright{right:var(--gutter);top:max(var(--gutter), env(safe-area-inset-top));gap:.5em;display:flex;position:absolute}.rules{left:50%;top:max(var(--gutter), env(safe-area-inset-top));gap:.5em;display:flex;position:absolute;transform:translate(-50%)}.rule{width:3.2em;height:3.2em;font-family:var(--display);color:#5a3a08;background:radial-gradient(circle at 35% 30%,#fff8d8,#e8c060);border:3px solid #8a5a12;border-radius:50%;place-items:center;font-size:.8em;animation:.3s pop;display:grid;position:relative;box-shadow:0 3px #5a3c1466}.rule small{text-align:center;font-size:.6em;line-height:1;display:block}.rule.cracked{filter:grayscale(.7)brightness(.8)}.rule.cracked:after{content:"";background:linear-gradient(60deg,#0000 46%,#3a2a1a 47% 53%,#0000 54%),linear-gradient(-30deg,#0000 46%,#3a2a1a 47% 51%,#0000 52%);animation:.3s crack;position:absolute;inset:8% 20%}.rule.four{color:#173a80;background:radial-gradient(circle at 35% 30%,#fff,#8fd0ff);border-color:#1d4596}.goal{left:var(--gutter);top:calc(max(var(--gutter), env(safe-area-inset-top)) + 3.2em);color:#fff8e6;background:#1e140a8c;border-radius:12px;max-width:60vw;padding:.3em .8em;font-size:.9em;position:absolute}.toast{border:3px solid var(--paper-edge);font-family:var(--display);pointer-events:none;text-align:center;max-width:calc(100% - 2 * var(--gutter));background:#fffaebf2;border-radius:16px;padding:.4em 1em;animation:2.6s forwards toast;position:absolute;bottom:18%;left:50%;transform:translate(-50%)}.prompt{font-family:var(--display);white-space:nowrap;pointer-events:none;background:#fffdf6;border:3px solid #3a2a1a;border-radius:14px;padding:.15em .6em;font-size:.85em;animation:1s ease-in-out infinite bob;position:absolute;transform:translate(-50%,-100%)}.prompt kbd{color:#fff;font-family:var(--body);background:#3a2a1a;border-radius:6px;margin-right:.3em;padding:0 .35em;font-size:.85em}.fps{right:var(--gutter);bottom:var(--gutter);color:#0f0;pointer-events:none;background:#00000080;padding:2px 6px;font:12px monospace;position:absolute}.breath-hint{color:#fff;font-family:var(--display);text-shadow:0 2px 8px #000000b3;pointer-events:none;text-align:center;font-size:1.1em;animation:1.4s ease-in-out infinite bob;position:absolute;bottom:22%;left:50%;transform:translate(-50%)}.touch{pointer-events:none;position:absolute;inset:0}.touch .stick{left:calc(var(--gutter) + 2vw);bottom:calc(var(--gutter) + 2vh);pointer-events:auto;touch-action:none;background:#ffffff2e;border:3px solid #ffffff73;border-radius:50%;width:150px;height:150px;position:absolute}.touch .stick .nub{background:#ffffffbf;border-radius:50%;width:64px;height:64px;margin:-32px 0 0 -32px;position:absolute;top:50%;left:50%;box-shadow:0 3px #00000040}.touch .dpad{left:calc(var(--gutter) + 1vw);bottom:calc(var(--gutter) + 2vh);pointer-events:auto;gap:14px;display:flex;position:absolute}.touch .tb{color:#fff;width:76px;height:76px;font-family:var(--display);pointer-events:auto;touch-action:none;text-shadow:0 1px 3px #0009;background:#ffffff38;border:3px solid #ffffff8c;border-radius:50%;place-items:center;font-size:15px;display:grid}.touch .tb.on{background:#fff0a08c}.touch .rightpad{right:calc(var(--gutter) + 1vw);bottom:calc(var(--gutter) + 2vh);grid-template-rows:repeat(2,76px);grid-template-columns:repeat(3,76px);gap:12px;display:grid;position:absolute}.touch .flapbtn{background:#78c8ff59;grid-area:1/3/span 2;align-self:end;width:96px;height:96px}.book{perspective:1800px;padding:var(--gutter);background:radial-gradient(#3a2a1a,#120a04);place-items:center;animation:.3s fadeIn;display:grid;position:absolute;inset:0}.book .spread{aspect-ratio:16/10;filter:drop-shadow(0 20px 30px #0009);grid-template-columns:1fr 1fr;width:min(1100px,100%);max-height:100%;display:grid;position:relative}.book .pg{text-align:center;font-family:var(--display);color:var(--ink);background:radial-gradient(at 50% 30%,#ffffffb3,#0000 70%),linear-gradient(90deg,#efe0bd,#fbf3df 12% 88%,#ead9b0);flex-direction:column;justify-content:center;align-items:center;padding:6% 7%;display:flex;position:relative;overflow:hidden}.book .pg.left{border-radius:14px 0 0 14px;box-shadow:inset -24px 0 30px -18px #5a3c1473}.book .pg.right{border-radius:0 14px 14px 0;box-shadow:inset 24px 0 30px -18px #5a3c1473}.book .pg .num{color:var(--red);letter-spacing:.2em;text-transform:uppercase;font-size:clamp(.9rem,1.6vw,1.3rem)}.book .pg .ttl{color:var(--wood-dark);margin:.3em 0;font-size:clamp(1.6rem,4vw,3.4rem);line-height:1.05}.book .pg .quote{font-family:var(--body);color:var(--ink-soft);font-size:clamp(.85rem,1.4vw,1.15rem);font-style:italic;line-height:1.5}.book .pg .by{color:var(--leaf-dark);margin-top:1.2em;font-size:clamp(.8rem,1.3vw,1.05rem)}.book .pg canvas{object-fit:contain;width:72%;max-height:70%}.book .flip{transform-origin:0%;width:50%;transform-style:preserve-3d;z-index:3;transition:transform .9s cubic-bezier(.45,.05,.3,1);position:absolute;top:0;bottom:0;left:50%}.book .flip .face,.book .flip .back{backface-visibility:hidden;background:linear-gradient(90deg,#e8d6ad,#fbf3df 20%);border-radius:0 14px 14px 0;position:absolute;inset:0;box-shadow:inset 20px 0 30px -16px #5a3c1480}.book .flip .back{background:linear-gradient(-90deg,#e8d6ad,#fbf3df 20%);border-radius:14px 0 0 14px;transform:rotateY(180deg)}.book .flip .shade{opacity:0;background:linear-gradient(90deg,#00000040,#0000 60%);transition:opacity .9s;position:absolute;inset:0}.book .flip.turned{transform:rotateY(-180deg)skewY(-1deg)}.book .flip.turned .shade{opacity:1}.book .flip.rewind{transform-origin:100%;transition-duration:.35s;left:0}.book .flip.rewind .face{background:linear-gradient(-90deg,#e8d6ad,#fbf3df 20%);border-radius:14px 0 0 14px}.book .flip.rewind.turned{transform:rotateY(180deg)}.book .tap{color:#f4e6c4;font-size:.9em;animation:1.2s ease-in-out infinite bob;position:absolute;bottom:4%;left:50%;transform:translate(-50%)}.card{width:min(420px,90vw);box-shadow:var(--shadow);background:linear-gradient(160deg,#fff9e6,#f1dfb2);border:5px solid #c89a3a;border-radius:22px;padding:1em 1.2em;animation:.6s cubic-bezier(.2,1.5,.4,1) cardIn;position:relative}.card.holo:before{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 30%,#ffffff8c 45%,#0000 60%) 0 0/250% 100%;border-radius:18px;animation:2.4s ease-in-out infinite shine;position:absolute;inset:0}.card h3{font-family:var(--display);color:var(--wood-dark);text-align:center;margin:.1em 0 .3em;font-size:1.5em}.card .art{aspect-ratio:4/3;background:radial-gradient(circle at 50% 40%,#fff,#cfe6ff);border:3px solid #c89a3a;border-radius:14px;place-items:center;width:100%;display:grid;overflow:hidden}.card .art img,.card .art canvas{max-width:90%;max-height:95%}.card dl{grid-template-columns:auto 1fr;gap:.25em .8em;margin:.8em 0 0;font-size:.95em;display:grid}.card dt{font-family:var(--display);color:var(--wood)}.card dd{margin:0}.card .glow{color:#b4360f;font-weight:600;animation:1.2s ease-in-out infinite glowText}.card .quote{color:var(--ink-soft);text-align:center;margin-top:.6em;font-style:italic}.stamp{background:var(--red);color:#fff;font-family:var(--display);border-radius:999px;padding:.2em .7em;position:absolute;top:-14px;right:-10px;transform:rotate(8deg);box-shadow:0 3px #8a2014}.tabs{flex-wrap:wrap;gap:.4em;margin-bottom:.8em;display:flex}.tabs .btn{font-size:.9em}.tabs .btn.active{color:#3a2208;background:linear-gradient(#f2c04a,#d99a1f);border-color:#8a5a12}.setting{border-bottom:2px dashed #aa824659;justify-content:space-between;align-items:center;gap:1em;padding:.45em 0;display:flex}.setting label{font-weight:600}.setting input[type=range]{width:min(260px,40vw);accent-color:var(--leaf)}.seg{flex-wrap:wrap;gap:.3em;display:flex}.seg button{font-family:var(--body);border:2px solid var(--paper-edge);cursor:pointer;background:#fff;border-radius:10px;padding:.25em .7em;font-size:.9em}.seg button.on{background:var(--sun);border-color:#b8860b}.keybind{border:2px solid var(--paper-edge);cursor:pointer;background:#fff;border-radius:8px;min-width:5em;padding:.2em .5em;font-family:monospace}.loading{color:#fff8e6;text-align:center;font-family:var(--display);z-index:50;background:radial-gradient(#2a4a32,#0f1f15);place-items:center;display:grid;position:absolute;inset:0}.loading canvas{width:min(260px,50vw)}.loading .bar{background:#ffffff26;border-radius:999px;width:min(320px,70vw);height:14px;margin:.8em auto;overflow:hidden}.loading .bar i{background:linear-gradient(90deg, var(--sun), #ff9a40);width:0;height:100%;transition:width .2s;display:block}.loading .tip{font-family:var(--body);opacity:.85;max-width:80vw;font-size:.9em}.rotate{color:#fff;text-align:center;font-family:var(--display);z-index:100;padding:var(--gutter);background:#1d3b2a;place-items:center;display:none;position:fixed;inset:0}.rotate canvas{width:160px;animation:2s ease-in-out infinite tilt}@media (orientation:portrait) and (max-width:900px){.rotate.enabled{display:grid}}.mg-hud{left:50%;top:max(var(--gutter), env(safe-area-inset-top));border:3px solid var(--paper-edge);font-family:var(--display);text-align:center;pointer-events:none;max-width:calc(100% - 2 * var(--gutter));background:#fffaebf0;border-radius:16px;padding:.35em 1em;font-size:1.1em;position:absolute;transform:translate(-50%)}.mg-hud small{font-family:var(--body);color:var(--ink-soft);font-size:.7em;display:block}.tv-ticker{color:#fff;font-family:var(--display);white-space:nowrap;pointer-events:none;background:linear-gradient(#e8402f,#b02a1c);border-top:3px solid #ffd13a;border-bottom:3px solid #ffd13a;padding:.3em 0;font-size:1.1em;position:absolute;bottom:8%;left:0;right:0;overflow:hidden}.tv-ticker span{padding-left:100%;animation:18s linear infinite ticker;display:inline-block}.skip{right:var(--gutter);bottom:var(--gutter);position:absolute}.about{grid-template-columns:minmax(140px,220px) 1fr;align-items:start;gap:1.2em;display:grid}@media (max-width:640px){.about{grid-template-columns:1fr}}.photo-slot{aspect-ratio:3/4;border:4px dashed var(--paper-edge);color:var(--ink-soft);text-align:center;background:#ffffff80;border-radius:18px;place-items:center;padding:.5em;display:grid;overflow:hidden}.photo-slot img{object-fit:cover;width:100%;height:100%}.credits-roll{width:min(700px, calc(100% - 2 * var(--gutter)));text-align:center;color:#fff8e6;font-family:var(--display);text-shadow:0 2px 8px #000c;pointer-events:none;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.credits-roll h2{color:var(--sun);margin:1.2em 0 .2em;font-size:2em;font-weight:400}.credits-roll p{font-family:var(--body);margin:.2em 0}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}}@keyframes fadeDown{0%{opacity:0;transform:translate(-50%,-20px)}}@keyframes bob{50%{transform:translateY(-4px)}}.prompt{animation-name:promptBob}@keyframes promptBob{0%,to{transform:translate(-50%,-100%)}50%{transform:translate(-50%,calc(-100% - 5px))}}@keyframes shake{25%{translate:-4px 2px}75%{translate:4px -2px}}@keyframes bump{40%{transform:scale(1.18)}}@keyframes crack{0%{opacity:0;transform:scale(1.6)}}@keyframes toast{0%{opacity:0;transform:translate(-50%,10px)}10%,80%{opacity:1;transform:translate(-50%)}to{opacity:0}}@keyframes titleIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}}@keyframes cardIn{0%{opacity:0;transform:rotateY(90deg)scale(.6)}}@keyframes shine{0%{background-position:150% 0}to{background-position:-100% 0}}@keyframes glowText{50%{text-shadow:0 0 12px #ffd13a,0 0 2px #fff}}@keyframes ticker{to{transform:translate(-100%)}}@keyframes tilt{50%{transform:rotate(-90deg)}}body.reduced-motion *,body.reduced-motion :before,body.reduced-motion :after{transition-duration:50ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){.bubble,.chip.bump,.prompt{animation:none}}
