@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2) format("woff2-variations");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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2) format("woff2-variations");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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2) format("woff2-variations");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:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-cyrillic-ext-600-normal-DDEJyoof.woff2) format("woff2"),url(/assets/caveat-cyrillic-ext-600-normal-BLVNc-Ct.woff) format("woff");unicode-range:U+0460-052F,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:600;src:url(/assets/caveat-cyrillic-600-normal-Ba_MyzgW.woff2) format("woff2"),url(/assets/caveat-cyrillic-600-normal-CqH0c_uj.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-latin-ext-600-normal-DDJRD6ps.woff2) format("woff2"),url(/assets/caveat-latin-ext-600-normal-shBvSnoU.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:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-latin-600-normal-zlTlWIYU.woff2) format("woff2"),url(/assets/caveat-latin-600-normal-DUjB8dgm.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{--paper: #f6efe2;--panel: #fffaf0;--line: #dfd2ba;--ink: #3b2d20;--muted: #6f5f4c;--accent: #d85a30;--accent-deep: #b8461f;--on-accent: #fff6ef;--table: #d9b98f;--pink: #f28fa8;--blue: #2f6fb5;--hand: "Caveat", cursive;--body: "Nunito Variable", system-ui, sans-serif;--ease: cubic-bezier(.16, 1, .3, 1);color-scheme:light}*{box-sizing:border-box;margin:0}button,a,input,select,label{touch-action:manipulation;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}html,body,#app{height:100%}body{background:radial-gradient(760px 520px at 82% -10%,rgba(216,90,48,.1),transparent 60%) no-repeat,var(--paper);color:var(--ink);font:400 16px/1.5 var(--body)}h1{font:600 clamp(32px,3vw + 1rem,48px) / 1.1 var(--hand)}a{color:inherit}.logo{font:600 24px/1 var(--hand);text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 16px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:600 14px/1.2 var(--body);text-decoration:none;cursor:pointer;transition:transform .5s var(--ease),border-color .5s var(--ease),background-color .5s var(--ease)}.button:hover{border-color:var(--ink);transform:translateY(-1px)}.button:active{transform:translateY(0) scale(.98)}.button:disabled{opacity:.6;cursor:default;transform:none}.button[aria-pressed=true]{border-color:var(--ink);background:#f3e3cb}.button-primary{border-color:var(--accent-deep);background:var(--accent-deep);color:var(--on-accent)}.button-primary:hover{border-color:var(--ink)}:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}.home{position:relative;display:flex;min-height:100%;flex-direction:column;padding:24px clamp(16px,5vw,64px);overflow:hidden}.home>:not(.home-doodles){position:relative;z-index:1}.home-doodles{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;will-change:transform}.doodle-pen,.doodle-crayon{fill:none;stroke-linecap:round;stroke-linejoin:round}.doodle-pen{stroke:var(--ink)}.doodle-crayon{stroke-width:8;transform:translate(3px,4px);opacity:.8}.home-doodle-filters{position:absolute;width:0;height:0;will-change:auto}.home-doodles-band{display:none;height:auto}.home-doodles-tablet{display:none}.home-body{display:flex;max-width:640px;flex:1;flex-direction:column;align-items:flex-start;justify-content:center;padding:24px 0 40px}.home-title{font-size:clamp(64px,9vw + 1rem,128px);line-height:.95}.home-title .line{display:block}.home-scribble{width:min(320px,70%);margin:8px 0 32px;overflow:visible}.duo-scribble path{fill:none;stroke:var(--pink);stroke-width:5;stroke-linecap:round}.duo-scribble path+path{stroke:var(--blue)}.start .duo-scribble{flex:none;width:min(320px,70%);overflow:visible}.home-lead{max-width:480px;margin-bottom:32px;color:var(--muted)}.home-cta{min-height:56px;padding:16px 32px;font-size:16px}.home-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;width:100%;max-width:480px}.home-name{display:flex;flex:1 1 208px;flex-direction:column;gap:8px;font-weight:600}.home-name-input{width:100%;min-height:56px;padding:8px 16px;border:1px solid var(--ink);border-radius:8px;background:var(--panel);color:var(--ink);font:400 16px/1.2 var(--body)}.home-enter{min-height:56px;padding:16px 32px;font-size:16px}.home-note{margin-top:16px;color:var(--muted);font-size:14px}@media(max-width:1180px){.home-body{max-width:44vw}.home-title{font-size:clamp(48px,7vw + .5rem,96px)}}@media(max-width:640px),(max-aspect-ratio:1 / 1){.home-doodles-far,.home-doodles-near{display:none}.home-doodles-band{display:block}.home-doodles-top{top:0;bottom:auto;height:min(37.5vw,24%)}.home-doodles-bottom{top:auto;bottom:0;height:min(32.5vw,22%)}.home{padding-bottom:calc(32.5vw + 8px)}.home-body{max-width:640px}.home-title{font-size:clamp(56px,9vw + 1rem,128px)}.home-lead,.home-note{color:var(--ink);text-shadow:0 0 4px var(--paper),0 0 8px var(--paper),0 0 16px var(--paper)}}@media(min-width:641px)and (max-aspect-ratio:1 / 1){.home-doodles-tablet{display:block}.doodle-not-on-tablet{display:none}}.home>.leaves{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.home-body{pointer-events:none}.home-body>*{pointer-events:auto}.leaf{position:absolute;top:0;left:0;width:112px;height:140px;padding:0;border:0;background:none;color:var(--ink);cursor:pointer;pointer-events:auto;perspective:500px;will-change:transform}.leaf-3d{position:absolute;top:0;right:0;bottom:0;left:0}.leaf-half{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;transform-origin:50% 50%}.leaf-shade{fill:var(--ink);opacity:0}.wind{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.wind path{fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;opacity:.6}.leaf.is-open{visibility:hidden}.leaf-body{stroke:var(--ink);stroke-width:2.5;stroke-linejoin:round}.leaf-veins{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;opacity:.35}.leaf-label{position:absolute;top:34%;right:12%;left:12%;font:600 24px/1 var(--hand);text-align:center;pointer-events:none}.leaf-card{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:24px;overflow-y:auto;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink)}.leaf-card::backdrop{background:#3b2d2073}.leaf-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.leaf-card-head h2{font:600 32px/1.1 var(--hand)}.leaf-paper{position:relative;width:100%;height:min(56dvh,440px);overflow:hidden;border-radius:8px;background:var(--paper);touch-action:none}.leaf-hint{min-height:24px;margin-top:16px;color:var(--muted);font-size:14px}.leaf-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.leaf-swatch{width:40px;padding:0;background:var(--swatch)}.leaf-swatch[aria-pressed=true]{border-color:var(--ink);background:var(--swatch);box-shadow:0 0 0 2px var(--ink)}.leaf-bowl{display:flex;align-items:center;justify-content:center;min-height:104px;border-radius:8px;background:var(--paper);font:600 32px/1 var(--hand)}.leaf-emoji{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;margin-top:16px}.leaf-chat{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:8px;height:200px;padding:16px;border-radius:8px}.leaf-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 8px;margin-top:16px}.leaf-start{width:100%;margin-top:24px}@media(max-width:640px){.leaf{width:80px;height:100px}.leaf-label{font-size:16px}}.site-footer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:24px clamp(16px,5vw,64px);overflow:hidden;border-top:1px solid var(--line)}.site-footer-name,.site-footer-links{position:relative;z-index:1;flex:none}.footer-doodles{overflow:visible;pointer-events:none}.footer-doodles-between{flex:none;width:80px;height:152px}.footer-doodles-phone{display:none}.site-footer .logo{font-size:32px}.site-footer-name p{margin-top:8px;color:var(--muted);font-size:14px}.tip-jar{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:8px 16px 8px 8px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;transition:transform .6s var(--ease),border-color .6s var(--ease)}.tip-jar-crayon{width:32px;height:16px;transform:rotate(-12deg);transition:transform .6s var(--ease)}.tip-jar:hover{border-color:var(--pink);transform:translateY(-2px)}.tip-jar:hover .tip-jar-crayon{transform:rotate(-28deg) translate(-2px,-1px)}.site-footer-links{display:flex;align-items:flex-start;gap:8px}.site-footer-links>div{display:grid;align-content:start;gap:8px}.site-footer-links h2{margin-bottom:8px;color:var(--muted);font-size:13px;font-weight:700}.site-footer-links a{width:fit-content;font-size:14px;text-decoration:none;background:linear-gradient(90deg,var(--pink) 50%,var(--blue) 50%) no-repeat 0 100% / 0 2px;transition:background-size .6s var(--ease)}.site-footer-links a:hover{background-size:100% 2px}@media(max-width:640px){.site-footer{flex-direction:column;align-items:flex-start;gap:24px;padding:32px 16px}.footer-doodles-between{display:none}.footer-doodles-phone{position:absolute;top:8px;right:0;display:block;width:100%;height:calc(100% - 16px)}.site-footer-links{gap:40px}}.info{padding:24px clamp(16px,5vw,64px) 80px}.info-body{max-width:640px;margin:56px auto 0}.info-title{font-size:clamp(56px,7vw + 1rem,96px);line-height:.95}.info-title .line{display:block}.info-body section{margin-top:40px}.info-body h2{margin-bottom:8px;font:600 32px/1.1 var(--hand)}.info-eyebrow{margin-bottom:8px;color:var(--accent-deep);font-size:13px;font-weight:700}.info-body a:not(.button){text-underline-offset:2px}.info-closing{margin-top:56px;font:600 32px/1.2 var(--hand)}.info-end{margin-top:32px}.story-page{display:block;width:min(320px,100%);margin-top:16px;overflow:visible}.story-half{stroke:var(--ink);stroke-width:2;stroke-linejoin:round}.story-half-pink{fill:color-mix(in srgb,var(--pink) 45%,var(--panel))}.story-half-blue{fill:color-mix(in srgb,var(--blue) 30%,var(--panel))}.story-line{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}.reveal{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.shown{opacity:1;transform:none}.room{display:grid;height:100%;grid-template:"bar bar bar" auto "tools stage chat" minmax(0,1fr) / 136px minmax(0,1fr) 280px}.room:not(.painting){grid-template-columns:0 minmax(0,1fr) 280px}.room.no-tools{grid-template-columns:0 minmax(0,1fr) 280px}.room-closed{grid-template-columns:0 minmax(0,1fr) 0}.room-closed .chat,.room-closed .room-actions{display:none}.room-bar{display:flex;grid-area:bar;align-items:center;justify-content:space-between;gap:16px;padding:8px 16px;border-bottom:1px solid var(--line)}.status{color:var(--accent-deep);font-size:14px;font-weight:600}.room-actions{display:flex;align-items:center;gap:8px}.room-name{display:flex;min-width:0;align-items:baseline;gap:16px}.logo{flex:none}.room-title{overflow:hidden;color:var(--muted);font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.lock-note{color:var(--muted);font-size:14px;font-weight:600;white-space:nowrap}.people{gap:8px;white-space:nowrap}.people-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:12px;background:#f3e3cb;font-size:13px}.people-count:empty{display:none}.start-locked{display:none;color:var(--muted);font:600 32px/1.2 var(--hand)}.locked-out .start>*{display:none}.locked-out .start>.start-locked{display:block}.locked-out .new-picture{display:none}.locked-out .viewport{cursor:default}.room-finding{padding:64px 16px;color:var(--muted);font:600 32px/1.2 var(--hand);text-align:center}.password-form{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:min(400px,100%)}.password-input{flex:1 1 200px;min-height:48px;padding:8px 16px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:400 16px/1.2 var(--body)}.password-form .button{min-height:48px}.notice>.password-error{min-height:24px;color:var(--accent-deep);font-weight:600}.chat-toggle{display:none;position:relative}.chat-toggle.has-unread:after{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--accent);content:""}.tools{display:flex;grid-area:tools;flex-direction:column;gap:16px;padding:16px;overflow-y:auto;border-right:1px solid var(--line)}.tool-group{display:grid;gap:8px}.tool-row{display:contents}.brushes{order:1}.size{order:2}.palette{display:flex;flex-direction:column;gap:16px;order:3}.honoured{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.honoured-label{grid-column:1 / -1;font:600 16px/1 var(--hand);text-align:center}.toggle{order:5}.undo{order:6}.replay-tool{order:7}.brushes{grid-template-columns:1fr}.brush-button{gap:8px;justify-content:flex-start;min-height:40px;padding:4px 8px;font-size:13px}.brush-button svg{flex:none;width:16px;height:16px}.brush-button span{flex:1;text-align:left}.brush-button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--panel)}.mix-choice{display:grid;gap:8px;order:1}.mix-choice>span{color:var(--muted);font-size:13px;font-weight:600}.mix-button{gap:8px;justify-content:space-between;padding:4px 8px;font-size:13px;white-space:nowrap}.mix-button[aria-pressed=true]{border-color:var(--ink);background:#f3e3cb}kbd{display:inline-block;min-width:16px;padding:0 4px;border:1px solid currentColor;border-radius:4px;font:700 12px/16px var(--body);text-align:center}.size,.toggle{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:13px;font-weight:600}.size input{width:100%;accent-color:var(--accent-deep)}.swatches{grid-template-columns:repeat(3,1fr)}.swatch{aspect-ratio:1;border:1px solid rgba(59,45,32,.3);border-radius:50%;background:var(--swatch);font:700 12px/1 var(--body);cursor:pointer;transition:transform .5s var(--ease)}.swatch:hover{transform:scale(1.08)}.swatch:active{transform:scale(.92);transition-duration:.1s}.swatch[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:2px}.swatch-any{display:flex;align-items:center;gap:8px;order:1}.swatch-any-dot{flex:none;width:24px;height:24px;border:1px solid rgba(59,45,32,.3);border-radius:50%;background:radial-gradient(circle,var(--picked, transparent) 0 38%,transparent 40%),conic-gradient(#e8505b,#f2a541,#f3d34a,#6cbf6a,#4aa3df,#7a6fd0,#d36fb5,#e8505b)}.swatch-any[aria-pressed=true]{border-color:var(--ink)}.colour-picker{position:fixed;z-index:30;display:grid;gap:16px;width:min(296px,calc(100vw - 32px));padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 16px 40px -16px #3b2d2073}.colour-picker-title{font:600 24px/1 var(--hand)}.picker-shade,.picker-hue{position:relative;border-radius:8px;cursor:crosshair;touch-action:none;outline-offset:2px}.picker-shade{height:168px;background:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,var(--hue))}.picker-hue{height:24px;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.picker-knob{position:absolute;width:24px;height:24px;margin:-12px 0 0 -12px;border:3px solid #fff;border-radius:50%;background:var(--picked);box-shadow:0 0 0 1px #3b2d2080,0 2px 6px #3b2d2059;pointer-events:none}.picker-hue .picker-knob{top:50%;left:0;background:var(--hue)}.picker-shade .picker-knob{top:0;left:0}.picker-foot{display:flex;align-items:center;gap:8px}.picker-chip{width:32px;height:32px;border:1px solid rgba(59,45,32,.3);border-radius:50%}.picker-hex{flex:1;color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}.toggle{flex-direction:row;align-items:flex-start;line-height:1.3;cursor:pointer}.toggle input{flex:none;margin-top:2px;accent-color:var(--accent-deep)}.stage-wrap{position:relative;grid-area:stage;min-width:0;min-height:0}.viewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none;cursor:none}.room:not(.painting) .viewport{visibility:hidden;pointer-events:none}.board-button{position:absolute;top:16px;right:16px;z-index:3;display:flex;align-items:center;gap:8px;box-shadow:0 8px 20px -14px #0009}.room:not(.painting) .board-button,.room:not(.painting) .board-card{display:none}.board-icon{display:grid;place-items:center;width:28px;height:24px;border:1px solid rgba(59,45,32,.35);border-radius:4px;background-color:var(--board, #808080);background-image:var(--board-image, none)}.board-icon-page{width:12px;height:14px;border:1px solid rgba(59,45,32,.4);border-radius:1px;background:var(--panel);box-shadow:0 1px 2px #00000040}.board-card-note{margin-top:-4px;color:var(--muted);font-size:13px}.board-card{position:absolute;top:64px;right:16px;z-index:4;display:grid;gap:8px;width:224px;max-height:calc(100% - 80px);overflow-y:auto;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 16px 40px -16px #3b2d2073}.board-card-title{font:600 24px/1 var(--hand)}.board-tones{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:4px 0}.board-tone{aspect-ratio:1;padding:0;border:1px solid rgba(59,45,32,.3);border-radius:50%;cursor:pointer}.board-tone[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:2px}.board-any,.board-wallpaper{display:flex;align-items:center;gap:8px}.board-any[aria-pressed=true],.board-wallpaper[aria-pressed=true]{border-color:var(--ink)}.board-wallpaper-dot{width:24px;height:24px;border:1px solid rgba(59,45,32,.3);border-radius:50%;background:linear-gradient(160deg,#93cadb,#f7e5c8 55%,#f8b2c1)}.contest-bar{position:absolute;top:16px;left:16px;z-index:3;display:grid;gap:8px;width:232px;max-width:calc(100% - 96px);padding:8px 16px 16px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 8px 20px -14px #0009}.contest-label{font:600 22px/1.2 var(--hand)}.contest-clock{font:700 40px/1 var(--body);font-variant-numeric:tabular-nums;transition:color .6s var(--ease)}.contest-bar.hurry .contest-clock{color:var(--accent-deep)}.contest-waiting{color:var(--muted);font-size:14px}.contest-stop{justify-self:start;padding:4px 16px;font-size:14px}.race-row{display:grid;grid-template-columns:56px 1fr 40px;align-items:center;gap:8px;font-size:14px}.race-name{overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.race-track{height:12px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.race-fill{display:block;height:100%;transform-origin:left;transition:transform .6s var(--ease)}.race-share{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.compete-card,.rate-card,.result-card{position:absolute;top:50%;left:50%;z-index:5;display:grid;gap:16px;width:min(336px,calc(100% - 32px));max-height:calc(100% - 32px);overflow-y:auto;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 24px 48px -24px #3b2d208c;transform:translate(-50%,-50%)}.compete-title,.rate-title,.result-title{font:600 32px/1.1 var(--hand)}.compete-option{display:grid;gap:8px;padding-top:16px;border-top:1px solid var(--line)}.compete-option h2{font:600 24px/1 var(--hand)}.compete-option p,.rate-note,.result-why,.result-tally{color:var(--muted);font-size:14px}.compete-minutes{display:flex;gap:8px}.rate-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.rate-name{font-weight:700}.rate-stars{display:flex}.rate-star{padding:0 2px;border:0;background:none;color:var(--line);font-size:32px;line-height:1;cursor:pointer;transition:transform .4s var(--ease),color .4s var(--ease)}.rate-star[aria-pressed=true]{color:var(--pink)}.rate-star:hover{transform:scale(1.15)}.result-card{text-align:center}.result-crown{font-size:56px;line-height:1}.result-actions{display:flex;justify-content:center;gap:8px}@media(max-width:860px){.contest-bar{top:8px;left:8px;gap:4px;width:216px;padding:8px 12px}.contest-label{font-size:18px}.contest-clock{font-size:28px}.contest-stop{padding:2px 12px;font-size:13px}.board-button-label{display:none}.board-button{padding:8px}.board-icon{width:32px;height:28px}.board-icon-page{width:14px;height:17px}}.board-fade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;transition:opacity .6s var(--ease)}.board-fade.gone{opacity:0}.viewport.not-painting{cursor:default}.viewport.can-pan{cursor:grab}.viewport.panning{cursor:grabbing}.stage{position:absolute;top:0;left:0;background:var(--panel);box-shadow:0 0 0 1px var(--line),0 16px 32px -24px #3b2d2080;transform-origin:0 0;will-change:transform}.layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.viewport.not-yours{cursor:not-allowed}.stage.is-torn{background:none;box-shadow:none}.piece{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .9s var(--ease);will-change:transform}.piece-face{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--panel)}.piece-face:after{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(135deg,rgba(59,45,32,.07) 0 3px,transparent 3px 18px),var(--panel);content:"";opacity:0;transition:opacity .9s var(--ease);pointer-events:none}.piece.veiled .piece-face:after{opacity:1}.piece-edge{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.piece-edge path{fill:none;stroke-linejoin:round}.piece-shadow path{stroke:#3b2d2047;stroke-width:12}.piece-tear path{stroke:#fff;stroke-width:5}.cut-trail{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none;will-change:transform}.cut-trail path{fill:var(--table);stroke:#fff;stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}.page-overlay{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.snips{position:absolute;top:-32px;left:-64px;width:64px;height:64px;transform-origin:100% 50%;will-change:transform}.snips.idle{transition:transform .6s var(--ease)}.snips svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;transform-origin:30px 32px;will-change:transform}.side-name{position:absolute;top:0;left:0;padding:4px 16px;border-radius:32px;background:var(--ink);color:var(--panel);font:600 24px/1.2 var(--hand);white-space:nowrap;transition:opacity .6s var(--ease)}.side-pink{background:var(--pink);color:var(--ink)}.side-blue{background:var(--blue);color:#fff}.names-faded .side-name{opacity:0}.page-hint.duo:before{display:inline-block;width:16px;height:16px;margin-right:8px;border-radius:50%;background:linear-gradient(90deg,var(--pink) 50%,var(--blue) 50%);content:"";vertical-align:-3px}.replay-tag{position:absolute;top:0;left:0;width:0;height:0;transition:transform .18s var(--ease);will-change:transform}.replay-tag span{position:absolute;top:12px;left:12px;padding:4px 8px;border-radius:8px;background:var(--cursor);color:var(--cursor-ink, #fff);font-size:13px;font-weight:700;white-space:nowrap}.mix-prompt{position:absolute;top:0;left:0;z-index:1;display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;background:var(--ink);box-shadow:0 4px 8px #3b2d2059;color:var(--panel);font-size:14px;line-height:1.2;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s var(--ease);will-change:transform,opacity}.mix-prompt.on{opacity:1}.mix-prompt.on.touch{pointer-events:auto}.mix-prompt button{display:flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:inherit;font:inherit}.mix-prompt.touch{padding:8px;cursor:default}.mix-prompt.touch span,.mix-prompt.touch kbd{display:none}.mix-prompt.touch button{min-height:44px;padding:8px 16px;border:1px solid var(--panel);border-radius:8px;font-weight:600;cursor:pointer}.page-bar{position:absolute;right:0;bottom:0;left:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:8px 16px;border-top:1px solid var(--line);background:var(--panel)}.page-hint{flex:1 1 240px;font-size:14px}.page-hint.oops{color:var(--accent-deep);font-weight:600}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.piece-count{display:flex;align-items:center;gap:4px;margin-right:8px}.piece-count span{margin-right:4px;color:var(--muted);font-size:13px;font-weight:600}.piece-count .button{min-width:40px;padding:8px}@media(hover:none){.brush-button kbd,.mix-button kbd{display:none}}.cursors{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.cursor{position:absolute;top:0;left:0;width:0;height:0;transition:transform .18s var(--ease);will-change:transform}.cursor:before{position:absolute;top:-6px;left:-6px;width:12px;height:12px;border:2px solid var(--panel);border-radius:50%;background:var(--cursor);content:""}.cursor span{position:absolute;top:10px;left:10px;padding:2px 8px;border-radius:8px;background:var(--cursor);color:var(--cursor-ink, #fff);font-size:12px;font-weight:700;white-space:nowrap}.brush-ring{position:absolute;top:0;left:0;border:1px solid var(--ink);border-radius:50%;box-shadow:0 0 0 1px #fffaf0cc;pointer-events:none}.start,.notice{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px 16px;text-align:center}.notice{z-index:6;background:#f6efe2f0}.notice>p{max-width:440px;color:var(--muted)}.start{align-items:stretch;justify-content:flex-start;padding:32px clamp(16px,4vw,48px) 64px;overflow-y:auto;text-align:left}.start h1{font-size:clamp(40px,4vw + 1rem,64px)}.start-actions{display:flex;flex-wrap:wrap;gap:8px}.start-note,.start-replace{color:var(--muted);font-size:14px}.start-replace{color:var(--accent-deep);font-weight:600}.start-wip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:14px}.start-wip span{padding:2px 8px;border:1px dashed var(--accent);border-radius:999px;color:var(--accent-deep);font-size:12px;font-weight:700}.stock-level{margin-top:24px}.stock-level h2{font:600 32px/1.1 var(--hand)}.stock-level p{margin-bottom:16px;color:var(--muted);font-size:14px}.stock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr));gap:16px}.stock-card{padding:0;border:0;background:none;color:var(--ink);font:600 14px/1.3 var(--body);text-align:left;cursor:pointer;transition:transform .6s var(--ease),opacity .6s var(--ease)}.stock-card:hover:not(:disabled){transform:translateY(-4px)}.stock-card:disabled{opacity:.5;cursor:default}.stock-card.opening{opacity:1;animation:thinking 1.4s var(--ease) infinite alternate}.stock-card img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;margin-bottom:8px;border:1px solid var(--line);border-radius:8px;background:#fff}.blank-frame{display:grid;place-items:center;aspect-ratio:1;margin-bottom:8px;border:1px dashed var(--line);border-radius:8px}.blank-sheet{border:1px solid var(--line);border-radius:2px;background:var(--panel);box-shadow:0 10px 18px -12px #3b2d2080;transform:rotate(-2deg);transition:transform .6s var(--ease)}.blank-card:hover:not(:disabled) .blank-sheet{transform:rotate(1deg)}.file-label{position:relative;min-height:48px;padding:8px 24px;font-size:16px;cursor:pointer}.file-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.file-label:focus-within{outline:2px solid var(--accent-deep);outline-offset:2px}.start-error{min-height:24px;color:var(--accent-deep)!important;font-weight:600}.preview{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:32px;align-items:center;padding:32px;overflow-y:auto}.preview-frame{--ratio: 1.333;position:relative;width:min(100%,calc(var(--ratio) * (100dvh - 136px)));aspect-ratio:var(--ratio);margin:auto;background:var(--panel);box-shadow:0 0 0 1px var(--line);transition:opacity .6s var(--ease)}.preview-frame.working{opacity:.45;animation:thinking 1.4s var(--ease) infinite alternate}@keyframes thinking{to{opacity:.2}}.preview-side{display:flex;flex-direction:column;gap:16px}.preview-note{color:var(--muted);font-size:14px}.detail-options{display:grid;gap:8px}.chat{display:flex;grid-area:chat;flex-direction:column;min-height:0;border-left:1px solid var(--line);background:var(--panel)}.name-field{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:600;white-space:nowrap}.name-input,.chat-input{width:100%;min-width:0;min-height:40px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:400 16px/1.2 var(--body)}.wallpaper-toggle{display:inline-flex;flex:none;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);cursor:pointer;transition:transform .5s var(--ease),border-color .5s var(--ease)}.wallpaper-toggle:hover,.wallpaper-toggle[aria-expanded=true]{border-color:var(--ink)}.wallpaper-toggle svg{width:24px;height:24px}.chat-body{position:relative;display:flex;flex:1;min-height:0}.messages{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0;min-width:0;padding:16px 8px;overflow-y:auto;list-style:none}.messages:empty:before{margin:auto;padding:8px 16px;border-radius:16px;background:var(--panel);box-shadow:0 1px 4px #3b2d2040;color:var(--ink);content:"Say hello while you paint.";font-size:14px}.message{display:flex;align-items:flex-start;gap:8px}.message-avatar{display:inline-flex;flex:none;align-items:center;justify-content:center;width:32px;height:32px;border:2px solid var(--panel);border-radius:50%;background:var(--cursor);color:var(--cursor-ink, #fff);font-size:14px;font-weight:700}.message-bubble{min-width:0;padding:8px 16px;border-radius:4px 16px 16px;background:var(--panel);box-shadow:0 1px 4px #3b2d2040}.message-meta{color:var(--muted);font-size:12px}.wallpapers{position:absolute;top:0;right:0;bottom:0;left:0;padding:16px;overflow-y:auto;background:var(--panel)}.wallpapers h2{font:600 32px/1.1 var(--hand)}.wallpapers p{margin-bottom:16px;color:var(--muted);font-size:14px}.wallpaper-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 8px}.wallpaper-tile{padding:0;border:0;background:none;color:var(--ink);font:600 13px/1.3 var(--body);text-align:left;cursor:pointer;transition:transform .6s var(--ease)}.wallpaper-tile:hover{transform:translateY(-4px)}.wallpaper-swatch{display:block;aspect-ratio:3 / 4;margin-bottom:8px;border:1px solid var(--line);border-radius:8px}.wallpaper-tile[aria-pressed=true] .wallpaper-swatch{outline:3px solid var(--ink);outline-offset:2px}.message-text{font-size:14px;overflow-wrap:anywhere}.chat-form{display:flex;gap:8px;padding:8px 16px 16px}.typing{position:absolute;bottom:8px;left:8px;display:flex;align-items:center;gap:8px;max-width:calc(100% - 16px);padding:4px 16px;border-radius:16px;background:var(--panel);box-shadow:0 1px 4px #3b2d2040;font-size:13px}.typing-dots{display:inline-flex;flex:none;gap:4px}.typing-dots i{width:6px;height:6px;border-radius:50%;background:var(--pink);animation:typing-bounce 1.2s var(--ease) infinite alternate}.typing-dots i:nth-child(2){background:var(--blue);animation-delay:.2s}.typing-dots i:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{to{transform:translateY(-4px)}}.kitchen-toggle{flex:none;width:40px;height:40px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-size:20px;cursor:pointer;transition:transform .5s var(--ease),border-color .5s var(--ease)}.kitchen-toggle:hover,.kitchen-toggle[aria-expanded=true]{border-color:var(--ink)}.kitchen{position:absolute;top:0;right:0;bottom:0;left:0;padding:16px;overflow-y:auto;background:var(--panel)}.kitchen h2{font:600 32px/1.1 var(--hand)}.kitchen p{margin-bottom:16px;color:var(--muted);font-size:14px}.kitchen-bowl{display:flex;align-items:center;justify-content:center;min-height:104px;margin-bottom:16px;border:2px dashed var(--line);border-radius:16px}.kitchen-empty{color:var(--muted);font-size:32px}.kitchen-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.kitchen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:4px}.kitchen-emoji{aspect-ratio:1;padding:0;border:2px solid transparent;border-radius:8px;background:none;font-size:24px;cursor:pointer;transition:transform .5s var(--ease)}.kitchen-emoji:hover{transform:scale(1.15)}.kitchen-emoji[aria-pressed=true]{border-color:var(--ink);background:#f3e3cb}.mixed-sticker{position:relative;display:block;width:88px;height:88px;filter:drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff) drop-shadow(0 2px 3px rgba(59,45,32,.3))}.mixed-base,.mixed-topping{position:absolute;line-height:1}.mixed-base{top:8px;left:4px;font-size:64px}.mixed-topping{right:0;bottom:0;font-size:40px;transform:rotate(-10deg)}.home-account{position:absolute!important;top:16px;right:clamp(16px,5vw,64px);display:flex;gap:8px}.login,.my-rooms{width:min(400px,calc(100% - 32px));margin:auto;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink)}.home>.my-rooms{position:fixed;z-index:auto}.login::backdrop,.my-rooms::backdrop{background:#3b2d2073}.login h2,.my-rooms h2{font:600 32px/1.1 var(--hand)}.login-form{display:flex;flex-direction:column;gap:16px}.login-form label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600}.login-form input{min-height:48px;padding:8px 16px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:400 16px/1.2 var(--body)}.login-reason{color:var(--muted);font-size:14px}.login-error{min-height:20px;color:var(--accent-deep);font-size:14px;font-weight:600}.login-actions{display:flex;flex-wrap:wrap;gap:8px}.my-rooms-list{display:grid;gap:8px;margin:16px 0;padding:0;list-style:none}.my-rooms-empty{margin:16px 0;color:var(--muted)}.my-room{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.my-room-link{display:flex;min-width:0;flex:1;flex-direction:column;text-decoration:none}.my-room-link strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-room-link small{color:var(--muted);font-size:13px}.room-dialog{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:24px;overflow-y:auto;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);transition:opacity .5s var(--ease),transform .5s var(--ease)}@starting-style{.room-dialog{opacity:0;transform:translateY(16px)}}.room-dialog::backdrop{background:#3b2d2073}.room-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.room-dialog h2{font:600 32px/1.1 var(--hand)}.room-dialog h3{margin:24px 0 8px;font-size:14px;font-weight:700}.people-list{display:grid;gap:8px;padding:0;list-style:none}.person{display:flex;min-height:40px;align-items:center;gap:8px}.person-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-host{flex:none;padding:0 8px;border-radius:12px;background:#f3e3cb;font-size:13px;font-weight:700}.person-kick{flex:none;margin-left:auto}.host-note{color:var(--muted);font-size:14px}.room-form{display:grid;gap:16px;margin-top:16px}.room-form label{display:grid;gap:4px;font-size:14px;font-weight:600}.room-form input{width:100%;min-height:48px;padding:8px 16px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:400 16px/1.2 var(--body)}.link-field{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:16px}.room-form-result{min-height:24px;color:var(--muted);font-size:14px;font-weight:600}.room-form-result.oops{color:var(--accent-deep)}.room-form-actions,.room-danger{display:flex;flex-wrap:wrap;gap:8px}.room-switch{display:flex;align-items:flex-start;gap:8px;margin-top:16px;cursor:pointer}.room-switch input{flex:none;width:24px;height:24px;margin:0;accent-color:var(--accent-deep)}.room-switch span{display:grid;font-size:14px}.room-switch small{color:var(--muted);font-size:13px}.room-danger{margin-top:24px}.delete-room{color:var(--accent-deep)}.room-life{display:grid;justify-items:start;gap:8px;margin-top:24px}.room-life-text{color:var(--muted);font-size:14px}.confirm p{margin-bottom:24px}.confirm .confirm-note{margin-top:-16px;color:var(--muted);font-size:14px}.room-dialog-new{width:100%;margin-top:24px}.room-dialog-picture:not([hidden])+.room-dialog-new{margin-top:8px}.room-dialog-picture{display:none;width:100%;margin-top:24px}.message-notice{align-self:center;max-width:100%;padding:0 8px;border-radius:12px;background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--muted);font-size:13px;font-weight:600;text-align:center}@media(max-width:360px){.room-bar .logo{display:none}}@media(max-width:860px){.room,.room.no-tools,.room:not(.painting),.room-closed{grid-template:"bar" auto "stage" minmax(0,1fr) "tools" auto / minmax(0,1fr)}.room-bar{padding:8px}.logo{font-size:20px}.save,.room-title,.lock-note{display:none}.people{padding:8px;font-size:13px}.new-picture{display:none}.room-dialog-picture{display:inline-flex}.invite{padding:8px;font-size:13px}.chat-toggle{display:inline-flex}.tools{gap:8px;padding:8px;padding-bottom:max(8px,env(safe-area-inset-bottom));overflow:visible;border-top:1px solid var(--line);border-right:0}.tool-row{display:flex;align-items:center;gap:16px;padding:4px 0;overflow-x:auto}.brushes{flex:none;grid-auto-flow:column;grid-template-columns:none}.brush-button{white-space:nowrap}.mix-choice{flex:none;grid-auto-flow:column;align-items:center}.mix-choice>span{display:none}.size{flex:none;width:96px}.palette{flex-direction:row;align-items:center;gap:8px}.honoured{flex:none;grid-template-columns:repeat(2,40px);padding:4px}.honoured-label{display:none}.swatches{min-width:0;grid-auto-columns:40px;grid-auto-flow:column;grid-template-columns:none;padding:4px;overflow-x:auto}.swatch{width:40px}.swatch-any{flex:none;order:0;width:48px;height:48px;justify-content:center;padding:0;border-radius:50%}.swatch-any-dot{width:36px;height:36px}.swatch-any-label{display:none}.toggle{flex:none;width:104px}.undo,.replay-tool{flex:none}.chat{position:fixed;right:0;bottom:0;left:0;z-index:2;height:60%;border-top:1px solid var(--line);border-left:0;border-radius:16px 16px 0 0;box-shadow:0 -16px 32px -24px #3b2d2099;transform:translateY(105%);transition:transform .6s var(--ease)}.chat-open .chat{transform:none}.wallpaper-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.preview{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;padding:16px}.preview-frame{width:min(100%,calc(var(--ratio) * (100dvh - 416px)))}.detail-options{grid-template-columns:repeat(3,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}}
