@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,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(./nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,[data-theme=light]{--color-bg:#fbf6ee;--color-surface:#fffcf9;--color-surface-offset:#f4ede4;--color-surface-dynamic:#eae2d6;--color-border:#46372b21;--color-border-strong:#46372b52;--color-text:#2b1f16;--color-text-muted:#66584d;--color-text-faint:#90847a;--color-dot:#ec7b38;--color-dot-soft:#ec7b3821;--color-dot-text:#ab4500;--color-ink-on-dot:#2d1d14;--color-primary:#322318;--color-primary-hover:#463326;--color-on-primary:#fcf8f1;--color-error:#af2b25;--color-error-soft:#af2b2517;--shadow-sm:0 1px 2px #3d291912;--shadow-md:0 1px 2px #3d29190f, 0 10px 30px #3d291917;--sheet-shadow:0 2px 4px #3d291914, 0 18px 40px #3d291924;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@supports (color:lab(0% 0 0)){:root,[data-theme=light]{--color-bg:lab(97.134% .703216 4.53185);--color-surface:lab(99.2028% .282347 1.88133);--color-surface-offset:lab(94.2347% 1.06832 5.63844);--color-surface-dynamic:lab(90.1805% 1.3023 6.78012);--color-border:lab(24.5177% 5.57716 10.4396/.13);--color-border-strong:lab(24.5177% 5.57716 10.4396/.32);--color-text:lab(12.9011% 5.29579 8.30323);--color-text-muted:lab(38.4612% 4.46618 8.51347);--color-text-faint:lab(55.8781% 3.47519 6.73016);--color-dot:lab(64.1688% 41.4123 55.0218);--color-dot-soft:lab(64.1688% 41.4123 55.0218/.13);--color-dot-text:lab(43.2154% 41.1988 54.9915);--color-ink-on-dot:lab(12.8453% 7.08707 9.40687);--color-primary:lab(15.1978% 6.4179 10.0504);--color-primary-hover:lab(23.3004% 7.43371 11.6505);--color-on-primary:lab(97.7087% .579834 3.77247);--color-error:lab(40.3353% 53.1823 37.9783);--color-error-soft:lab(40.3353% 53.1823 37.9783/.09);--shadow-sm:0 1px 2px lab(18.6681% 7.83302 14.503/.07);--shadow-md:0 1px 2px lab(18.6681% 7.83302 14.503/.06), 0 10px 30px lab(18.6681% 7.83302 14.503/.09);--sheet-shadow:0 2px 4px lab(18.6681% 7.83302 14.503/.08), 0 18px 40px lab(18.6681% 7.83302 14.503/.14)}}[data-theme=dark]{--color-bg:#1a1511;--color-surface:#231d18;--color-surface-offset:#2c2520;--color-surface-dynamic:#372f28;--color-border:#f6ede01c;--color-border-strong:#f6ede04d;--color-text:#efeae2;--color-text-muted:#b7b0a7;--color-text-faint:#807971;--color-dot:#f38c48;--color-dot-soft:#f38c4829;--color-dot-text:#fea668;--color-ink-on-dot:#2b1b12;--color-primary:#f0eae0;--color-primary-hover:#ded6c9;--color-on-primary:#221812;--color-error:#f68675;--color-error-soft:#f686751f;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 1px 2px #0000004d, 0 10px 30px #0000004d;--sheet-shadow:0 2px 4px #00000059, 0 18px 40px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@supports (color:lab(0% 0 0)){[data-theme=dark]{--color-bg:lab(7.19909% 2.05951 3.4455);--color-surface:lab(11.2291% 2.32874 4.43273);--color-surface-offset:lab(15.2873% 2.49676 4.76371);--color-surface-dynamic:lab(19.9226% 2.85256 5.44346);--color-border:lab(94.2538% 1.22291 7.58821/.11);--color-border-strong:lab(94.2538% 1.22291 7.58821/.3);--color-text:lab(93.0739% .704825 4.53292);--color-text-muted:lab(72.1658% 1.76492 5.43427);--color-text-faint:lab(51.2845% 1.79023 5.45222);--color-dot:lab(69.0093% 36.1871 53.2461);--color-dot-soft:lab(69.0093% 36.1871 53.2461/.16);--color-dot-text:lab(76.202% 29.0022 45.7689);--color-ink-on-dot:lab(11.684% 7.11111 9.24291);--color-primary:lab(93.0816% .894964 5.67563);--color-primary-hover:lab(86.1333% 1.23259 7.59516);--color-on-primary:lab(9.44277% 4.20167 6.20367);--color-error:lab(68.5809% 42.4576 29.4247);--color-error-soft:lab(68.5809% 42.4576 29.4247/.12);--shadow-sm:0 1px 2px lab(0% 0 0/.3);--shadow-md:0 1px 2px lab(0% 0 0/.3), 0 10px 30px lab(0% 0 0/.3);--sheet-shadow:0 2px 4px lab(0% 0 0/.35), 0 18px 40px lab(0% 0 0/.4)}}:root{--font-body:"Nunito Variable", "Nunito", "Segoe UI", system-ui, sans-serif;--text-xs:clamp(.75rem, .7rem + .25vw, .875rem);--text-sm:clamp(.875rem, .8rem + .35vw, 1rem);--text-base:clamp(1rem, .95rem + .25vw, 1.125rem);--text-lg:clamp(1.125rem, 1rem + .75vw, 1.5rem);--text-xl:clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1.25rem;--radius-full:999px;--ease:cubic-bezier(.16, 1, .3, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--content:68rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;transition:background-color .3s var(--ease), color .3s var(--ease);flex-direction:column;margin:0;line-height:1.55;display:flex}#root{flex-direction:column;flex:1;display:flex}img,svg{max-width:100%;display:block}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:3px solid var(--color-dot);outline-offset:3px;border-radius:var(--radius-sm)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{left:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-sm);z-index:10;position:absolute;top:-4rem}.skip-link:focus{top:var(--space-4)}.h1{font-size:var(--text-xl);letter-spacing:-.015em;text-wrap:balance;margin:0;font-weight:800;line-height:1.15}.h2{font-size:var(--text-lg);margin:0;font-weight:800;line-height:1.25}.h3{font-size:var(--text-base);margin:0;font-weight:800}.lead{color:var(--color-text-muted);text-wrap:pretty;max-width:52ch;margin:0}.muted{color:var(--color-text-muted)}.small{font-size:var(--text-sm);margin:0}.center{text-align:center}.btn-primary,.btn-ghost,.btn-text,.icon-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;font-weight:750;font-size:var(--text-sm);transition:background-color .18s var(--ease), transform .18s var(--ease), box-shadow .18s var(--ease), color .18s var(--ease);border:0;text-decoration:none;display:inline-flex}.btn-primary{padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:active,.btn-ghost:active{transform:scale(.97)}.btn-primary:disabled{opacity:.6;cursor:progress}.btn-big{width:100%;min-height:56px;font-size:var(--text-base)}.btn-ghost{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--color-surface-offset);color:var(--color-text)}.btn-ghost:hover{background:var(--color-surface-dynamic)}.btn-text{padding:var(--space-2) 0;color:var(--color-dot-text);text-underline-offset:4px;background:0 0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:1.5px}.btn-text:hover{text-decoration-style:solid}.btn-text:disabled{opacity:.6}.icon-btn{border-radius:var(--radius-full);background:0 0;width:44px;padding:0}.icon-btn:hover{background:var(--color-surface-offset)}.row{gap:var(--space-3);flex-wrap:wrap;display:flex}.site-header,.site-footer,.main{width:100%;max-width:var(--content);padding-inline:clamp(var(--space-4), 4vw, var(--space-8));margin-inline:auto}.site-header{padding-block:var(--space-4);justify-content:space-between;align-items:center;display:flex}.brand{align-items:center;gap:var(--space-2);background:0 0;border:0;min-height:44px;padding:0;display:inline-flex}.wordmark{font-weight:850;font-size:var(--text-lg);letter-spacing:-.02em}.logo-mark{transition:transform .4s var(--ease-bounce)}.brand:hover .logo-mark{transform:rotate(-8deg)scale(1.06)}.header-tools{align-items:center;gap:var(--space-2);display:flex}.lang-switch{border-radius:var(--radius-full);background:var(--color-surface-offset);padding:3px;display:inline-flex}.lang-switch button{border-radius:var(--radius-full);min-width:44px;min-height:38px;font-size:var(--text-xs);color:var(--color-text-muted);transition:background-color .18s var(--ease), color .18s var(--ease);background:0 0;border:0;font-weight:800}.lang-switch button[aria-pressed=true]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.main{padding-block:clamp(var(--space-6), 5vw, var(--space-12)) var(--space-16);outline:none;flex:1}.site-footer{justify-content:space-between;gap:var(--space-3);padding-block:var(--space-6);border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.site-footer a{text-underline-offset:3px}.site-footer a:hover{color:var(--color-text)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.start{gap:clamp(var(--space-8), 5vw, var(--space-16));align-items:start;display:grid}@media (min-width:900px){.start{padding-top:var(--space-8);grid-template-columns:1fr 1fr}}.hero{gap:var(--space-5);display:grid}.hero-dottie{animation:4.5s ease-in-out infinite float}@keyframes float{50%{transform:translateY(-6px)rotate(-3deg)}}.steps{margin:var(--space-4) 0 0;gap:var(--space-4);padding:0;list-style:none;display:grid;position:relative}.steps:before{content:"";border-left:2px dotted var(--color-border-strong);position:absolute;top:16px;bottom:16px;left:15px}.steps li{align-items:center;gap:var(--space-3);font-weight:700;display:flex;position:relative}.step-dot{border-radius:var(--radius-full);background:var(--color-surface);border:2px solid var(--color-text);width:32px;height:32px;font-size:var(--text-xs);flex:none;place-items:center;font-weight:850;display:grid}.step-dot.is-first{background:var(--color-dot);border-color:var(--color-dot);color:var(--color-ink-on-dot)}.start-upload{gap:var(--space-4);display:grid}.upload{justify-items:center;gap:var(--space-2);display:grid}.dropzone{text-align:center;justify-items:center;gap:var(--space-2);width:100%;padding:clamp(var(--space-10), 7vw, var(--space-16)) var(--space-6);border:3px dotted var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;transition:border-color .2s var(--ease), background-color .2s var(--ease), transform .25s var(--ease);display:grid}.dropzone:hover,.dropzone:focus-within,.dropzone.is-over{border-color:var(--color-dot);background:var(--color-dot-soft)}.dropzone.is-over{transform:scale(1.015)}.dropzone:focus-within{outline:3px solid var(--color-dot);outline-offset:3px}.dropzone-icon{color:var(--color-dot-text);margin-bottom:var(--space-2);transition:transform .35s var(--ease-bounce)}.dropzone:hover .dropzone-icon,.dropzone.is-over .dropzone-icon{transform:translateY(-4px)rotate(-6deg)}.dropzone-title{font-size:var(--text-lg);font-weight:800}.dropzone-sub{color:var(--color-text-muted)}.link-like{color:var(--color-text);text-underline-offset:3px;font-weight:750;text-decoration:underline}.dropzone-hint{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);max-width:36ch}.tips{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--color-surface-offset)}.tips ul{margin:var(--space-2) 0 0;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm);padding:0;list-style:none;display:grid}.tips li{gap:var(--space-2);align-items:baseline;display:flex}.tips li:before{content:"";background:var(--color-dot);border-radius:50%;flex:none;width:6px;height:6px;transform:translateY(-2px)}.form-error{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-error-soft);color:var(--color-error);font-weight:650;font-size:var(--text-sm);animation:shake .4s var(--ease);margin:0}@keyframes shake{25%{transform:translate(-4px)}60%{transform:translate(3px)}}.setup{gap:var(--space-8);animation:rise .45s var(--ease);align-items:start;display:grid}@media (min-width:900px){.setup{grid-template-columns:5fr 6fr}.setup-preview{top:var(--space-6);position:sticky}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.setup-preview{padding:var(--space-3)}.preview-frame{aspect-ratio:4/3;border-radius:calc(var(--radius-lg) - var(--space-3));background:#fff;place-items:center;display:grid;overflow:hidden}.preview-frame img{object-fit:contain;max-height:100%}.preview-meta{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-2) var(--space-1);display:flex}.file-name{font-weight:700;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.setup-options{gap:var(--space-5);display:grid}fieldset{border:0;min-width:0;margin:0;padding:0}.levels{gap:var(--space-3);display:grid}.levels legend{margin-bottom:var(--space-3)}.level-card{align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);border:2px solid var(--color-border);cursor:pointer;transition:border-color .2s var(--ease), background-color .2s var(--ease), transform .2s var(--ease);display:flex}.level-card:hover{border-color:var(--color-border-strong)}.level-card:active{transform:scale(.99)}.level-card.is-on{border-color:var(--color-dot);background:var(--color-dot-soft)}.level-card input,.segmented input{opacity:0;pointer-events:none;position:absolute}.level-card:has(input:focus-visible){outline:3px solid var(--color-dot);outline-offset:2px}.segmented label:has(input:focus-visible){outline:3px solid var(--color-dot);outline-offset:2px}.density{flex:none;width:48px;height:48px}.dd-dot{fill:var(--color-text)}.dd-first{fill:var(--color-dot)}.level-card.is-on .density{animation:spin-in .6s var(--ease)}@keyframes spin-in{0%{transform:rotate(-40deg)}}.level-text{gap:2px;display:grid}.level-name{font-weight:800}.level-age{font-weight:650;font-size:var(--text-sm);color:var(--color-text-muted);margin-left:var(--space-1)}.level-hint{font-size:var(--text-sm);color:var(--color-text-muted)}.more{border-radius:var(--radius-md);background:var(--color-surface-offset)}.more summary{min-height:48px;padding:var(--space-2) var(--space-4);cursor:pointer;border-radius:var(--radius-md);justify-content:space-between;align-items:center;font-weight:750;list-style:none;display:flex}.more summary::-webkit-details-marker{display:none}.more-chevron{transition:transform .25s var(--ease)}.more[open] .more-chevron{transform:rotate(180deg)}.more-body{gap:var(--space-4);padding:0 var(--space-4) var(--space-4);animation:rise .3s var(--ease);display:grid}.seg-field legend{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-2);font-weight:700}.segmented{gap:var(--space-2);flex-wrap:wrap;display:flex}.segmented label{min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--color-surface);border:1.5px solid var(--color-border);font-size:var(--text-sm);cursor:pointer;transition:border-color .18s var(--ease), background-color .18s var(--ease);align-items:center;font-weight:650;display:inline-flex;position:relative}.segmented label:hover{border-color:var(--color-border-strong)}.segmented label.is-on{border-color:var(--color-text);background:var(--color-text);color:var(--color-bg)}.waiting,.failed{max-width:34rem;margin:var(--space-8) auto 0;padding:clamp(var(--space-8), 5vw, var(--space-12)) var(--space-6);text-align:center;justify-items:center;gap:var(--space-4);animation:rise .45s var(--ease);display:grid}.waiting .lead,.failed .lead{min-height:3.1em}.drawing-dots{width:132px;height:128px;overflow:visible}.drawing-dots-line{fill:none;stroke:var(--color-text);stroke-width:1.8px;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:100;animation:draw 3.4s var(--ease) infinite}@keyframes draw{0%{stroke-dashoffset:100px}70%,85%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.dd-num{fill:var(--color-text-muted);font-size:8px;font-weight:800}.bar{border-radius:var(--radius-full);background:var(--color-surface-offset);width:min(100%,22rem);height:10px;overflow:hidden}.bar span{border-radius:inherit;background:var(--color-dot);height:100%;transition:width .8s var(--ease);display:block}.bar span.is-idle{animation:1.6s ease-in-out infinite idle;width:30%!important}@keyframes idle{0%{transform:translate(-110%)}to{transform:translate(340%)}}.done{gap:var(--space-8);animation:rise .5s var(--ease);align-items:start;display:grid}@media (min-width:900px){.done{grid-template-columns:6fr 5fr}}.done-preview{padding:var(--space-3)}.tabs{margin:0 0 var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-offset);padding:3px;display:inline-flex}.tabs button{min-height:40px;padding:0 var(--space-5);border-radius:var(--radius-full);font-weight:750;font-size:var(--text-sm);color:var(--color-text-muted);transition:background-color .18s var(--ease), color .18s var(--ease);background:0 0;border:0}.tabs button.is-on{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.sheet{border-radius:calc(var(--radius-lg) - var(--space-3));box-shadow:var(--sheet-shadow);cursor:zoom-in;transition:transform .25s var(--ease);background:#fff;display:block;overflow:hidden}.sheet:hover{transform:translateY(-2px)}.sheet img{background:#fff;width:100%;height:auto}.done-side{gap:var(--space-4);display:grid}@media (min-width:900px){.done-side{top:var(--space-6);position:sticky}}.done-head{align-items:center;gap:var(--space-4);display:flex}.pop{animation:pop .7s var(--ease-bounce)}@keyframes pop{0%{opacity:0;transform:scale(.3)rotate(-30deg)}}.stats{gap:var(--space-3);grid-template-columns:1fr 1fr;margin:0;display:grid}.stats div{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-offset)}.stats dt{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:650}.stats dd{font-size:var(--text-xl);font-variant-numeric:tabular-nums;margin:0;font-weight:850;line-height:1.2}.donate{gap:var(--space-4);padding:var(--space-5);margin-top:var(--space-2);box-shadow:none;background:var(--color-dot-soft);border-color:#0000;align-items:flex-start;display:flex}.donate .dottie{flex:none}.donate-text{gap:var(--space-2);display:grid}.donate-text p{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.donate-links{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.donate-links .btn-ghost{background:var(--color-surface)}.dottie-eyes{transform-origin:50px 48px;animation:5s infinite blink}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.editor{gap:var(--space-3);margin-top:var(--space-4);display:grid}.ed-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.ed-head .muted{margin-top:var(--space-1)}.ed-toolbar{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.ed-tools{border-radius:var(--radius-full);background:var(--color-surface-offset);gap:2px;padding:4px;display:inline-flex}.ed-tools button{align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-full);color:var(--color-text-muted);font-weight:750;font-size:var(--text-sm);transition:background-color .18s var(--ease), color .18s var(--ease);background:0 0;border:0;display:inline-flex}.ed-tools button:hover{color:var(--color-text)}.ed-tools button.is-on{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.ed-group{align-items:center;gap:2px;display:inline-flex}.icon-btn:disabled{opacity:.35;cursor:default;background:0 0}.ed-zoom{text-align:center;min-width:3.2em;font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-weight:700}.chip{align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);cursor:pointer;font-weight:650;display:inline-flex}.chip:hover{background:var(--color-surface-offset)}.chip input{width:18px;height:18px;accent-color:var(--color-dot)}.ed-hint{min-height:1.5em;font-size:var(--text-sm);color:var(--color-text-muted)}.ed-keys{color:var(--color-text-faint);display:none}@media (hover:hover) and (pointer:fine){.ed-keys{display:inline}.ed-keys:before{content:"· "}}.ed-canvas{border-radius:var(--radius-lg);background:var(--color-surface-offset);max-height:min(78vh,1100px);padding:var(--space-3);overscroll-behavior:contain;overflow:auto}.ed-svg{touch-action:none;-webkit-user-select:none;user-select:none;max-width:none;height:auto;box-shadow:var(--sheet-shadow);cursor:grab;border-radius:4px;margin-inline:auto;display:block}.ed-svg.tool-add{cursor:copy}.ed-svg.tool-delete{cursor:not-allowed}.ed-paper{fill:#fff}.ed-source{opacity:.22}.ed-plain polyline{fill:none;stroke:#24242a;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round}.ed-paths polyline{fill:none;stroke:#ec7b38bf;stroke:lab(64.1688% 41.4123 55.0218/.75);stroke-width:2.5px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.ed-dot{fill:#222228}.ed-ring{fill:none;stroke:#222228;stroke-width:.7px}.ed-sel{fill:#ec7b3847;fill:lab(64.1688% 41.4123 55.0218/.28);stroke:#d55c13;stroke:lab(54.6853% 46.4496 59.8946);stroke-width:2px;vector-effect:non-scaling-stroke}.ed-pick{fill:none;stroke:#d55c13;stroke:lab(54.6853% 46.4496 59.8946);stroke-width:2px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.ed-svg.tool-cut,.ed-svg.tool-cut .ed-hit{cursor:crosshair}.ed-svg.tool-merge .ed-hit{cursor:pointer}.is-sel .ed-dot{fill:#bd4500;fill:lab(46.4523% 48.3754 60.4614)}.ed-hit{fill:#0000}.ed-svg.tool-move .ed-hit{cursor:grab}.ed-svg.tool-delete .ed-hit{cursor:pointer}.ed-labels text{fill:#2a2a33;font-family:var(--font-body);paint-order:stroke;stroke:#fff;stroke-width:2.5px;vector-effect:non-scaling-stroke;stroke-linejoin:round;pointer-events:none;font-weight:700}.ed-footer{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ed-selected{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.btn-small{min-height:38px;padding:var(--space-1) var(--space-3)}.btn-ghost:disabled{opacity:.45;cursor:default}.edited-note{align-items:center;gap:var(--space-2);margin-top:var(--space-1);padding:2px var(--space-3);border-radius:var(--radius-full);background:var(--color-dot-soft);color:var(--color-dot-text);font-size:var(--text-xs);font-weight:750;display:inline-flex}@media (max-width:640px){.editor{gap:var(--space-2);margin-top:var(--space-2)}.ed-head{flex-wrap:nowrap;align-items:center}.ed-head .muted,.ed-back-label{display:none}.ed-back{flex:none;width:44px;padding:0}.ed-toolbar{gap:var(--space-1) var(--space-2)}.ed-tools{border-radius:var(--radius-lg);width:100%}.ed-tools button{border-radius:var(--radius-md);min-width:0;min-height:52px;font-size:var(--text-xs);flex-direction:column;flex:1 1 0;justify-content:center;gap:2px;padding:4px 2px}.chip{padding:0 var(--space-2)}.ed-hint{font-size:var(--text-xs)}.ed-keys{display:none!important}.ed-canvas{margin-inline:calc(-1 * clamp(var(--space-4), 4vw, var(--space-8)));padding:var(--space-2);border-radius:0}.ed-footer{z-index:2;margin-inline:calc(-1 * clamp(var(--space-4), 4vw, var(--space-8)));padding:var(--space-3) clamp(var(--space-4), 4vw, var(--space-8));background:color-mix(in oklch, var(--color-bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--color-border);position:sticky;bottom:0}.ed-footer .row{width:100%}.ed-footer .btn-primary{flex:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.drawing-dots-line{stroke-dashoffset:0}}
