:root{--ink:#3b302a;--ink-soft:#7a6a5c;--red:#c4483a;--blue:#3f5fb0;--paper:#f2ece0;--sketch:255px 15px 225px 15px / 15px 225px 15px 255px;--sketch-2:15px 255px 15px 225px / 225px 15px 255px 15px;--font-hand:"Patrick Hand", "Comic Sans MS", cursive;--font-title:"Caveat", cursive}:root:lang(zh){--font-hand:"Patrick Hand", "ZCOOL KuaiLe", cursive;--font-title:"Caveat", "ZCOOL KuaiLe", cursive}:root:lang(ja){--font-hand:"Patrick Hand", "Yomogi", cursive;--font-title:"Caveat", "Yomogi", cursive}*{box-sizing:border-box}html,body{background:var(--paper);height:100%;color:var(--ink);font-family:var(--font-hand);-webkit-user-select:none;user-select:none;touch-action:none;margin:0;overflow:hidden}#stage{position:fixed;inset:0}#stage canvas{display:block}#vignette{pointer-events:none;background:radial-gradient(#0000 55%,#78644629 100%);position:fixed;inset:0}#hud{pointer-events:none;position:fixed;inset:0}#hud>*{pointer-events:auto}#hud>.top-area{pointer-events:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px 18px;display:grid;position:absolute;inset:12px 18px auto 20px}.top-area>*{pointer-events:auto}.title{font-family:var(--font-title);grid-area:1/1;align-items:center;gap:6px;font-size:40px;font-weight:700;line-height:1;display:flex}.title img{width:52px;height:52px;animation:2.6s ease-in-out infinite bob}.title span:first-of-type{color:var(--red)}.title span:last-of-type{color:var(--blue)}.top-right{flex-wrap:wrap;grid-area:1/3;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.top-right>.toolbar-btn{white-space:nowrap;justify-content:center;align-items:center;gap:5px;min-height:38px;padding:5px 8px;font-size:18px;display:inline-flex}.toolbar-icon{fill:none;width:22px;height:22px;stroke:var(--ink);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 22px}.rec .toolbar-icon{fill:var(--red);stroke:var(--red)}.mode-btn:after{content:"▾";font-size:14px}.settings-btn{position:relative}.settings-btn.has-active-tool:after{content:"";background:var(--red);border:1.5px solid var(--paper);border-radius:50%;width:9px;height:9px;position:absolute;top:-4px;right:-4px}.top-menus{grid-area:2/3;min-width:0}.top-menus:not(:has(.paper-menu:not([hidden]))){display:none}.top-menus:has(.settings-menu:not([hidden])){justify-self:end}.top-right .btn:focus-visible,.paper-menu .btn:focus-visible{outline:2px dashed var(--blue);outline-offset:3px}.btn{font:inherit;color:var(--ink);border:2px solid var(--ink);border-radius:var(--sketch);cursor:pointer;background:#fffcf5bf;padding:4px 14px;font-size:20px;transition:transform .12s,background .12s}.btn:nth-child(2n){border-radius:var(--sketch-2)}.btn:hover{background:#fffaf0;transform:rotate(-2deg)scale(1.05)}.btn:active{transform:scale(.95)}.btn.on{background:#fde6b8}.btn.big{color:var(--red);border-color:var(--red);padding:4px 22px;font-size:26px}.controls>.btn.big:first-child{min-width:4em}.paper-menu{z-index:6;touch-action:pan-y;border:2px solid var(--ink);border-radius:var(--sketch);background:#fffbef;flex-direction:column;gap:8px;width:min(350px,100%);max-height:min(360px,100dvh - 150px);padding:10px;display:flex;position:relative;overflow-y:auto;box-shadow:3px 4px #00000014}.paper-menu[hidden]{display:none}.settings-menu{width:220px;max-width:100%}.settings-menu .toolbar-btn{text-align:left;align-items:center;gap:10px;display:flex}.settings-menu .toolbar-label{display:inline}.mode-card{width:100%;font:inherit;color:var(--ink);text-align:left;border:1.6px solid var(--ink-soft);border-radius:var(--sketch-2);cursor:pointer;background:#fffdf6;flex-shrink:0;align-items:center;gap:10px;padding:8px;display:flex}.mode-card:nth-child(2n){border-radius:var(--sketch)}.mode-card[aria-checked=true]{border-color:var(--ink);background:#fde6b8}.mode-card:hover:not(:disabled){background:#fff6c9}.mode-btn:focus-visible,.mode-card:focus-visible{outline:2px dashed var(--blue);outline-offset:3px}.mode-card:disabled{color:var(--ink-soft);cursor:default;border-style:dashed}.mode-copy{flex-direction:column;min-width:0;display:flex}.mode-name{font-family:var(--font-title);font-size:27px;line-height:1}.mode-description{font-size:16px}.mode-soon{background:var(--paper);border-radius:var(--sketch);align-self:flex-start;margin-top:3px;padding:0 7px;font-size:14px}.mode-preview{flex:0 0 64px;justify-content:center;align-items:center;height:54px;display:flex}.mode-preview canvas{width:46px;height:46px}.mode-preview.battle canvas{width:34px;height:34px}.mode-preview.battle canvas:first-child{transform:rotate(-10deg)}.mode-preview.battle canvas:last-child{transform:rotate(10deg)}.palette{flex-direction:column;gap:10px;max-height:calc(100% - 200px);padding:4px;display:flex;position:absolute;top:92px;left:16px;overflow-y:auto}.palette .label{font-family:var(--font-title);color:var(--ink-soft);text-align:center;font-size:22px}.card{border:1.6px solid var(--ink-soft);border-radius:var(--sketch);cursor:pointer;text-align:center;background:#fffcf5b3;width:84px;padding:6px 4px 2px;transition:transform .12s}.card:nth-child(odd){border-radius:var(--sketch-2);transform:rotate(1deg)}.card:hover{transform:rotate(-2deg)scale(1.06)}.card.on{border-color:var(--ink);background:#fde6b8}.card canvas{margin:0 auto;display:block}.card div{font-size:16px}.card .card-name{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;text-wrap:balance;line-height:1.15}.card .card-name.long{font-size:13px}:root:lang(ja){line-break:strict}.welcome-subtitle,.welcome-playline,.welcome-character figcaption,.onboarding-note p,.modal-note,.toast{text-wrap:balance}.bottom{flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;bottom:14px;left:12px;right:12px}.status{font-family:var(--font-title);color:var(--red);white-space:nowrap;font-variant-numeric:tabular-nums;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8' preserveAspectRatio='none'%3E%3Cpath d='M2 5 Q50 2 100 4.5 T198 3.5' stroke='%23c4483a' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") bottom/100% 8px no-repeat;padding:0 18px 4px;font-size:34px}#hud>.bottom{pointer-events:none}.bottom>*{pointer-events:auto}.status b{color:var(--blue);font-weight:700}.controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.stamp-controls{z-index:2;border:1.6px solid var(--ink-soft);border-radius:var(--sketch);background:#fffbef;flex-shrink:0;align-self:flex-start;gap:6px;padding:3px;display:flex;position:sticky;top:0;box-shadow:2px 3px #0000000f}.stamp-controls[hidden]{display:none}.stamp-controls .btn{touch-action:manipulation;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:4px;display:flex}.stamp-controls .toolbar-label{display:none}.stamp-controls .btn:focus-visible,.arena-picker .btn:focus-visible{outline:2px dashed var(--blue);outline-offset:3px}.arena-picker{justify-content:center;align-items:center;gap:6px;display:flex}.arena-picker .btn{touch-action:manipulation;min-height:44px}.speed{color:var(--ink-soft);align-items:center;gap:4px;font-size:18px;display:flex}.speed input{width:90px;accent-color:var(--red)}.hint{font-family:var(--font-title);color:var(--ink-soft);text-align:center;pointer-events:none;white-space:nowrap;width:max-content;max-width:calc(100vw - 32px);font-size:26px;transition:opacity 1.2s;position:absolute;top:76px;left:50%;transform:translate(-50%)rotate(-1deg)}.hint.gone{opacity:0}.toast{border:1.6px solid var(--ink-soft);border-radius:var(--sketch);opacity:0;pointer-events:none;background:#fff6c9;padding:8px 18px;font-size:22px;transition:opacity .4s;position:absolute;top:80px;left:50%;transform:translate(-50%)rotate(1deg);box-shadow:2px 3px #0000000f}.toast.show{opacity:1}.sleeper{pointer-events:none;width:64px;height:64px;position:absolute}.sleeper img{width:100%;height:100%;animation:3.4s ease-in-out infinite breathe}.sleeper .z{font-family:var(--font-title);color:var(--ink-soft);font-size:20px;animation:3s ease-in infinite zz;position:absolute}.sleeper .z:nth-of-type(2){font-size:15px;animation-delay:1.5s}.sleeper.bl{bottom:10px;left:12px}.sleeper.br{bottom:10px;right:12px}.sleeper.br .z{left:0}.sleeper.bl .z{right:0}.btn.rec.live{border-color:var(--red);color:var(--red);background:#fde0da}.btn.rec.live .toolbar-icon{animation:1s steps(2,end) infinite blink}.modal-back{z-index:10;background:#46372840;place-items:center;display:grid;position:fixed;inset:0}.modal{border:2px solid var(--ink);border-radius:var(--sketch);background:#fffbef;flex-direction:column;align-items:center;gap:10px;width:min(640px,100% - 32px);padding:16px 18px 18px;display:flex;transform:rotate(-.6deg);box-shadow:4px 6px #00000014}.modal-title{font-family:var(--font-title);color:var(--red);font-size:36px;line-height:1}.modal video{border:1.6px solid var(--ink-soft);border-radius:var(--sketch-2);background:var(--paper);width:100%;max-height:55vh}.modal-note{color:var(--ink-soft);text-align:center;font-size:18px}#hud.battle .bottom,#hud.battle .hint,#hud.battle .sleeper,#hud.battle .sandbox-only{display:none}#hud>.battle-hud{pointer-events:none;position:absolute;inset:0}.battle-hud>*{pointer-events:auto}.battle-head{pointer-events:none;text-align:center;flex-direction:column;grid-area:1/2;justify-self:center;align-items:center;gap:2px;width:min(520px,100%);min-width:0;display:flex}.battle-head[hidden]{display:none}.battle-title,.battle-sub,.score-gen{min-width:0;max-width:100%}.battle-title{font-family:var(--font-title);color:var(--ink);overflow-wrap:anywhere;font-size:38px;font-weight:700;line-height:1;transform:rotate(-1deg)}.battle-sub{color:var(--ink-soft);overflow-wrap:anywhere;font-size:18px;line-height:1.2}.scoreboard{text-align:center;width:100%;margin-top:2px}.score-row{align-items:center;gap:10px;display:flex}.score{font-family:var(--font-title);min-width:76px;font-size:26px;font-weight:700}.score.red,.result-score .red,.result-title.red{color:var(--red)}.score.blue,.result-score .blue,.result-title.blue{color:var(--blue)}.score.red{text-align:right}.score.blue{text-align:left}.score-bar{border:1.6px solid var(--ink);border-radius:var(--sketch);background:#9fb4e6;flex:1;height:14px;overflow:hidden}.score-bar .red{background:#ec8f7b;height:100%;transition:width .2s}.score-gen{color:var(--ink-soft);overflow-wrap:anywhere;font-size:15px}.battle-side{flex-direction:column;gap:14px;width:200px;max-height:calc(100% - 140px);padding:4px;display:flex;position:absolute;top:50%;right:14px;overflow-y:auto;transform:translateY(-50%)}.side-group .label{font-family:var(--font-title);color:var(--ink-soft);text-align:center;font-size:22px}.side-group{flex-direction:column;align-items:stretch;gap:6px;display:flex}.side-group .btn{padding:3px 10px;font-size:18px}.side-group .btn.big{font-size:26px}.side-group .speed{justify-content:center}.card .cost{color:var(--ink-soft);font-size:14px}.side-hint{color:var(--ink-soft);text-align:center;font-size:15px}.card.off{opacity:.35;pointer-events:none}.card.dragging{opacity:.5}.stars{cursor:pointer;letter-spacing:2px;color:#d8cdbd;-webkit-user-select:none;user-select:none;text-align:center;font-size:28px}.stars .on{color:#e0a640}.stars span:hover{display:inline-block;transform:scale(1.15)}.name-input{font:inherit;border:1.6px solid var(--ink-soft);border-radius:var(--sketch-2);width:100%;color:var(--ink);background:#fffcf5d9;padding:4px 10px;font-size:17px}@media (width<=899px){.battle-side{flex-flow:wrap;justify-content:center;gap:8px;width:auto;max-height:none;padding:0 8px;inset:auto 0 8px;transform:none}.side-group .label{display:none}.palette{display:flex}.side-group{flex-flow:wrap;justify-content:center;align-items:center}.side-group .btn{font-size:16px}.side-group .btn.big{font-size:20px}.stars{font-size:22px}.name-input{width:160px}}.result-card{border:2px solid var(--ink);border-radius:var(--sketch);background:#fffbef;flex-direction:column;align-items:center;gap:6px;width:min(560px,100% - 32px);padding:16px 20px 18px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-1deg);box-shadow:4px 6px #00000014}@media (width>=900px){.result-card{top:auto;bottom:18px;transform:translate(-50%)rotate(-1deg)}}.result-title{font-family:var(--font-title);font-size:56px;font-weight:700;line-height:1}.result-title.draw{color:var(--ink)}.result-score{font-family:var(--font-title);font-size:40px;font-weight:700;line-height:1}.result-detail{color:var(--ink-soft);margin-bottom:4px;font-size:16px}@media (width<=720px){.result-title{font-size:42px}}.palette{flex-direction:column;gap:6px;width:196px;display:flex}.pal-top{cursor:pointer;color:var(--ink-soft);text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:0 2px;display:flex}.pal-top .label{text-align:left;font-size:24px}.pal-top:hover,.pal-top:hover .label{color:var(--red)}.pal-top .pal-arrow{transform:rotate(90deg)}.palette.collapsed .pal-top .pal-arrow{transform:none}.pal-section{flex-direction:column;gap:4px;display:flex}.pal-header{font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1.4px dashed #7a6a5c73;align-items:center;gap:6px;padding:2px 2px 3px;font-size:17px;display:flex}.pal-header:hover{color:var(--red)}.pal-arrow{color:var(--ink-soft);transition:transform .15s;display:inline-block}.pal-section.open .pal-arrow{transform:rotate(90deg)}.pal-body{grid-template-columns:repeat(2,84px);gap:8px;padding:2px 0 6px;display:none}.pal-section.open .pal-body{display:grid}.pal-body .label,.palette.collapsed .pal-section,.palette.collapsed .custom-area{display:none}.selection-menu{z-index:5;border:1.6px solid var(--ink);border-radius:var(--sketch);background:#fffbef;flex-direction:column;gap:6px;padding:8px 10px;display:flex;position:fixed;transform:rotate(-.6deg);box-shadow:3px 4px #00000014}.selection-menu .btn{padding:2px 10px;font-size:16px}.selection-menu .btn.big{font-size:20px}.selection-count{color:var(--ink-soft);font-size:15px}.custom-area{display:contents}.palette .card{transform:none}.card{position:relative}.card-tools{gap:4px;display:none;position:absolute;top:2px;right:3px}.card:hover .card-tools{display:flex}.card-tool{border:1px solid var(--ink-soft);cursor:pointer;background:#fffbef;border-radius:8px;padding:2px 4px;font-size:13px;line-height:1}.card-tool:hover{background:#fde6b8}.import-card{min-height:54px;font-family:var(--font-title);color:var(--ink-soft);border-style:dashed;place-items:center;font-size:22px;display:grid}.stamp-modal .import-text{border:1.6px solid var(--ink-soft);width:100%;color:var(--ink);resize:vertical;background:#fffdf6;border-radius:8px;padding:8px;font:15px ui-monospace,Menlo,monospace}.stamp-modal .name-input{width:100%}.stamp-preview{border:1.4px dashed var(--ink-soft);background:#fffdf6;border-radius:10px}@keyframes blink{50%{opacity:0}}@keyframes bob{50%{transform:translateY(-4px)rotate(-4deg)}}@keyframes breathe{50%{transform:scale(1.05,.95)translateY(2px)}}@keyframes zz{0%{opacity:0;transform:translateY(10px)}30%{opacity:1}to{opacity:0;transform:translate(8px,-22px)}}@media (width<=720px){.stamp-controls{align-self:center;top:auto;left:0}.palette{flex-direction:row;max-height:none;padding:4px 12px;display:flex;inset:auto 0 168px;overflow-x:auto;transform:none}.palette .label{display:none}.palette{flex-direction:row;align-items:center;width:auto}.pal-top{display:none}.pal-section{flex-direction:row;flex:none;align-items:center}.pal-header{white-space:nowrap;border-bottom:none;font-size:15px}.pal-section.open .pal-body{display:flex}.pal-body{gap:6px;padding:0}.card{flex:none;width:62px;padding:4px 2px 0}.card canvas{width:40px!important;height:40px!important}.card div{font-size:14px}.speed span,.hint,.sleeper{display:none}.btn{padding:3px 10px;font-size:17px}.status{font-size:28px}}@media (width<=1399px){#hud>.top-area{grid-template-columns:auto minmax(0,1fr);gap:10px 14px}.top-right{grid-column:2}.top-menus{grid-column:2;justify-self:stretch}.battle-head{grid-area:3/1/auto/-1}.battle-title{font-size:32px}}@media (width>=721px) and (width<=899px){.title{gap:4px;font-size:30px}.title img{width:38px;height:38px}.top-right>.toolbar-btn{gap:4px;padding:5px 6px;font-size:16px}.top-right{gap:6px}}@media (width<=720px){#hud>.top-area{gap:8px;inset:10px 12px auto}.title{gap:0}.title span{display:none}.title img{width:32px;height:32px}.top-right{gap:5px}.top-right>.toolbar-btn{gap:3px;min-height:36px;padding:5px 6px;font-size:15px}.top-right .toolbar-label{display:none}.top-right .rec.live .toolbar-label{font-size:13px;display:inline}.top-menus{grid-column:1/-1}.battle-head{width:min(460px,100%)}.battle-title{font-size:clamp(24px,4.5vw,30px)}.battle-sub{font-size:15px}.score{min-width:60px;font-size:22px}.score-row{gap:6px}.score-gen{font-size:13px}}.hint{white-space:pre-line}.lang-row{color:var(--ink-soft);border-top:1.4px dashed #7a6a5c73;align-items:center;gap:6px;margin-top:4px;padding-top:8px;display:flex}.lang-row .toolbar-icon{flex-shrink:0}.lang-btn{white-space:nowrap;flex:1;padding:3px 4px;font-size:16px}.lang-btn:focus-visible{outline:2px dashed var(--blue);outline-offset:3px}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/caveat-cyrillic-ext-500-normal-DcrB4vVx.woff2)format("woff2"),url(/assets/caveat-cyrillic-ext-500-normal-DqTXtm5N.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:500;src:url(/assets/caveat-cyrillic-500-normal-DpMZbbjM.woff2)format("woff2"),url(/assets/caveat-cyrillic-500-normal-DLSfp5IU.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:500;src:url(/assets/caveat-latin-ext-500-normal-jKqJW7bC.woff2)format("woff2"),url(/assets/caveat-latin-ext-500-normal-wUUXxlbS.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:500;src:url(/assets/caveat-latin-500-normal-B9SDL8cy.woff2)format("woff2"),url(/assets/caveat-latin-500-normal-Do9veZfZ.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-cyrillic-ext-700-normal-CrK2-ngJ.woff2)format("woff2"),url(/assets/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(/assets/caveat-cyrillic-700-normal-BIyejhEL.woff2)format("woff2"),url(/assets/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(/assets/caveat-latin-ext-700-normal-DFbRgDry.woff2)format("woff2"),url(/assets/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(/assets/caveat-latin-700-normal-D8_1Nw6V.woff2)format("woff2"),url(/assets/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}@font-face{font-family:Patrick Hand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/patrick-hand-vietnamese-400-normal-65jA92mZ.woff2)format("woff2"),url(/assets/patrick-hand-vietnamese-400-normal-CZjY324Y.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Patrick Hand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/patrick-hand-latin-ext-400-normal-Dno5CMlI.woff2)format("woff2"),url(/assets/patrick-hand-latin-ext-400-normal-C2ywpnn3.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:Patrick Hand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/patrick-hand-latin-400-normal-B7HHA2Vw.woff2)format("woff2"),url(/assets/patrick-hand-latin-400-normal-Df9_VoRQ.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}#hud>.sleeper{pointer-events:auto;cursor:pointer}.title[role=button]{cursor:pointer}.sleeper:focus-visible,.title[role=button]:focus-visible{outline:2px dashed var(--ink-soft);outline-offset:3px;border-radius:12px}.sleeper .z,.sleeper img{pointer-events:none}.sleeper.awake .z{visibility:hidden;animation-play-state:paused}.sleeper.awake img{animation:.6s ease-out cell-wake}.sleeper[data-pokes="2"] img{animation:.65s ease-in-out cell-yawn}.sleeper[data-pokes="3"] img{animation:.45s ease-out cell-puff;transform:scale(1.16,.9)}.sleeper[data-pokes="4"] img{animation:.6s ease-out cell-surprise}.title.opening-help img{animation:.52s ease-in-out cell-help}.sleeper .cell-bubble{overflow-wrap:anywhere;border:1.6px solid var(--ink-soft);border-radius:var(--sketch);pointer-events:none;opacity:0;visibility:hidden;background:#fffbef;width:min(250px,100vw - 24px);max-height:calc(100vh - 100px);padding:8px 12px;font-size:18px;line-height:1.25;transition:opacity .35s,visibility 0s .35s;position:absolute;bottom:calc(100% + 8px);overflow:auto;box-shadow:2px 3px #0000000f}.sleeper.bl .cell-bubble{left:0}.sleeper.br .cell-bubble{right:0}.sleeper.awake .cell-bubble{opacity:1;visibility:visible;transition-delay:0s}@keyframes cell-wake{25%{transform:scale(.88,1.18)}55%{transform:translateY(-14px)scale(1.05,.96)}80%{transform:translateY(2px)scale(1.1,.9)}}@keyframes cell-yawn{50%{transform:scale(.9,1.16)rotate(-8deg)}}@keyframes cell-puff{0%{transform:scale(1)}55%{transform:scale(1.24,.85)rotate(5deg)}to{transform:scale(1.16,.9)}}@keyframes cell-surprise{50%{transform:translateY(-16px)rotate(18deg)}}@keyframes cell-help{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.sleeper img,.sleeper.awake img,.sleeper .z,.title img,.title.opening-help img{animation:none}.sleeper .cell-bubble{transition:none}}.help-btn:focus-visible,.onboarding-note .btn:focus-visible{outline:2px dashed var(--blue);outline-offset:3px}.onboarding-overlay{z-index:11;position:fixed;inset:0}.onboarding-spotlight{pointer-events:none;border:2px dashed var(--red);border-radius:var(--sketch);position:absolute;box-shadow:0 0 0 200vmax #46372847}.onboarding-note{touch-action:pan-y;overscroll-behavior:contain;border:1.6px solid var(--ink-soft);border-radius:var(--sketch-2);background:#fff6c9;width:min(340px,100vw - 24px);max-height:calc(100dvh - 24px);padding:18px;font-size:21px;line-height:1.25;position:absolute;overflow-y:auto;box-shadow:4px 6px #00000017}.onboarding-title{font:700 32px/1 var(--font-title);color:var(--red);margin:0 0 10px}.onboarding-note p{overflow-wrap:anywhere;margin:0 0 12px}.onboarding-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.onboarding-actions .btn{padding:3px 12px;font-size:18px}.onboarding-dots{letter-spacing:3px;color:var(--ink-soft);margin-right:auto;font-size:14px}.onboarding-rules{background:#46372847;place-items:center;padding:12px;display:grid}.onboarding-rules .onboarding-note{width:min(420px,100vw - 24px);position:relative}.onboarding-rule{align-items:center;gap:10px;margin-bottom:10px;display:flex}.onboarding-rule canvas{flex:0 0 58px;width:58px;height:58px}.onboarding-rule p{margin:0}.onboarding-footer{color:var(--ink-soft);font-size:18px}@media (width<=720px){.onboarding-note{width:calc(100vw - 24px);padding:14px;font-size:18px}.onboarding-title{font-size:29px}}.onboarding-help .onboarding-actions{flex-direction:column;align-items:stretch}.welcome-showing #hud{opacity:0;pointer-events:none}#stage{transition:opacity .24s}.welcome-leaving #stage{opacity:0}.welcome-overlay{z-index:11;touch-action:pan-y;background:radial-gradient(#0000 38%,#65574724 100%);transition:opacity .24s;position:fixed;inset:0}.welcome-note{top:max(16px, env(safe-area-inset-top));touch-action:pan-y;border:1.6px solid var(--ink-soft);border-radius:var(--sketch-2);background:#fff6c9ed;width:min(700px,100vw - 32px);max-height:calc(100dvh - 32px);padding:18px 22px;font-size:23px;line-height:1.25;position:absolute;left:50%;overflow-y:auto;transform:translate(-50%)rotate(-1deg);box-shadow:4px 6px #00000017}.welcome-title{color:var(--red);font:700 clamp(30px, 4vw, 46px)/1.1 var(--font-title);margin:0 0 8px;animation:.45s both welcome-caption}.welcome-copy p{margin:8px 0}.welcome-invitation{color:var(--ink-soft)}.welcome-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:10px;display:flex}.welcome-actions .btn{font-size:21px}.welcome-actions .welcome-skip{box-shadow:none;background:0 0;border:0;padding:2px 8px;font-size:18px;text-decoration:underline}.welcome-actions .btn:focus-visible{outline:2px dashed var(--blue);outline-offset:3px}.welcome-final .welcome-note{top:auto;bottom:max(18px, env(safe-area-inset-bottom))}.welcome-closing{opacity:0}@media (width<=720px),(height<=540px){.welcome-note{padding:12px 16px;font-size:19px}.welcome-title{font-size:30px}.welcome-actions .btn{font-size:19px}}@media (prefers-reduced-motion:reduce){.welcome-overlay,#stage{transition:none}}.welcome-speaker{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));font-size:17px;position:absolute}.welcome-final .welcome-speaker{bottom:auto;top:max(16px, env(safe-area-inset-top))}.welcome-gated .welcome-note{text-align:center;box-shadow:none;background:0 0;border:0;padding:24px;top:50%;transform:translate(-50%,-50%)rotate(-1deg)}.welcome-handwriting{margin:0}.welcome-handwriting svg{width:min(510px,85%);max-height:155px;overflow:visible}.welcome-handwriting text{font:700 88px var(--font-title);stroke:var(--red);stroke-width:1.5px;fill:#0000;stroke-dasharray:650;stroke-dashoffset:650px;animation:1.7s forwards welcome-write,.4s 1.3s forwards welcome-fill}.welcome-begin{font:700 34px/1 var(--font-title);background:#fff6c9;border-width:2px;padding:12px 28px;animation:2.4s ease-in-out infinite welcome-breathe}.welcome-sound-note{color:var(--ink-soft);margin:12px 0 3px;font-size:19px}.welcome-gated .welcome-skip{box-shadow:none;background:0 0;border:0;font-size:19px;text-decoration:underline}.welcome-speed,.welcome-flash{pointer-events:none;opacity:0;position:absolute;inset:0}.welcome-speed svg{width:100%;height:100%}.welcome-speed path{fill:none;stroke:#8a7d6c;stroke-width:2px;stroke-linecap:round}.welcome-flash{background:#fffdf6}.welcome-note,.welcome-speaker{z-index:1}@keyframes welcome-write{to{stroke-dashoffset:0}}@keyframes welcome-fill{to{fill:var(--red)}}@keyframes welcome-breathe{50%{transform:scale(1.045)rotate(.5deg);box-shadow:4px 5px #65574722}}@media (prefers-reduced-motion:reduce){.welcome-handwriting text{stroke-dashoffset:0;fill:var(--red);animation:none}.welcome-begin{animation:none}}.welcome-speaker{align-items:center;gap:6px;display:flex}.welcome-speaker .toolbar-icon{width:22px;height:22px}.welcome-gated{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:radial-gradient(#f2ece0c7 10%,#f2ece071 80%)}.welcome-gated .welcome-note{background:radial-gradient(#f2ece0ee,#f2ece0b3 60%,#0000 73%);width:min(880px,100vw - 24px);max-height:calc(100dvh - 90px);padding:18px 28px;overflow-y:auto}.welcome-subtitle{max-width:560px;font:700 30px/1.05 var(--font-title);color:var(--ink);margin:-6px auto 8px}.welcome-playline{max-width:620px;color:var(--ink-soft);margin:12px auto;font-size:20px;line-height:1.3}.welcome-cast,.welcome-creatures{justify-content:center;align-items:end;gap:24px;display:flex}.welcome-character,.welcome-creature{flex:1;max-width:150px;margin:0;animation:.65s both welcome-enter}.welcome-character canvas{width:94px;max-width:100%;height:94px;animation:3.8s ease-in-out infinite welcome-idle}.welcome-character figcaption,.welcome-creature figcaption{color:var(--ink-soft);font-size:19px;line-height:1.05}.welcome-cast{max-width:680px;margin:12px auto 24px}.welcome-creatures{gap:70px;margin:0 auto -10px}.welcome-creature{max-width:170px}.welcome-creature canvas{object-fit:contain;width:150px;max-width:100%;height:92px;animation:4.2s ease-in-out infinite welcome-wiggle}.welcome-character-1,.welcome-creature-1{animation-delay:.14s}.welcome-character-2,.welcome-creature-2{animation-delay:.28s}.welcome-character-3{animation-delay:.42s}.welcome-character-1 canvas{animation-delay:-1s}.welcome-character-2 canvas{animation-delay:-2s}.welcome-character-3 canvas{animation-delay:-3s}.welcome-creature-1 canvas{animation-delay:-1.4s}.welcome-creature-2 canvas{animation-delay:-2.8s}.welcome-rule-strip{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.welcome-rule{align-items:center;gap:3px;font-size:17px;line-height:1.05;display:flex}.welcome-rule canvas{flex-shrink:0;width:40px;height:40px}@keyframes welcome-enter{0%{opacity:0;transform:translateY(18px)scale(.85)rotate(-5deg)}to{opacity:1;transform:none}}@keyframes welcome-idle{50%{transform:translateY(-6px)rotate(4deg)scale(1.03,.97)}}@keyframes welcome-wiggle{50%{transform:translateY(-5px)rotate(-4deg)}}@keyframes welcome-caption{0%{opacity:0;transform:translateY(10px)rotate(-2deg)}to{opacity:1;transform:none}}@media (width<=600px){.welcome-gated .welcome-note{padding:8px 12px}.welcome-handwriting svg{width:300px;max-height:106px}.welcome-subtitle{max-width:320px;margin-top:0;font-size:26px}.welcome-playline{max-width:300px;font-size:17px}.welcome-cast{gap:4px;margin:16px 0 22px}.welcome-character canvas{width:72px;height:72px}.welcome-character figcaption{min-height:32px;font-size:15px}.welcome-creatures{gap:14px;margin-bottom:0}.welcome-creature canvas{width:90px;height:56px}.welcome-creature figcaption{font-size:14px}.welcome-begin{font-size:30px}.welcome-rule-strip{grid-template-columns:repeat(2,1fr)}}@media (height<=600px) and (width>=601px){.welcome-creatures{pointer-events:none;justify-content:space-between;position:absolute;inset:70px 0 auto}.welcome-creature-1{visibility:hidden}.welcome-cast{margin:8px auto 12px}.welcome-character canvas{width:62px;height:62px}.welcome-handwriting svg{max-height:110px}}@media (prefers-reduced-motion:reduce){.welcome-character,.welcome-creature,.welcome-character canvas,.welcome-creature canvas,.welcome-title{animation:none}}@media (width<=600px) and (height<=700px){.welcome-handwriting svg{max-height:86px}.welcome-creature canvas{width:76px;height:46px}.welcome-creature figcaption{font-size:12px}.welcome-subtitle{font-size:24px}.welcome-playline{margin:8px auto;font-size:16px}.welcome-cast{margin:8px 0 12px}.welcome-character canvas{width:56px;height:56px}.welcome-begin{padding:10px 24px;font-size:28px}.welcome-gated .welcome-skip{font-size:16px}}.welcome-video,.welcome-poster{object-fit:cover;background:#f2ece0;width:100%;height:100%;position:absolute;inset:0}.welcome-video{transition:opacity .24s}.welcome-video[hidden]{display:none}.welcome-video-finished{opacity:0;pointer-events:none}.welcome-playing .welcome-note{width:auto;box-shadow:none;background:0 0;border:0;padding:0;top:auto;bottom:16px;left:16px;transform:none}.welcome-playing .welcome-skip{background:#fff6c9ed}@media (prefers-reduced-motion:reduce){.welcome-video{transition:none}}.welcome-video-description{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
