.build-info[data-v-735947a4]{border:1px solid var(--line);border-radius:var(--r-field);font-size:var(--fs-cap);color:var(--muted);justify-content:space-between;align-items:baseline;margin:8px 0;padding:8px 10px;display:flex}.build-info strong[data-v-735947a4]{color:var(--ink);font-weight:600}.list[data-v-d8939b0a]{gap:8px;display:grid}.list-row[data-v-d8939b0a]{border:1px solid var(--line);border-radius:var(--r-field);background:var(--panel);gap:8px;padding:8px 10px 10px;display:grid}.list-head[data-v-d8939b0a]{font-size:var(--fs-label);justify-content:space-between;align-items:center;display:flex}.add[data-v-d8939b0a]{color:var(--muted);font-size:var(--fs-note);border-style:dashed;justify-content:center;padding:7px}.ph{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ph .link{white-space:nowrap}.ph h1{font-size:var(--fs-title);letter-spacing:-.015em;margin:0;font-weight:800}.cap{font-size:var(--fs-cap);color:var(--muted);align-items:center;margin:0 0 6px;font-weight:500;display:flex}.proto{font-size:var(--fs-note);color:var(--muted);background:var(--chip);border-radius:var(--r-field);margin:10px 0 0;padding:8px 10px}.search{margin:14px 0 16px;position:relative}.search svg{width:16px;height:16px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:11px;translate:0 -50%}.search input{border-radius:var(--r-field);border:1px solid var(--line);background:var(--field);width:100%;height:40px;color:var(--ink);font:inherit;padding:0 12px 0 35px}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}.profile{gap:6px;margin-top:14px;display:grid}.profile .top-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;column-gap:8px;display:flex}.profile .top-row .cap{margin:0}.profile .mod{color:var(--warn);margin-left:4px}.profile .save{color:var(--muted);font-size:var(--fs-note);border-style:dashed;justify-content:center;padding:7px}.profile .delete{justify-self:start}.profile .save-form{gap:6px;display:grid}.profile .save-acts{flex-wrap:wrap;gap:6px;display:flex}h2.grp{font-size:var(--fs-group);letter-spacing:-.01em;align-items:center;gap:8px;margin:22px 0 8px;font-weight:750;display:flex}.sec{border:1px solid var(--line);border-radius:var(--r-row);background:var(--raise);margin-bottom:8px;transition:background .15s,border-color .15s}.sh{all:unset;box-sizing:border-box;cursor:pointer;width:100%;font-weight:650;font-size:var(--fs-label);border-radius:var(--r-row);align-items:center;gap:8px;padding:12px 12px 12px 14px;display:flex}.sh:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sh>span:first-child{overflow-wrap:anywhere;min-width:0}.sh .sum{min-width:0;color:var(--muted);font-size:var(--fs-note);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;flex:0 auto;max-width:150px;margin-left:auto;font-weight:500;overflow:hidden}.sh .sum.changed{color:var(--ink);font-weight:600}.sh .dot{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px}.sh .chev{color:var(--muted);flex:none;transition:rotate .15s}.sec.open{background:var(--open);border-color:var(--open-line)}.sec.open .sh{border-bottom-right-radius:0;border-bottom-left-radius:0}.sec.open .sh .chev{rotate:90deg}.sb{gap:8px;padding:2px 10px 10px;display:grid}.sb.essentials,.results .sb{padding:0}.sb .foot{justify-content:flex-end;display:flex}.sb .check,.sb .hint{margin:0}.sb .hint{margin:-2px 2px 2px}.results{gap:14px;display:grid}.crumbs{color:var(--muted);margin:2px 2px -2px;font-size:11.5px;font-weight:600}.empty{color:var(--muted);padding:10px 2px;font-size:13px}.pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pair.narrow{grid-template-columns:96px 1fr}.field{border:1px solid var(--line);border-radius:var(--r-field);background:var(--field);cursor:text;gap:0;min-width:0;padding:7px 11px 6px;display:grid;position:relative}.field>span:first-child{color:var(--muted);overflow-wrap:anywhere;font-size:11.5px;font-weight:500}.field:has(.why)>span:first-child{padding-right:20px}.field input,.field select,.field textarea{all:unset;box-sizing:border-box;font-variant-numeric:tabular-nums;width:100%;min-width:0;color:var(--ink);font-size:14.5px;font-weight:650}.field textarea{resize:vertical;white-space:pre-wrap;min-height:2.6em}.field select{cursor:pointer;padding-right:18px}.field select option{color:initial;font-weight:500}.field.sel:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);pointer-events:none;width:7px;height:7px;position:absolute;bottom:13px;right:11px;rotate:45deg}.field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.field .u{font-size:var(--fs-cap);color:var(--muted);pointer-events:none;position:absolute;bottom:7px;right:11px}.why{all:unset;box-sizing:border-box;cursor:pointer;border:1px solid var(--line);width:17px;height:17px;color:var(--muted);text-align:center;border-radius:50%;flex:none;font-size:10.5px;font-weight:700;line-height:15px}.why:hover,.why[aria-expanded=true]{background:var(--chip);color:var(--ink)}.why:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cap .why{margin-left:6px}.optrow{gap:5px;display:grid}.optrow>.cap{margin:0;padding-left:2px}.optrow .seg{display:flex}.optrow .seg button{overflow-wrap:anywhere;flex:1;min-width:0;padding:6px 4px}.field>button.lab{all:unset;box-sizing:border-box;cursor:help;color:var(--muted);text-align:left;overflow-wrap:anywhere;text-underline-offset:3px;font-size:11.5px;font-weight:500;-webkit-text-decoration:underline dotted #0000;text-decoration:underline dotted #0000}.field>button.lab:hover,.field>button.lab[aria-expanded=true]{-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}.field>button.lab:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.profile .locked{border:1px dashed var(--line);border-radius:var(--r-field);justify-items:start;gap:8px;padding:10px 12px;display:grid}.profile .locked .hint{margin:0}.view.stage{background:radial-gradient(ellipse 70% 65% at 50% 55%, color-mix(in srgb, var(--view) 82%, #fff) 0%, var(--view) 70%)}:root[data-theme=dark] .view.stage{background:radial-gradient(ellipse 70% 65% at 50% 55%, color-mix(in srgb, var(--view) 82%, #8a6a58) 0%, var(--bg) 78%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .view.stage{background:radial-gradient(ellipse 70% 65% at 50% 55%, color-mix(in srgb, var(--view) 82%, #8a6a58) 0%, var(--bg) 78%)}}.vtools{z-index:3;pointer-events:none;flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}.vtools>*{pointer-events:auto}.vtools .sp{pointer-events:none;flex:1}.vtools .seg{background:color-mix(in srgb, var(--panel) 88%, transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:inline-flex}.vtools .seg button{flex:none;padding:6px 14px}.vtools .seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);box-shadow:none}.glass{background:color-mix(in srgb, var(--panel) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--r-row)}.chipbtn{white-space:nowrap;align-items:center;gap:8px;height:38px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}button.chipbtn:hover,.vtools .icon-btn:hover{background:color-mix(in srgb, var(--raise) 88%, transparent)}.chipbtn svg{flex:none}.vtools .switch{background:var(--track);border:0;border-radius:999px;flex:none;width:30px;height:18px;padding:0;transition:background .15s;position:relative}.vtools .switch:after{content:"";width:12px;height:12px;box-shadow:var(--shadow-knob);background:#fff;border-radius:50%;transition:translate .15s;position:absolute;top:3px;left:3px}.vtools .switch[aria-checked=true]{background:var(--accent)}.vtools .switch[aria-checked=true]:after{translate:12px}.vsep{background:var(--line);width:1px;height:18px;margin:0 4px}.vtools .icon-btn{place-items:center;width:38px;height:38px;padding:0;display:inline-grid}.vtools .icon-btn svg{width:16px;height:16px}.vp-panel{z-index:6;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-pop);box-shadow:var(--shadow-pop);padding:4px 14px 12px;font-size:13px;position:absolute;overflow-y:auto}.vp-panel h3{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:12px 0 6px;font-size:11.5px;font-weight:700}.seg.wrap{flex-wrap:wrap;gap:2px}.seg.wrap button,.vp-panel .seg button{padding:3px 8px}.vp-panel .seg.small{flex-wrap:wrap}.vp-row{align-items:center;gap:12px;margin:8px 0 0;display:flex}.vp-panel .check{margin:6px 0}.vp-panel .check.sub{margin-left:22px}.swatches{grid-template-columns:repeat(8,1fr);gap:5px;margin-bottom:8px;display:grid}.swatch{aspect-ratio:1;border:2px solid var(--line);border-radius:50%;padding:0;position:relative;overflow:hidden}.swatch[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--panel), 0 0 0 4px var(--accent)}.swatch.studio{background:radial-gradient(circle at 50% 45%, #fff, var(--view))}.swatch.auto{background:linear-gradient(135deg,#e9c99a 50%,#6b5036 50%)}.swatch.custom{background:conic-gradient(#e8607a,#f2b84b,#9ccf9c,#7fb7e6,#b79be0,#e8607a)}.swatch.custom input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.dimlabel{z-index:2;pointer-events:none;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;text-shadow:0 0 6px var(--view), 0 0 2px var(--view);transform-origin:50%;font-size:12.5px;font-weight:650;position:absolute;top:0;left:0}.loading{background:color-mix(in srgb, var(--view) 55%, transparent);opacity:0;pointer-events:none;place-items:center;transition:opacity .25s .15s;display:grid;position:absolute;inset:0}.loading.on{opacity:1}.loading i{border:4px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:38px;height:38px;animation:.8s linear infinite vp-spin}@keyframes vp-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading i{animation-duration:3s}}.view:fullscreen{min-height:0}.view:not([data-mode=model]) .dimlabel,[hidden]{display:none!important}.sp{flex:1}.sub{color:var(--muted);font-size:var(--fs-note);margin:4px 0 0}.cap.gap,.hint.gap{margin-top:14px}.hint.dropnote{margin-top:6px}header.top{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:22px;height:52px;padding:0 16px;display:flex}.logo{letter-spacing:-.03em;font-size:20px;font-weight:800}.logo span{color:var(--accent)}.topnav{gap:4px;height:100%;display:flex}.navlink{all:unset;box-sizing:border-box;cursor:pointer;color:var(--muted);border-bottom:2px solid #0000;align-items:center;padding:0 10px;font-weight:600;display:flex}.navlink[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.navlink:hover{color:var(--ink)}.navlink:focus-visible{outline:2px solid var(--accent);outline-offset:-4px;border-radius:6px}.icon-btn{border-radius:var(--r-field);border:1px solid var(--line);background:var(--panel);place-items:center;width:36px;height:36px;padding:0;display:inline-grid}.icon-btn:hover{background:var(--raise)}.icon-btn.wide{width:auto;font-weight:700;font-size:var(--fs-cap);letter-spacing:.02em;gap:6px;padding:0 10px;display:inline-flex}@media (max-width:480px){.icon-btn.wide .code{display:none}.icon-btn.wide{justify-content:center;width:36px;padding:0}}.lang{display:inline-flex;position:relative}.lang .menu{z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-row);min-width:170px;box-shadow:var(--shadow-menu);padding:5px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.lang .menu button{text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-weight:600;display:flex}.lang .menu button:hover,.lang .menu button:focus-visible{background:var(--raise);outline:none}.lang .menu button[aria-checked=true]{color:var(--accent)}.icon-btn svg{flex:none;width:16px;height:16px}.acct{display:inline-flex;position:relative}.acct .signin{height:36px}.acct .signin svg{width:16px;height:16px}.acct .avatar{background:var(--ic-face);color:var(--ic-deep);border-radius:50%;font-weight:750;overflow:hidden}.acct .avatar img{object-fit:cover;width:100%;height:100%}.acct .menu{z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-row);min-width:220px;box-shadow:var(--shadow-menu);padding:5px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.acct .who{border-bottom:1px solid var(--line);overflow-wrap:anywhere;gap:1px;margin-bottom:4px;padding:8px 10px 10px;display:grid}.acct .who span{font-size:var(--fs-cap);color:var(--muted)}.acct .menu button{text-align:left;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-weight:600}.acct .menu button:hover,.acct .menu button:focus-visible{background:var(--raise);outline:none}.btn svg{flex:none;width:16px;height:16px}main{grid-template-columns:348px minmax(0,1fr);min-height:0;display:grid}aside.panel{background:var(--panel);border-right:1px solid var(--line);min-height:0;padding:18px 16px 32px;overflow-y:auto}.work{grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.whead{background:var(--panel);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding:10px 16px;display:grid}.title{align-items:center;gap:8px;min-width:0;display:flex}.dname{font:inherit;color:var(--ink);field-sizing:content;background:0 0;border:1px solid #0000;border-radius:8px;width:auto;min-width:4ch;max-width:32ch;margin-left:-7px;padding:3px 6px;font-size:17px;font-weight:750}.dname:hover,.dname:focus{border-color:var(--line);background:var(--field);outline:none}.dname:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.title .pen{color:var(--muted);flex:none;width:15px;height:15px}.saved{font-size:var(--fs-cap);color:var(--muted);white-space:nowrap;align-items:center;gap:5px;margin-left:4px;display:inline-flex}.saved:before{content:"";background:var(--warn);border-radius:50%;width:6px;height:6px}.saved.ok:before{background:#3c9a5f}.seg.modes{display:inline-flex}.seg.modes button{white-space:nowrap;flex:none;padding:6px 14px}.seg.accent button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);box-shadow:none}.view.stage{min-height:0;overflow:hidden}.stage .busy{font-size:var(--fs-note);padding:6px 12px;font-weight:600;top:auto;bottom:16px;left:50%;transform:translate(-50%)}.stage .busy.on{opacity:.92}.stage .trace{background:var(--view);padding:64px 16px 52px}.trace .tools2{z-index:1;display:inline-flex;position:absolute;top:12px;left:12px}.trace .tools2.seg{background:color-mix(in srgb, var(--panel) 88%, transparent);border:1px solid var(--line)}.trace .tools2 button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);box-shadow:none}.trace .tools2 button{flex:none;padding:6px 14px}.stage .trace .tip{bottom:16px}.actions{background:var(--panel);border-top:1px solid var(--line);flex-wrap:nowrap;align-items:center;gap:8px;padding:10px 16px;display:flex}.actions>*{flex:none}.actions .stats{flex:0 auto;min-width:0;overflow:hidden}.actions .sp{flex:1 1 0;min-width:0}.stats{font-size:var(--fs-note);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-wrap:nowrap;gap:14px;margin-left:8px;display:flex}.stats b{color:var(--ink);font-weight:650}.dl{display:inline-flex;position:relative}.dl .btn.primary:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.dl .caret{border-left-color:color-mix(in srgb, var(--accent-ink) 30%, var(--accent));border-top-left-radius:0;border-bottom-left-radius:0;padding:8px 9px}.dl .menu{z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-row);min-width:250px;box-shadow:var(--shadow-menu);padding:5px;display:grid;position:absolute;bottom:calc(100% + 8px);right:0}.dl .menu button{text-align:left;background:0 0;border:0;border-radius:8px;gap:1px;padding:8px 10px;font-weight:600;display:grid}.dl .menu button:hover,.dl .menu button:focus-visible{background:var(--raise);outline:none}.dl .menu span{font-size:var(--fs-cap);color:var(--muted);font-weight:500}.picker-wrap{position:relative}.picker{border:1px solid var(--line);border-radius:var(--r-row);background:var(--raise);text-align:left;align-items:center;gap:12px;width:100%;padding:8px 14px 8px 8px;display:flex}.picker:hover,.picker[aria-expanded=true]{border-color:var(--open-line)}.picker .ic{border-radius:var(--r-field);background:var(--panel);flex:none;place-items:center;width:48px;height:48px;display:grid}.picker .ic svg{width:40px;height:40px}.picker>span:not(.ic){min-width:0}.picker b{font-size:15.5px;font-weight:700;display:block}.picker small{color:var(--muted);font-size:var(--fs-note);display:block}.picker .chev{color:var(--muted);flex:none;margin-left:auto;transition:rotate .15s}.picker[aria-expanded=true] .chev{rotate:180deg}.pop{z-index:60;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-pop);width:min(700px,100vw - 32px);max-height:calc(100vh - 32px);box-shadow:var(--shadow-pop);grid-template-columns:1fr 1fr;gap:18px;padding:16px;display:grid;position:fixed;overflow:auto}.pop h4{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:11.5px;font-weight:700}.tiles{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tile{border-radius:var(--r-row);border:1px solid var(--line);background:var(--raise);font-size:var(--fs-note);text-align:center;overflow-wrap:anywhere;justify-items:center;gap:4px;min-width:0;padding:12px 6px 10px;font-weight:600;line-height:1.2;display:grid}.tile .tic{display:grid}.tile svg{width:52px;height:52px;transition:transform .15s}.tile:hover{border-color:var(--open-line)}.tile:hover svg{transform:translateY(-2px)}.tile[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.tile[aria-pressed=true] svg{--ic-face:color-mix(in srgb, #fff 82%, var(--accent));--ic-deep:color-mix(in srgb, #000 30%, var(--accent));--ic-line:#fff}.pop .note{font-size:var(--fs-cap);color:var(--muted);border-top:1px solid var(--line);grid-column:1/-1;margin:0;padding-top:10px}.pop .note .link{font-size:inherit}@media (prefers-reduced-motion:reduce){.tile svg{transition:none}.tile:hover svg{transform:none}}.ic-face{fill:var(--ic-face)}.ic-deep{fill:var(--ic-deep)}.ic-deep-s{stroke:var(--ic-deep);fill:none}.ic-line{stroke:var(--ic-line,var(--accent))}.ic-line.ic-fill{fill:var(--ic-line,var(--accent))}.filecard{border:1px solid var(--line);border-radius:var(--r-row);background:var(--raise);grid-template-columns:64px 1fr;align-items:center;gap:12px;margin-top:14px;padding:10px;display:grid}.filecard.over{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.filecard .thumb{background:#fff;border-radius:8px;place-items:center;width:64px;height:64px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #00000014}.filecard .thumb img{object-fit:contain;width:100%;height:100%;display:block}.filecard b{overflow-wrap:anywhere;display:block}.filecard small{color:var(--muted);font-size:var(--fs-note);display:block}.filecard .acts{grid-column:1/-1;gap:6px;display:flex}.filecard .acts .btn{flex:1;padding:7px 10px;font-size:13px}.filecard.pic{margin-top:0}.filecard.pic.starter:not(.over){border-style:dashed;border-color:var(--open-line)}.hint.pic-lib{margin:6px 2px 16px}.hint.pic-lib .link{font-size:inherit}.stage .dropzone{z-index:5;border:2px dashed var(--accent);border-radius:var(--r-row);background:color-mix(in srgb, var(--accent) 8%, transparent);pointer-events:none;place-items:center;display:grid;position:absolute;inset:12px}.stage .dropzone span{background:var(--ink);color:var(--bg);font-size:var(--fs-note);border-radius:999px;padding:8px 14px;font-weight:600}.quick,.samples{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:0;display:grid}.quick button,.samples button{border:1px solid var(--line);background:var(--raise);border-radius:var(--r-field);color:var(--muted);overflow-wrap:anywhere;text-align:center;justify-items:center;gap:2px;min-width:0;padding:8px 0 6px;font-size:11.5px;font-weight:600;display:grid}.quick button:hover,.samples button:hover{border-color:var(--open-line)}.quick svg{width:24px;height:24px;fill:var(--ink)}.samples button span{color:var(--ink);font-size:20px;line-height:1.1}.cleanup h2.grp{margin-top:22px}.sb.flat{padding:0}.sb.flat .check,.sb.flat .hint{margin:0}.sb.flat .hint{margin:-2px 2px 2px}.slider{border:1px solid var(--line);border-radius:var(--r-field);background:var(--field);gap:2px;padding:9px 12px 6px;display:grid}.slider label{justify-content:space-between;font-size:13.5px;font-weight:600;display:flex}.slider output{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.slider input{width:100%;accent-color:var(--accent);margin:4px 0 0}@media (min-width:861px) and (max-width:1180px){.actions .btn:not(.primary) .lbl{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.actions .btn:not(.primary){padding:8px 10px}}@media (min-width:861px) and (max-width:1060px){.actions .stats [data-testid=hud-grams]{display:none}}@media (max-width:860px){#app{grid-template-rows:auto auto;height:auto;min-height:100%}main{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr)}.work{order:1;grid-template-rows:auto 52vh auto;min-height:auto}aside.panel{border-right:0;border-top:1px solid var(--line);order:2;overflow:visible}header.top{gap:12px;padding:0 12px}.whead{grid-template-columns:minmax(0,1fr) auto;padding:8px 12px}.whead>span:last-child{display:none}.whead .modes{grid-area:2/1/auto/-1;justify-self:stretch;display:flex}.whead .modes button{flex:1;padding:7px 6px}.actions{z-index:10;flex-wrap:wrap;padding:8px 12px;position:sticky;bottom:0}.actions .stats{width:100%;font-size:var(--fs-cap);flex-wrap:wrap;order:-1;gap:10px;margin-left:0}.actions .sp,.actions .ghost-sm{display:none}.actions .btn:not(.primary) .lbl{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.actions .btn:not(.primary){padding:8px 10px}.actions .dl{margin-left:auto}.pop{grid-template-columns:1fr}.stage .trace{padding:56px 12px 44px}}.stage .notice{z-index:3}@media (max-width:860px){html{scroll-padding-bottom:96px}}.stage .trace{place-items:center}.stage .trace svg{border-radius:8px;place-self:center;width:auto;max-width:100%;height:100%;max-height:560px;box-shadow:0 2px 14px #0000002e}.ph{flex-wrap:nowrap}.ph h1{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:18px;overflow:hidden}.work.has-bar{grid-template-rows:auto auto minmax(0,1fr) auto}.sharedbar{background:var(--open);border-bottom:1px solid var(--open-line);font-size:var(--fs-note);align-items:center;gap:12px;padding:8px 16px;line-height:1.4;display:flex}.sharedbar .msg{color:var(--muted);flex:1}.sharedbar .msg b{color:var(--ink);font-weight:700}@media (max-width:860px){.work.has-bar{grid-template-rows:auto auto 52vh auto}.sharedbar{padding:8px 12px}}@media (max-width:480px){header.top{gap:4px;padding:0 10px}header.top .sp{display:none}header.top .lang{margin-left:auto}.logo{margin-right:4px;font-size:18px}.topnav{gap:2px}.navlink{padding:0 5px;font-size:13px}.acct .signin{gap:0;width:36px;padding:0}.acct .signin .lbl{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (min-width:861px){.actions .stats{flex-wrap:wrap;align-content:flex-start;row-gap:60px;height:1.5em;line-height:1.5}}.sk-confirm{border:1px solid var(--line);background:var(--bg);border-radius:10px;margin:8px 0;padding:10px}.sk-side .seg.small,.sk-side .row>label{flex-wrap:wrap}.sk-confirm p{margin:0 0 8px;font-size:13px}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/Figtree-Variable-nnuniQY3.ttf)format("truetype")}:root{--bg:#faf5ee;--panel:#fffdf9;--ink:#3b2a20;--muted:#8a7466;--line:#eadfd2;--accent:#d9485f;--accent-ink:#fff;--chip:#f3e9dd;--view:#f1e7da;--soon:#b9a796;--warn:#a65d00;--raise:color-mix(in srgb, var(--ink) 4%, var(--panel));--field:color-mix(in srgb, var(--ink) 1.5%, var(--panel));--open:color-mix(in srgb, var(--accent) 6%, var(--panel));--open-line:color-mix(in srgb, var(--accent) 32%, var(--line));--track:color-mix(in srgb, var(--ink) 20%, var(--panel));--ic-face:color-mix(in srgb, var(--accent) 14%, var(--panel));--ic-deep:color-mix(in srgb, var(--accent) 50%, var(--ink));--ring:color-mix(in srgb, var(--accent) 24%, transparent);--r-field:10px;--r-row:12px;--r-pop:16px;--shadow-seg:0 1px 3px #00000024;--shadow-knob:0 1px 2px #0000004d;--shadow-menu:0 16px 36px #0000003d;--shadow-pop:0 20px 48px #00000047;--fs-title:21px;--fs-group:16px;--fs-label:14px;--fs-note:12.5px;--fs-cap:12px;--font:Figtree, system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1d1714;--panel:#251e1a;--ink:#f2e6da;--muted:#a8968a;--line:#3a2f29;--accent:#ef6b80;--accent-ink:#1d1714;--chip:#33291f;--view:#2b231e;--soon:#6f6157;--warn:#e0a24d;--field:color-mix(in srgb, var(--ink) 3%, var(--panel));--raise:color-mix(in srgb, var(--ink) 5%, var(--panel));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#1d1714;--panel:#251e1a;--ink:#f2e6da;--muted:#a8968a;--line:#3a2f29;--accent:#ef6b80;--accent-ink:#1d1714;--chip:#33291f;--view:#2b231e;--soon:#6f6157;--warn:#e0a24d;--field:color-mix(in srgb, var(--ink) 3%, var(--panel));--raise:color-mix(in srgb, var(--ink) 5%, var(--panel));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font:14px/1.45 var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#app{grid-template-rows:auto minmax(0,1fr);min-width:0;height:100%;display:grid}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:default}.btn{border:1px solid var(--line);background:var(--panel);border-radius:var(--r-field);justify-content:center;align-items:center;gap:7px;padding:8px 13px;font-size:13.5px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--raise)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, var(--ink))}h2{font-size:var(--fs-group);letter-spacing:-.01em;margin:22px 0 8px;font-weight:750}h2:first-child{margin-top:0}.seg{background:var(--chip);border-radius:var(--r-field);gap:2px;padding:3px;display:flex}.seg button{color:var(--muted);background:0 0;border:0;border-radius:8px;flex:1;padding:6px 4px;font-size:13px;font-weight:600}.seg button[aria-pressed=true]{background:var(--panel);color:var(--ink);box-shadow:var(--shadow-seg)}.seg.small{display:inline-flex}.seg.small button{flex:none;padding:2px 8px;font-size:12px}.row{margin:10px 0}.row>label,.row .lab{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;font-size:13.5px;font-weight:600;display:flex}.num{border:1px solid var(--line);background:var(--field);width:76px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;text-align:right;border-radius:8px;padding:2px 6px}.text{border:1px solid var(--line);background:var(--field);width:100%;color:var(--ink);border-radius:var(--r-field);font:inherit;padding:8px 11px}.text:focus,.num:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}.text.multi{resize:vertical;min-height:3.2em}.zero{color:var(--muted);font-size:var(--fs-cap)}input[type=range]{width:100%;accent-color:var(--accent)}.check{border:1px solid var(--line);border-radius:var(--r-field);background:var(--field);cursor:pointer;align-items:center;gap:8px;margin:8px 0;padding:9px 10px 9px 12px;font-size:13.5px;font-weight:600;display:flex}.check>input[type=checkbox]{appearance:none;background:var(--track);cursor:pointer;border-radius:999px;flex:none;order:2;width:38px;height:22px;margin:0 0 0 auto;transition:background .15s;position:relative}.check>input[type=checkbox]:after{content:"";width:16px;height:16px;box-shadow:var(--shadow-knob);background:#fff;border-radius:50%;transition:translate .15s;position:absolute;top:3px;left:3px}.check>input[type=checkbox]:checked{background:var(--accent)}.check>input[type=checkbox]:checked:after{translate:16px}.check:has(>input:disabled){opacity:.55;cursor:default}.check:has(>input:focus-visible){border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.check>input:focus-visible{outline:none}.hint{font-size:var(--fs-note);color:var(--muted);margin:4px 2px 0}.warn{color:var(--warn)}.view{background:var(--view);min-width:0;min-height:320px;position:relative;overflow:hidden}.view canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.busy{background:var(--ink);color:var(--bg);opacity:0;pointer-events:none;white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:12px;transition:opacity .2s;position:absolute;top:12px;left:50%;transform:translate(-50%)}.busy.on{opacity:.9}.notice{background:var(--panel);border:1px solid var(--line);border-radius:10px;max-width:420px;padding:8px 12px;font-size:12px;position:absolute;top:52px;left:12px;right:12px}.notice.error{border-color:var(--accent)}.drawer,.modal{z-index:10;background:var(--panel);border:1px solid var(--line);position:fixed;box-shadow:0 12px 40px #00000040}.drawer{width:min(360px,100vw);padding:16px;top:0;bottom:0;right:0;overflow-y:auto}.modal{border-radius:14px;width:min(480px,100vw - 24px);padding:18px;top:20vh;left:50%;transform:translate(-50%)}.scrim{z-index:9;background:#00000059;position:fixed;inset:0}.signin-dialog .acts{justify-content:flex-end;margin-top:14px;display:flex}.signin-dialog .err{color:var(--warn)}.modal input[type=text]{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);font:inherit;border-radius:8px;padding:8px}.lib-item{border-bottom:1px solid var(--line);grid-template-columns:56px 1fr auto;align-items:center;gap:10px;padding:8px 0;display:grid}.lib-item img{border-radius:8px;width:56px;height:56px}.lib-item .meta{min-width:0}.lib-item .meta b{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.drawer-head,.modal-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.drawer-head h3,.modal-head h3{margin:0;font-size:16px}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.trace{z-index:1;background:var(--view);padding:52px 12px 56px;display:grid;position:absolute;inset:0}.trace svg{cursor:crosshair;background:#fff;border-radius:8px;width:100%;height:100%;min-height:0;box-shadow:0 1px 4px #00000026}.trace .ink{fill:#d9485f2e;stroke:#d9485f;stroke-width:1.4px;vector-effect:non-scaling-stroke;pointer-events:none}.trace .frame{stroke:#1769e0;stroke-width:2px;stroke-dasharray:7 5;vector-effect:non-scaling-stroke;pointer-events:none}.trace .gone{fill:#1769e024;stroke:#1769e0;stroke-width:2.4px;vector-effect:non-scaling-stroke;pointer-events:none}.trace .shape{fill:#0000;stroke:none;pointer-events:none;outline:none}.trace .shape:focus-visible{fill:#1769e038;stroke:#1769e0;stroke-width:3.5px;vector-effect:non-scaling-stroke}.trace .tip{text-align:center;pointer-events:none;position:absolute;bottom:48px;left:0;right:0}.cleanup{border:0;min-width:0;margin:0;padding:0}.cleanup:disabled{opacity:.55}button.link{color:var(--accent);font-weight:600;font-size:var(--fs-note);background:0 0;border:0;padding:0}button.link:hover:not(:disabled){text-decoration:underline}.btn.small{border-radius:8px;padding:4px 10px;font-size:12.5px}.btn.danger{color:var(--accent)}.errbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.errbar .msg{flex:200px}.drawer.library{width:min(760px,100vw)}.drawer.library .drawer-head span{gap:6px;display:flex}.scrim.up,.modal.up{z-index:30}.modal.up{z-index:31}.lib-tools{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;display:flex}.lib-tools .text{flex:180px;min-width:0}.lib-tools select{border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;border-radius:8px;padding:6px 8px}.shelves{margin-bottom:8px}.tagbar{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.tag{border:1px solid var(--line);background:var(--chip);border-radius:999px;align-items:center;gap:4px;padding:1px 9px;font-size:12px;display:inline-flex}button.tag[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.tag button{all:unset;cursor:pointer;padding:0 2px}.tags{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.bulk{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.bulk .tagin{flex:none;width:90px;padding:3px 8px}.notice-inline{background:var(--chip);border-radius:8px;margin:6px 0;padding:6px 10px;font-size:12px}.failed{color:var(--warn);margin:4px 0;padding-left:18px;font-size:12px}.cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.cards.compact{grid-template-columns:1fr;gap:0}.card{border:1px solid var(--line);background:var(--bg);border-radius:12px;align-content:start;gap:6px;min-width:0;padding:8px;display:grid;position:relative}.card.picked{outline:2px solid var(--accent)}.card .thumb{all:unset;cursor:pointer;display:block}.card .thumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card .thumb img{aspect-ratio:1;object-fit:contain;border-radius:8px;width:100%;display:block}.card .meta{min-width:0;display:grid}.card .meta b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card .acts{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.card .star{all:unset;cursor:pointer;color:var(--accent);padding:0 4px;font-size:18px;line-height:1}.card .star:focus-visible{outline:2px solid var(--accent)}.card .pick{background:var(--panel);border-radius:6px;padding:2px 4px;position:absolute;top:10px;left:10px}.card.compact{background:0 0;border-width:0 0 1px;border-radius:0;grid-template-columns:40px 1fr auto;align-items:center;padding:5px 0}.card.compact .thumb img{width:40px;height:40px}.card.compact .pick{grid-column:1;position:static}.card.compact .pick+.thumb{display:none}.card.compact .hint:last-child{grid-column:1/-1}.det{align-items:center;gap:12px;margin-bottom:10px;display:flex}.det img{background:var(--chip);border-radius:8px}.det dl{grid-template-columns:auto 1fr;gap:2px 10px;margin:0;font-size:13px;display:grid}.det dt{color:var(--muted)}.det dd{overflow-wrap:anywhere;margin:0}.fld{gap:4px;margin:10px 0;font-size:13px;display:grid}.tagrow{margin:6px 0}.modal.up .text,.modal.up input[type=text]{width:auto}@media (max-width:760px){.card.compact{grid-template-columns:40px 1fr}.card.compact .acts{grid-column:1/-1}}.sketch{z-index:1;background:var(--view);grid-template-columns:48px minmax(0,1fr) 240px;min-height:0;display:grid;position:absolute;inset:0}.sk-bar{display:none}.sk-tools{flex-direction:column;gap:4px;padding:6px;display:flex;overflow-y:auto}.sk-tools .tool{border:1px solid var(--line);background:var(--panel);border-radius:8px;width:36px;height:36px;padding:0;font-size:16px;line-height:1}.sk-tools .tool[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.sk-tools .gap{flex:1;min-height:8px}.sk-stage{min-width:0;min-height:0;position:relative}.sk-stage svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.sk-stage .tip{text-align:center;pointer-events:none;margin:0;position:absolute;bottom:8px;left:0;right:0}.sk-side{background:var(--panel);border-left:1px solid var(--line);min-height:0;padding:12px;overflow-y:auto}.sk-side .btn.primary{width:100%}.sk-actions{flex-wrap:wrap;gap:6px;display:flex}.sk-actions .btn{padding:4px 9px;font-size:13px}.sk-side textarea.text{resize:vertical}.sketch .paper{filter:drop-shadow(0 1px 4px #00000040)}.sketch .shape{fill:#2b2118;stroke:none}.sketch .line{stroke:#2b2118}.sketch .shape.on{fill:#2b2118;stroke:#1769e0;stroke-width:1.5px;vector-effect:non-scaling-stroke}.sketch .line.on{stroke:#1f4f99}.sketch .draft{stroke:#1769e0;vector-effect:non-scaling-stroke;stroke-width:2px}.sketch .frame{stroke:#1769e0;stroke-width:1.5px;vector-effect:non-scaling-stroke;stroke-dasharray:5 4;pointer-events:none}.sketch .marquee{fill:#1769e01f;stroke:#1769e0;stroke-width:1px;vector-effect:non-scaling-stroke;pointer-events:none}.sketch .handle{fill:#fff;stroke:#1769e0;stroke-width:1.5px;vector-effect:non-scaling-stroke;cursor:pointer}.sketch .handle.node.on{fill:#1769e0}.sketch .handle.round{fill:#fff}@media (max-width:760px){.sketch{z-index:5;background:var(--view);grid-template-rows:auto auto minmax(220px,1fr) minmax(0,38vh);grid-template-columns:minmax(0,1fr);position:fixed;inset:0}.sk-bar{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:8px 12px;display:flex}.sk-bar .btn{padding:4px 10px}.sk-tools{flex-direction:row;padding:4px 8px;overflow:auto hidden}.sk-tools .gap{display:none}.sk-side{border-left:0;border-top:1px solid var(--line)}}.btn-link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.quick{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px;display:grid}.quick button{border:1px solid var(--line);background:var(--chip);color:var(--ink);border-radius:8px;justify-items:center;gap:2px;padding:6px 2px;font-size:12px;display:grid}.quick svg{fill:currentColor;width:26px;height:26px}
