@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-ext-400-normal-5tcqmc2S.woff2)format("woff2"),url(/assets/outfit-latin-ext-400-normal-DHm7mdGe.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:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-400-normal-BGsTXAXT.woff2)format("woff2"),url(/assets/outfit-latin-400-normal-DMwTpYkH.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:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-ext-500-normal-zeox_O30.woff2)format("woff2"),url(/assets/outfit-latin-ext-500-normal-DrCvqoFD.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:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-500-normal-DKnIMDSk.woff2)format("woff2"),url(/assets/outfit-latin-500-normal-ClnHRwRh.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:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-ext-600-normal-B85nYjL1.woff2)format("woff2"),url(/assets/outfit-latin-ext-600-normal-CWJcPgd7.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:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-600-normal-B7SfZ07L.woff2)format("woff2"),url(/assets/outfit-latin-600-normal-BEfTtDA7.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:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-ext-700-normal-CI4iH74K.woff2)format("woff2"),url(/assets/outfit-latin-ext-700-normal-fjS8-Gm7.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:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-700-normal-Cu9v6i1X.woff2)format("woff2"),url(/assets/outfit-latin-700-normal-D4itBLBr.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:Grenze Gotisch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/grenze-gotisch-vietnamese-700-normal-Dj6Yw7uY.woff2)format("woff2"),url(/assets/grenze-gotisch-vietnamese-700-normal-C1SGq67H.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:Grenze Gotisch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/grenze-gotisch-latin-ext-700-normal-Hq6_y33m.woff2)format("woff2"),url(/assets/grenze-gotisch-latin-ext-700-normal-BX0mbnN5.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:Grenze Gotisch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/grenze-gotisch-latin-700-normal-CWOqrlF-.woff2)format("woff2"),url(/assets/grenze-gotisch-latin-700-normal-BOZhDbsh.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}:root{--bg:#140f19;--panel:#1d1623;--panel-2:#271e2f;--panel-3:#31263b;--line:#3a2e45;--text:#f4ebe1;--muted:#a99bb0;--accent:#ec7a24;--accent-2:#ffb766;--glow:#ec7a2461;--shadow:#08030c8c;--green:#5cbf75;--yellow:#e8c24a;--red:#e45a52;--surface:#fff0e60b;--surface-hover:#fff0e616;--hairline:#fff0e612;--radius-lg:20px;--radius:12px;--radius-sm:8px;--ease:cubic-bezier(.2, .8, .2, 1);--font:"Outfit", system-ui, -apple-system, "Segoe UI", "Hiragino Sans", "Noto Sans JP", sans-serif;--font-display:"Grenze Gotisch", Georgia, "Hiragino Mincho ProN", serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);overflow:hidden}body:after{content:"";pointer-events:none;z-index:100;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}h1,h3{margin:0}:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.app{flex-direction:column;height:100dvh;display:flex}.topbar{z-index:5;background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;display:flex}.topbar h1{font-family:var(--font);letter-spacing:-.03em;color:var(--text);align-items:center;gap:9px;font-size:24px;font-weight:600;line-height:1;display:flex}.brand-mark{flex:none;width:38px;height:auto;display:block}.topbar-actions{align-items:center;gap:8px;display:flex}.topbar h1,.topbar-actions>*{white-space:nowrap}.ghost,.seg button,.chip,.modal-actions button,.preset,.stem-card,.badge,.tabs button,.primary{transition:background-color .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease), box-shadow .25s var(--ease), transform .15s var(--ease)}.ghost:not(:disabled):active,.seg button:not(:disabled):active,.chip:active,.modal-actions button:active,.preset:active,.stem-card:active,.primary:not(:disabled):active{transform:translateY(1px)scale(.98)}.ghost,.seg button,.chip,.modal-actions button{background:var(--surface);border-radius:var(--radius-sm);border:1px solid #0000;padding:6px 12px;font-weight:500}.ghost:hover,.chip:hover,.seg button:hover,.modal-actions button:hover{background:var(--surface-hover)}.primary,.modal-actions .primary{background:radial-gradient(120% 140% at 50% 0%, #f59a45 0%, var(--accent) 55%, #d4651a 100%);border-radius:var(--radius-sm);color:#1b0f05;width:100%;box-shadow:0 1px 0 #ffdcaa59 inset, 0 6px 18px -6px var(--glow);border:none;padding:11px 16px;font-weight:700}.primary:not(:disabled):hover{box-shadow:0 1px 0 #ffdcaa59 inset, 0 8px 28px -4px var(--glow)}.modal-actions .primary{width:auto;padding:8px 14px}.primary.cta{align-items:center;gap:6px;width:auto;padding:6px 12px;font-weight:600;display:inline-flex}.cta svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.badge{border-radius:var(--radius-sm);border:1px solid var(--hairline);background:var(--surface);align-items:center;gap:6px;padding:5px 11px;font-size:13px;font-weight:600;display:inline-flex}button.badge:hover{background:var(--surface-hover)}.badge .dot,.checks .dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.badge.green .dot,.checks .green .dot{background:var(--green);box-shadow:0 0 8px var(--green)}.badge.yellow .dot,.checks .yellow .dot{background:var(--yellow);box-shadow:0 0 8px var(--yellow)}.badge.red .dot,.checks .red .dot{background:var(--red);box-shadow:0 0 8px var(--red)}.badge.red{border-color:var(--red)}.badge.yellow{border-color:var(--yellow)}.badge.pending{color:var(--muted)}.layout{flex:1;grid-template-columns:380px 1fr;gap:10px;min-height:0;padding:0 10px 10px;display:grid}.panel{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:linear-gradient(180deg, var(--panel) 0%, #19131e 100%);min-height:0;box-shadow:0 1px 0 #fff0e60a inset, 0 20px 40px -24px var(--shadow);flex-direction:column;display:flex;overflow:hidden}.stage{border-radius:var(--radius-lg);border:1px solid var(--hairline);background:radial-gradient(55% 50% at 50% 58%, #ec7a2429 0%, #ec7a240d 45%, transparent 75%), radial-gradient(120% 90% at 50% 110%, #24182c 0%, transparent 60%), var(--bg);min-height:0;position:relative;overflow:hidden}.stage:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 120px 20px #08030cb3}.viewer{position:absolute;inset:0}.viewer-status{z-index:1;color:var(--muted);font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#140f1999;border:1px solid #ffffff0f;border-radius:6px;padding:4px 9px;font-size:12px;position:absolute;bottom:10px;left:12px}.viewer-status:empty{display:none}.checks.floating{z-index:2;width:min(300px,100% - 24px);max-height:calc(100% - 60px);position:absolute;top:12px;right:12px;overflow-y:auto}.checks.floating li{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1d1623db;border:1px solid #ffffff0f;padding:0}.checks.floating button{all:unset;box-sizing:border-box;cursor:pointer;border-radius:inherit;align-items:flex-start;gap:10px;width:100%;padding:8px 10px;display:flex}.checks.floating button:hover{background:#ffffff0a}.checks.floating button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.checks.floating .red{border-color:color-mix(in srgb, var(--red) 45%, transparent)}.checks.floating .yellow{border-color:color-mix(in srgb, var(--yellow) 40%, transparent)}.viewer-status .err{color:var(--red)}.viewer-msg{z-index:1;text-align:center;max-width:340px;height:fit-content;color:var(--muted);pointer-events:none;margin:auto;padding:0 20px;line-height:1.6;position:absolute;inset:0}.viewer-msg.err{color:var(--text)}.viewer-msg.pulse{animation:1.4s ease-in-out infinite alternate pulse}.sheet-handle{display:none}.first-hint{border-radius:var(--radius-sm);color:var(--accent-2);background:#ec7a241a;border:1px solid #ec7a2473;align-items:center;gap:8px;margin:10px 12px 0;padding:6px 6px 6px 12px;font-size:13px;line-height:1.4;display:flex}.first-hint span{flex:1}.first-hint-close{color:var(--muted);background:0 0;border:none;padding:2px 8px;font-size:18px;line-height:1}.first-hint-close:hover{color:var(--text)}.presets{grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:6px;padding:12px 12px 8px;display:grid}.preset{background:var(--surface);border-radius:var(--radius);border:1px solid #0000;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:9px 2px 7px;display:flex}.preset:hover{background:var(--surface-hover)}.preset:hover .preset-icon{transform:translateY(-2px)rotate(-6deg)}.preset.active{border-color:var(--accent);background:radial-gradient(90% 80% at 50% 0%, #ec7a2438, transparent 70%), var(--surface);box-shadow:0 0 0 1px var(--accent) inset, 0 4px 16px -6px var(--glow)}.preset-icon{transition:transform .25s var(--ease);font-size:22px;line-height:1.1}.preset-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;font-weight:500;overflow:hidden}.tabbar{align-items:center;gap:6px;padding:4px 12px 6px;display:flex}.tabs{box-shadow:0 0 0 1px var(--hairline) inset;background:#08030c59;border-radius:11px;flex:1;gap:2px;padding:3px;display:flex}.history{border-left:1px solid var(--hairline);gap:2px;padding-left:6px;display:flex}.history .icon-btn{background:0 0;border-color:#0000}.tabs button{color:var(--muted);background:0 0;border:none;border-radius:8px;flex:1;padding:7px 0;font-weight:500}.tabs button:hover{color:var(--text)}.tabs button.on{color:var(--text);background:var(--panel-3);box-shadow:0 1px 0 #fff0e614 inset, 0 2px 8px -2px var(--shadow);font-weight:600}.tab-body{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-direction:column;flex:1;gap:18px;padding:12px 16px 32px;display:flex;overflow-y:auto}.tab-body>*,.advanced>*{flex-shrink:0}.slider{flex-direction:column;gap:6px;display:flex}.slider-head{align-items:center;gap:6px;display:flex}.slider-head>span:first-child{flex:1}.slider-num{width:70px;color:var(--text);text-align:right;font:inherit;font-variant-numeric:tabular-nums;transition:border-color .2s var(--ease), background-color .2s var(--ease);background:0 0;border:1px solid #0000;border-radius:6px;padding:3px 6px;font-weight:600}.slider-num:hover{background:var(--surface)}.slider-num:focus{background:var(--surface);border-color:var(--accent);outline:none}.unit{color:var(--muted);width:22px;font-size:12px}.slider-note{color:var(--muted);margin-left:6px;font-size:12px}input[type=range]{width:100%;height:18px;accent-color:var(--accent);appearance:none;background:0 0;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent) var(--p,0%), var(--panel-3) var(--p,0%));border-radius:2px;height:4px}input[type=range]::-moz-range-track{background:var(--panel-3);border-radius:2px;height:4px}input[type=range]::-moz-range-progress{background:var(--accent);border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;transition:box-shadow .2s var(--ease), transform .15s var(--ease);background:#fff3e6;border:none;border-radius:50%;margin-top:-6px;box-shadow:0 1px 4px #08030c99}input[type=range]::-moz-range-thumb{background:#fff3e6;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #08030c99}input[type=range]:hover::-webkit-slider-thumb{box-shadow:0 1px 4px #08030c99,0 0 0 5px #ec7a2438}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.12)}input[type=range]:focus-visible{outline:none}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent-2)}input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--accent-2)}.advanced{flex-direction:column;gap:12px;display:flex}.advanced summary{cursor:pointer;color:var(--muted);width:fit-content;transition:color .2s var(--ease);align-items:center;gap:6px;font-size:13px;font-weight:500;list-style:none;display:inline-flex}.advanced summary::-webkit-details-marker{display:none}.advanced summary:before{content:"";width:6px;height:6px;transition:transform .2s var(--ease);border-bottom:1.5px solid;border-right:1.5px solid;margin-right:2px;transform:rotate(-45deg)}.advanced[open]>summary:before{transform:rotate(45deg)translate(-1px,-1px)}.advanced summary:hover{color:var(--accent-2)}.advanced[open]{gap:12px}.advanced[open]>summary{margin-bottom:4px}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.seg{gap:4px;display:inline-flex}.seg button.on{background:var(--accent);color:#1b0f05;border-color:var(--accent);box-shadow:0 4px 14px -6px var(--glow);font-weight:700}.seg.wide{grid-template-columns:1fr 1fr;display:grid}.seg.wide button{padding:10px 6px;font-size:13px}.toggle{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.toggle input{accent-color:var(--accent)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:6px;padding:4px 10px;font-size:13px}.chip.on{color:var(--accent-2);background:#ec7a241f;border-color:#ec7a248c}.hint{color:var(--muted);text-wrap:pretty;max-width:62ch;margin:0;font-size:12px;line-height:1.65}.notice{border-radius:var(--radius-sm);text-wrap:pretty;margin:0;padding:10px 12px;font-size:13px;line-height:1.6}.notice.warn{background:#e8c24a17;border:1px solid #e8c24a66;border-left-width:3px}.sub{margin-top:8px;font-size:14px}.face-editor{aspect-ratio:190/116;border-radius:var(--radius);touch-action:none;-webkit-user-select:none;user-select:none;width:100%;box-shadow:0 0 0 1px var(--line), 0 10px 24px -14px var(--shadow);overflow:hidden}.fe-bg{fill:#1a1210}.fe-groove{fill:none;stroke:#5b3c22;stroke-width:.6px}.fe-axis{stroke:#3b2c22;stroke-width:.4px;stroke-dasharray:2 2}.fe-side{stroke:#6b4a8a;stroke-width:.5px}.fe-label{fill:#8d7a90;font-size:4.5px}.fe-part{fill:#ffcf6a;stroke:#ff9a2e;stroke-width:.4px;cursor:grab;opacity:.92;filter:drop-shadow(0 0 1.5px #ffaa3cb3)}.fe-part.selected{fill:#ffe39a;stroke:#fff;stroke-width:.6px}.fe-box{fill:none;stroke:#fff8;stroke-width:.4px;stroke-dasharray:1.5 1.5;pointer-events:none}.face-editor.dragging,.face-editor.dragging *{cursor:grabbing}.face-editor:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.fe-part:hover{opacity:1}.fe-handle{fill:#fff;stroke:var(--accent);stroke-width:.8px;cursor:nwse-resize}.fe-handle.rot{cursor:grab;fill:var(--accent-2)}.fe-hit{fill:#0000;stroke:none}@media (pointer:coarse){.fe-hit{r:12px}}.fe-handle:hover circle:last-child{stroke-width:1.4px}.fe-wrap{position:relative}.face-editor.pen{cursor:crosshair}.face-editor.pen .fe-part{pointer-events:none}.fe-ink{fill:#ffcf6a66;stroke:#fff;stroke-width:.5px;stroke-linejoin:round;pointer-events:none}.fe-ink.ghost{fill:#ffcf6a33;stroke:#fff8;stroke-dasharray:1.5 1.5}.fe-msg{fill:#fff;paint-order:stroke;stroke:#1a1210;stroke-width:2px;pointer-events:none;font-size:5px;font-weight:600}.fe-part.line{fill:none;stroke:#ffcf6a;stroke-linecap:round;stroke-linejoin:round}.fe-part.line.selected{stroke:#ffe39a}.fe-problem{fill:#ff3b3b;stroke:#ff3b3b;stroke-width:1.6px;stroke-linejoin:round;opacity:.75;pointer-events:none;animation:.9s ease-in-out infinite alternate pulse}.fe-ink.line{fill:none;stroke:#ffcf6a99;stroke-linecap:round;stroke-linejoin:round}.fe-ink.ghost.line{stroke:#ffcf6a44;stroke-dasharray:none}.shape-thumb.draw{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.drawn-label{font-weight:600}@media (width>=761px){.app.drawing .layout{grid-template-columns:min(720px,58vw) 1fr}}.icon-btn[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:#1b0f05}.fe-tools{gap:4px;display:flex;position:absolute;bottom:8px;right:8px}.icon-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--line);border-radius:var(--radius-sm);width:32px;height:32px;transition:border-color .2s var(--ease), background-color .2s var(--ease), transform .15s var(--ease);background:#140f19bf;place-items:center;font-size:17px;line-height:1;display:grid}.icon-btn:not(:disabled):hover{border-color:var(--accent);background:var(--panel-3)}.icon-btn:not(:disabled):active{transform:scale(.94)}.icon-btn:disabled{opacity:.35}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.shape-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;display:grid}.shape-card{background:var(--surface);border-radius:var(--radius-sm);color:var(--muted);transition:border-color .2s var(--ease), background-color .2s var(--ease), color .2s var(--ease), transform .15s var(--ease);border:1px solid #0000;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;font-size:12px;font-weight:500;display:flex}.shape-card:hover{background:var(--surface-hover);color:var(--text)}.shape-card:active{transform:translateY(1px)scale(.97)}.shape-card.on{border-color:var(--accent);color:var(--accent-2);background:radial-gradient(90% 80% at 50% 0%, #ec7a2433, transparent 75%), var(--surface);box-shadow:0 0 0 1px var(--accent) inset}.shape-thumb{width:44px;height:33px}.shape-thumb path{fill:#6b5a72;transition:fill .2s var(--ease), filter .2s var(--ease)}.shape-thumb path.none{fill:none;stroke:#6b5a72;stroke-width:.16px;stroke-linecap:round}.shape-card:hover .shape-thumb path:not(.none){fill:#c99a5e}.shape-card.on .shape-thumb path:not(.none){fill:#ffcf6a;filter:drop-shadow(0 0 .12px #ff9a2e)drop-shadow(0 0 .2px #ffaa3ccc)}.checks{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.checks li{background:var(--surface);border-radius:var(--radius-sm);align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.checks .dot{margin-top:5px}.check-label{font-size:13px;font-weight:600}.check-detail{color:var(--muted);font-size:12px;line-height:1.5}.check-parts{background:var(--panel-3);color:var(--text);white-space:nowrap;border-radius:4px;margin-left:6px;padding:0 6px}.check-fix{margin-top:2px;font-size:12px;line-height:1.5}.check-fix:before{content:"→ ";color:var(--muted)}.export{flex-direction:column;gap:10px;display:flex}.stats{font-variant-numeric:tabular-nums;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;display:grid}.stats dt{color:var(--muted)}.stats dd{margin:0}.stats dd.green{color:var(--green)}.stats dd.yellow{color:var(--yellow)}.stats dd.red{color:var(--red)}.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a050e9e;animation:.2s cubic-bezier(.2,.8,.2,1) fade}.modal[open]{background:var(--panel);color:var(--text);border:1px solid var(--hairline);border-radius:var(--radius-lg);width:calc(100% - 32px);max-width:420px;animation:rise .28s var(--ease);box-shadow:0 1px 0 #ffffff0d inset, 0 24px 60px -12px var(--shadow), 0 0 50px -20px var(--glow);flex-direction:column;gap:12px;padding:22px;display:flex}.modal h3{font-family:var(--font-display);color:var(--accent-2);letter-spacing:.01em;font-size:24px;font-weight:700}.modal p{text-wrap:pretty;margin:0;line-height:1.6}.modal-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.toast{background:var(--accent);color:#1b0f05;border-radius:var(--radius-sm);z-index:60;box-shadow:0 10px 30px -8px var(--glow);animation:toast .3s var(--ease);padding:8px 16px;font-weight:600;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(10px)scale(.98)}}@keyframes pulse{0%{opacity:.45}}@keyframes toast{0%{opacity:0;transform:translate(-50%,10px)}}@media (width<=760px){.layout{padding:0;display:block;position:relative}.stage{border:none;border-radius:0;height:46%;transition:height .2s;position:absolute;top:0;left:0;right:0}.panel{border:none;border-top:1px solid var(--hairline);height:54%;box-shadow:0 -10px 30px var(--shadow);z-index:4;border-radius:18px 18px 0 0;transition:height .2s;position:absolute;bottom:0;left:0;right:0}.sheet-full .panel{height:86%}.sheet-full .stage{height:14%}.sheet-min .panel{height:150px}.sheet-min .stage{height:calc(100% - 150px)}.checks.floating{width:min(260px,100% - 16px);max-height:calc(100% - 16px);top:8px;right:8px}.checks.floating button{align-items:center;min-height:44px;padding:6px 8px}.checks.floating.open button{align-items:flex-start}.checks.floating:not(.open) :is(.check-detail,.check-fix){display:none}.checks.floating:not(.open){width:auto;max-width:calc(100% - 16px)}.sheet-handle{background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.ghost,.badge,.seg button,.chip,.preset,.stem-card,.shape-card,.tabs button,.primary,.modal-actions button,.first-hint-close,.sheet-handle,.toggle{min-height:44px}.icon-btn{width:44px;height:44px}.drawing .presets{display:none}.drawing .fe-tools{justify-content:flex-end;margin-top:8px;position:static}input[type=range]{height:44px}.slider{gap:0}.sheet-handle span{background:var(--line);border-radius:3px;width:44px;height:5px}.presets{padding-top:2px}.topbar{border-bottom:1px solid var(--hairline);padding:8px 10px}.topbar h1{gap:6px;font-size:20px}.brand-mark{width:30px}.topbar-actions{gap:6px}.topbar-actions .ghost{padding:6px 9px}.cta-label{display:none}.primary.cta{justify-content:center;min-width:44px;padding:6px 10px}.tab-body{padding-bottom:10px}.export{display:contents}.export>.primary{z-index:2;box-shadow:0 0 0 12px var(--panel);position:sticky;bottom:0}}@media (width<=420px){.badge{justify-content:center;min-width:44px}.badge-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=380px){.topbar{flex-wrap:wrap}.topbar-actions{margin-left:auto}}.group{flex-direction:column;gap:12px;display:flex}.group+.group{border-top:1px solid var(--hairline);padding-top:18px}.group-title{letter-spacing:.06em;color:var(--muted);font-size:12px;font-weight:600}.file-list{color:var(--muted);font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.file-list li{justify-content:space-between;gap:8px;display:flex}.file-list .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ghost.lang{padding:5px 9px;font-size:12px}.stem-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.stem-card{background:var(--surface);border-radius:var(--radius-sm);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:8px 4px;font-size:13px;font-weight:500;display:flex}.stem-card:hover{background:var(--surface-hover)}.stem-card.on{border-color:var(--accent);color:var(--accent-2);box-shadow:0 0 0 1px var(--accent) inset;background:#ec7a241a}@media (prefers-reduced-motion:reduce){*,:before,:after,::backdrop{transition:none!important;animation:none!important}}
