@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-soft-normal.DSA2Kggd.woff2)format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-soft-normal.DKHvU-YN.woff2)format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-soft-normal.C-lS_vzd.woff2)format("woff2-variations");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:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/caveat-cyrillic-ext-700-normal.CrK2-ngJ.woff2)format("woff2"),url(/_astro/caveat-cyrillic-ext-700-normal.DjFGiEhD.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/caveat-cyrillic-700-normal.BIyejhEL.woff2)format("woff2"),url(/_astro/caveat-cyrillic-700-normal.Bhcx9qBB.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/caveat-latin-ext-700-normal.DFbRgDry.woff2)format("woff2"),url(/_astro/caveat-latin-ext-700-normal.DjJQd59I.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:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/caveat-latin-700-normal.D8_1Nw6V.woff2)format("woff2"),url(/_astro/caveat-latin-700-normal.cPyBTTZN.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}:root{--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.3 0 0 0 0 0.25 0 0 0 0 0.2 0 0 0 0.09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}*,:before,:after{box-sizing:border-box}@view-transition{navigation:auto}::view-transition-old(root){animation:.11s ease-in both vt-out}::view-transition-new(root){animation:.24s ease-out 90ms both vt-in}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}html{-webkit-text-size-adjust:100%}body{background:var(--grain), var(--paper);color:var(--ink);font:18px/1.65 var(--font-body);font-variation-settings:"SOFT" 50;margin:0}.hand{font-family:var(--font-hand);font-weight:700}a{color:var(--accent);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}h1,h2,h3{font-weight:600;line-height:1.1;font-family:var(--font-display);font-variation-settings:"SOFT" 100;letter-spacing:-.01em}h1{margin:0 0 .5rem;font-size:clamp(2rem,5vw,3rem)}.ui{font-family:var(--font-ui)}.muted{color:var(--ink-2)}.page{max-width:68rem;margin:0 auto;padding:1.5rem 1rem 7rem}.reading{max-width:40rem}.skip{position:absolute;left:-999px}.skip:focus{background:var(--paper);padding:.5rem 1rem;top:1rem;left:1rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dock{left:50%;bottom:max(1rem, env(safe-area-inset-bottom));background:var(--paper);border:1.5px solid var(--pencil);font:500 .9rem var(--font-ui);box-shadow:3px 3px 0 var(--pencil);z-index:10;border-radius:999px;gap:.25rem;padding:.35rem;display:flex;position:fixed;transform:translate(-50%)}.dock a{min-height:44px;color:var(--ink);border-radius:999px;align-items:center;padding:0 1.1rem;text-decoration:none;display:inline-flex}.dock a:hover,.dock a[aria-current=page]{background:var(--paper);color:var(--sw-clay)}.dock .dock-help{width:44px;font:700 1.05rem var(--font-display);border:1.5px dashed color-mix(in srgb, var(--pencil) 45%, transparent);justify-content:center;padding:0}:root[data-scheme=dark] .dock a:hover,:root[data-scheme=dark] .dock a[aria-current=page]{color:var(--accent)}.room{border-top:2px dashed var(--line);padding:2.5rem 0 1rem}.room h2{margin:0}.room h2 a{min-height:44px;color:inherit;align-items:center;text-decoration:none;display:inline-flex}.room>p{margin:.25rem 0 1rem}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:.75rem;display:grid}.card{border:1.5px solid var(--pencil);background:var(--paper);color:var(--ink);box-shadow:4px 4px 0 color-mix(in srgb, var(--accent) 55%, var(--pencil));border-radius:3px 12px;padding:1.1rem 1.2rem;text-decoration:none;transition:transform .15s,box-shadow .15s;display:block}.card:nth-child(3n+1){rotate:-.6deg}.card:nth-child(3n+2){rotate:.5deg}.card:hover{box-shadow:6px 6px 0 color-mix(in srgb, var(--accent) 55%, var(--pencil));transform:translate(-2px,-2px)}.card h3{margin:.25rem 0;font-size:1.1rem}.card p{color:var(--ink-2);margin:0;font-size:.95rem}.tag{font:500 .75rem var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:color-mix(in srgb, var(--accent) 68%, var(--ink))}.facts{font:.95rem var(--font-ui);grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:1.5rem 0;display:grid}.facts dt{color:var(--ink-2)}.facts dd{margin:0}.gate{text-align:center;padding:4rem 1rem}.gate button{font:inherit}.bsvg .sketch{filter:url(#pencil)}.bsvg .ink{fill:none;stroke:var(--pencil);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.bsvg .paper{filter:url(#paper)}.bsvg .pc{fill:var(--fill);stroke:#34281e80;stroke-width:.9px;stroke-linejoin:round}.bsvg .pc.lit{fill:var(--sw-glow)}.bsvg .cut-line{fill:none;stroke:var(--sw-charcoal);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;opacity:.75}.room-hero{border-bottom:2px solid var(--pencil);grid-template-columns:minmax(0,1fr);align-items:end;gap:1rem;margin:1rem 0 2.5rem;padding-bottom:1.5rem;display:grid}.room-hero .bsvg{width:min(60vw,240px);height:auto}.room-hero .sketch{display:none}.room-hero .count{color:var(--accent);margin:0;font-size:1.6rem}@media (width>=768px){.room-hero{grid-template-columns:1fr auto}}.plain-title{margin:0 0 .25rem}.contact-row{flex-wrap:wrap;align-items:center;gap:.4rem .9rem;margin:0 0 .9rem;font-size:.9rem;display:flex}.contact-row a{min-height:44px;color:var(--ink);text-decoration-color:color-mix(in srgb, var(--ink) 35%, transparent);align-items:center;font-weight:500;display:inline-flex}.say-hi{border:1.5px solid var(--pencil);min-height:44px;box-shadow:2px 2px 0 var(--pencil);background:#4f6f57;border-radius:999px;align-items:center;padding:0 1.1rem;font-weight:600;transition:transform .12s,box-shadow .12s;display:inline-flex;color:#fff!important;text-decoration:none!important}.say-hi:hover{box-shadow:3px 3px 0 var(--pencil);transform:translate(-1px,-1px)}.say-hi:active{box-shadow:0 0 0 var(--pencil);transform:translate(2px,2px)}.hero-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin:0 0 .6rem;display:flex}.hi-btn{font:600 1rem var(--font-ui);cursor:pointer;gap:.4rem;padding:0 1.25rem}.hi-wave{transform-origin:70% 80%;animation:2.6s ease-in-out 1.2s infinite hi-wave;display:inline-block}@keyframes hi-wave{0%,60%,to{rotate:0deg}10%,30%{rotate:16deg}20%,40%{rotate:-8deg}}.ask-claude{min-height:44px;font:600 .95rem var(--font-ui);color:var(--ink);background:var(--paper);border:1.5px solid var(--pencil);box-shadow:2px 2px 0 var(--pencil);border-radius:999px;align-items:center;gap:.5rem;padding:0 1.1rem;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-flex}.ask-claude:hover{box-shadow:3px 3px 0 var(--pencil);transform:translate(-1px,-1px)}.ask-claude:active{box-shadow:0 0 0 var(--pencil);transform:translate(1px,1px)}.ask-claude .brand-icon{width:20px;height:20px;transition:rotate .5s cubic-bezier(.3,1.4,.5,1)}.ask-claude:hover .brand-icon{rotate:90deg}.hi-chat{inset:auto;left:var(--x,16px);top:var(--y,30%);width:min(340px,100vw - 24px);color:var(--ink);background:var(--paper);border:1.5px solid var(--pencil);box-shadow:4px 4px 0 var(--pencil);border-radius:18px;margin:0;padding:.9rem;position:fixed}.hi-chat:popover-open{gap:.5rem;animation:.28s cubic-bezier(.3,1.3,.5,1) tm-in;display:grid}.hc-msg{max-width:88%;font:.95rem/1.4 var(--font-ui);border:1.5px solid var(--pencil);background:var(--paper-2);border-radius:14px 14px 14px 4px;justify-self:start;margin:0;padding:.55rem .85rem}.hc-me{color:#fff;background:color-mix(in srgb, var(--accent) 80%, #000);border-radius:14px 14px 4px;justify-self:end}:root[data-scheme=dark] .hc-me{color:#1a1b22;background:var(--accent)}.hc-chips{flex-direction:column;align-items:flex-start;gap:.4rem;display:flex}.hc-chips[hidden],.hc-answer[hidden],.hc-again[hidden]{display:none}.hc-chip{min-height:40px;font:600 .88rem var(--font-ui);color:var(--ink);cursor:pointer;text-align:left;background:var(--paper);border:1.5px solid var(--pencil);box-shadow:2px 2px 0 var(--pencil);border-radius:999px;padding:.3rem .9rem}.hc-chip:hover{background:color-mix(in srgb, var(--accent) 10%, var(--paper))}.hc-answer{gap:.5rem;display:grid}.hc-answer.typing .hc-from,.hc-answer.typing .hc-go{visibility:hidden}.hc-answer.typing .hc-me:after{content:""}.hc-go{min-height:44px;font:600 .92rem var(--font-ui);color:#fff;border:1.5px solid var(--pencil);box-shadow:2px 2px 0 var(--pencil);background:#4f6f57;border-radius:999px;justify-self:start;align-items:center;padding:0 1rem;text-decoration:none;display:inline-flex}.hc-foot{justify-content:space-between;align-items:center;gap:.5rem;margin:.15rem 0 0;font-size:.82rem;display:flex}.hc-foot a{color:var(--ink-2)}.hc-again{min-height:36px;font:500 .82rem var(--font-ui);color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:0 .2rem;text-decoration:underline}@media (width<=640px){.hi-chat{width:auto;inset:auto 12px 12px}}.contact-row.compact{gap:.5rem}.contact-row .icon-link{border:1.5px solid var(--pencil);background:var(--paper);width:44px;height:44px;color:var(--ink);border-radius:50%;justify-content:center;padding:0;transition:transform .12s}.contact-row .icon-link:hover{transform:translateY(-2px)}.contact-row .icon-link svg{fill:currentColor;width:20px;height:20px}.id-strip{border:1.5px dashed var(--line);border-radius:12px;flex-wrap:wrap;gap:.5rem 1.5rem;margin:0 0 1.25rem;padding:.7rem 1rem;font-size:.9rem;display:flex}.id-strip div{display:grid}.id-strip dt{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);font-size:.72rem}.id-strip dd{margin:0;font-weight:600}.contact{max-width:52rem}.contact-intro{margin:0 0 1.25rem;font-size:1.1rem}.contact-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.contact-card{position:relative}.contact-card>a{height:100%;color:var(--ink);background:var(--paper);border:1.5px solid var(--pencil);box-shadow:4px 4px 0 color-mix(in srgb, var(--accent) 55%, var(--pencil));border-radius:4px 14px;gap:.15rem;padding:1rem 1.1rem 1.1rem;text-decoration:none;transition:transform .15s,box-shadow .15s;display:grid}.contact-card>a:hover{box-shadow:6px 6px 0 color-mix(in srgb, var(--accent) 55%, var(--pencil));transform:translate(-2px,-2px)}.contact-card strong{font:600 1.25rem var(--font-display)}.cc-note{color:var(--accent);font-size:1.2rem;line-height:1.1}.cc-value{font:.88rem var(--font-ui);color:var(--ink-2);overflow-wrap:anywhere}.cc-email>a{box-shadow:4px 4px 0 var(--sw-moss)}.card{position:relative}.sample-ribbon{font:700 .7rem var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:#fff;border:1.5px solid var(--pencil);background:#8a5a2b;padding:.1rem .6rem;position:absolute;top:.6rem;right:-.4rem;rotate:4deg}.sample-note{color:var(--ink);background:color-mix(in srgb, #e0a53e 22%, var(--paper));border:1.5px dashed #8a5a2b;border-radius:10px;margin:.6rem 0;padding:.5rem .8rem;font-size:.88rem}.book-sample{font:700 .58rem var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:#fff;white-space:nowrap;background:#8a5a2b;padding:0 .35rem;position:absolute;top:38%;left:50%;translate:-50%;rotate:-90deg}.build-links{flex-wrap:wrap;gap:.5rem;margin:.8rem 0 1.2rem;display:flex}.build-links a{min-height:44px;color:var(--ink);background:var(--paper);border:1.5px solid var(--pencil);box-shadow:2px 2px 0 var(--pencil);border-radius:999px;align-items:center;padding:0 1rem;font-weight:600;text-decoration:none;display:inline-flex}.build-links .build-live{color:#fff;background:#2f5f99}.build-parts ul,.build-learned ul{gap:.5rem;padding:0;list-style:none;display:grid}.build-parts li{border:1.5px solid var(--pencil);background:var(--paper-2);border-radius:8px;gap:.1rem;padding:.6rem .8rem;display:grid}.build-parts li span{color:var(--ink-2);font-size:.92rem}.build-log ol{padding-left:1.2rem}.build-log .when{color:var(--accent);font-weight:700}.build-learned li:before{content:"✓ ";color:var(--accent);font-weight:700}.windows{grid-template-columns:repeat(auto-fill,minmax(min(100%,16.5rem),1fr));gap:1.4rem 1.1rem;margin:1.6rem 0 0;padding:0;list-style:none;display:grid}.windows.n-1{grid-template-columns:minmax(0,32rem)}.windows.n-2,.windows.n-4{grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr))}.window{--bg:#a4482a;--fg:#fff;--btn-bg:#fbf5ea;--btn-fg:#2b2622;color:var(--fg);background:var(--bg);border:1.5px solid var(--pencil);box-shadow:4px 5px 0 var(--pencil);animation:w-in .5s cubic-bezier(.3, 1.35, .5, 1) calc(var(--n) * 90ms) both;border-radius:10px 18px 12px 16px;flex-direction:column;padding:1.5rem 1.3rem 1.25rem;transition:transform .2s cubic-bezier(.3,1.4,.5,1),box-shadow .2s;display:flex;position:relative}@keyframes w-in{0%{opacity:0;translate:0 14px;rotate:-2deg}}.window:nth-child(odd){rotate:-.6deg}.window:nth-child(2n){rotate:.5deg}.window:hover{box-shadow:6px 8px 0 var(--pencil);transform:translate(-2px,-3px)rotate(-.4deg)}.w-topmate{--bg:#3d3a8c}.w-coffee{--bg:#fd0;--fg:#1f1a10;--btn-bg:#1f1a10;--btn-fg:#fff7c2}.w-newsletter{--bg:#4f6f57}.w-nudge{color:var(--ink);background:var(--paper);border:1.5px solid var(--pencil);box-shadow:2px 2px 0 var(--pencil);border-radius:4px;padding:.1rem .65rem;font-size:1.05rem;line-height:1.3;position:absolute;top:-.85rem;right:1rem;rotate:3deg}.w-mark{min-width:2.6rem;height:2.6rem;font:700 1.1rem var(--font-display);opacity:.22;pointer-events:none;place-items:center;display:grid;position:absolute;bottom:1rem;right:1.1rem}.w-mark:before{content:attr(data-mark)}.w-mark .brand-icon{width:2.4rem;height:2.4rem}.window:hover .w-mark{opacity:.35;animation:.5s stamp-wiggle}.w-kicker{font:600 .78rem var(--font-ui);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .15rem}.w-label{font:600 1.55rem/1.1 var(--font-display);color:inherit;margin:0 0 .4rem}.w-blurb{font:.95rem/1.45 var(--font-ui);opacity:.95;flex:1;max-width:30ch;margin:0 0 1.1rem}.w-action{min-height:46px;font:700 .95rem var(--font-ui);color:var(--btn-fg);background:var(--btn-bg);cursor:pointer;border:1.5px solid var(--pencil);box-shadow:2px 2px 0 var(--pencil);border-radius:999px;align-self:flex-start;align-items:center;padding:0 1.2rem;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-flex}.w-action:hover{box-shadow:3px 3px 0 var(--pencil);transform:translate(-1px,-1px)}.w-action:active{box-shadow:0 0 0 var(--pencil);transform:translate(1px,1px)}.w-upi{color:inherit;margin-top:.55rem;font-size:.85rem}.w-form{flex-wrap:wrap;gap:.5rem;display:flex}.w-form input{min-height:46px;font:.95rem var(--font-ui);color:#2b2622;border:1.5px solid var(--pencil);background:#fbf5ea;border-radius:999px;flex:11rem;padding:0 .9rem}.window:target{outline:3px solid var(--accent);outline-offset:5px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.po-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin:2rem 0 0;display:flex}.po-foot p{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;display:flex}.po-foot .hand{color:var(--ink-2);font-size:1.35rem}.po-hi a{color:var(--ink);font-weight:600}.po-elsewhere .icon-link{border:1.5px solid var(--pencil);width:44px;height:44px;color:var(--ink);background:var(--paper);border-radius:50%;justify-content:center;align-items:center;transition:transform .12s;display:inline-flex}.po-elsewhere .icon-link:hover{transform:translateY(-2px)}.po-elsewhere svg{fill:currentColor;width:20px;height:20px}.po-elsewhere svg.stroke{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linejoin:round}.ask-ai-link .brand-icon{width:18px;height:18px;margin-right:.45rem}.ask-ai{border:1.5px dashed var(--pencil);border-radius:14px;margin-top:2rem;padding:1rem 1.1rem 1.1rem}.ask-ai h2{color:var(--accent);margin:0;font-size:1.6rem;font-weight:400}.ask-ai p{margin:.2rem 0 .9rem}.ask-ai-links{flex-wrap:wrap;align-items:center;gap:.6rem .9rem;display:flex}.ask-ai-link{min-height:44px;color:var(--ink);background:var(--paper);border:1.5px solid var(--pencil);box-shadow:2px 2px 0 var(--pencil);border-radius:999px;align-items:center;padding:0 1.1rem;font-weight:600;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-flex}.ask-ai-link:hover{box-shadow:3px 3px 0 var(--pencil);transform:translate(-1px,-1px)}.ask-ai-link:active{box-shadow:0 0 0 var(--pencil);transform:translate(2px,2px)}.ask-ai-raw{color:var(--ink-2);font-size:.9rem}.cc-copy{border:1.5px solid var(--pencil);background:var(--paper-2);color:var(--ink);cursor:pointer;border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:600;position:absolute;top:.8rem;right:.8rem}.opening-soon{border:1.5px dashed var(--pencil);border-radius:14px;max-width:36rem;padding:1.5rem}.opening-soon p{margin:0 0 1rem;font-size:1.1rem}.room-nav{border-top:2px dashed var(--line);flex-wrap:wrap;align-items:center;gap:.5rem;margin:3.5rem 0 0;padding-top:1.25rem;display:flex}.room-nav .hand{color:var(--ink-2);margin-right:.25rem;font-size:1.3rem}.room-nav a{min-height:44px;color:var(--ink);border:1.5px solid var(--pencil);background:var(--paper);box-shadow:2px 2px 0 var(--accent);border-radius:999px;align-items:center;padding:0 1rem;font-size:.88rem;font-weight:500;text-decoration:none;display:inline-flex}.room-nav a:hover{background:var(--paper-2)}.back{font-weight:500}.dock{transition:transform .25s,opacity .25s}.dock.dock-hidden{opacity:0;transform:translate(-50%,160%)}@media (prefers-reduced-motion:reduce){.dock{transition:none}}.sound-toggle{width:44px;min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;margin-left:.15rem;padding:0;display:inline-flex}.sound-toggle:hover{background:var(--paper-2)}.sound-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.sound-toggle .spk{fill:currentColor}.sound-toggle .wave{display:none}.sound-toggle[data-on=true] .wave{display:inline}.sound-toggle[data-on=true] .mute{display:none}.sound-toggle[data-on=true]{color:var(--sw-clay)}@property --reveal{syntax:"<percentage>";inherits:false;initial-value:0%}html[data-arrive] body:after{content:"";z-index:90;pointer-events:none;-webkit-mask-image:radial-gradient(circle at var(--arrive-x,50%) var(--arrive-y,60%), transparent var(--reveal), #000 calc(var(--reveal) + 6%));mask-image:radial-gradient(circle at var(--arrive-x,50%) var(--arrive-y,60%), transparent var(--reveal), #000 calc(var(--reveal) + 6%));background:#221b15;animation:.85s cubic-bezier(.5,0,.2,1) 80ms both arrive-iris;position:fixed;inset:0}@keyframes arrive-iris{0%{--reveal:0%}to{--reveal:150%}}html[data-arrive]::view-transition-old(root),html[data-arrive]::view-transition-new(root){animation:none}html[data-arrive=lamp] body:after{-webkit-mask-image:radial-gradient(ellipse 70% 90% at 50% 0%, transparent var(--reveal), #000 calc(var(--reveal) + 14%));mask-image:radial-gradient(ellipse 70% 90% at 50% 0%, transparent var(--reveal), #000 calc(var(--reveal) + 14%));animation:.95s cubic-bezier(.4,0,.2,1) .15s both arrive-lamp}@keyframes arrive-lamp{0%{--reveal:0%}18%{--reveal:4%}26%{--reveal:2%}to{--reveal:180%}}html[data-arrive=unroll] body:after{-webkit-mask-image:linear-gradient(to bottom, transparent var(--reveal), #000 calc(var(--reveal) + 3%));mask-image:linear-gradient(to bottom, transparent var(--reveal), #000 calc(var(--reveal) + 3%));animation:.7s cubic-bezier(.6,0,.2,1) 50ms both arrive-unroll}@keyframes arrive-unroll{0%{--reveal:0%}to{--reveal:104%}}@media (prefers-reduced-motion:reduce){html[data-arrive] body:after{display:none}}body[data-room=workshop]{background:linear-gradient(#2f6fb517 1px, transparent 1px) 0 0 / 28px 28px, linear-gradient(90deg, #2f6fb517 1px, transparent 1px) 0 0 / 28px 28px, linear-gradient(#2f6fb50d 1px, transparent 1px) 0 0 / 7px 7px, var(--grain), var(--paper)}body[data-room=workshop] .card{position:relative}body[data-room=workshop] .card:before{content:"";background:#f3d58ec7;border:1px solid #34281e1f;width:58px;height:18px;position:absolute;top:-9px;left:50%;translate:-50%;rotate:-3deg;box-shadow:0 1px 1px #0000000f}body[data-room=workshop] .card:nth-child(2n):before{left:44%;rotate:4deg}body[data-room=workshop] .cards .card{animation:.5s cubic-bezier(.3,1.4,.5,1) both pin-up}body[data-room=workshop] .cards .card:first-child{animation-delay:.15s}body[data-room=workshop] .cards .card:nth-child(2){animation-delay:.22s}body[data-room=workshop] .cards .card:nth-child(3){animation-delay:.29s}body[data-room=workshop] .cards .card:nth-child(4){animation-delay:.36s}body[data-room=workshop] .cards .card:nth-child(5){animation-delay:.43s}body[data-room=workshop] .cards .card:nth-child(n+6){animation-delay:.5s}html[data-arrive=unroll] body[data-room=workshop] .cards .card{animation-delay:.75s}@keyframes pin-up{0%{opacity:0;translate:0 -14px;scale:.97}}@media (prefers-reduced-motion:reduce){body[data-room=workshop] .cards .card{animation:none}}html[data-arrive=envelope] body:after{animation:.75s cubic-bezier(.55,0,.25,1) 50ms both arrive-envelope;-webkit-mask-image:none;mask-image:none}@keyframes arrive-envelope{0%{clip-path:polygon(0 0,100% 0,100% 100%,50% 100%,0 100%)}45%{clip-path:polygon(0 0,100% 0,100% 100%,50% 42%,0 100%)}to{clip-path:polygon(0 0,100% 0,100% 0,50% -60%,0 0)}}body[data-room=post-office]{background:repeating-linear-gradient(-45deg, #b8432f 0 18px, transparent 18px 36px, #3f5e7e 36px 54px, transparent 54px 72px) top / 100% 10px no-repeat, var(--grain), var(--paper)}body[data-room=post-office] .contact-card{animation:letter-out .55s cubic-bezier(.3, 1.35, .5, 1) calc(var(--n,0) * 80ms + .15s) both}html[data-arrive=envelope] body[data-room=post-office] .contact-card{animation-delay:calc(var(--n,0) * 80ms + .6s)}@keyframes letter-out{0%{opacity:0;translate:0 36px;rotate:-2deg}}.contact-card>a{padding-right:4.5rem;position:relative}.stamp{width:46px;height:54px;font:700 1.05rem var(--font-ui);color:#fff;background:var(--stamp);box-sizing:border-box;place-items:center;padding:4px;transition:rotate .25s cubic-bezier(.3,1.6,.5,1);display:grid;position:absolute;top:.85rem;right:.85rem;rotate:4deg;-webkit-mask:radial-gradient(2.6px,#0000 96%,#000) -3.5px -3.5px/7px 7px round,linear-gradient(#000 0 0) content-box;mask:radial-gradient(2.6px,#0000 96%,#000) -3.5px -3.5px/7px 7px round,linear-gradient(#000 0 0) content-box}.contact-card:nth-child(2n) .stamp{rotate:-3deg}.contact-card>a:hover .stamp{animation:.5s stamp-wiggle;rotate:-8deg}@keyframes stamp-wiggle{30%{rotate:6deg}60%{rotate:-6deg}}.cc-email .cc-copy{top:auto;bottom:.8rem;right:.8rem}.postmark{border:3px double var(--sw-clay);width:88px;height:88px;color:var(--sw-clay);pointer-events:none;z-index:2;font:700 .8rem var(--font-ui);letter-spacing:.12em;text-transform:uppercase;opacity:0;background:repeating-linear-gradient(0deg,#0000 0 9px,#9e4a2c59 9px 11px) right -60px center/120px 60px no-repeat;border-radius:50%;place-items:center;display:grid;position:absolute;top:1.1rem;right:2.6rem}.stamped .postmark{animation:1.8s cubic-bezier(.2,1.4,.4,1) both postmark}@keyframes postmark{0%{opacity:0;rotate:-18deg;scale:1.6}12%{opacity:.95;rotate:-12deg;scale:1}80%{opacity:.95}to{opacity:0;rotate:-12deg;scale:1}}@media (prefers-reduced-motion:reduce){body[data-room=post-office] .contact-card,.stamped .postmark,.contact-card>a:hover .stamp{animation:none}}@media (pointer:fine){body[data-room=library]:not(:has(.post)){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20stroke='#34312d'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3%2029%20L9%2023'%20/%3E%3Cpath%20d='M9%2023%20C10%2014%2018%206%2028%203%20C26%2012%2019%2020%209%2023%20Z'%20fill='#fbf5ea'/%3E%3Cpath%20d='M9%2023%20L20%2011'/%3E%3C/svg%3E") 3 29,auto}body[data-room=workshop]{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20stroke='#34312d'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%2028%20L6%2021%20L22%205%20L27%2010%20L11%2026%20Z'%20fill='#e0a53e'/%3E%3Cpath%20d='M4%2028%20L6%2021%20L11%2026%20Z'%20fill='#fbf5ea'/%3E%3Cpath%20d='M19%208%20L24%2013'/%3E%3C/svg%3E") 4 28,auto}body[data-room=post-office]{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20stroke='#34312d'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%204%20h8%20v8%20l-2%203%20h-4%20l-2%20-3%20Z'%20fill='#9e4a2c'/%3E%3Cpath%20d='M7%2017%20h18%20v5%20H7%20Z'%20fill='#fbf5ea'/%3E%3Cpath%20d='M8%2025%20h16'/%3E%3C/svg%3E") 16 26,auto}body[data-room=cafe]{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20stroke='#34312d'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M6%2012%20h16%20v8%20a6%206%200%200%201%20-6%206%20h-4%20a6%206%200%200%201%20-6%20-6%20Z'%20fill='#fbf5ea'/%3E%3Cpath%20d='M22%2014%20h3%20a3%203%200%200%201%200%206%20h-3'/%3E%3Cpath%20d='M11%205%20q-2%202%200%204%20M16%204%20q-2%202%200%204'/%3E%3C/svg%3E") 14 12,auto}body[data-room=arcade]{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20stroke='#34312d'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='16'%20cy='16'%20r='9'%20fill='#fbf5ea'/%3E%3Cpath%20d='M16%203%20v6%20M16%2023%20v6%20M3%2016%20h6%20M23%2016%20h6'/%3E%3Ccircle%20cx='16'%20cy='16'%20r='2'%20fill='#c8643b'/%3E%3C/svg%3E") 16 16,auto}body[data-room=court]{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20stroke='#34312d'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='7'%20cy='7'%20r='4'%20fill='#fbf5ea'/%3E%3Cpath%20d='M10%2010%20L25%2017%20L17%2025%20Z'%20fill='#fbf5ea'/%3E%3Cpath%20d='M13%2013%20L21%2021'/%3E%3C/svg%3E") 5 5,auto}}.bc-nav{z-index:12;position:sticky;top:0}.breadcrumb{min-height:44px;color:var(--ink);background:var(--paper-2);border-bottom:1.5px dashed var(--line);justify-content:center;align-items:center;gap:.5rem;padding:.4rem 1rem;font-size:.9rem;text-decoration:none;display:flex}.breadcrumb svg{fill:none;width:16px;height:16px;stroke:var(--accent);stroke-width:2px}.breadcrumb .bc-out{color:var(--ink);text-decoration:underline 2px var(--accent);text-underline-offset:3px;font-weight:600}.breadcrumb:hover .bc-out{text-decoration-thickness:3px}.time-chip{top:max(.9rem, env(safe-area-inset-top));z-index:30;min-height:44px;color:var(--ink);background:var(--paper);border:1.5px solid var(--pencil);box-shadow:2px 2px 0 var(--pencil);cursor:pointer;border-radius:999px;align-items:center;gap:.55rem;padding:.3rem .85rem .3rem .35rem;transition:transform .15s,box-shadow .15s;display:inline-flex;position:fixed;right:1rem}.time-chip:hover{box-shadow:3px 3px 0 var(--pencil);transform:translate(-1px,-1px)}.time-chip:active{box-shadow:1px 1px 0 var(--pencil);transform:translate(1px,1px)}.tc-window{background:linear-gradient(var(--sky-top), var(--sky-bottom));border:1.5px solid var(--pencil);border-radius:50%;flex:none;width:32px;height:32px;position:relative;overflow:hidden}.tc-window:before{content:"";background:var(--hill-near);border-radius:50%;height:80%;position:absolute;bottom:-55%;left:-20%;right:-20%}.tc-window:after{content:"";background:var(--sun);width:11px;height:11px;box-shadow:0 0 6px var(--sun);border-radius:50%;position:absolute;top:40%;left:50%;translate:-50% -50%}:root[data-scheme=dark] .tc-window:after{box-shadow:inset -3px -1px 0 0 var(--sky-top);background:#f4efe2}.tc-text{text-align:left;line-height:1.1;display:grid}.tc-phase{font:600 .88rem var(--font-ui)}.tc-time{font:.72rem var(--font-ui);color:var(--ink-2)}:root[data-time-mode=manual] .tc-time:after{content:" · set"}.time-menu{inset:calc(max(.9rem, env(safe-area-inset-top)) + 56px) 1rem auto auto;width:min(18.5rem,100vw - 2rem);color:var(--ink);background:var(--paper);border:1.5px solid var(--pencil);box-shadow:4px 4px 0 var(--pencil);border-radius:18px;margin:0;padding:.75rem .75rem .7rem;position:fixed;overflow:hidden}.time-menu:popover-open{transform-origin:85% 0;animation:.28s cubic-bezier(.3,1.3,.5,1) tm-in}@keyframes tm-in{0%{opacity:0;translate:0 -8px;scale:.92}}.tw-head{justify-content:space-between;align-items:center;gap:.5rem;min-height:32px;margin-bottom:.1rem;display:flex}.tw-mode{font:600 .74rem var(--font-ui);color:var(--ink-2)}.tw-mode[data-mode=auto]:before{content:"";background:var(--sw-moss);vertical-align:1px;width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--sw-moss) 25%, transparent);border-radius:50%;margin-right:.4rem;animation:2s ease-in-out infinite live;display:inline-block}@keyframes live{50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--sw-moss) 8%, transparent)}}.tw-reset{min-height:32px;font:600 .76rem var(--font-ui);color:var(--ink);background:var(--paper-2);border:1.5px solid var(--pencil);box-shadow:1.5px 1.5px 0 var(--pencil);cursor:pointer;border-radius:999px;align-items:center;gap:.3rem;padding:0 .65rem 0 .5rem;transition:transform .12s,box-shadow .12s;display:inline-flex}.tw-reset svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.tw-reset:hover svg{animation:.6s spin-back}.tw-reset:active{box-shadow:0 0 0 var(--pencil);transform:translate(1px,1px)}@keyframes spin-back{to{rotate:-360deg}}.tw-reset[data-on=true]{visibility:hidden}.tw{--r:112px;touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;outline:none;height:136px;margin:0 -.75rem;position:relative;overflow:hidden}.tw.dragging{cursor:grabbing}.tw:focus-visible .tw-item.is-current .tw-window{outline:2.5px solid var(--accent);outline-offset:5px}.tw-arc{left:50%;top:calc(100% + 18px - var(--r));width:calc(var(--r) * 2);height:calc(var(--r) * 2);border:1.5px dashed var(--line);pointer-events:none;border-radius:50%;position:absolute;translate:-50%}.tw-item{color:var(--ink-2);cursor:pointer;transform:translate(-50%, -50%) rotate(var(--a-deg,0deg)) translateY(calc(-1 * var(--r))) rotate(calc(-1 * var(--a-deg,0deg))) scale(var(--scale,1));will-change:transform, opacity;background:0 0;border:0;padding:0;display:block;position:absolute;top:calc(100% + 18px);left:50%}.tw-window{background:linear-gradient(var(--a), var(--b));border:1.5px solid var(--pencil);width:40px;height:40px;box-shadow:2px 2px 0 var(--pencil);border-radius:50%;display:block;position:relative;overflow:hidden}.tw-window:before{content:"";background:var(--g);border-radius:50%;height:80%;position:absolute;bottom:-55%;left:-20%;right:-20%}.tw-window:after{content:"";background:var(--s);width:12px;height:12px;box-shadow:0 0 6px var(--s);border-radius:50%;position:absolute;top:36%;left:56%;translate:-50% -50%}.tw-item[data-dark] .tw-window:after{box-shadow:inset -3px -1px 0 0 var(--a);background:#f4efe2}.tw-name{font:600 .68rem var(--font-ui);letter-spacing:.02em;white-space:nowrap;position:absolute;top:calc(100% + .2rem);left:50%;translate:-50%}.tw-item.is-current{color:var(--ink)}.tw-item.is-current .tw-window{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 35%, transparent), 2px 2px 0 var(--pencil)}.tw-pointer{pointer-events:none;border:6px solid #0000;border-top-color:var(--accent);width:0;height:0;position:absolute;top:2px;left:50%;translate:-50%}.tw-now{font:.85rem var(--font-ui);justify-content:center;align-items:baseline;gap:.45rem;margin:.3rem 0 0;display:flex}.tw-now strong{font:700 1.35rem var(--font-hand);color:var(--accent)}.tw-now span{color:var(--ink-2)}.wheel-hint{text-align:center;color:var(--ink-2);margin:.1rem 0 0;font-size:.72rem}::view-transition-group(root){animation-duration:.6s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
