:root{--cg-10:#f2f4f8;--cg-20:#dde1e6;--cg-30:#c1c7cd;--cg-40:#a2a9b0;--cg-50:#878d96;--cg-60:#697077;--cg-70:#4d5358;--cg-80:#343a3f;--cg-90:#21272a;--cg-100:#121619;--primary-30:#a6c8ff;--primary-60:#0f62fe;--primary-90:#001d6c;--alert:#da1e28;--warning:#f1c21b;--success:#25a249;--success-light:#89dfa2;--brand-blue:var(--primary-60);--brand-red:var(--alert);--brand-white:#fff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-8:48px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--font-sans:"Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Roboto Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-xxs:10px;--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:18px;--fs-h5:20px;--fs-h4:24px;--fs-h3:32px;--fs-h2:42px;--fs-xl:var(--fs-h4);--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--ls-button:.5px;--lh-tight:1.1;--lh-normal:1.4;--zoom-tween-ms:.28s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--status-built:var(--success);--status-unbuilt:var(--warning);--status-disabled:var(--cg-50);--status-error:var(--alert)}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:var(--cg-10);--surface:#fff;--surface-2:#eef1f6;--text:var(--cg-100);--text-muted:var(--cg-70);--text-dim:var(--cg-40);--border:var(--cg-20);--accent:var(--primary-60);--accent-contrast:#fff;--accent-light:var(--primary-30);--shadow-1:0 1px 2px #1216190f, 0 1px 3px #1216191a;--shadow-2:0 2px 6px #12161914, 0 4px 12px #1216191a;--shadow-3:0 8px 24px #1216191f;--shadow-4:0 16px 48px #1216192e;--glass-bg:#ffffff8c;--glass-border:#ffffffb3;--glass-blur:14px;--glass-blur-soft:8px;--glass-panel-bg:#ffffffb8;--glass-panel-border:#ffffffbf}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--cg-100);--surface:var(--cg-90);--surface-2:var(--cg-80);--text:var(--cg-10);--text-muted:var(--cg-40);--text-dim:var(--cg-60);--border:var(--cg-80);--accent:#4589ff;--accent-contrast:#fff;--accent-light:#7aa9ff;--shadow-1:0 1px 2px #0006;--shadow-2:0 2px 8px #00000073;--shadow-3:0 8px 24px #00000080;--shadow-4:0 16px 48px #0009;--glass-bg:#21272a80;--glass-border:#ffffff14;--glass-blur:16px;--glass-panel-bg:#0a0d0fad;--glass-panel-border:#ffffff1a}[data-reduce-effects=true]{--glass-blur:0px;--glass-blur-soft:0px;--glass-panel-bg:#fffffff2}[data-theme=dark][data-reduce-effects=true]{--glass-panel-bg:#0a0d0feb}@media (prefers-reduced-motion:reduce){:root{--zoom-tween-ms:0s}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-normal);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}button{font-family:inherit}.dc-glass{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur))}.dc-glass--panel{background:var(--glass-panel-bg);border-color:var(--glass-panel-border)}.dc-surface{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.dc-btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:var(--fw-medium);letter-spacing:var(--ls-button);cursor:pointer;transition:background .12s var(--ease-standard), border-color .12s var(--ease-standard), box-shadow .12s var(--ease-standard);border:1px solid #0000;display:inline-flex}.dc-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dc-btn:disabled{opacity:.55;cursor:default}.dc-btn--primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-1)}.dc-btn--primary:hover:not(:disabled){box-shadow:var(--shadow-2)}.dc-btn--secondary{background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:var(--shadow-1)}.dc-btn--secondary:hover:not(:disabled){background:var(--surface-2)}.dc-btn--ghost{color:var(--text-muted);background:0 0}.dc-btn--ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.dc-btn--danger{background:var(--alert);color:#fff;box-shadow:var(--shadow-1)}.dc-btn--danger:hover:not(:disabled){box-shadow:var(--shadow-2);filter:brightness(1.06)}.dc-btn--success{background:var(--success);color:#fff;box-shadow:var(--shadow-1)}.dc-btn--success:hover:not(:disabled){box-shadow:var(--shadow-2);filter:brightness(1.05)}.dc-btn--rich{text-align:left;padding:var(--space-3) var(--space-4);justify-content:space-between}.dc-btn__lines{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.dc-btn__label{font-weight:var(--fw-semibold);font-size:var(--fs-md);line-height:var(--lh-tight)}.dc-btn__detail{font-size:var(--fs-xs);font-weight:var(--fw-regular);letter-spacing:normal;line-height:var(--lh-tight);opacity:.75;text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.dc-btn__trailing{opacity:.55;flex-shrink:0;display:inline-flex}.dc-btn--key{--key-ledge:color-mix(in srgb, #000 18%, var(--surface));box-shadow:0 4px 0 0 var(--key-ledge), 0 7px 14px #12161938;transition:transform 80ms var(--ease-standard), box-shadow 80ms var(--ease-standard), background .12s var(--ease-standard);transform:translateY(0)}.dc-btn--key.dc-btn--primary{--key-ledge:color-mix(in srgb, #000 34%, var(--accent))}.dc-btn--key.dc-btn--success{--key-ledge:color-mix(in srgb, #000 34%, var(--success))}.dc-btn--key:hover:not(:disabled){box-shadow:0 4px 0 0 var(--key-ledge), 0 9px 18px #12161942}.dc-btn--key:active:not(:disabled),.dc-btn--key.dc-btn--pressed:not(:disabled){box-shadow:0 0 0 0 var(--key-ledge), 0 2px 5px #1216192e;transform:translateY(4px)}.dc-btn--sheen{position:relative;overflow:hidden}.dc-btn--sheen:after{content:"";width:60%;animation:dc-sheen 4s var(--ease-standard) infinite;pointer-events:none;background:linear-gradient(115deg,#0000 20%,#ffffff47 50%,#0000 80%);position:absolute;top:0;bottom:0;left:0;transform:translate(-170%)skew(-8deg)}.dc-btn--sheen:disabled:after{animation:none}@keyframes dc-sheen{0%{transform:translate(-170%)skew(-8deg)}30%{transform:translate(280%)skew(-8deg)}to{transform:translate(280%)skew(-8deg)}}@media (prefers-reduced-motion:reduce){.dc-btn--sheen:after{animation:none}}.upload{padding:var(--space-6);flex:1;place-items:center;display:grid}.upload__card{width:100%;max-width:560px;padding:var(--space-6);box-shadow:var(--shadow-3)}.upload__title{margin:0 0 var(--space-2);font-size:var(--fs-xl);font-weight:var(--fw-semibold)}.upload__hint{margin:0 0 var(--space-5);color:var(--text-muted)}.upload__key{gap:var(--space-2);margin-bottom:var(--space-5);font-size:var(--fs-sm);color:var(--text-muted);flex-direction:column;display:flex}.upload__key input{padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);font-size:var(--fs-md)}.upload__key input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.upload__drop{align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);border:2px dashed var(--border);border-radius:var(--radius-lg);background:var(--surface-2);cursor:pointer;transition:border-color .12s var(--ease-standard), background .12s var(--ease-standard);flex-direction:column;display:flex}.upload__drop--over{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface-2))}.upload__drop-text{font-weight:var(--fw-medium)}.upload__drop-sub{font-size:var(--fs-sm);color:var(--text-muted)}.dc-spinner{border:3px solid color-mix(in srgb, var(--accent) 25%, transparent);border-top-color:var(--accent);border-radius:50%;animation:.8s linear infinite dc-spin}@keyframes dc-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.dc-spinner{animation-duration:1.6s}}.dc-overlay{place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.dc-overlay__bg{object-fit:contain;filter:saturate(.9);width:100%;height:100%;position:absolute;inset:0}.dc-overlay__glass{align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-8);border-radius:var(--radius-lg);box-shadow:var(--shadow-4);flex-direction:column;display:flex;position:relative}.dc-overlay__status{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text)}.stage{background:var(--surface-2);touch-action:none;position:absolute;inset:0;overflow:hidden}.dc-grabbing{cursor:grabbing!important}.rail{width:56px;padding:var(--space-3) 0;align-items:center;gap:var(--space-4);background:var(--surface);border-right:1px solid var(--border);box-shadow:var(--shadow-1);z-index:2;flex-direction:column;flex:none;display:flex}.rail__group{gap:var(--space-2);flex-direction:column;display:flex}.rail__group--center{margin-top:auto;margin-bottom:auto}.rail__btn{border-radius:var(--radius-md);width:40px;height:40px;color:var(--text-muted);cursor:pointer;transition:background .1s var(--ease-standard), color .1s var(--ease-standard);background:0 0;border:1px solid #0000;place-items:center;display:grid}.rail__btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.rail__btn--active{background:color-mix(in srgb, var(--accent) 14%, var(--surface));color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.rail__btn:disabled{opacity:.4;cursor:default}.chips{gap:var(--space-1);flex-wrap:wrap;justify-content:center;display:flex}.chip{padding:2px var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:var(--fs-xs);font-weight:var(--fw-medium);cursor:pointer;transition:background .1s var(--ease-standard), border-color .1s var(--ease-standard);align-items:baseline;gap:3px;display:inline-flex}.chip:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface))}.chip--primary{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.chip__unit{font-size:var(--fs-xxs);color:var(--text-muted)}.lengths{gap:var(--space-2);width:max-content;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);flex-direction:column;display:flex}.lengths__head{justify-content:space-between;align-items:baseline;gap:var(--space-4);font-size:var(--fs-sm);display:flex}.lengths__side{font-weight:var(--fw-semibold)}.lengths__idx{color:var(--text-muted);font-weight:var(--fw-regular)}.lengths__ok{color:var(--status-built)}.lengths__progress{color:var(--text-muted);font-size:var(--fs-xs)}.lengths__row{align-items:stretch;gap:var(--space-2);display:flex}.lengths__nav{width:56px;height:var(--key-h);padding:0}.lengths__nav-stack{font-size:var(--fs-xxs);letter-spacing:normal;flex-direction:column;align-items:center;gap:1px;line-height:1.2;display:flex}.lengths__nav-label{font-weight:var(--fw-regular);opacity:.6}.lengths__field{flex:none;width:180px;position:relative}.lengths__input{width:100%;height:var(--key-h);font-size:var(--fs-h5);font-weight:var(--fw-semibold);text-align:center;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .12s var(--ease-standard), box-shadow .12s var(--ease-standard);padding:0 46px;font-family:inherit}.lengths__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);outline:none}.lengths__input--error,.lengths__input--error:focus{border-color:var(--status-error);box-shadow:0 0 0 3px color-mix(in srgb, var(--status-error) 16%, transparent)}.lengths__unit-cycle{min-width:36px;height:32px;padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:.12s var(--ease-standard);border:none;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.lengths__unit-cycle:hover{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--text)}.lengths__suggest{justify-content:flex-end;align-items:center;gap:var(--space-2);width:180px;margin-left:64px;display:flex}.lengths__suggest-label{font-size:var(--fs-xxs);color:var(--text-muted);flex-shrink:0}.lengths__suggest .chips{justify-content:flex-end}.panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-2);flex-shrink:0;overflow:hidden}.panel__head{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.panel--collapsed .panel__head{border-bottom-color:#0000}.panel__title{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin:0}.panel__toggle{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;margin:0;padding:0;display:flex}.panel__chevron{color:var(--text-muted);transition:transform .16s var(--ease-standard);flex-shrink:0}.panel--collapsed .panel__chevron{transform:rotate(-90deg)}.panel__subtitle{font-size:var(--fs-xs);color:var(--text-muted);margin:2px 0 0}.panel__body{padding:var(--space-3) var(--space-4)}.ltable{flex-direction:column;gap:2px;display:flex}.ltable--diag{margin-top:var(--space-3)}.lrow{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);color:var(--text);font-size:var(--fs-sm);text-align:left;cursor:pointer;width:100%;transition:background .1s var(--ease-standard);background:0 0;border:1px solid #0000;grid-template-columns:1.2fr 1fr 1fr;display:grid}.lrow--head{cursor:default;color:var(--text-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.03em}.lrow:not(.lrow--head):hover{background:var(--surface-2)}.lrow--selected{background:color-mix(in srgb, var(--accent) 16%, var(--surface));border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.lrow--ok .lrow__user{color:var(--status-built);font-weight:var(--fw-semibold)}.lrow--err{background:color-mix(in srgb, var(--status-error) 10%, transparent)}.lrow--err .lrow__opt{color:var(--status-error)}.lrow__name{font-weight:var(--fw-medium)}.lrow__user{text-align:right}.lrow__opt{text-align:right;color:var(--text-dim)}.arow__cur{padding:2px var(--space-2);margin:-2px calc(-1 * var(--space-2));border-radius:var(--radius-sm);color:inherit;font:inherit;cursor:pointer;transition:background .12s var(--ease-standard);background:0 0;border:none;justify-self:end}.arow__cur:hover{background:color-mix(in srgb, var(--accent) 16%, transparent)}.arow__glyph{transform-origin:20% 80%;opacity:1;transition:opacity .12s var(--ease-standard), transform .16s var(--ease-standard);display:inline-block;transform:rotate(0)}.arow__cur--free .arow__glyph{opacity:0;transform:rotate(-28deg)}.arow__cur--free:hover .arow__glyph{opacity:.45;transform:rotate(0)}.arow__cur--locked:hover .arow__glyph{opacity:.3;transform:rotate(-20deg)}.llegend{gap:var(--space-4);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-muted);display:flex}.llegend__item{align-items:center;gap:6px;display:inline-flex}.llegend__dot{border-radius:3px;width:12px;height:12px}.llegend__dot--ok{background:var(--status-built)}.llegend__dot--err{background:var(--status-error)}.meta{gap:var(--space-4);flex-direction:column;display:flex}.meta__field{gap:var(--space-2);flex-direction:column;display:flex}.meta__label{font-size:var(--fs-sm);color:var(--text)}.meta__input{align-items:center;gap:var(--space-2);height:48px;padding:0 var(--space-4);background:var(--surface-2);border-bottom:1px solid var(--border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:border-color .12s;display:flex}.meta__input:focus-within{border-bottom-color:var(--accent)}.meta__icon{color:var(--text-muted);flex-shrink:0}.meta__chevron{color:var(--text-muted);pointer-events:none;flex-shrink:0}.meta__input input,.meta__input select{min-width:0;color:var(--text);font-size:var(--fs-md);background:0 0;border:none;flex:1;font-family:inherit}.meta__input input::placeholder{color:var(--text-muted)}.meta__input input:focus,.meta__input select:focus{outline:none}.meta__input--select select{appearance:none;cursor:pointer}.clist__actions{gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.clist__btn{justify-content:center;align-items:center;gap:var(--space-1);height:40px;padding:0 var(--space-2);border-radius:var(--radius-md);font-size:var(--fs-sm);letter-spacing:.3px;color:#fff;white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-2);border:2px solid #0000;font-weight:500;display:inline-flex}.clist__btn--add{background:var(--surface);min-width:0;color:var(--text);flex:1}.clist__btn--add:hover:not(:disabled){background:var(--surface-2)}.clist__btn--del{background:var(--alert);border-color:var(--alert);flex-shrink:0}.clist__btn svg{flex-shrink:0}.clist__btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.clist{flex-direction:column;max-height:min(46vh,520px);padding-right:2px;display:flex;overflow-y:auto}.clist__row{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);cursor:pointer;transition:background-color .12s;display:flex}.clist__row:hover{background:var(--surface-2)}.clist__row--sel,.clist__row--sel:hover{background:var(--primary-60)}.clist__row--sel-done,.clist__row--sel-done:hover{background:var(--success)}.clist__name{align-items:center;gap:var(--space-1);min-width:0;font-size:var(--fs-sm);color:var(--text);flex:1;display:flex}.clist__name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.clist__row--sel .clist__name{color:#fff}.clist__ai{background:var(--cg-50);color:var(--cg-20);font-size:var(--fs-xxs);border-radius:3px;flex-shrink:0;padding:0 3px;line-height:1.4}.clist__row--sel .clist__ai{background:var(--primary-30);color:var(--primary-90)}.clist__row--sel-done .clist__ai{background:var(--success-light);color:var(--success)}.clist__status{justify-content:flex-end;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--cg-50);white-space:nowrap;flex-shrink:0;display:inline-flex}.clist__row--sel .clist__status{color:#ffffffd9}.clist__dots{gap:3px;display:flex}.clist__dots i{background:currentColor;border-radius:50%;width:4px;height:4px;animation:1.05s ease-in-out infinite clist-dot}.clist__dots i:nth-child(2){animation-delay:.16s}.clist__dots i:nth-child(3){animation-delay:.32s}@keyframes clist-dot{0%,to{opacity:.28;transform:translateY(0)}40%{opacity:1;transform:translateY(-2.5px)}}.clist__bar{border-radius:var(--radius-pill);background:var(--cg-30);flex-shrink:1;width:56px;min-width:32px;height:8px;overflow:hidden}.clist__fill{border-radius:var(--radius-pill);background:var(--primary-90);height:100%;transition:width .16s;display:block}.clist__fill--done{background:var(--success)}.clist__row--sel-done .clist__fill--done{background:var(--success-light)}.clist__eye{color:var(--cg-50);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;display:inline-flex}.clist__row--sel .clist__eye{color:#fff}@media (prefers-reduced-motion:reduce){.clist__dots i{opacity:.6;animation:none}}.odraw__stage{justify-content:center;align-items:center;height:200px;display:flex}.odraw__svg{background:0 0;max-width:100%;height:100%;display:block}.odraw__svg--portrait{aspect-ratio:2/3}.odraw__svg--square{aspect-ratio:1}.odraw__svg--landscape{aspect-ratio:3/2}.odraw__stats{gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.odraw__stats>div{flex-direction:column;gap:2px;display:flex}.odraw__label{font-size:var(--fs-xs);color:var(--text-muted)}.odraw__value{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.cglass{z-index:3;pointer-events:none;opacity:1;transition:opacity .14s var(--ease-standard);border-radius:4px;position:absolute;overflow:hidden}.cglass--out{opacity:0}.cglass:before{content:"";background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--accent) 8%, transparent) 0 7px, transparent 7px 30px);animation:1.6s linear infinite cglass-hatch;position:absolute;inset:-60px}@keyframes cglass-hatch{to{transform:translate(-30px,-30px)}}.cglass__beam{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.cglass__beam rect{fill:none;stroke:#fff;stroke-width:3.5px;stroke-linecap:round;stroke-dasharray:var(--cglass-dash);animation:2.6s linear infinite cglass-beam}@keyframes cglass-beam{to{stroke-dashoffset:var(--cglass-lap)}}.cglass__pill{left:var(--space-3);bottom:var(--space-3);align-items:center;gap:var(--space-2);padding:6px var(--space-3);border-radius:var(--radius-pill);box-shadow:var(--shadow-1);font-size:13px;font-weight:var(--fw-medium);color:var(--primary-90);white-space:nowrap;background:#ffffffdb;display:inline-flex;position:absolute}.cglass__dots{gap:3px;display:flex}.cglass__dots i{background:var(--accent);border-radius:50%;width:4px;height:4px;animation:1.05s ease-in-out infinite cglass-dot}.cglass__dots i:nth-child(2){animation-delay:.16s}.cglass__dots i:nth-child(3){animation-delay:.32s}@keyframes cglass-dot{0%,to{opacity:.28;transform:translateY(0)}40%{opacity:1;transform:translateY(-2.5px)}}[data-reduce-effects=true] .cglass:before{animation-duration:3.2s}@media (prefers-reduced-motion:reduce){.cglass:before,.cglass__beam rect,.cglass__dots i{animation:none}.cglass__beam rect{stroke-dasharray:none;stroke-opacity:.5}.cglass__dots i{opacity:.6}}.cdlg{z-index:1000;background:#090c0f9e;justify-content:center;align-items:center;animation:.2s cdlg-dim;display:flex;position:fixed;inset:0}.cdlg__card{width:min(400px,100vw - 48px);padding:var(--space-5);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-4);text-align:center;gap:var(--space-4);flex-direction:column;animation:.24s cubic-bezier(.2,0,0,1) cdlg-in;display:flex}.cdlg__title{font-size:var(--fs-lg);color:var(--text);margin:0;font-weight:700}.cdlg__msg{font-size:var(--fs-sm);color:var(--text-muted);margin:0;line-height:1.45}.cdlg__actions{justify-content:center;gap:var(--space-3);margin-top:var(--space-1);display:flex}.cdlg__actions .dc-btn{min-width:120px}@keyframes cdlg-dim{0%{opacity:0}to{opacity:1}}@keyframes cdlg-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.cdlg,.cdlg__card{animation:none}}.editor{display:flex;position:absolute;inset:0}.editor__canvas{--overlay-w-left:320px;--overlay-w-right:280px;--key-h:52px;flex:auto;min-width:0;position:relative;overflow:hidden}.editor__overlay{top:var(--space-2);max-height:calc(100% - 2 * var(--space-2));padding:var(--space-2) var(--space-3) var(--space-4);gap:var(--space-4);z-index:4;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text) 30%, transparent) transparent;flex-direction:column;display:flex;position:absolute;overflow-y:auto}.editor__overlay--left{left:var(--space-1);width:calc(var(--overlay-w-left) + 2 * var(--space-3))}.editor__overlay--right{right:var(--space-1);width:calc(var(--overlay-w-right) + 2 * var(--space-3))}.editor__dock{top:calc(2 * var(--space-2));left:calc(var(--space-1) + var(--overlay-w-left) + 3 * var(--space-3));z-index:5;pointer-events:none;justify-content:flex-start;display:flex;position:absolute}.editor__dock>*{pointer-events:auto}.editor__key{flex-direction:column;align-items:center;display:flex;position:relative}.editor__key-hint{top:calc(100% + var(--space-2));width:max-content;max-width:min(360px, calc(100vw - 2 * var(--space-4)));padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--fs-sm);color:var(--text-muted);text-align:center;margin:0;position:absolute;left:50%;transform:translate(-50%)}.editor__action-btn{height:var(--key-h);padding-top:0;padding-bottom:0}.editor__hint{bottom:var(--space-5);padding:var(--space-2) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-2);font-size:var(--fs-sm);color:var(--text-muted);z-index:3;pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.editor__ceiling-error{bottom:var(--space-5);padding:var(--space-2) var(--space-4);background:color-mix(in srgb, var(--status-error) 14%, var(--surface));border:1px solid var(--status-error);border-radius:var(--radius-md);font-size:var(--fs-sm);color:var(--text);z-index:4;position:absolute;left:50%;transform:translate(-50%)}.goal1-benchmark{z-index:1;width:auto;color:var(--text-primary);background:color-mix(in srgb, var(--surface-panel) 92%, transparent);border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex:none;grid-template-columns:minmax(300px,auto) minmax(420px,1fr) auto;align-items:center;gap:12px;padding:10px 14px;display:grid;box-shadow:0 6px 18px #0000001a}.goal1-benchmark--complete{border-color:var(--status-built)}.goal1-benchmark__heading,.goal1-benchmark__actions{align-items:center;gap:8px;display:flex}.goal1-benchmark__heading{justify-content:space-between}.goal1-benchmark__heading span{color:var(--text-secondary);margin-top:2px;font-size:12px;display:block}.goal1-benchmark__progress{color:var(--accent);font-variant-numeric:tabular-nums;font-size:24px;font-weight:750}.goal1-benchmark__metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0;display:grid}.goal1-benchmark__metrics div{background:var(--surface-muted);border-radius:8px;min-width:0;padding:7px}.goal1-benchmark__metrics dt{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.goal1-benchmark__metrics dd{font-variant-numeric:tabular-nums;margin:3px 0 0;font-size:14px;font-weight:650}.goal1-benchmark__actions{justify-content:flex-end}@media (width<=1100px){.goal1-benchmark{grid-template-columns:1fr auto}.goal1-benchmark__metrics{grid-area:2/1/auto/-1}}@media (width<=720px){.goal1-benchmark__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.login{min-height:100%;padding:var(--space-6);background:radial-gradient(900px 520px at 50% 0%, color-mix(in srgb, var(--accent) 16%, transparent), transparent);place-items:center;display:grid}.login__card{gap:var(--space-4);width:min(100%,420px);padding:var(--space-6);box-shadow:var(--shadow-3);display:grid}.login__brand{color:var(--accent);font-weight:var(--fw-bold)}.login h1,.login p{margin:0}.login p,.login label span{color:var(--text-muted)}.login label{gap:var(--space-2);font-size:var(--fs-sm);display:grid}.login input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);font:inherit}.login input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login__code{letter-spacing:.35em;text-align:center;font-size:1.6rem!important}.login__error{color:var(--status-error);font-size:var(--fs-sm)}.login__link{color:var(--accent);cursor:pointer;background:0 0;border:0}.login__link:disabled{color:var(--text-muted);cursor:default}.settings{z-index:20;padding:var(--space-5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c101473;place-items:center;display:grid;position:fixed;inset:0}.settings__dialog{width:min(100%,640px);max-height:min(86vh,760px);padding:var(--space-5);box-shadow:var(--shadow-3);overflow:auto}.settings__dialog header{margin-bottom:var(--space-5);justify-content:space-between;align-items:flex-start;display:flex}.settings__dialog h2{margin:0}.settings__dialog header span{color:var(--text-muted);font-size:var(--fs-xs)}.settings__grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings__grid label:not(.settings__check){gap:var(--space-2);color:var(--text-muted);font-size:var(--fs-sm);display:grid}.settings select{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text)}.settings__check{align-items:center;gap:var(--space-3);display:flex}.settings__error{color:var(--status-error);margin:var(--space-4) 0 0}@media (width<=620px){.settings__grid{grid-template-columns:1fr}}.app{flex-direction:column;height:100%;display:flex}.app__header{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-1);z-index:2;display:flex}.app__brand{font-weight:var(--fw-semibold);font-size:var(--fs-lg)}.app__phase{font-size:var(--fs-xs);color:var(--text-muted);background:var(--surface-2);padding:2px var(--space-2);border-radius:var(--radius-pill)}.app__nav{margin-left:var(--space-2);gap:2px;display:flex}.app__nav-btn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-muted);cursor:pointer;transition:background .1s var(--ease-standard), color .1s var(--ease-standard);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.app__nav-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.app__nav-btn:disabled{opacity:.35;cursor:default}.app__spacer{flex:1}.app__account{text-overflow:ellipsis;white-space:nowrap;max-width:220px;color:var(--text-muted);font-size:var(--fs-sm);overflow:hidden}.app__draft-error{color:var(--status-error);font-size:var(--fs-xs)}.app__draft-banner{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-sm);display:flex}.app__draft-reader{padding:var(--space-2) var(--space-4);background:color-mix(in srgb, var(--warning) 12%, var(--surface));border-bottom:1px solid color-mix(in srgb, var(--warning) 45%, var(--border));color:var(--text);font-size:var(--fs-sm);text-align:center}.app__main[inert]{cursor:not-allowed}.app__bootstrap{place-content:center;justify-items:center;gap:var(--space-4);min-height:100%;color:var(--text-muted);display:grid}.app__main{padding:var(--space-6);background:radial-gradient(1200px 600px at 50% -10%, color-mix(in srgb, var(--accent) 14%, transparent), transparent);flex:1;place-items:center;display:grid;position:relative}.app__main--plain{padding:0}.app__main--editor{background:0 0;padding:0;display:block}.app__result{padding:var(--space-6);place-items:center;display:grid}.app__card{max-width:640px;padding:var(--space-6);box-shadow:var(--shadow-3)}.app__card--error{border-color:color-mix(in srgb, var(--status-error) 50%, var(--border))}.app__title{margin:0 0 var(--space-2);font-size:var(--fs-xl);font-weight:var(--fw-bold)}.app__text{margin:0 0 var(--space-3);color:var(--text-muted)}.app__row{gap:var(--space-3);display:flex}
