@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/quicksand-vietnamese-500-normal-wsCc5ucH.woff2) format("woff2"),url(/assets/quicksand-vietnamese-500-normal-CdTEffCo.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/quicksand-latin-ext-500-normal-DjQraVMz.woff2) format("woff2"),url(/assets/quicksand-latin-ext-500-normal-BtxJAf7Q.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Quicksand;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/quicksand-latin-500-normal-YYW09K6W.woff2) format("woff2"),url(/assets/quicksand-latin-500-normal-CWA_CjAc.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/quicksand-vietnamese-600-normal-CqNNoesj.woff2) format("woff2"),url(/assets/quicksand-vietnamese-600-normal-CNyIcav1.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/quicksand-latin-ext-600-normal-CxselQ3_.woff2) format("woff2"),url(/assets/quicksand-latin-ext-600-normal-DIHfPkLp.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Quicksand;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/quicksand-latin-600-normal-DcLyjD7K.woff2) format("woff2"),url(/assets/quicksand-latin-600-normal-mIQlYRtk.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-B3hZxag_.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-ZyMXPjaT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-DvQQgHTq.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CJUKFyLa.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BFiUPp6R.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DLynVohM.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-DxDDqVQb.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-uwM7KshN.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-Dm_PoFIZ.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-O6-GRVqx.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-CmcxpzmF.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-yqk7_qG0.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-BtGHVI3Q.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-N1TV9ACq.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-CevHOlzG.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-QhwQXayn.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-Dn-cqWhb.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-BhDX_RLI.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-C_OblDzq.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-zoSM89R3.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #F6F5F0;--ink: #1C1B19;--muted: #5E5A52;--blue: #3575FF;--chip: rgba(28, 27, 25, .06);--rule: rgba(28, 27, 25, .14);--bubble: #FFFFFF;--quick: "Quicksand", ui-rounded, system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--quick);overflow:hidden;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}button{font:inherit;color:inherit}a{color:var(--ink)}a:hover{color:var(--muted)}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.mono{font-family:var(--mono)}.viewport{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background-color:var(--paper);background-size:cover;background-position:center}.wash-day{background-image:url(/bg/day.webp)}.wash-light{background-image:url(/bg/light.webp)}.wash-night{background-image:url(/bg/night.webp);background-color:#17191f;color:#e9e4d8}.stage{position:absolute;left:50%;top:50%;width:1194px;height:834px;transform-origin:50% 50%}.screen{position:absolute;top:0;right:0;bottom:0;left:0;animation:screen-in .22s ease-out both}@keyframes screen-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.turn{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;text-align:center}.turn-text{margin:0;font-weight:500;font-size:32px}.turn-sub{margin:0;font-size:13px;color:var(--muted)}.wash-night .turn-sub{color:#a8a296}.wordmark{font-weight:500;line-height:1;white-space:nowrap;letter-spacing:.01em}.chip{border:none;padding:0;cursor:pointer;background:var(--chip);display:flex;align-items:center;justify-content:center;text-decoration:none}.bubble{background:var(--bubble);border:2px solid var(--ink);font-weight:500}.hold{position:relative;border:none;padding:0;border-radius:999px;background:var(--chip);display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:none}.hold-ring{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.pill-btn{border:none;cursor:pointer;display:flex;align-items:center;text-decoration:none}.card,.key{transition:transform .14s cubic-bezier(.3,1.7,.5,1),box-shadow .14s}.card:active{transform:translateY(6px)}.plonk{display:block;overflow:visible}.plonk *{transform-box:view-box}.plonk--alive .plonk-breathe{transform-origin:80px 158px;animation:breathe 3s ease-in-out infinite alternate}@keyframes breathe{0%{transform:scale(1)}to{transform:scale(1.012,.975)}}.plonk-head{transform-origin:80px 104px;transition:transform .42s cubic-bezier(.3,1.4,.5,1)}.plonk-arm--wave{transform-origin:106px 116px;animation:wave .52s ease-in-out 3 alternate}@keyframes wave{0%{transform:rotate(0)}to{transform:rotate(-16deg)}}.plonk-arm--point{transform-origin:106px 116px;animation:point-in .52s cubic-bezier(.3,1.5,.5,1) both}@keyframes point-in{0%{transform:rotate(48deg)}to{transform:rotate(0)}}.plonk-notes{animation:notes 1.6s ease-in-out infinite}@keyframes notes{0%{transform:translateY(2px);opacity:.6}to{transform:translateY(-8px);opacity:.15}}.plonk--jump .plonk-bob{animation:bob .7s ease-in-out infinite alternate}.plonk--jump .plonk-shadow{transform-origin:80px 160px;animation:shadow .7s ease-in-out infinite alternate}@keyframes bob{0%{transform:translateY(4px)}to{transform:translateY(-6px)}}@keyframes shadow{0%{transform:scale(1.15)}to{transform:scale(.85)}}.ripple{animation:ripple 1.2s ease-out infinite}@keyframes ripple{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.06,1.09)}}.arrow-draw{stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw .6s ease-out forwards}@keyframes draw{to{stroke-dashoffset:0}}.snow{position:absolute;background-image:url(/bg/snow.webp);background-size:800% 100%;animation:fall var(--dur) ease-in-out var(--delay) infinite}@keyframes fall{0%{transform:translateY(-30px);opacity:0}15%{opacity:1}50%{transform:translate(8px,10px)}85%{opacity:1}to{transform:translate(-4px,60px);opacity:0}}@media (prefers-reduced-motion: reduce){.plonk--alive .plonk-breathe,.plonk-arm--wave,.plonk-arm--point,.plonk-notes,.plonk--jump .plonk-bob,.plonk--jump .plonk-shadow,.snow,.ripple,.screen{animation:none!important}.snow{opacity:.8}.arrow-draw{animation-duration:1ms}}.sparkle{position:absolute;left:0;top:0;opacity:0;animation:sparkle .65s cubic-bezier(.2,.8,.3,1) both}@keyframes sparkle{0%{opacity:1;transform:translate(-50%,-50%) scale(.2) rotate(0)}60%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1) rotate(var(--rot))}}@media (prefers-reduced-motion: reduce){.sparkle{animation:sparkle-still .5s ease-out both}@keyframes sparkle-still{0%,70%{opacity:1;transform:translate(calc(-50% + var(--dx) * .5),calc(-50% + var(--dy) * .5))}to{opacity:0}}}.key.jiggle{animation:jiggle 1.1s ease-in-out infinite}@keyframes jiggle{0%,45%,to{rotate:0deg}8%{rotate:-4deg}18%{rotate:4deg}28%{rotate:-3deg}38%{rotate:2deg}}@media (prefers-reduced-motion: reduce){.key.jiggle{animation:none}}.pages{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x}.pages::-webkit-scrollbar{display:none}.page{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}.page-arrow{position:absolute;top:50%;width:52px;height:88px;margin-top:-44px;padding:0;border:none;border-radius:26px;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.55}.page-arrow--right{right:-50px;animation:nudge 1.8s ease-in-out infinite}.page-arrow--right svg{transform:scaleX(-1)}.page-arrow--left{left:-50px}@keyframes nudge{0%,60%,to{translate:0}30%{translate:6px}}@media (prefers-reduced-motion: reduce){.page-arrow--right{animation:none}}
