@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/5ece437c7024c161-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/9cc5b37ab1350db7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/35f3de0ebb1cfc70-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e6099e249fd938cc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Instrument Serif Fallback";src:local("Times New Roman");ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.00%;size-adjust:83.94%}.__className_1f5468{font-family:"Instrument Serif","Instrument Serif Fallback";font-weight:400}.__variable_1f5468{--font-serif:"Instrument Serif","Instrument Serif Fallback"}@font-face{font-family:Silkscreen;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/3702f26392e21a15-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Silkscreen;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cd21efaca8026c00-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Silkscreen;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/485435f9f1e1f82c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Silkscreen;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/966913bad25267a8-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Silkscreen Fallback;src:local("Arial");ascent-override:68.84%;descent-override:16.71%;line-gap-override:0.00%;size-adjust:149.62%}.__className_7611f3{font-family:Silkscreen,Silkscreen Fallback;font-style:normal}.__variable_7611f3{--font-mono:"Silkscreen","Silkscreen Fallback"}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/aaf0e744731a46d3-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9cb204d1bfdb6539-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Pixelify Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c565b14407d34fed-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/aaf0e744731a46d3-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/9cb204d1bfdb6539-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Pixelify Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c565b14407d34fed-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/aaf0e744731a46d3-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/9cb204d1bfdb6539-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Pixelify Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c565b14407d34fed-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/aaf0e744731a46d3-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9cb204d1bfdb6539-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Pixelify Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c565b14407d34fed-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Pixelify Sans Fallback;src:local("Arial");ascent-override:81.70%;descent-override:24.87%;line-gap-override:0.00%;size-adjust:112.61%}.__className_74a876{font-family:Pixelify Sans,Pixelify Sans Fallback;font-style:normal}.__variable_74a876{--font-display:"Pixelify Sans","Pixelify Sans Fallback"}:root{--ink:#06090f;--night:#0a0f1c;--night-2:#111829;--moonlight:#f4e9d4;--moon-dim:rgba(244,233,212,0.6);--moon-faint:rgba(244,233,212,0.4);--moon-ghost:rgba(244,233,212,0.2);--brass:#d8a94b;--brass-bright:#f2d287;--brass-deep:#8c6a25;--rose:#c97b84;--rule:rgba(244,233,212,0.13);--rule-strong:rgba(244,233,212,0.26);--shell:min(1120px,92vw);--label:0.66rem;--ease:cubic-bezier(0.22,1,0.36,1);--u:4px;--px-edge:#05070d}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}html{background:var(--ink);-webkit-text-size-adjust:100%}body{min-height:100dvh;background:transparent;color:var(--moonlight);font-family:var(--font-mono),ui-monospace,monospace;font-size:15px;line-height:1.6;overflow-x:hidden}body:before{z-index:-1;background:radial-gradient(115ch 70ch at 50% -22%,rgba(216,169,75,.16),transparent 62%),radial-gradient(80ch 55ch at 82% 8%,rgba(201,123,132,.09),transparent 60%),linear-gradient(178deg,var(--night) 0,var(--ink) 46%,#04060b 100%)}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none}body:after{z-index:100;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E")}::selection{background:rgba(216,169,75,.3);color:var(--moonlight)}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.serif{font-family:var(--font-serif),Georgia,serif;font-weight:400;letter-spacing:-.015em}.label{font-size:var(--label);letter-spacing:.08em;text-transform:uppercase;color:var(--moon-faint);line-height:1.9}.label-brass{color:var(--brass)}.px-btn{display:inline-block;padding:.9rem 1.7rem;margin:var(--u);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:#150e03;background:var(--brass);border-radius:0;box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 var(--u) 0 0 var(--brass-bright),inset var(--u) 0 0 0 var(--brass-bright),inset 0 calc(-1 * var(--u)) 0 0 var(--brass-deep),inset calc(-1 * var(--u)) 0 0 0 var(--brass-deep)}.px-btn:hover{background:var(--brass-bright)}.px-btn:active{transform:translateY(var(--u));box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 calc(-1 * var(--u)) 0 0 var(--brass-bright),inset calc(-1 * var(--u)) 0 0 0 var(--brass-bright),inset 0 var(--u) 0 0 var(--brass-deep),inset var(--u) 0 0 0 var(--brass-deep)}.px-btn.done{background:#1d2438;color:var(--moon-dim);box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 var(--u) 0 0 #2b3450,inset var(--u) 0 0 0 #2b3450,inset 0 calc(-1 * var(--u)) 0 0 #0d1220,inset calc(-1 * var(--u)) 0 0 0 #0d1220}.px-btn.done:hover{background:#232b42}.ghost-btn{display:inline-block;padding:.7rem 1.2rem;margin:3px;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--moon-faint);background:transparent;border-radius:0;box-shadow:0 -3px 0 0 var(--rule-strong),0 3px 0 0 var(--rule-strong),-3px 0 0 0 var(--rule-strong),3px 0 0 0 var(--rule-strong)}.ghost-btn:hover:not(:disabled){color:var(--moonlight);box-shadow:0 -3px 0 0 var(--brass),0 3px 0 0 var(--brass),-3px 0 0 0 var(--brass),3px 0 0 0 var(--brass)}.ghost-btn:active:not(:disabled){transform:translateY(3px)}.ghost-btn:disabled{opacity:.3;cursor:not-allowed}.shell{width:var(--shell);margin:0 auto}.hero{display:flex;align-items:center;justify-content:center;gap:clamp(1.5rem,6vw,5rem);padding:clamp(2.4rem,7vw,4.5rem) 0 clamp(1.5rem,4vw,2.5rem)}.hero,.hero-copy{position:relative}.hero-copy{z-index:2}.hero-eyebrow{display:flex;align-items:center;gap:.7rem;margin-bottom:clamp(.5rem,2vw,1.4rem)}.hero-eyebrow .dot{width:6px;height:6px;background:var(--brass);box-shadow:0 0 10px var(--brass)}.count{font-family:var(--font-display),monospace;font-weight:600;font-size:clamp(7rem,25vw,18rem);line-height:.82;letter-spacing:-.01em;color:var(--moonlight);text-shadow:0 0 70px rgba(244,233,212,.28);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hero-moon{position:relative;justify-self:end;filter:drop-shadow(0 0 80px rgba(244,233,212,.2));animation:moonrise 1.9s var(--ease) both}@keyframes moonrise{0%{opacity:0;transform:translateY(46px) scale(.94)}}.log-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem;padding:0 0 3.4rem}.section{padding:clamp(2.4rem,5.5vw,4rem) 0}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:2rem}.section-title{font-family:var(--font-display),monospace;font-weight:600;font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:.01em}.grid-nav{display:flex;align-items:center;gap:.6rem}.grid-body{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);grid-gap:clamp(2rem,6vw,5rem);gap:clamp(2rem,6vw,5rem);align-items:start}.dow{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.5rem;gap:.5rem;margin-bottom:.7rem}.dow span{text-align:center;font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--moon-ghost)}.nights{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.55rem;gap:.55rem}.night{--cell:transparent;--ring:rgba(244,233,212,0.18);position:relative;aspect-ratio:1;border-radius:0;background:var(--cell);transition:transform .16s steps(2);box-shadow:inset 0 0 0 2px var(--ring),0 -4px 0 0 var(--cell),0 4px 0 0 var(--cell),-4px 0 0 0 var(--cell),4px 0 0 0 var(--cell)}.night:not(.blank):hover{transform:scale(1.1)}.night.called{--cell:#f2e6ca;--ring:transparent;box-shadow:inset 0 4px 0 0 #fffbf0,inset 4px 0 0 0 #fffbf0,inset 0 -4px 0 0 #c0ae87,inset -4px 0 0 0 #c0ae87,0 -4px 0 0 var(--cell),0 4px 0 0 var(--cell),-4px 0 0 0 var(--cell),4px 0 0 0 var(--cell)}.night.clouded{--cell:#1d2438;--ring:var(--rule-strong)}.night.clouded:after{inset:0;margin:auto;width:70%;height:70%;background:url(/sprites/cloud.png) 50%/contain no-repeat}.night.clouded:after,.night.has-note:before{content:"";position:absolute;image-rendering:pixelated}.night.has-note:before{top:-5px;right:-5px;width:16px;height:16px;background:url(/sprites/heart.png) 50%/contain no-repeat;filter:drop-shadow(0 0 5px rgba(201,123,132,.85));z-index:2}.night.today{--ring:var(--brass);outline:2px solid var(--brass);outline-offset:4px}.night.future{--ring:rgba(244,233,212,0.07);pointer-events:none}.night.blank{--ring:transparent;pointer-events:none}.month-tally .v{font-family:var(--font-display),monospace;font-weight:600;font-size:clamp(2.8rem,5.4vw,4rem);line-height:.95;letter-spacing:-.01em;color:var(--moonlight);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.month-tally .legend{margin-top:2rem;display:grid;grid-gap:.9rem;gap:.9rem}.month-tally .legend div{display:flex;align-items:center;gap:.8rem}.key{flex:0 0 auto;width:16px;height:16px;position:relative;box-shadow:inset 0 0 0 2px rgba(244,233,212,.18)}.key.called{background:#f2e6ca;box-shadow:inset 0 3px 0 0 #fffbf0,inset 3px 0 0 0 #fffbf0,inset 0 -3px 0 0 #c0ae87,inset -3px 0 0 0 #c0ae87}.key.clouded:after{content:"";position:absolute;inset:0;margin:auto;width:74%;height:74%;background:url(/sprites/cloud.png) 50%/contain no-repeat;image-rendering:pixelated}.key.noted{background:url(/sprites/heart.png) 50%/contain no-repeat;image-rendering:pixelated;box-shadow:none;filter:drop-shadow(0 0 5px rgba(201,123,132,.7))}.ladder,.rung{display:grid}.rung{grid-template-columns:4.5rem 1fr auto;align-items:baseline;grid-gap:1.4rem;gap:1.4rem;padding:1.15rem 0}.rung:hover{background:rgba(244,233,212,.025)}.rung .n{font-family:var(--font-display),monospace;font-weight:600;font-size:1.75rem;letter-spacing:0;color:var(--moon-ghost);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rung.hit .n{color:var(--brass-bright)}.rung .name{font-family:var(--font-display),monospace;font-size:1.15rem;letter-spacing:.01em;color:var(--moon-faint)}.rung.hit .name{color:var(--moonlight)}.rung .note{font-size:.62rem;letter-spacing:.06em;color:var(--moon-ghost);text-align:right;max-width:34ch}.rung.hit .note{color:var(--moon-faint)}.rung.next .n{color:var(--brass)}.plates{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:1.9rem;gap:1.9rem}.plate figure{margin:0;padding:var(--u);background:#1d2438;box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 var(--u) 0 0 #2b3450,inset var(--u) 0 0 0 #2b3450,inset 0 calc(-1 * var(--u)) 0 0 #0d1220,inset calc(-1 * var(--u)) 0 0 0 #0d1220}.plate img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.75) contrast(1.04) sepia(.14) brightness(.94);transition:filter .5s var(--ease)}.plate:hover img{filter:none}.plate figcaption{margin-top:.55rem;letter-spacing:.1em;color:var(--moon-ghost)}.plate figcaption,.plate-empty{font-size:.58rem;text-transform:uppercase}.plate-empty{display:grid;place-items:center;aspect-ratio:4/5;background:rgba(244,233,212,.02);box-shadow:inset 0 0 0 2px rgba(244,233,212,.16);color:var(--moon-faint);letter-spacing:.08em;text-align:center;line-height:2.1;padding:1rem}.scrim{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1.2rem;background:rgba(4,6,11,.78);animation:fade .3s steps(4) both}.sheet{width:min(430px,100%);padding:1.9rem;background:var(--night-2);box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 var(--u) 0 0 #2b3450,inset var(--u) 0 0 0 #2b3450,inset 0 calc(-1 * var(--u)) 0 0 #0d1220,inset calc(-1 * var(--u)) 0 0 0 #0d1220;animation:rise .3s steps(5) both}.sheet textarea{width:100%;min-height:92px;margin-top:1rem;padding:.85rem;resize:vertical;color:var(--moonlight);background:#0b1020;border:none;border-radius:0;box-shadow:inset 0 0 0 2px var(--rule-strong);font-family:var(--font-serif),Georgia,serif;font-size:1.1rem;line-height:1.5}.sheet textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--brass)}.sheet-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.4rem}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}.tally{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:1.6rem;gap:1.6rem;padding:2.8rem 0 2.4rem}.tally .v{font-family:var(--font-display),monospace;font-weight:600;font-size:2rem;line-height:1.1;letter-spacing:-.01em;color:var(--moonlight);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tally .k{margin-top:.5rem}.colophon{padding:1.6rem 0 3.4rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem}.reveal{animation:reveal 1.1s var(--ease) both}@keyframes reveal{0%{opacity:0;transform:translateY(16px)}}.d1{animation-delay:.1s}.d2{animation-delay:.22s}.d3{animation-delay:.34s}.d4{animation-delay:.46s}.d5{animation-delay:.58s}.dust{position:fixed;inset:0;z-index:60;pointer-events:none}.mote{position:absolute;width:6px;height:6px;background:var(--brass-bright);animation:mote 1.4s steps(9) both}@keyframes mote{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(var(--dx),var(--dy))}}@media (max-width:820px){.grid-body{gap:2.4rem}.grid-body,.hero{grid-template-columns:1fr}.hero{padding-top:1.6rem}.hero-moon{order:-1;justify-self:center}.rung{grid-template-columns:3.4rem 1fr}.rung .note{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.lock{min-height:100dvh;display:grid;place-items:center;padding:1.5rem}.lock-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;padding:clamp(2rem,6vw,3.2rem) clamp(1.5rem,5vw,3rem);width:min(380px,100%);background:rgba(17,24,41,.6);box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 var(--u) 0 0 #2b3450,inset var(--u) 0 0 0 #2b3450,inset 0 calc(-1 * var(--u)) 0 0 #0d1220,inset calc(-1 * var(--u)) 0 0 0 #0d1220;animation:reveal .9s var(--ease) both}.lock-card .section-title{margin-top:.4rem}.sprite-heart{display:block;width:26px;height:26px;background:url(/sprites/heart.png) 50%/contain no-repeat;image-rendering:pixelated;filter:drop-shadow(0 0 7px rgba(201,123,132,.75))}.lock-heart{margin-top:.9rem;animation:beat 2.4s steps(2) infinite}@keyframes beat{0%,70%,to{transform:scale(1)}80%{transform:scale(1.22)}}.px-input{width:100%;margin-top:1.4rem;padding:.85rem 1rem;text-align:center;letter-spacing:.3em;font-family:var(--font-mono),monospace;font-size:.85rem;color:var(--moonlight);background:#0b1020;border:none;border-radius:0;box-shadow:inset 0 0 0 3px var(--rule-strong)}.px-input::placeholder{color:var(--moon-ghost);letter-spacing:.24em}.px-input:focus{outline:none;box-shadow:inset 0 0 0 3px var(--brass)}.px-input.wrong{box-shadow:inset 0 0 0 3px var(--rose);animation:shake .3s steps(3) 2}@keyframes shake{0%,to{transform:translateX(0)}33%{transform:translateX(-5px)}66%{transform:translateX(5px)}}.lock-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}.lock-pick{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.lock-error{min-height:1.4rem;margin-top:1rem;color:var(--rose)}.colophon .sprite-heart{width:18px;height:18px}.pop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:1.5rem;background:rgba(4,6,11,.72);animation:fade .25s steps(3) both}.pop-card{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;width:min(360px,100%);padding:2rem 1.6rem 1.8rem;background:var(--night-2);box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 var(--u) 0 0 #2b3450,inset var(--u) 0 0 0 #2b3450,inset 0 calc(-1 * var(--u)) 0 0 #0d1220,inset calc(-1 * var(--u)) 0 0 0 #0d1220;animation:pop-in .4s steps(6) both}@keyframes pop-in{0%{opacity:0;transform:scale(.82) translateY(18px)}}.pop-names{display:flex;align-items:center;gap:.55rem;margin-top:.9rem;font-family:var(--font-display),monospace;font-weight:600;font-size:1.35rem;color:var(--moonlight)}.pop-amp{width:20px;height:20px;animation:beat 1.5s steps(2) infinite}.pop-count{margin-top:.7rem;font-family:var(--font-display),monospace;font-weight:600;font-size:4.6rem;line-height:.9;color:var(--brass-bright);text-shadow:0 0 34px rgba(242,210,135,.5);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pop-line{margin-top:1.3rem;margin-bottom:.9rem;font-family:var(--font-display),monospace;font-weight:600;font-size:2rem;line-height:1.15;letter-spacing:.01em;color:var(--moonlight);overflow-wrap:anywhere}.pop-milestone{margin-top:-.2rem;margin-bottom:.8rem;color:var(--brass);letter-spacing:.16em}.pop-hearts{position:absolute;inset:0;overflow:hidden;pointer-events:none}.pop-float{position:absolute;bottom:-30px;animation:drift 3.4s var(--ease) both}@keyframes drift{0%{opacity:0;transform:translateY(0) scale(.7)}25%{opacity:.95}to{opacity:0;transform:translateY(-84vh) scale(1.05)}}.joke-add{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.joke-input{flex:1 1 220px;width:auto;max-width:380px;margin-top:0;text-align:left;letter-spacing:.12em}.px-btn:disabled{opacity:.4;cursor:not-allowed}.joke-hint{margin-top:.9rem;color:var(--moon-ghost)}.joke-empty{max-width:46ch;margin-top:1.6rem;line-height:2;text-transform:none;letter-spacing:.04em}.joke-list{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.8rem 0 0;padding:0;list-style:none}.joke{display:flex;align-items:center;gap:.6rem;margin:3px;padding:.6rem .75rem .6rem .9rem;background:#1d2438;box-shadow:0 -3px 0 0 var(--px-edge),0 3px 0 0 var(--px-edge),-3px 0 0 0 var(--px-edge),3px 0 0 0 var(--px-edge),inset 0 3px 0 0 #2b3450,inset 3px 0 0 0 #2b3450,inset 0 -3px 0 0 #0d1220,inset -3px 0 0 0 #0d1220}.joke-text{font-family:var(--font-display),monospace;font-size:1.1rem;color:var(--moonlight)}.joke-by{font-size:.55rem}.joke-by,.joke-x{color:var(--moon-ghost)}.joke-x{padding:0 .2rem;font-size:1.1rem;line-height:1}.joke-x:hover{color:var(--rose)}.dock-btn{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.2rem;font-family:var(--font-mono),monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--moonlight);background:var(--night-2);border:none;border-radius:0;cursor:pointer;box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 var(--u) 0 0 #2b3450,inset var(--u) 0 0 0 #2b3450,inset 0 calc(-1 * var(--u)) 0 0 #0d1220,inset calc(-1 * var(--u)) 0 0 0 #0d1220}.dock-btn:hover{background:#1b2337}.dock-btn:active{transform:translateY(var(--u))}.dock-btn .sprite-heart{width:16px;height:16px}.chat-badge{min-width:20px;padding:.1rem .3rem;font-size:.62rem;text-align:center;color:#150e03;background:var(--brass)}.chat-scrim{place-items:stretch;justify-content:flex-end;padding:0}.chat-panel{display:flex;flex-direction:column;width:min(460px,100%);height:100dvh;padding:1.4rem;background:var(--night-2);animation:chat-in .32s var(--ease) both;box-shadow:calc(-1 * var(--u)) 0 0 0 var(--px-edge),inset var(--u) 0 0 0 #2b3450}@keyframes chat-in{0%{transform:translateX(24px);opacity:0}}.chat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1.2rem}.chat-title{font-size:1.5rem;line-height:1.15}.chat-thread{flex:1 1;min-height:0;overflow-y:auto;margin:0;padding:.2rem .2rem 1rem;list-style:none;overscroll-behavior:contain}.chat-empty{padding:2rem 0;text-align:center}.chat-day{margin:1.4rem 0 .7rem;text-align:center}.bubble-row{display:flex;margin-bottom:.55rem}.bubble-row.mine{justify-content:flex-end}.bubble{max-width:82%;padding:.65rem .85rem;background:#161e33;box-shadow:inset 0 3px 0 0 #232c45,inset 0 -3px 0 0 #0d1220}.bubble-row.mine .bubble{color:#150e03;background:var(--brass);box-shadow:inset 0 3px 0 0 var(--brass-bright),inset 0 -3px 0 0 var(--brass-deep)}.bubble-row.mine .label{color:rgba(21,14,3,.62)}.bubble-row.mine .label-brass{color:rgba(21,14,3,.85)}.bubble-text{margin:0;font-size:.92rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.unopenable{background:transparent;box-shadow:inset 0 0 0 3px var(--rule)}.bubble-meta{display:flex;align-items:center;gap:.7rem;margin-top:.25rem}.bubble-meta .label{line-height:1.4}.bubble-act{padding:0;font-family:var(--font-mono),monospace;font-size:var(--label);letter-spacing:.08em;text-transform:uppercase;color:rgba(21,14,3,.55);background:none;border:none;cursor:pointer}.bubble-act:hover{color:#150e03}.bubble-edit-field{width:100%;min-height:4.5rem;margin:0;padding:.5rem;font-family:var(--font-mono),monospace;font-size:.9rem;color:var(--moonlight);background:#0b1020;border:none;border-radius:0;box-shadow:inset 0 0 0 3px var(--rule-strong);resize:vertical}.bubble-edit-field:focus{outline:none;box-shadow:inset 0 0 0 3px var(--brass)}.bubble-tools{display:flex;gap:.3rem;margin-top:.3rem}.bubble.typing{display:flex;gap:5px;padding:.8rem .9rem}.typing-dot{width:6px;height:6px;background:var(--moon-dim);animation:typing-blink 1.1s steps(2) infinite}.typing-dot:nth-child(2){animation-delay:.18s}.typing-dot:nth-child(3){animation-delay:.36s}@keyframes typing-blink{50%{opacity:.2}}.chat-composer{display:flex;align-items:flex-end;gap:.4rem;padding-top:.8rem}.chat-field{flex:1 1;min-height:3rem;max-height:9rem;margin:0;padding:.75rem .9rem;font-family:var(--font-mono),monospace;font-size:.92rem;line-height:1.45;color:var(--moonlight);background:#0b1020;border:none;border-radius:0;box-shadow:inset 0 0 0 3px var(--rule-strong);resize:none}.chat-field:focus{outline:none;box-shadow:inset 0 0 0 3px var(--brass)}.chat-field::placeholder{color:var(--moon-ghost)}.chat-composer .px-btn{margin:var(--u) var(--u) var(--u) 0;padding:.9rem 1.1rem}.chat-foot{display:flex;flex-wrap:wrap;gap:.2rem;padding-top:.7rem}@media (max-width:620px){.chat-panel{width:100%;padding:1.1rem}.bubble{max-width:88%}}.dock{position:fixed;right:clamp(.9rem,3vw,2rem);bottom:clamp(.9rem,3vw,2rem);z-index:40;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.dock-live{width:8px;height:8px;background:var(--brass);animation:dock-pulse 1.6s steps(2) infinite}@keyframes dock-pulse{50%{opacity:.25}}.chat-offline{padding:0 0 .8rem;color:var(--rose)}.bubble.pending{opacity:.55}.ghost-btn.off{color:var(--rose)}html[data-birthday] body:before{background:radial-gradient(115ch 74ch at 50% -20%,rgba(242,210,135,.24),transparent 62%),radial-gradient(86ch 58ch at 16% 10%,rgba(201,123,132,.18),transparent 62%),radial-gradient(76ch 52ch at 88% 22%,rgba(216,169,75,.14),transparent 60%),linear-gradient(178deg,#12101f 0,var(--ink) 48%,#04060b 100%)}html[data-birthday] .shell{padding-top:2.6rem}html[data-birthday] .count{color:var(--brass-bright);text-shadow:0 0 80px rgba(242,210,135,.4)}html[data-birthday] .hero-moon{filter:drop-shadow(0 0 90px rgba(242,210,135,.32))}.bday-layer{display:contents}.bday-bunting{position:fixed;top:0;left:0;right:0;height:60px;z-index:5;pointer-events:none}.bday-string{position:absolute;top:6px;left:0;right:0;height:var(--u);background:var(--px-edge);box-shadow:0 var(--u) 0 0 rgba(216,169,75,.55)}.bday-flag{position:absolute;top:10px;transform:translateX(-50%);transform-origin:50% 0;animation:bday-sway 3.6s ease-in-out infinite}@keyframes bday-sway{0%,to{transform:translateX(-50%) rotate(-3.5deg)}50%{transform:translateX(-50%) rotate(3.5deg)}}.bday-balloons{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.bday-balloon{position:absolute;bottom:-190px;opacity:.85;animation-name:bday-rise;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes bday-rise{0%{transform:translateZ(0);opacity:0}8%{opacity:.85}50%{transform:translate3d(var(--sway),-55vh,0)}88%{opacity:.85}to{transform:translate3d(calc(var(--sway) * -1),-125vh,0);opacity:0}}.bday-confetti{position:fixed;inset:0;z-index:3;overflow:hidden;pointer-events:none}.bday-bit{position:absolute;top:-20px;animation-name:bday-fall;animation-timing-function:steps(30);animation-iteration-count:infinite}@keyframes bday-fall{0%{transform:translateZ(0) rotate(0deg);opacity:0}6%{opacity:.9}90%{opacity:.9}to{transform:translate3d(var(--drift),105vh,0) rotate(var(--spin));opacity:0}}.bday-banner{display:inline-flex;align-items:center;gap:.7rem;margin-top:.9rem;padding:.6rem 1rem .6rem .7rem;font-family:var(--font-display),monospace;font-weight:600;font-size:1.05rem;letter-spacing:.01em;color:var(--brass-bright);background:rgba(17,24,41,.75);box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 var(--u) 0 0 #3a3050,inset var(--u) 0 0 0 #3a3050,inset 0 calc(-1 * var(--u)) 0 0 #0d1220,inset calc(-1 * var(--u)) 0 0 0 #0d1220}.bday-banner:hover{background:rgba(27,35,55,.9)}.bday-banner:active{transform:translateY(var(--u))}.bday-hat{position:absolute;top:-42px;left:50%;margin-left:-78px;z-index:2;transform-origin:50% 100%;animation:bday-tilt 5s ease-in-out infinite;filter:drop-shadow(0 0 14px rgba(201,123,132,.5))}@keyframes bday-tilt{0%,to{transform:rotate(-9deg)}50%{transform:rotate(-3deg)}}.bday-dock{padding:.6rem .9rem;animation:bday-nudge 3s steps(2) infinite}@keyframes bday-nudge{0%,78%,to{transform:translateY(0)}86%{transform:translateY(calc(-1 * var(--u)))}}.night.birthday{box-shadow:inset 0 0 0 2px var(--rose),0 0 12px rgba(201,123,132,.55)}.night.birthday:after{content:"";position:absolute;inset:0;margin:auto;width:var(--u);height:var(--u);background:var(--brass-bright)}.lock-card.is-birthday{box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 var(--u) 0 0 #4a3a52,inset var(--u) 0 0 0 #4a3a52,inset 0 calc(-1 * var(--u)) 0 0 #0d1220,inset calc(-1 * var(--u)) 0 0 0 #0d1220}.lock-bday{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:1rem}.lock-bday-line{font-family:var(--font-display),monospace;font-weight:600;font-size:1.25rem;color:var(--brass-bright);text-shadow:0 0 22px rgba(242,210,135,.45)}.bday-scrim{position:fixed;inset:0;z-index:80;display:grid;place-items:start center;padding:1.2rem;overflow-y:auto;overscroll-behavior:contain;background:rgba(4,6,11,.86);animation:fade .3s steps(4) both}.bday-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.2rem;width:min(440px,100%);margin:auto;padding:2.4rem 1.5rem 2rem;background:var(--night-2);box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 var(--u) 0 0 #4a3a52,inset var(--u) 0 0 0 #4a3a52,inset 0 calc(-1 * var(--u)) 0 0 #0d1220,inset calc(-1 * var(--u)) 0 0 0 #0d1220;animation:pop-in .45s steps(7) both}.bday-close{position:absolute;top:.7rem;right:.7rem;z-index:3}.bday-crown{filter:drop-shadow(0 0 26px rgba(242,210,135,.4))}.bday-kicker{margin-top:.8rem;letter-spacing:.18em}.bday-title{margin-top:.1rem;font-family:var(--font-display),monospace;font-weight:700;font-size:clamp(2rem,8vw,2.7rem);line-height:1.02;color:var(--moonlight);text-shadow:0 0 40px rgba(244,233,212,.35)}.bday-cake-wrap{position:relative;width:100%;display:flex;justify-content:center;margin-top:4.5rem}.bday-cake{position:relative;filter:drop-shadow(0 0 30px rgba(216,169,75,.22))}.bday-candles{position:absolute;left:8%;right:8%;bottom:74%;display:flex;justify-content:space-between;align-items:flex-end}.bday-candle{position:relative;padding:.25rem .15rem;background:none;border:none;cursor:pointer;transition:transform .12s var(--ease)}.bday-candle:not(.is-out) svg{filter:drop-shadow(0 -3px 9px rgba(242,210,135,.85));animation:bday-flicker .9s steps(2) infinite}@keyframes bday-flicker{0%,to{transform:translateY(0);opacity:1}50%{transform:translateY(-1px);opacity:.88}}.bday-candle:not(.is-out):hover{transform:translateY(-3px)}.bday-candle.is-out{cursor:default}.bday-smoke{position:absolute;top:2px;left:50%;width:var(--u);height:var(--u);margin-left:calc(-.5 * var(--u));background:var(--moon-ghost);animation:bday-wisp 1.5s steps(8) 1 both;pointer-events:none}@keyframes bday-wisp{0%{opacity:.9;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-7px,-34px) scale(2.1)}}.bday-burst{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:2}.bday-mote{position:absolute;width:6px;height:6px;animation:bday-mote 1.5s steps(10) both}@keyframes bday-mote{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(var(--dx),var(--dy))}}.bday-hint{margin-top:1.1rem;letter-spacing:.16em;color:var(--moon-dim)}.bday-wishes{width:100%;margin:1.4rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:1rem}.bday-wish{animation:reveal .7s var(--ease) both}.bday-wish-line{margin-top:.15rem;font-family:var(--font-display),monospace;font-weight:500;font-size:1.08rem;line-height:1.45;color:var(--moonlight);text-wrap:balance}.bday-make-wish{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin-top:1.8rem;animation:reveal .8s var(--ease) both}.bday-wish-prompt{font-family:var(--font-display),monospace;font-weight:600;font-size:1.3rem;color:var(--brass-bright);text-shadow:0 0 28px rgba(242,210,135,.45)}.bday-letter{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:1.9rem;padding-top:1.6rem}.bday-letter-line{font-family:var(--font-serif),Georgia,serif;font-size:1.22rem;line-height:1.55;letter-spacing:-.005em;color:var(--moonlight);text-wrap:pretty;animation:reveal .9s var(--ease) both}.bday-letter-line:first-child{font-size:1.6rem;color:var(--brass-bright)}.bday-stat{margin-top:.4rem}.bday-stat-n{font-family:var(--font-display),monospace;font-weight:600;font-size:3.4rem;line-height:.95;color:var(--moonlight);text-shadow:0 0 30px rgba(244,233,212,.35);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bday-signed{display:flex;align-items:center;gap:.6rem;margin-top:.2rem;font-family:var(--font-display),monospace;font-weight:600;font-size:1.15rem;color:var(--rose)}.bday-signed .sprite-heart{width:20px;height:20px;animation:beat 1.8s steps(2) infinite}@media (max-width:620px){.bday-bunting{height:46px}.bday-flag svg{width:24px;height:auto}html[data-birthday] .shell{padding-top:1.8rem}.bday-hat{margin-left:-64px;top:-34px}.bday-hat svg{width:66px;height:auto}.bday-card{padding:2.2rem 1.1rem 1.8rem}}@media (prefers-reduced-motion:reduce){.bday-balloons,.bday-confetti{display:none}}:root{--live:#a8d98a;--live-bright:#d3f0b5}.sky{position:fixed;top:0;left:0;z-index:0;pointer-events:none;image-rendering:pixelated}.hero{padding-bottom:0}.hero-moon svg{width:clamp(190px,52vw,330px);height:auto}@media (max-width:820px){.hero{flex-direction:column;gap:.4rem;text-align:center}.hero-eyebrow{flex-wrap:wrap;justify-content:center}}.presence{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.55rem;font-size:var(--label);letter-spacing:.08em;text-transform:uppercase;line-height:1.9;color:var(--moon-faint)}.presence-dot{flex:0 0 auto;width:8px;height:8px;box-shadow:inset 0 0 0 2px var(--moon-ghost)}.presence-name{color:var(--moon-dim)}.presence.here .presence-dot{background:var(--live);box-shadow:0 0 10px var(--live);animation:dock-pulse 1.6s steps(2) infinite}.presence.here .presence-label{color:var(--live)}.hero .presence{margin-bottom:clamp(.3rem,1.5vw,.9rem)}@media (max-width:820px){.hero .presence{justify-content:center}}.horizon{position:relative;z-index:0;width:100vw;height:240px;margin-top:calc(-4.5rem - 40px);margin-left:calc(50% - 50vw);overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(#000 84%,transparent);mask-image:linear-gradient(#000 84%,transparent)}.horizon-land{position:absolute;left:0;bottom:0;image-rendering:pixelated}.horizon-name{position:absolute;bottom:30px;transform:translateX(-50%);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--moon-ghost)}.horizon-name.at-left{left:16%}.horizon-name.at-right{left:84%}.horizon-name.here{color:var(--brass-bright)}.log-row{position:relative;z-index:1;margin-top:-1.2rem}.dock{gap:.5rem}.dock-btn{flex-direction:column;gap:.4rem;min-width:4.7rem;padding:.75rem .8rem .55rem}.dock-icon{position:relative;display:block}.dock-label{font-size:.56rem;line-height:1.4}.dock-icon .dock-live{position:absolute;top:-5px;right:-8px;background:var(--live);box-shadow:0 0 8px var(--live)}.dock-icon .chat-badge{position:absolute;top:-9px;left:14px}@media (max-width:620px){.dock{left:0;right:0;bottom:0;flex-wrap:nowrap;gap:0;padding:.35rem .4rem calc(.35rem + env(safe-area-inset-bottom));background:rgba(8,12,22,.94);box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),inset 0 var(--u) 0 0 #1d2438}.dock-btn{flex:1 1;min-width:0;padding:.7rem .2rem .5rem;box-shadow:none}.dock-btn,.dock-btn:hover{background:transparent}.dock-btn:active{transform:none;color:var(--brass-bright)}.shell{padding-bottom:calc(5rem + env(safe-area-inset-bottom))}}a:focus-visible,button:focus-visible{outline:2px solid var(--brass-bright);outline-offset:3px}body{padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left)}.shell{padding-top:env(safe-area-inset-top)}.chat-panel{padding-top:calc(1.4rem + env(safe-area-inset-top));padding-bottom:calc(1.4rem + env(safe-area-inset-bottom))}:root{--paper:#efe3c6;--paper-lit:#fbf4df;--paper-shade:#c9b88f;--on-paper:#2a2118;--on-paper-soft:#74634a}.story-body{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:clamp(1.6rem,5vw,4rem);gap:clamp(1.6rem,5vw,4rem)}.story-cover{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;width:clamp(190px,46vw,240px);aspect-ratio:4/5;margin:var(--u);padding:1.2rem;color:var(--moonlight);background:#1a2138;cursor:pointer;transition:transform .16s steps(2);box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 var(--u) 0 0 var(--brass),inset var(--u) 0 0 0 var(--brass-deep),inset 0 calc(-1 * var(--u)) 0 0 var(--brass-deep),inset calc(-1 * var(--u)) 0 0 0 var(--brass-deep),inset calc(3 * var(--u)) 0 0 0 #131930,calc(3 * var(--u)) var(--u) 0 0 var(--paper-shade),calc(3 * var(--u)) calc(2 * var(--u)) 0 0 var(--px-edge),calc(4 * var(--u)) var(--u) 0 0 var(--px-edge)}.story-cover:hover{transform:translateY(calc(-1 * var(--u)))}.story-cover:active{transform:translateY(0)}.cover-title{font-family:var(--font-display),monospace;font-weight:600;font-size:1.5rem;line-height:1.1;text-align:center;color:var(--brass-bright);background-image:linear-gradient(100deg,var(--brass-bright) 0 42%,#fff6d6 47% 50%,var(--brass) 55% 58%,var(--brass-bright) 64%);background-size:300% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:foil 6s steps(24) infinite}@keyframes foil{0%,70%{background-position:100% 0}to{background-position:0 0}}.cover-names{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display),monospace;font-size:1rem;color:var(--moonlight)}.cover-names .sprite-heart{width:16px;height:16px}.story-line{max-width:44ch;font-family:var(--font-serif),Georgia,serif;font-size:1.25rem;line-height:1.45;color:var(--moon-dim)}.story-recent{display:flex;gap:.9rem;margin-top:1.4rem}.story-recent-card{padding:5px 5px 7px;background:var(--paper-lit);cursor:pointer;transition:transform .16s steps(2);box-shadow:0 0 0 3px var(--px-edge),4px 4px 0 3px rgba(5,7,13,.6)}.story-recent-card:nth-child(odd){transform:rotate(-2.5deg)}.story-recent-card:nth-child(2n){transform:rotate(2deg)}.story-recent-card:hover{transform:translateY(-4px)}.story-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:1.5rem}@media (max-width:720px){.story-body{grid-template-columns:1fr;justify-items:center;text-align:center}.story-actions,.story-recent{justify-content:center}}.thumb{position:relative;display:block;width:64px;height:64px;overflow:hidden;background-color:var(--paper-shade);background-position:50%;background-size:cover;image-rendering:pixelated}.thumb-doodle svg{width:100%;height:100%}.thumb-note{padding:6px;font-family:var(--font-serif),Georgia,serif;font-size:.62rem;line-height:1.25;text-align:left;color:var(--on-paper);background-color:var(--paper);image-rendering:auto}.garden{margin-top:2.6rem}.garden-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:0 10px;padding:0 6px;box-shadow:inset 0 calc(-1 * var(--u)) 0 0 #16243a}.garden-plant{padding-bottom:var(--u);animation:sprout .5s steps(5) both}@keyframes sprout{0%{opacity:0;transform:translateY(8px)}}.garden-more{margin-top:.6rem}.story-scrim{position:fixed;inset:0;z-index:55;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;animation:fade .3s steps(4) both;background:radial-gradient(70ch 44ch at 50% -12%,rgba(242,210,135,.16),transparent 70%),repeating-linear-gradient(90deg,#0d111d 0 124px,#070a12 124px 128px),#0b0f19}.story-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:calc(1rem + env(safe-area-inset-top)) clamp(1rem,4vw,2.2rem) .2rem}.story-head-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.2rem}.story-stage{flex:1 1;display:grid;place-items:center;padding:1rem 0 1.4rem;touch-action:pan-y}.book{position:relative;display:flex;align-items:flex-start;justify-content:center;gap:calc(2 * var(--u))}.leaf-wrap{display:flex;flex-direction:column;align-items:center}.turn-next{animation:turn-next .34s steps(6) both}.turn-prev{animation:turn-prev .34s steps(6) both}@keyframes turn-next{0%{opacity:0;transform:translateX(32px)}}@keyframes turn-prev{0%{opacity:0;transform:translateX(-32px)}}.leaf{--leaf-w:min(86vw,430px);position:relative;display:flex;flex-direction:column;align-items:center;width:var(--leaf-w);margin:var(--u);padding:calc(var(--leaf-w) * .07) calc(var(--leaf-w) * .065) calc(var(--leaf-w) * .04);color:var(--on-paper);background-color:var(--paper);background-image:radial-gradient(rgba(140,106,37,.13) 1px,transparent 1.2px),repeating-linear-gradient(45deg,rgba(255,250,235,.16) 0 2px,transparent 2px 6px);background-size:8px 8px,auto;box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 var(--u) 0 0 var(--paper-lit),inset var(--u) 0 0 0 var(--paper-lit),inset 0 calc(-1 * var(--u)) 0 0 var(--paper-shade),inset calc(-1 * var(--u)) 0 0 0 var(--paper-shade),calc(2 * var(--u)) calc(3 * var(--u)) 0 0 rgba(0,0,0,.42)}.leaf-doodle,.leaf-note,.leaf-photo{overflow:hidden}.is-spread .leaf-wrap:first-child .leaf:after,.is-spread .leaf-wrap:last-child .leaf:after{content:"";position:absolute;inset:0;z-index:40;pointer-events:none}.is-spread .leaf-wrap:first-child .leaf:after{background:linear-gradient(90deg,transparent 0 78%,rgba(42,33,24,.05) 78% 88%,rgba(42,33,24,.1) 88% 95%,rgba(42,33,24,.18) 95%)}.is-spread .leaf-wrap:last-child .leaf:after{background:linear-gradient(270deg,transparent 0 78%,rgba(42,33,24,.05) 78% 88%,rgba(42,33,24,.1) 88% 95%,rgba(42,33,24,.18) 95%)}.leaf-canvas{position:relative;width:100%;aspect-ratio:4/5}.pg-item{position:absolute;container-type:inline-size;-webkit-user-select:none;-moz-user-select:none;user-select:none}.is-arranging .pg-item{touch-action:none;cursor:-webkit-grab;cursor:grab}.is-arranging .pg-item:active{cursor:-webkit-grabbing;cursor:grabbing}.is-arranging .pg-item.is-selected{outline:2px dashed var(--brass);outline-offset:5px;z-index:30!important}.photo-card{margin:0;padding:4% 4% 6%;background:#fffdf5;box-shadow:0 0 0 2px rgba(42,33,24,.85),5px 6px 0 2px rgba(42,33,24,.16),0 14px 22px -10px rgba(42,33,24,.5)}.leaf-frame,.photo-card{position:relative;width:100%}.leaf-frame{aspect-ratio:var(--ratio,1);overflow:hidden;background-color:#d8cba9;background-position:50%;background-size:cover;image-rendering:pixelated}.leaf-frame img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;image-rendering:auto;transition:opacity .5s steps(5);pointer-events:none}.leaf-frame img.is-ready{opacity:1}.leaf-missing{position:absolute;inset:0;display:grid;place-items:center;padding:1rem;font-size:.6rem;letter-spacing:.08em;text-align:center;text-transform:uppercase;color:var(--on-paper-soft)}.photo-card.is-drawing .leaf-frame{image-rendering:auto}.photo-card .leaf-words{position:absolute;top:100%;left:-12%;right:-12%;margin:.5em 0 0;font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:clamp(.82rem,5.2cqw,1.2rem);line-height:1.35;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--on-paper)}.leaf-note-card{position:absolute;top:48%;left:50%;z-index:5;width:86%;max-height:84%;padding:1.2rem 1.1rem 1.4rem;overflow-y:auto;transform:translate(-50%,-50%) rotate(-1deg);background-color:var(--paper-lit);background-image:repeating-linear-gradient(transparent 0 30px,rgba(140,106,37,.22) 30px 32px);background-position:0 1.1rem;box-shadow:0 0 0 2px rgba(42,33,24,.5),4px 5px 0 2px rgba(42,33,24,.14)}.leaf-note-card .leaf-words{margin:0;font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:1.32rem;line-height:32px;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere}.pg-sticker-art{display:block;filter:drop-shadow(1px 0 0 var(--paper-lit)) drop-shadow(-1px 0 0 var(--paper-lit)) drop-shadow(0 1px 0 var(--paper-lit)) drop-shadow(0 -1px 0 var(--paper-lit)) drop-shadow(2px 3px 0 rgba(42,33,24,.24))}.pg-tape-strip{display:block;width:100%;aspect-ratio:10/3;background:repeating-linear-gradient(90deg,rgba(255,255,255,.14) 0 3px,transparent 3px 7px),var(--tint);box-shadow:inset 0 -3px 0 0 rgba(42,33,24,.1)}.pg-text-scrap{display:block;width:100%;padding:7% 8%;background:var(--paper-lit);background-image:repeating-linear-gradient(45deg,rgba(140,106,37,.05) 0 2px,transparent 2px 5px);filter:drop-shadow(2px 3px 0 rgba(42,33,24,.2))}.pg-text-input,.pg-text-words{display:block;width:100%;font-family:var(--font-display),monospace;font-weight:500;font-size:clamp(.82rem,8cqw,1.6rem);line-height:1.25;text-align:center;color:var(--on-paper);white-space:pre-wrap;overflow-wrap:anywhere}.pg-text-input{min-height:2.6em;padding:0;margin:0;border:none;outline:none;resize:none;background:transparent;touch-action:auto;-webkit-user-select:text;-moz-user-select:text;user-select:text}.pg-text-input::placeholder{color:var(--on-paper-soft)}.pg-kiss{position:absolute;left:80%;top:84%;z-index:35;display:flex;flex-direction:column;align-items:center;gap:.35rem;width:17%;transform:translate(-50%,-50%) rotate(var(--tilt,-10deg));pointer-events:none}.pg-kiss.is-fresh{animation:kiss-land .5s steps(5) both}@keyframes kiss-land{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--tilt,-10deg)) scale(2.2)}55%{opacity:1;transform:translate(-50%,-50%) rotate(var(--tilt,-10deg)) scale(.82,.7)}to{transform:translate(-50%,-50%) rotate(var(--tilt,-10deg)) scale(1)}}.pg-kiss-label{width:260%;font-size:.5rem;line-height:1.5;text-align:center;letter-spacing:.06em}.leaf-foot,.pg-kiss-label{color:var(--on-paper-soft)}.leaf-foot{display:flex;justify-content:space-between;gap:1rem;width:100%;margin-top:auto;padding-top:.9rem;font-size:.56rem;letter-spacing:.08em;text-transform:uppercase}.leaf-blank,.leaf-cover{--photo-h:calc(var(--leaf-w) * 0.74);min-height:calc(var(--leaf-w) * 1.3);padding:calc(var(--leaf-w) * .085) calc(var(--leaf-w) * .075) calc(var(--leaf-w) * .045)}.leaf-blank .leaf-words{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:1.2rem;line-height:1.42;text-align:center}.leaf-cover{justify-content:center;gap:.8rem;color:var(--moonlight);background:#1a2138;box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 var(--u) 0 0 var(--brass),inset var(--u) 0 0 0 var(--brass-deep),inset 0 calc(-1 * var(--u)) 0 0 var(--brass-deep),inset calc(-1 * var(--u)) 0 0 0 var(--brass-deep),inset 0 0 0 calc(4 * var(--u)) #1a2138,inset 0 0 0 calc(4 * var(--u) + 2px) rgba(216,169,75,.4)}.leaf-cover .cover-title{font-size:clamp(1.8rem,7vw,2.4rem)}.leaf-cover .cover-names{font-size:1.2rem}.cover-for{margin-top:1.2rem;font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:1.3rem;color:var(--moon-dim)}.leaf-blank{justify-content:center;gap:1.4rem;background-color:#e6d9bb;box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 0 0 var(--u) var(--paper-lit),inset 0 0 0 calc(5 * var(--u)) #e6d9bb,inset 0 0 0 calc(5 * var(--u) + 2px) rgba(116,99,74,.45)}.leaf-blank .leaf-words{flex:0 0 auto;margin-top:0;color:var(--on-paper-soft)}.story-nav{position:-webkit-sticky;position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));background:rgba(6,9,15,.94);box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge)}.story-turn{display:grid;place-items:center;padding:.7rem .9rem;color:var(--moonlight)}.story-all{flex:1 1;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));align-content:start;grid-gap:1.2rem .9rem;gap:1.2rem .9rem;width:min(880px,92vw);margin:0 auto;padding:1.4rem 0 2rem;list-style:none}.story-all-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;cursor:pointer}.story-all-card .thumb{width:84px;height:84px;box-shadow:0 0 0 4px var(--paper-lit),0 0 0 7px var(--px-edge);transition:transform .16s steps(2)}.story-all-card:hover .thumb{transform:translateY(-4px)}.thumb-seal{position:absolute;right:3px;bottom:3px;display:block;padding:3px;background:var(--paper-lit);transform:rotate(-14deg);box-shadow:0 0 0 2px var(--px-edge);filter:drop-shadow(1px 2px 0 rgba(0,0,0,.35))}.leaf-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.2rem;width:min(92vw,470px);min-height:3.4rem;padding-top:.5rem}.leaf-sealed-note{padding:.6rem 0;color:var(--brass)}.arrange{flex-direction:column;gap:.4rem;width:100%;padding:.3rem 0 .2rem}.arrange,.arrange-row{display:flex;align-items:stretch}.arrange-row{flex-wrap:wrap;justify-content:center;gap:.3rem}.arrange-hint{margin:0;text-align:center}.tool-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-width:56px;min-height:54px;padding:.4rem .5rem;color:var(--moonlight);background:#161d30;cursor:pointer;box-shadow:inset 0 var(--u) 0 0 #2b3450,inset var(--u) 0 0 0 #2b3450,inset 0 calc(-1 * var(--u)) 0 0 #0d1220,inset calc(-1 * var(--u)) 0 0 0 #0d1220}.tool-btn:hover:not(:disabled){background:#1b2337}.tool-btn:active:not(:disabled){transform:translateY(var(--u));box-shadow:inset 0 calc(-1 * var(--u)) 0 0 #2b3450,inset calc(-1 * var(--u)) 0 0 0 #2b3450,inset 0 var(--u) 0 0 #0d1220,inset var(--u) 0 0 0 #0d1220}.tool-btn:disabled{opacity:.35;cursor:default}.tool-btn.is-on{background:#232b45;box-shadow:inset 0 0 0 var(--u) var(--brass)}.tool-btn.is-danger{color:var(--rose)}.tool-glyph{display:grid;place-items:center;height:20px;font-family:var(--font-display),monospace;font-weight:600;font-size:1rem;line-height:1}.tool-name{font-size:.5rem;letter-spacing:.08em;text-transform:uppercase;color:var(--moon-faint)}.tool-tape{width:26px;height:9px;background:rgba(216,169,75,.8);transform:rotate(-18deg);-webkit-clip-path:polygon(0 0,6% 25%,0 50%,6% 75%,0 100%,100% 100%,94% 75%,100% 50%,94% 25%,100% 0);clip-path:polygon(0 0,6% 25%,0 50%,6% 75%,0 100%,100% 100%,94% 75%,100% 50%,94% 25%,100% 0)}.tool-text{font-size:1.05rem}.arrange-done{align-self:center;margin-left:.5rem;padding:.9rem 1.3rem}.arrange-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));grid-gap:.3rem;gap:.3rem;padding:.6rem;background:#0f1523;box-shadow:inset 0 0 0 var(--u) #1d2438,0 0 0 var(--u) var(--px-edge);animation:fade .2s steps(3) both}.sheet-btn{display:grid;place-items:center;min-height:52px;background:var(--paper);cursor:pointer;box-shadow:inset 0 0 0 2px var(--paper-shade);transition:transform .12s steps(2)}.sheet-btn:hover:not(:disabled){background:var(--paper-lit);transform:translateY(-2px)}.sheet-btn:disabled{opacity:.4;cursor:default}.seal-btn{color:var(--rose)}.seal-btn:hover:not(:disabled){color:#e3a3aa}.kiss-seal{display:flex;flex-direction:column;align-items:center;gap:.6rem;width:100%;padding:.3rem 0 .4rem}.kiss-warn{max-width:34ch;margin:0;font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:1.02rem;line-height:1.4;text-align:center;color:var(--moon-dim)}.kiss-row{display:flex;align-items:center;gap:.9rem}.kiss-lips{position:relative;display:grid;place-items:center;width:84px;height:84px;padding:0;background:transparent;cursor:pointer;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.kiss-ring{position:absolute;inset:0;width:100%;height:100%;display:block}.kiss-lips-art{display:block;transform:scale(calc(1 + var(--p, 0) * .3));filter:drop-shadow(0 0 calc(var(--p, 0) * 6px) rgba(227,163,170,.8))}.kiss-lips.is-kissed .kiss-lips-art{animation:kiss-pop .5s steps(5) both}@keyframes kiss-pop{0%{transform:scale(1.3)}50%{transform:scale(.6,.5);opacity:.4}to{transform:scale(1);opacity:1}}.kiss-hint{min-width:7ch;text-align:center}.story-panel-scrim{z-index:60;align-items:start;overflow-y:auto;overscroll-behavior:contain}.story-panel{width:min(480px,100%);margin:auto}.story-panel-title{font-size:1.5rem}.story-step{min-width:0;margin:1.3rem 0 0;padding:0;border:none}.story-step legend{padding:0;margin-bottom:.6rem}.story-charms,.story-choices{display:grid;grid-gap:.6rem;gap:.6rem}.story-choices{grid-template-columns:1fr 1fr}.story-charms{grid-template-columns:repeat(4,1fr)}.story-charm,.story-choice{display:flex;flex-direction:column;gap:.3rem;padding:.9rem .8rem;text-align:left;color:var(--moonlight);background:#161d30;cursor:pointer;box-shadow:inset 0 var(--u) 0 0 #2b3450,inset var(--u) 0 0 0 #2b3450,inset 0 calc(-1 * var(--u)) 0 0 #0d1220,inset calc(-1 * var(--u)) 0 0 0 #0d1220}.story-charm{align-items:center;padding:.8rem .3rem .6rem;text-align:center}.story-charm:hover,.story-choice:hover:not(:disabled){background:#1b2337}.story-choice:disabled{opacity:.5;cursor:default}.story-charm.is-on,.story-choice.is-on{background:#232b45;box-shadow:inset 0 0 0 var(--u) var(--brass)}.story-choice-name{font-family:var(--font-display),monospace;font-size:1.15rem}.story-charm .label,.story-choice .label{line-height:1.5}.story-file{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.story-preview{display:block;max-width:100%;max-height:240px;margin:1.2rem auto 0;box-shadow:0 0 0 4px var(--paper-lit),0 0 0 7px var(--px-edge)}.story-preview-art{width:200px}.sheet .story-words{min-height:0;margin-top:0}.story-when{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.8rem}.story-date{width:auto;margin-top:0;letter-spacing:.08em;color-scheme:dark}.story-error{margin-top:1.1rem;font-size:.78rem;line-height:1.6;color:var(--rose)}.arcade{display:flex;flex-direction:column;gap:1rem;width:min(500px,100%);height:100dvh;padding:1.4rem 1.4rem calc(1.4rem + env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background-color:var(--night-2);background-image:radial-gradient(rgba(242,210,135,.13) 1px,transparent 1.3px),radial-gradient(rgba(201,123,132,.12) 1px,transparent 1.3px);background-position:0 0,14px 20px;background-size:28px 28px,40px 40px;animation:chat-in .32s var(--ease) both;box-shadow:calc(-1 * var(--u)) 0 0 0 var(--px-edge),inset var(--u) 0 0 0 #2b3450}.arcade.embedded{width:100%;height:auto;max-height:54dvh;padding:1rem;animation:none;box-shadow:inset 0 var(--u) 0 0 #2b3450}.arc-title{font-size:1.5rem}.arcade .chat-head{padding-bottom:0}.arc-menu{display:flex;flex-direction:column;gap:.7rem}.arc-menu>.label:not(:first-child){margin-top:.8rem}.arc-shelf{display:grid;grid-template-columns:1fr 1fr;grid-gap:.6rem;gap:.6rem}.arc-tile{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.9rem .85rem .8rem;text-align:left;color:var(--moonlight);background:#161d30;cursor:pointer;box-shadow:inset 0 var(--u) 0 0 #2b3450,inset var(--u) 0 0 0 #2b3450,inset 0 calc(-1 * var(--u)) 0 0 #0d1220,inset calc(-1 * var(--u)) 0 0 0 #0d1220}.arc-tile:hover:not(:disabled){background:#1c2439}.arc-tile:active:not(:disabled){transform:translateY(var(--u))}.arc-tile:disabled{opacity:.5;cursor:default}.arc-tile-art{display:grid;place-items:center;width:52px;height:52px;margin-bottom:.2rem;background:#0b1020;box-shadow:inset 0 0 0 2px #232c45}.arc-tile-name{font-family:var(--font-display),monospace;font-size:1.12rem;line-height:1.2}.arc-tile .label{line-height:1.7;color:var(--moon-dim)}.arc-score{display:flex;flex-direction:column;gap:.1rem}.arc-you{gap:.5rem;color:var(--moon-dim)}.arc-foot,.arc-you{display:flex;align-items:center}.arc-foot{flex-wrap:wrap;gap:.3rem;margin-top:auto}.four,.pairs,.ttt{width:min(100%,400px);margin:0 auto;padding:var(--u);background:#0b1020;box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge)}.arcade.embedded .four,.arcade.embedded .pairs,.arcade.embedded .ttt{width:min(100%,300px)}.ttt{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--u);gap:var(--u)}.ttt-cell{display:grid;place-items:center;aspect-ratio:1;background:#161d30;box-shadow:inset 0 var(--u) 0 0 #232c45,inset var(--u) 0 0 0 #232c45,inset 0 calc(-1 * var(--u)) 0 0 #0d1220,inset calc(-1 * var(--u)) 0 0 0 #0d1220}.ttt-cell:not(:disabled){cursor:pointer}.ttt-cell:not(:disabled):hover{background:#1f2840}.ttt-cell .piece{width:62%;height:auto;animation:set-down .24s steps(4) both}@keyframes set-down{0%{opacity:0;transform:scale(1.5)}}.four-cell.is-won,.ttt-cell.is-won{background:#3a3220;box-shadow:inset 0 0 0 var(--u) var(--brass);animation:won .9s steps(2) infinite}@keyframes won{50%{box-shadow:inset 0 0 0 var(--u) var(--brass-bright)}}.four{grid-template-columns:repeat(7,1fr);grid-gap:2px}.four,.four-col{display:grid;gap:2px}.four-col{grid-template-rows:repeat(6,1fr);grid-gap:2px;padding:0}.four-col:not(:disabled){cursor:pointer}.four-col:not(:disabled):hover .four-cell{background:#1f2840}.four-cell{display:grid;place-items:center;aspect-ratio:1;background:#161d30;box-shadow:inset 0 0 0 2px #0d1220}.four-disc{display:block;width:82%}.four-disc svg{width:100%;height:auto}.four-disc.is-new{animation:fall calc(.07s * var(--fall)) steps(var(--fall)) both}@keyframes fall{0%{transform:translateY(calc(-122% * var(--fall)))}}.pairs{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--u);gap:var(--u)}.pair{display:grid;place-items:center;aspect-ratio:3/4;background-color:#1d2745;background-image:radial-gradient(var(--brass) 3px,transparent 3.5px);background-position:50%;background-repeat:no-repeat;box-shadow:inset 0 var(--u) 0 0 #2f3b63,inset var(--u) 0 0 0 #2f3b63,inset 0 calc(-1 * var(--u)) 0 0 #121830,inset calc(-1 * var(--u)) 0 0 0 #121830}.pair:not(:disabled){cursor:pointer}.pair:not(:disabled):hover{background-color:#263258}.pair.is-up{background-color:var(--paper,#efe3c6);background-image:none;animation:turn-over .26s steps(4) both;box-shadow:inset 0 var(--u) 0 0 #fbf4df,inset var(--u) 0 0 0 #fbf4df,inset 0 calc(-1 * var(--u)) 0 0 #c9b88f,inset calc(-1 * var(--u)) 0 0 0 #c9b88f}@keyframes turn-over{0%{transform:scaleX(.1)}}.pair svg{width:62%;height:auto}.pair.is-kept.by-daksha{box-shadow:inset 0 0 0 var(--u) var(--rose)}.pair.is-kept.by-sriyan{box-shadow:inset 0 0 0 var(--u) var(--brass)}@media (max-width:620px){.arcade{width:100%;padding:1.1rem 1.1rem calc(1.1rem + env(safe-area-inset-bottom))}}.doodle{display:flex;flex-direction:column;align-items:center;gap:.8rem}.doodle-idea{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:1.2rem;line-height:1.35;text-align:center;color:var(--brass-bright)}.doodle-sheet{width:min(100%,416px);aspect-ratio:1;cursor:crosshair;image-rendering:pixelated;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),0 0 0 calc(2 * var(--u)) #2b3450}.arcade.embedded .doodle-sheet{width:min(100%,300px)}.doodle-inks{display:grid;grid-template-columns:repeat(9,1fr);grid-gap:6px;gap:6px;width:min(100%,416px)}.doodle-ink{display:grid;place-items:center;aspect-ratio:1;padding:0;cursor:pointer;box-shadow:inset 0 0 0 2px rgba(5,7,13,.55)}.doodle-ink.is-on{box-shadow:inset 0 0 0 2px var(--px-edge),0 0 0 3px var(--moonlight)}.doodle-rub{color:var(--moonlight);background:#161d30}.doodle-pin,.doodle-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.3rem}.doodle-pin{flex-direction:column}.doodle-pin .label{min-height:1.4rem;color:var(--live)}.deck{gap:.9rem}.deck,.deck-card{display:flex;flex-direction:column}.deck-card{gap:.5rem;margin:var(--u);padding:1.2rem 1.2rem 1.5rem;color:var(--on-paper,#2a2118);background-color:var(--paper,#efe3c6);background-image:radial-gradient(rgba(140,106,37,.13) 1px,transparent 1.2px);background-size:8px 8px;animation:deal .32s steps(5) both;box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 var(--u) 0 0 #fbf4df,inset var(--u) 0 0 0 #fbf4df,inset 0 calc(-1 * var(--u)) 0 0 #c9b88f,inset calc(-1 * var(--u)) 0 0 0 #c9b88f}@keyframes deal{0%{opacity:0;transform:translateY(-18px) rotate(-3deg)}}.deck-card-round{color:var(--on-paper-soft,#74634a)}.deck-card-words{font-family:var(--font-serif),Georgia,serif;font-size:clamp(1.25rem,4.6vw,1.6rem);line-height:1.3}.deck-answers,.deck-options{display:grid;grid-gap:.4rem;gap:.4rem}.deck-option{width:calc(100% - 2 * var(--u));text-align:center}.deck-reveal,.deck-write{display:flex;flex-direction:column;gap:.6rem}.deck-waiting{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;color:var(--moon-dim)}.deck-answer{padding:.8rem;background:#161d30;box-shadow:inset 0 var(--u) 0 0 #2b3450,inset var(--u) 0 0 0 #2b3450,inset 0 calc(-1 * var(--u)) 0 0 #0d1220,inset calc(-1 * var(--u)) 0 0 0 #0d1220}.deck-answer-text{margin-top:.3rem;font-size:.95rem;line-height:1.6}.call-screen{position:fixed;inset:0;z-index:50;display:grid;place-items:center;overflow:hidden;animation:fade .3s steps(4) both;background:radial-gradient(90ch 60ch at 50% 28%,rgba(216,169,75,.2),transparent 64%),linear-gradient(178deg,#0c1224 0,var(--ink) 60%,#04060b 100%)}.call-screen.is-live{display:flex;flex-direction:column;gap:.6rem;padding:calc(clamp(.5rem, 2vw, 1.1rem) + env(safe-area-inset-top)) clamp(.5rem,2vw,1.1rem) calc(clamp(.5rem, 2vw, 1.1rem) + env(safe-area-inset-bottom));background:#04060b}.call-behind{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}.is-mirrored{transform:scaleX(-1)}.call-ring{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;width:min(440px,100%);padding:2rem 1.4rem calc(2rem + env(safe-area-inset-bottom));text-align:center}.ring-moon{position:relative;display:grid;place-items:center;width:148px;height:148px;margin-bottom:2.2rem;filter:drop-shadow(0 0 50px rgba(244,233,212,.3))}.ring-wave{position:absolute;inset:-8px;animation:ring-out 2.4s steps(10) infinite}.ring-wave.is-late{animation-delay:1.2s}@keyframes ring-out{0%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.call-who{font-family:var(--font-display),monospace;font-weight:600;font-size:clamp(2.2rem,10vw,3.4rem);line-height:1;color:var(--moonlight);text-shadow:0 0 40px rgba(244,233,212,.3)}.call-note{max-width:34ch;margin-top:.5rem;font-size:.78rem;line-height:1.7;color:var(--moon-dim)}.call-note.is-wrong{color:var(--rose)}.call-keys{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem .9rem}.call-keys.is-answer{gap:.5rem 2rem;margin-top:2rem}.call-key{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:4.2rem;color:var(--moonlight);cursor:pointer}.call-key-face{display:grid;place-items:center;width:56px;height:56px;margin:var(--u);background:#1d2438;box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 var(--u) 0 0 #2b3450,inset var(--u) 0 0 0 #2b3450,inset 0 calc(-1 * var(--u)) 0 0 #0d1220,inset calc(-1 * var(--u)) 0 0 0 #0d1220}.call-key:hover .call-key-face{background:#242c44}.call-key:active .call-key-face{transform:translateY(var(--u))}.call-key-name{font-size:.56rem;letter-spacing:.1em;line-height:1.4;text-transform:uppercase;color:var(--moon-dim)}.call-keys.is-answer .call-key-face{width:68px;height:68px}.call-key.is-go .call-key-face{color:#0d1a08;background:var(--live);box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 var(--u) 0 0 var(--live-bright),inset var(--u) 0 0 0 var(--live-bright),inset 0 calc(-1 * var(--u)) 0 0 #5d8a4e,inset calc(-1 * var(--u)) 0 0 0 #5d8a4e}.call-key.is-go:hover .call-key-face{background:var(--live-bright)}.call-key.is-stop .call-key-face{color:#17070a;background:var(--rose);box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 var(--u) 0 0 #e3a3aa,inset var(--u) 0 0 0 #e3a3aa,inset 0 calc(-1 * var(--u)) 0 0 #8e4f58,inset calc(-1 * var(--u)) 0 0 0 #8e4f58}.call-key.is-stop:hover .call-key-face{background:#d78d96}.call-key.is-off .call-key-face{color:var(--rose);box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),inset 0 0 0 var(--u) rgba(201,123,132,.6)}.call-key.is-off .call-key-name{color:var(--rose)}.call-stage{position:relative;flex:1 1;min-height:0;overflow:hidden;background:#05070d;box-shadow:inset 0 0 0 var(--u) #1d2438}.call-main{display:block;width:100%;height:100%;object-fit:cover;background:#05070d}.is-dark{visibility:hidden}.call-cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:1.4rem;text-align:center;background:rgba(5,7,13,.88)}.call-cover .call-who{font-size:clamp(1.6rem,7vw,2.4rem)}.call-tag{position:absolute;top:.8rem;left:.8rem;display:flex;align-items:center;gap:.55rem;padding:.4rem .7rem;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--moonlight);background:rgba(5,7,13,.76)}.call-dot{width:8px;height:8px;box-shadow:inset 0 0 0 2px var(--moon-ghost)}.call-dot.is-live{background:var(--live);box-shadow:0 0 8px var(--live)}.call-timer{color:var(--moon-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.call-inset{position:absolute;right:calc(var(--u) + .5rem);bottom:calc(var(--u) + .5rem);width:clamp(92px,24vw,160px);aspect-ratio:3/4;padding:0;overflow:hidden;cursor:pointer;background:#0b1020;box-shadow:0 calc(-1 * var(--u)) 0 0 var(--px-edge),0 var(--u) 0 0 var(--px-edge),calc(-1 * var(--u)) 0 0 0 var(--px-edge),var(--u) 0 0 0 var(--px-edge),0 0 0 calc(2 * var(--u)) #2b3450}.call-inset-video{display:block;width:100%;height:100%;object-fit:cover}.call-inset-off{position:absolute;inset:0;display:grid;place-items:center;padding:.4rem;text-align:center;color:var(--moon-faint)}.call-screen.is-live>.call-note{align-self:center;margin:0}.after-call{text-align:center}.after-call-time{margin:.3rem 0 .2rem;font-family:var(--font-display),monospace;font-weight:600;font-size:clamp(1.8rem,8vw,2.4rem);line-height:1.1;color:var(--moonlight)}.after-call .call-note{margin:.6rem auto 0}.after-call .sheet-actions{justify-content:center}.plus-sheet{flex-direction:column;gap:.75rem;text-align:center}.plus-moons,.plus-sheet{display:flex;align-items:center}.plus-moons{gap:.6rem;margin-bottom:.2rem}.plus-heart{width:20px;height:20px;animation:beat 1.5s steps(2) infinite}.plus-title{font-weight:600;font-size:1.6rem;line-height:1.15;color:var(--moonlight)}.plus-line,.plus-title{font-family:var(--font-display),monospace}.plus-line{max-width:32ch;font-size:1rem;line-height:1.45;color:var(--moon-dim)}.plus-note{color:var(--moonlight)}.plus-error{color:var(--rose)}.plus-status{animation:plus-wait 1.2s steps(2) infinite}@keyframes plus-wait{50%{opacity:.4}}.plus-price{display:flex;flex-direction:column;align-items:center;margin-top:.3rem;font-family:var(--font-display),monospace;font-weight:600;font-size:2.2rem;line-height:1.1;color:var(--brass-bright)}.plus-actions{flex-wrap:wrap;justify-content:center;margin-top:.4rem}.plus-restore{padding:.4rem .6rem;font-size:var(--label);letter-spacing:.08em;text-transform:uppercase;color:var(--moon-faint)}.plus-restore:hover:not(:disabled){color:var(--brass)}.plus-restore:disabled{opacity:.3;cursor:not-allowed}