:root{color-scheme:light;--ink: #15181c;--ink-2: #434b55;--ink-3: #69727d;--paper: #ffffff;--paper-2: #f5f6f7;--paper-3: #eceef1;--rule: #e3e6ea;--rule-2: #cdd2d8;--mat: #24312c;--mat-line: rgba(255, 255, 255, .04);--mat-line-2: rgba(255, 255, 255, .08);--mark: #ffd60a;--bar: #e3b600;--mark-wash: #fff3b3;--mark-ink: #4d3d00;--err: #c92d2d;--err-wash: #fdeeee;--warn: #975000;--warn-wash: #fff3e2;--ok: #1f7a50;--ok-wash: #e7f5ed;--focus: #2f6bff;--primary: #15181c;--primary-ink: #ffffff;--primary-hover: #2c333b;--shadow-1: 0 1px 2px rgba(18, 24, 32, .08);--shadow-2: 0 14px 36px rgba(18, 24, 32, .2), 0 2px 6px rgba(18, 24, 32, .08);--r: 6px;--f-body: "Golos Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--f-display: "Oswald", "Arial Narrow", "Roboto Condensed", sans-serif;--f-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--ink: #e8eaed;--ink-2: #b9bfc7;--ink-3: #8d96a1;--paper: #16191d;--paper-2: #1c2025;--paper-3: #262b31;--rule: #2b3037;--rule-2: #3b424b;--mat: #101915;--mat-line: rgba(255, 255, 255, .03);--mat-line-2: rgba(255, 255, 255, .065);--bar: #ffd60a;--mark-wash: rgba(255, 214, 10, .15);--mark-ink: #ffe36b;--err: #ff6b6b;--err-wash: rgba(255, 107, 107, .12);--warn: #f2a54a;--warn-wash: rgba(242, 165, 74, .12);--ok: #4fc68f;--ok-wash: rgba(79, 198, 143, .12);--primary: #ffd60a;--primary-ink: #15181c;--primary-hover: #ffe14d;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 14px 36px rgba(0, 0, 0, .55)}}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font:400 14px/1.5 var(--f-body);color:var(--ink);background:var(--paper-2);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}kbd{font:500 10.5px/1 var(--f-mono);padding:2px 4px;border-radius:3px;border:1px solid var(--rule-2);color:var(--ink-3);background:var(--paper)}svg.i{width:16px;height:16px;flex:none}.brand-mark{width:28px;height:28px;flex:none;color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border:1px solid var(--rule-2);border-radius:var(--r);background:var(--paper);color:var(--ink);font-weight:500;white-space:nowrap;text-decoration:none}.btn:hover:not(:disabled){background:var(--paper-2);border-color:var(--ink-3)}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink);font-weight:600}.btn.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn.primary kbd{background:transparent;border-color:currentColor;color:inherit;opacity:.7}.btn.danger{color:var(--err)}.btn.danger:hover:not(:disabled){border-color:var(--err);background:var(--err-wash)}.btn.danger-solid{background:var(--err);border-color:var(--err);color:#fff;font-weight:600}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover:not(:disabled){background:var(--paper-3);border-color:transparent}.icon-btn{width:32px;height:32px;display:inline-grid;place-items:center;padding:0;border:1px solid transparent;border-radius:var(--r);background:transparent;color:var(--ink-2)}.icon-btn:hover:not(:disabled){background:var(--paper-3);color:var(--ink)}.icon-btn[aria-pressed=true]{background:var(--mark-wash);color:var(--mark-ink)}.link{border:0;background:none;padding:0;color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:2px}.link:hover{color:var(--focus)}.input{width:100%;height:36px;padding:0 10px;border:1px solid var(--rule-2);border-radius:var(--r);background:var(--paper);color:var(--ink)}.input:focus{border-color:var(--ink-3)}.input.mono{font-family:var(--f-mono)}textarea.input{height:auto;padding:8px 10px}select.input{padding-right:6px}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}html,body{height:100%}body{display:flex;flex-direction:column;height:100vh;overflow:hidden;font-size:13px;line-height:1.45}.topbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;flex:none;padding:8px 14px;min-height:54px;background:var(--paper);border-bottom:1px solid var(--rule)}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.brand-name{font:600 16px/1 var(--f-display);letter-spacing:.05em;text-transform:uppercase}.crumb{display:flex;align-items:center;gap:6px;min-width:0}.crumb a{color:var(--ink-3);text-decoration:none;font-weight:500;white-space:nowrap}.crumb a:hover{color:var(--ink)}.crumb-sep{color:var(--rule-2)}.crumb-name{font:600 15px/1.1 var(--f-display);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.tabs{display:flex;gap:2px;padding:3px;border-radius:8px;background:var(--paper-3)}.tab{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:6px;color:var(--ink-2);font-weight:500;text-decoration:none;white-space:nowrap}.tab:hover{color:var(--ink)}.tab[aria-current=page]{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-1),inset 0 -2px 0 var(--bar)}.badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--err);color:#fff;font:600 11px/18px var(--f-mono);text-align:center}.spacer{flex:1 1 auto}.save-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3);white-space:nowrap}.save-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ink-3)}.save-pill.is-ok:before{background:var(--ok)}.save-pill.is-busy:before{background:var(--bar)}.save-pill.is-err{color:var(--err);font-weight:600}.save-pill.is-err:before{background:var(--err)}.account{display:flex;align-items:center;gap:8px;color:var(--ink-3);font-size:12px}.account span{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#view{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.page{flex:1 1 auto;overflow:auto;padding:28px 24px 48px}.page-inner{max-width:1080px;margin:0 auto}.page h1{margin:0 0 6px;font:600 30px/1.1 var(--f-display);letter-spacing:.01em}.page .lead{margin:0 0 20px;color:var(--ink-2);font-size:14px;max-width:70ch}.statusbar{display:flex;align-items:stretch;flex:none;min-width:0;min-height:30px;background:var(--paper);border-top:1px solid var(--rule);font-size:12px}.sb-cell{display:flex;align-items:center;gap:8px;padding:0 12px;border-left:1px solid var(--rule);white-space:nowrap;color:var(--ink-2)}.sb-cell:first-child{flex:1 1 auto;min-width:0;border-left:0;overflow:hidden}.sb-cell:empty{display:none}#msg{overflow:hidden;text-overflow:ellipsis;color:var(--ink)}#msg.is-warn{color:var(--warn)}#msg.is-err{color:var(--err)}#msg.is-ok{color:var(--ok)}#msgAction{font-size:12px}.sb-hint{flex:0 1 auto;min-width:0;display:block;line-height:30px;overflow:hidden;text-overflow:ellipsis;color:var(--ink-3)}.sb-coords{min-width:128px;justify-content:flex-end;font-family:var(--f-mono);font-variant-numeric:tabular-nums}.auth{flex:1;display:grid;place-items:center;padding:24px;background:var(--mat);background-image:linear-gradient(var(--mat-line-2) 1px,transparent 1px),linear-gradient(90deg,var(--mat-line-2) 1px,transparent 1px),linear-gradient(var(--mat-line) 1px,transparent 1px),linear-gradient(90deg,var(--mat-line) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px;overflow:auto}.auth-card{width:min(420px,100%);padding:28px 26px 24px;border-radius:12px;background:var(--paper);box-shadow:var(--shadow-2)}.auth-card .brand{margin-bottom:18px}.auth-card h1{margin:0 0 6px;font:600 26px/1.1 var(--f-display)}.auth-card p{margin:0 0 16px;color:var(--ink-2)}.auth-card form{display:grid;gap:10px}.auth-card label{font-size:12px;font-weight:500;color:var(--ink-2)}.auth-note{margin-top:14px!important;font-size:12px;color:var(--ink-3)!important}.auth-ok{padding:12px;border-radius:8px;background:var(--ok-wash);color:var(--ok);font-weight:500}.new-project{display:flex;gap:8px;max-width:520px;margin:0 0 24px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.card{display:grid;gap:6px;padding:16px 18px;border:1px solid var(--rule);border-radius:10px;background:var(--paper);color:inherit;text-decoration:none;box-shadow:var(--shadow-1)}.card:hover{border-color:var(--ink-3)}.card h2{margin:0;font:600 20px/1.15 var(--f-display);letter-spacing:.01em}.card p{margin:0;color:var(--ink-3);font-size:12.5px}.empty-state{padding:32px;border:1px dashed var(--rule-2);border-radius:10px;color:var(--ink-3);text-align:center}.ed-host{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.ed{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:288px minmax(0,1fr) 316px}.side{display:flex;flex-direction:column;min-height:0;background:var(--paper);border-right:1px solid var(--rule)}.side-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:14px 14px 8px}.side-head h2{margin:0;font:600 11px/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:6px;padding:0 14px 14px;border-bottom:1px solid var(--rule)}.chip{position:relative;display:grid;gap:3px;padding:7px 8px 8px;text-align:left;border:1px solid var(--rule);border-radius:var(--r);background:var(--paper)}.chip:hover{border-color:var(--ink-3)}.chip-name{font:600 17px/1 var(--f-display);letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-count{font:500 10.5px/1.1 var(--f-mono);color:var(--ink-3)}.chip-bar{height:3px;border-radius:2px;background:var(--paper-3);overflow:hidden}.chip-bar i{display:block;height:100%;background:var(--bar)}.chip.is-on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.chip.is-on .chip-count{color:inherit;opacity:.7}.chip.is-on .chip-bar{background:#7f7f7f59}.chip-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--err);box-shadow:0 0 0 2px var(--paper)}.chip.is-on .chip-dot{box-shadow:0 0 0 2px var(--ink)}.chip-add{place-items:center;border-style:dashed;color:var(--ink-3);min-height:52px}.chip-add:hover{color:var(--ink)}.view-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:10px 14px 12px;border-bottom:1px solid var(--rule)}.view-label{margin-right:4px;font:600 11px/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.view-pill{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border:1px solid var(--rule);border-radius:13px;background:var(--paper);color:var(--ink-2);font-size:12px;font-weight:500;white-space:nowrap}.view-pill:hover{border-color:var(--ink-3);color:var(--ink)}.view-pill.is-on{background:var(--mark-wash);border-color:var(--bar);color:var(--mark-ink)}.view-add{width:26px;padding:0;justify-content:center;border-style:dashed}.view-add svg.i{width:14px;height:14px}.view-nophoto{width:6px;height:6px;border-radius:50%;border:1.5px dashed currentColor}.view-err{width:6px;height:6px;border-radius:50%;background:var(--err)}.chips{border-bottom:0;padding-bottom:8px}.apt-head{padding-bottom:6px}.apt-count{font:500 12px/1 var(--f-mono);color:var(--ink-2)}.meter{height:4px;margin:0 14px;border-radius:2px;background:var(--paper-3);overflow:hidden}.meter i{display:block;height:100%;background:var(--bar);transition:width .25s}.list-tools{display:grid;gap:8px;padding:10px 14px;border-bottom:1px solid var(--rule)}.filters{display:flex;gap:2px;padding:3px;border-radius:8px;background:var(--paper-3)}.filters button{flex:1 1 auto;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:4px;height:26px;padding:0 5px;border:0;border-radius:6px;background:transparent;color:var(--ink-2);font-size:11.5px;font-weight:500;white-space:nowrap}.filters button>span:first-child{overflow:hidden;text-overflow:ellipsis}.filters button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-1)}.filters .n{font:500 10.5px/1 var(--f-mono);color:var(--ink-3)}.list{flex:1 1 auto;overflow:auto;padding-bottom:16px}.grp-head{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:baseline;padding:10px 14px 4px;background:var(--paper);font:600 11px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.grp-head .mono{letter-spacing:0;text-transform:none;font-weight:500}.row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:34px;padding:4px 14px;border:0;background:transparent;text-align:left;color:var(--ink)}.row:hover,.row.is-hover{background:var(--paper-2)}.row.is-sel{background:var(--paper-3);box-shadow:inset 3px 0 0 var(--ink)}.row-no{min-width:46px;padding:3px 7px;border-radius:3px;border:1px solid transparent;background:var(--mark-wash);color:var(--mark-ink);font:600 12.5px/1.2 var(--f-mono);text-align:center}.row-meta{display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--ink-3)}.st-dot{flex:none;width:8px;height:8px;border-radius:50%;display:inline-block}.row.is-err .row-no{background:var(--err-wash);color:var(--err)}.row.is-err .row-meta{color:var(--err)}.row-flag{width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:var(--err);color:#fff;font:700 10px/1 var(--f-mono)}.row.is-missing .row-no{background:transparent;border:1px dashed var(--rule-2);color:var(--ink-3);font-weight:500}.row-go{font-size:11.5px;font-weight:600;color:var(--ink-2);opacity:0}.row.is-missing:hover .row-go,.row.is-missing:focus-visible .row-go{opacity:1}.list-empty{margin:0;padding:18px 14px;color:var(--ink-3);font-size:12.5px}.canvas-col{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}.ed-toolbar{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--paper);border-bottom:1px solid var(--rule)}.tb-group{display:flex;align-items:center;gap:2px}.seg{display:inline-flex;gap:2px;padding:3px;border-radius:8px;background:var(--paper-3)}.seg-btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--ink-2);font-weight:500;white-space:nowrap}.seg-btn:hover{color:var(--ink)}.seg-btn[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-1),inset 0 -2px 0 var(--bar)}.seg-btn kbd{padding:1px 3px}.board{display:grid;grid-template-columns:22px minmax(0,1fr);grid-template-rows:22px minmax(0,1fr);min-height:0;background:var(--paper-2)}.ruler-corner{display:grid;place-items:center;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);font:600 8px/1 var(--f-mono);color:var(--ink-3);letter-spacing:.04em}.ruler{display:block;width:100%;height:100%}.viewport{position:relative;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;background-color:var(--mat);background-image:linear-gradient(var(--mat-line-2) 1px,transparent 1px),linear-gradient(90deg,var(--mat-line-2) 1px,transparent 1px),linear-gradient(var(--mat-line) 1px,transparent 1px),linear-gradient(90deg,var(--mat-line) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px}#photo{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;will-change:transform;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}#photo.is-pixel{image-rendering:pixelated}#overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}#overlay .frame{fill:none;stroke:#0000008c;stroke-width:1}#overlay .guide{stroke:#ffffff4d;stroke-width:1;stroke-dasharray:3 4}#overlay .case,#overlay .d-case{fill:none;stroke:#0c0e119e;stroke-width:3.8;stroke-linejoin:round;stroke-linecap:round}#overlay .shape{fill:#ffd60a24;stroke:#ffd60a;stroke-width:1.6;stroke-linejoin:round}#overlay .ap.is-hover .shape{fill:#ffd60a4d}#overlay .ap.is-sel .shape{fill:#ffd60a4d;stroke-width:2.4}#overlay .ap.is-sel .case{stroke-width:4.8}#overlay .ap.by-color .shape{fill:var(--cf);stroke:var(--c)}#overlay .ap.is-err .shape{fill:#ff5c5c33;stroke:#ff5c5c;stroke-dasharray:7 4}#overlay .ap.is-dim{opacity:.42}#overlay .pend .shape{fill:#ffd60a42;stroke:#ffd60a;stroke-width:2;stroke-dasharray:9 3}#overlay .lbl rect{fill:#101317d6}#overlay .lbl text{fill:#fff;font:600 11px var(--f-mono)}#overlay .lbl.is-sel rect{fill:#ffd60a}#overlay .lbl.is-sel text{fill:#15181c}#overlay .lbl.is-err rect{fill:#cf3030}#overlay .grip{fill:#fff;stroke:#15181c;stroke-width:1.5}#overlay .grip.is-on{fill:#ffd60a}#overlay .grip-mid{fill:#ffffff8c;stroke:#15181cbf;stroke-width:1}#overlay .d-line{fill:none;stroke:#ffd60a;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}#overlay .d-band{stroke:#ffd60a;stroke-width:1.6;stroke-dasharray:5 4}#overlay .d-band.is-bad{stroke:#ff5c5c}#overlay .d-close{stroke:#ffffff8c;stroke-width:1;stroke-dasharray:2 4}#overlay .d-preview{fill:#ffd60a2e;stroke:none}#overlay .d-pt{fill:#ffd60a;stroke:#15181c;stroke-width:1.2}#overlay .d-first{fill:#15181c;stroke:#ffd60a;stroke-width:2}#overlay .d-first.is-armed{fill:#ffd60a;stroke:#fff;stroke-width:2.5}#overlay .snap{fill:none;stroke:#ff4fd8;stroke-width:2}.float{position:absolute;z-index:2;display:flex;align-items:center;gap:2px;padding:3px;background:var(--paper);border:1px solid var(--rule);border-radius:8px;box-shadow:var(--shadow-2)}.float .icon-btn{width:30px;height:30px}.float-tr{top:12px;right:12px}.float-br{right:12px;bottom:12px}.float-sep{width:1px;height:18px;margin:0 2px;background:var(--rule)}.zoom-val{min-width:56px;height:30px;border:0;border-radius:6px;background:none;font:500 12px/1 var(--f-mono);color:var(--ink-2)}.zoom-val:hover:not(:disabled){background:var(--paper-3);color:var(--ink)}.legend{position:absolute;left:12px;bottom:12px;z-index:2;max-width:220px;padding:10px 12px;background:var(--paper);border:1px solid var(--rule);border-radius:8px;box-shadow:var(--shadow-2);font-size:12px}.legend b{display:block;margin-bottom:6px;font:600 10.5px/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.legend ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.legend li{display:flex;align-items:center;gap:8px}.legend i{width:12px;height:12px;border-radius:3px;border:2px solid}.empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;overflow:auto}.empty-card{width:min(460px,100%);padding:22px 22px 18px;border-radius:10px;background:var(--paper);box-shadow:var(--shadow-2)}.empty-card h3{margin:0 0 6px;font:600 24px/1.1 var(--f-display);letter-spacing:.01em}.empty-card>p{margin:0 0 12px;color:var(--ink-2)}.empty-actions{display:flex;gap:8px;margin:16px 0 12px}.empty-foot{margin:12px 0 0!important;font-size:12px;color:var(--ink-3)!important}.loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;padding:10px 16px;border-radius:8px;background:var(--paper);box-shadow:var(--shadow-2);font-weight:500}.drop-hint{position:fixed;top:10px;right:10px;bottom:10px;left:10px;z-index:100;display:grid;place-items:center;pointer-events:none;border:2px dashed #ffd60a;border-radius:14px;background:#10131799;color:#fff;font:600 26px/1.2 var(--f-display);letter-spacing:.03em;text-transform:uppercase}.inspector{min-height:0;overflow:auto;background:var(--paper);border-left:1px solid var(--rule)}.sec{padding:16px 18px;border-bottom:1px solid var(--rule)}.sec:last-child{border-bottom:0}.eyebrow{margin-bottom:6px;font:600 11px/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.big{margin:0;font:600 34px/1 var(--f-display);letter-spacing:.01em;word-break:break-word}.big-input{height:44px;font:600 26px/1 var(--f-display);letter-spacing:.01em}.title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:99px;background:var(--paper-3);font-size:12px;font-weight:500}.tag:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c, var(--bar))}.sec-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 8px;font:600 11px/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.sec-title .mono{letter-spacing:0}.fld{display:grid;gap:5px;margin-top:12px}.fld>span{font-size:12px;font-weight:500;color:var(--ink-2)}.fld-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.fld-grid .fld-wide{grid-column:1 / -1}.inspector .input{height:34px}.btn-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.btn-row .btn{flex:1 1 auto}.note{margin:8px 0 0;font-size:12.5px;color:var(--ink-2)}.note:first-child{margin-top:0}.note.is-warn,.msg.is-warn{color:var(--warn)}.note.is-err,.msg.is-err{color:var(--err)}.note.is-ok,.msg.is-ok{color:var(--ok)}.note svg.i{width:14px;height:14px;vertical-align:-2px}.msg{margin:8px 0 0;font-size:12.5px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:14px;border:1px solid var(--rule);border-radius:var(--r);background:var(--rule);overflow:hidden}.stat{padding:8px 10px;background:var(--paper)}.stat b{display:block;font:600 19px/1.1 var(--f-mono)}.stat span{font-size:11px;color:var(--ink-3)}.stat.is-err b{color:var(--err)}.sec .meter{margin:12px 0 0}.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;margin:12px 0 0;font-size:12.5px}.kv dt{color:var(--ink-3)}.kv dd{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--f-mono);font-size:12px}.issues{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}.tour-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.tour-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px;align-items:center}.icon-btn.danger:hover:not(:disabled){color:var(--err);background:var(--err-wash)}.issue{display:flex;align-items:flex-start;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:var(--r);background:var(--err-wash);color:var(--err);text-align:left;font-size:12.5px}.issue b{min-width:34px}.issue svg.i{width:14px;height:14px;margin-top:1px}.num-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.num-chip{padding:5px 7px;border:1px dashed var(--rule-2);border-radius:4px;background:transparent;color:var(--ink-2);font:500 12px/1 var(--f-mono)}.num-chip:hover{border-style:solid;border-color:var(--bar);background:var(--mark-wash);color:var(--mark-ink)}.tips{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:7px;font-size:12px;color:var(--ink-2)}.tips kbd{margin-right:6px}dialog.dlg{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:0;border-radius:10px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow-2)}dialog.dlg[open]{display:flex;flex-direction:column}dialog.dlg.wide{width:min(760px,calc(100vw - 32px))}dialog.dlg.small{width:min(420px,calc(100vw - 32px))}dialog::backdrop{background:#0f121680}.dlg-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 14px 20px;border-bottom:1px solid var(--rule)}.dlg-head h2{margin:0;font:600 20px/1.15 var(--f-display);letter-spacing:.01em}.dlg-body{padding:16px 20px;overflow:auto}.dlg-foot{display:flex;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid var(--rule)}.cf-title{margin:0 0 8px;font:600 20px/1.2 var(--f-display)}.cf-text{margin:0 0 10px;color:var(--ink-2)}.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px 28px}.help-grid h3{margin:0 0 8px;font:600 11px/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.help-grid dl{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:6px 12px;margin:0;font-size:12.5px}.help-grid dd{margin:0;color:var(--ink-2)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px}.toolbar .input{width:auto;min-width:140px}.table-wrap{overflow:auto;border:1px solid var(--rule);border-radius:10px;background:var(--paper)}table.grid{width:100%;border-collapse:collapse;font-size:13px}table.grid th{position:sticky;top:0;z-index:1;padding:9px 8px;background:var(--paper-2);border-bottom:1px solid var(--rule);color:var(--ink-3);font:600 11px/1.2 var(--f-body);letter-spacing:.06em;text-transform:uppercase;text-align:left;white-space:nowrap}table.grid td{padding:4px 8px;border-bottom:1px solid var(--rule);vertical-align:middle}table.grid tr:last-child td{border-bottom:0}table.grid tr.is-checked td{background:var(--mark-wash)}table.grid .input{height:30px;min-width:64px;padding:0 8px;border-color:transparent;background:transparent}table.grid .input:hover{border-color:var(--rule-2)}table.grid .input:focus{border-color:var(--ink-3);background:var(--paper)}table.grid .num{width:104px;text-align:right;font-family:var(--f-mono)}table.grid .no{width:90px;font-family:var(--f-mono);font-weight:600}.outline-ok{display:inline-flex;align-items:center;gap:4px;color:var(--ok);font-weight:500;white-space:nowrap}.status-sel{min-width:128px;font-weight:500}.panel{margin:0 0 18px;padding:18px 20px;border:1px solid var(--rule);border-radius:10px;background:var(--paper)}.panel h2{margin:0 0 6px;font:600 18px/1.2 var(--f-display);letter-spacing:.01em}.panel>p{margin:0 0 12px;color:var(--ink-2);max-width:75ch}textarea.code{width:100%;min-height:84px;padding:10px 12px;resize:vertical;white-space:pre;overflow:auto;border:1px solid var(--rule-2);border-radius:var(--r);background:var(--paper-2);color:var(--ink);font:12.5px/1.5 var(--f-mono)}.preview-frame{padding:18px;border:1px dashed var(--rule-2);border-radius:10px;background:#fff;color:#15181c}.pub-state{font-size:12px;color:var(--ink-3)}.inq{display:grid;gap:4px;padding:14px 16px;border-bottom:1px solid var(--rule)}.inq:last-child{border-bottom:0}.inq.is-unread{box-shadow:inset 3px 0 0 var(--bar);background:var(--mark-wash)}.inq-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}.inq-head b{font-size:14px}.inq-meta{color:var(--ink-3);font-size:12px}.inq-msg{margin:4px 0 0;white-space:pre-wrap;color:var(--ink-2)}.inq-actions{display:flex;gap:6px;margin-top:6px}.form-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px 20px;align-items:start}.form-grid>label,.form-grid>.lbl{padding-top:8px;font-weight:500;color:var(--ink-2)}.form-grid .help{margin:4px 0 0;font-size:12px;color:var(--ink-3)}.color-row{display:flex;gap:8px;align-items:center}.color-row input[type=color]{width:44px;height:36px;padding:2px;border:1px solid var(--rule-2);border-radius:var(--r);background:var(--paper)}.ed-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ed-row{display:grid;grid-template-columns:22px minmax(0,1fr) 104px 32px;align-items:center;gap:8px}.ed-idx{text-align:right;font-size:12px;color:var(--ink-3)}.ed-meta{text-align:right;font-size:11.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px 14px}.label-grid label{display:grid;gap:4px;font-size:12px;color:var(--ink-3)}.danger-panel{border-color:color-mix(in srgb,var(--err) 35%,var(--rule))}@media(max-width:1440px){.seg-btn kbd{display:none}}@media(max-width:1280px){.ed{grid-template-columns:264px minmax(0,1fr) 292px}.btn .btn-text,.sb-hint,.account span{display:none}}@media(max-width:1100px){.seg-btn .seg-text{display:none}.ed{grid-template-columns:256px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.ed .inspector{grid-column:1 / -1;max-height:40vh;border-left:0;border-top:1px solid var(--rule)}.form-grid{grid-template-columns:1fr;gap:6px}.form-grid>label,.form-grid>.lbl{padding-top:10px}}@media(max-width:760px){body{height:auto;min-height:100vh;overflow:auto}.ed{grid-template-columns:minmax(0,1fr)}.side{max-height:46vh;border-right:0;border-bottom:1px solid var(--rule)}.canvas-col{height:72vh}.ed .inspector{max-height:none}.sb-coords{display:none}.page{padding:20px 16px 40px}.tabs{order:10;width:100%;overflow-x:auto}}.tour-list li:has(.media-kind){grid-template-columns:22px minmax(0,1fr) auto auto}.media-kind{display:grid;place-items:center;width:22px;height:22px;border-radius:5px;background:var(--paper-3);color:var(--ink-2);font-size:12px}.link-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:6px;margin-top:8px}.spin-preview{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover;border-radius:8px;background:var(--paper-3)}.view-kind{font-style:normal;color:var(--ink-3)}.view-pill.is-on .view-kind{color:inherit}.panel h3.sub{margin:20px 0 6px;font:600 15px/1.2 var(--f-display);letter-spacing:.01em}.panel .help{margin:0 0 10px;font-size:12px;color:var(--ink-3)}.lang-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.lang-chip{display:inline-flex;align-items:center;gap:2px;height:32px;padding:0 2px 0 12px;border:1px solid var(--rule-2);border-radius:16px;font-weight:500}.lang-chip .icon-btn{width:26px;height:26px}.lang-tabs{margin:0 0 12px}.coord-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.coord-row .input{max-width:150px}.coord-row select.input{max-width:110px}.place-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 120px 32px}.sheet-panel{padding:0}.sheet-panel>summary{display:flex;align-items:center;gap:12px;padding:14px 20px;cursor:pointer;list-style:none}.sheet-panel>summary::-webkit-details-marker{display:none}.sheet-panel>summary:before{content:"▸";color:var(--ink-3)}.sheet-panel[open]>summary:before{content:"▾"}.sheet-panel>:not(summary){margin-left:20px;margin-right:20px}.sheet-panel>:last-child{margin-bottom:16px}.sheet-state{margin-left:auto;font-size:12px;color:var(--ink-3)}.sheet-row{display:flex;gap:8px}.sheet-row .input{flex:1;min-width:0}.check-row{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-weight:500}.stat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin:0 0 12px}.stat-card{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--rule);border-radius:10px;background:var(--paper)}.stat-card span{font-size:12px;color:var(--ink-3)}.stat-card b{font-size:26px;font-weight:600}.spark{width:100%;height:36px;fill:var(--bar)}@media(max-width:720px){.place-row{grid-template-columns:1fr 1fr}.link-row{grid-template-columns:1fr}}.table-wrap{overflow-x:auto}.table-wrap>table.grid{min-width:1180px}.opts{margin-top:10px}.opts summary{cursor:pointer;font-weight:600;color:var(--ink-2)}.opts-list{grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;margin-top:10px}.opts-list dd{color:var(--ink-2)}.opts-list dd{white-space:normal;font-family:var(--f-body);font-size:13px}.setup-pill{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px 0 8px;border:1px solid var(--bar);border-radius:15px;background:var(--mark-wash);color:var(--mark-ink);font-size:12.5px;font-weight:600;white-space:nowrap}.setup-pill:hover{border-color:var(--ink-3)}.setup-ring{width:16px;height:16px;border-radius:50%;background:conic-gradient(var(--bar) calc(var(--p) * 360deg),var(--rule-2) 0);-webkit-mask:radial-gradient(circle,transparent 4px,#000 4.5px);mask:radial-gradient(circle,transparent 4px,#000 4.5px)}.setup-panel{position:fixed;z-index:60;top:60px;right:16px;width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 80px);overflow:auto;padding:18px 18px 8px;border:1px solid var(--rule);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-2)}.setup-head{display:flex;align-items:center;gap:10px}.setup-head h2{margin:0;font:600 20px/1.2 var(--f-display)}.setup-head .mono{font-size:12px;color:var(--ink-3);margin-right:auto}.setup-panel .meter{margin:12px 0 4px}.setup-panel h3{margin:18px 0 6px;font:600 14px/1.2 var(--f-display);color:var(--ink-2)}.setup-list{list-style:none;margin:8px 0 10px;padding:0;display:grid;gap:4px}.setup-step{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 8px;border-radius:8px}.setup-step:hover{background:var(--paper-2)}.setup-step b{font-weight:600}.setup-step p{margin:2px 0 0;font-size:12.5px;color:var(--ink-3)}.setup-step .btn{height:28px;padding:0 10px;font-size:12.5px}.setup-check{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--rule-2);font:600 12px/1 var(--f-mono);color:var(--ink-3)}.setup-check svg{width:14px;height:14px}.setup-step.is-done .setup-check{border-color:var(--ok);background:var(--ok);color:#fff}.setup-step.is-done b{color:var(--ink-3);text-decoration:line-through;text-decoration-color:var(--rule-2)}.setup-note{font-size:11.5px;color:var(--ink-3)}
