@font-face{font-family:Bangers;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bangers-vietnamese-400-normal-BbvBhFjQ.woff2) format("woff2"),url(/assets/bangers-vietnamese-400-normal-Ll9rymNv.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:Bangers;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bangers-latin-ext-400-normal-7BLmjjiv.woff2) format("woff2"),url(/assets/bangers-latin-ext-400-normal-CzVt_Cgx.woff) format("woff");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:Bangers;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bangers-latin-400-normal-DeHY8Ncq.woff2) format("woff2"),url(/assets/bangers-latin-400-normal-BAEm-Pv0.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Work Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/work-sans-vietnamese-400-normal-BxGuknnG.woff2) format("woff2"),url(/assets/work-sans-vietnamese-400-normal-DFZk_KN_.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:Work Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/work-sans-latin-ext-400-normal-zfQnhXzv.woff2) format("woff2"),url(/assets/work-sans-latin-ext-400-normal-j7TZlk-s.woff) format("woff");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:Work Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/work-sans-latin-400-normal-jUejSri3.woff2) format("woff2"),url(/assets/work-sans-latin-400-normal-DE1_0GuN.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Work Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/work-sans-vietnamese-700-normal-CqjC4WOy.woff2) format("woff2"),url(/assets/work-sans-vietnamese-700-normal-BYAoORCv.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:Work Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/work-sans-latin-ext-700-normal-Bc0iTajH.woff2) format("woff2"),url(/assets/work-sans-latin-ext-700-normal-BP8nCPzd.woff) format("woff");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:Work Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/work-sans-latin-700-normal-CEeo_t6l.woff2) format("woff2"),url(/assets/work-sans-latin-700-normal-mDs79oer.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #B8C4D9;--paper: #F4F1EA;--ink: #17130F;--shout: #E8432D;--human: #C8C0B0;--gold: #F0B92C;--teal: #2FA89A;--font-display: "Bangers", "Comic Sans MS", cursive;--font-body: "Work Sans", system-ui, sans-serif;--radius: 10px;--space-1: 6px;--space-2: 12px;--space-3: 20px;--space-4: 32px}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--ink);font-family:var(--font-body);overflow:hidden}body{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:clamp(8px,2vw,24px)}button{font-family:inherit;cursor:pointer}.window{width:min(96vw,760px);height:min(96dvh,900px);display:flex;flex-direction:column;background:var(--paper);border:5px solid var(--ink);border-radius:var(--radius);box-shadow:6px 8px #17130f38;overflow:hidden;transform:rotate(-.15deg)}.titlebar{position:relative;background-image:url(/img/header-strip.png);background-size:cover;background-position:center;border-bottom:4px solid var(--ink);padding:var(--space-2) var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;min-height:64px}.brand{font-family:var(--font-display);font-size:clamp(22px,4.4vw,34px);letter-spacing:.02em;color:var(--ink);text-shadow:1px 1px 0 rgba(244,241,234,.6);transform:rotate(-1deg);margin:0}.stat{font-family:var(--font-body);font-weight:700;font-size:clamp(11px,2vw,13px);background:var(--paper);border:2px solid var(--ink);border-radius:999px;padding:4px 10px;white-space:nowrap}.ca-pin{display:flex;align-items:center;gap:6px;background:var(--paper);border:2px solid var(--ink);border-radius:6px;padding:5px 8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:clamp(10px,1.8vw,12px);cursor:pointer;transform:rotate(.6deg)}.ca-pin small{font-family:var(--font-body);font-weight:700;opacity:.6}.ca-pin.copied:after{content:"copied";font-family:var(--font-body);font-weight:700;color:var(--teal)}.board{flex:1;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:clamp(4px,1.2vw,10px);padding:clamp(8px,2vw,16px);min-height:0}.tile{position:relative;border:3px solid var(--ink);border-radius:8px;background:var(--paper);padding:0;overflow:visible;min-height:0}.tile img{width:100%;height:100%;object-fit:cover;display:block;border-radius:5px;pointer-events:none;-webkit-user-select:none;user-select:none}.tile--bot{transition:transform .12s ease-out}.tile--bot:hover{transform:scale(1.03) rotate(-.4deg)}.tile--bot.is-shouting{animation:pop .26s ease-out}@keyframes pop{0%{transform:scale(1)}35%{transform:scale(1.18) rotate(2deg)}to{transform:scale(1)}}.tile--human{background:var(--human);cursor:default}.tile--human img{opacity:.96}.tile--human:hover,.tile--human:active{transform:none}.shout-mark{position:absolute;top:-18px;right:-10px;font-family:var(--font-display);font-size:clamp(18px,4vw,26px);color:var(--shout);-webkit-text-stroke:1.5px var(--ink);pointer-events:none;animation:burst .62s ease-out forwards;z-index:5}@keyframes burst{0%{transform:scale(.3) rotate(-8deg);opacity:0}25%{transform:scale(1.25) rotate(6deg);opacity:1}to{transform:translateY(-14px) scale(1) rotate(-4deg);opacity:0}}.foot{border-top:4px solid var(--ink);background:var(--paper);padding:var(--space-2) var(--space-3) var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.subhead{margin:0;font-size:clamp(12px,2.4vw,15px);line-height:1.35;max-width:60ch}.subhead strong{font-weight:700}.foot-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.pair-tag{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:700;opacity:.7}.actions{display:flex;gap:var(--space-2);align-items:center}.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:clamp(14px,2.6vw,18px);letter-spacing:.03em;color:var(--paper);background:var(--ink);border:3px solid var(--ink);border-radius:8px;padding:8px 16px;text-decoration:none;transform:rotate(-.6deg);transition:transform .12s ease-out}.btn:hover{transform:rotate(0) scale(1.03)}.btn--x{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-weight:700;font-size:13px;padding:8px 14px}.x-icon{width:16px;height:16px;display:inline-block}.boot-error{position:fixed;left:0;right:0;top:0;z-index:99999;background:#b0322b;color:#fff;font:12px monospace;padding:8px 12px;white-space:pre-wrap}@media (max-width: 480px){.window{width:100vw;height:100dvh;border-radius:0;border-width:4px}.titlebar{min-height:56px;padding:8px 12px}.board{gap:5px;padding:8px}.tile{border-width:2px}.foot{padding:8px 12px 12px}.subhead{font-size:11.5px}}@media (prefers-reduced-motion: reduce){.tile--bot.is-shouting{animation:none}.shout-mark{animation:none;opacity:1;transform:none}.btn:hover,.tile--bot:hover{transform:none}}
