:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#f7f8fa)var(--lightningcss-dark,#12131a);--bg-panel:var(--lightningcss-light,#fff)var(--lightningcss-dark,#191b24);--bg-raised:var(--lightningcss-light,#eef0f4)var(--lightningcss-dark,#21242f);--border:var(--lightningcss-light,#d8dce5)var(--lightningcss-dark,#2c3040);--border-strong:var(--lightningcss-light,#b9c0cf)var(--lightningcss-dark,#3a3f52);--text:var(--lightningcss-light,#1a1c23)var(--lightningcss-dark,#e6e8ef);--text-dim:var(--lightningcss-light,#5a6072)var(--lightningcss-dark,#9aa0b4);--text-faint:var(--lightningcss-light,#5f6577)var(--lightningcss-dark,#858ba1);--accent:var(--lightningcss-light,#3b5bdb)var(--lightningcss-dark,#7c9cff);--accent-hover:var(--lightningcss-light,#2f49b0)var(--lightningcss-dark,#9db3ff);--accent-subtle:var(--lightningcss-light,#3b5bdb1a)var(--lightningcss-dark,#7c9cff1f);--accent-border:var(--lightningcss-light,#3b5bdb66)var(--lightningcss-dark,#7c9cff73);--complete:var(--lightningcss-light,#1f7a4d)var(--lightningcss-dark,#4ea67a);--partial:var(--lightningcss-light,#806100)var(--lightningcss-dark,#c9a227);--incomplete:var(--lightningcss-light,#9a4b12)var(--lightningcss-dark,#d0782f);--missing:var(--lightningcss-light,#7c8290)var(--lightningcss-dark,#6f7589);--error:var(--lightningcss-light,#b3261e)var(--lightningcss-dark,#e2685c);--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--r-sm:4px;--r-md:6px;--r-lg:10px;--r-full:999px;--fs-xs:.6875rem;--fs-sm:.75rem;--fs-base:.8125rem;--fs-md:.875rem;--fs-lg:1rem;--dur-fast:.12s;--dur-base:.18s;--ease:cubic-bezier(.2, 0, 0, 1);--font:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-md);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{flex-direction:column;min-height:100dvh;display:flex}.topbar{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-5);border-bottom:1px solid var(--border);background:var(--bg-panel);display:flex}.topnav{gap:var(--sp-1);display:flex}.topbar-signout{color:var(--text-dim);font-size:var(--fs-sm);padding:var(--sp-1) var(--sp-2);background:0 0;border:1px solid #0000}.topbar-signout:hover:not(:disabled){color:var(--text);background:var(--bg-raised);border-color:#0000}.status-popover{position:relative}.status-popover>summary{cursor:pointer;font-size:var(--fs-sm);font-family:var(--mono);color:var(--text-dim);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-md);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease);border:1px solid #0000;align-items:center;list-style:none;display:inline-flex}.status-popover>summary::-webkit-details-marker{display:none}.status-popover>summary:hover{background:var(--bg-raised)}.status-popover-panel{right:0;top:calc(100% + var(--sp-1));z-index:10;min-width:240px;padding:var(--sp-3);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-lg);position:absolute;box-shadow:0 12px 32px #0000004d}.status-popover-panel dl{gap:var(--sp-1) var(--sp-3);font-size:var(--fs-sm);grid-template-columns:auto 1fr;margin:0;display:grid}.status-popover-panel dt{color:var(--text-faint)}.status-popover-panel dd{font-family:var(--mono);margin:0}.status-popover-path{overflow-wrap:anywhere}.topbar-title{color:inherit;border-radius:var(--r-sm);text-decoration:none}.topbar h1{font-size:var(--fs-lg);letter-spacing:-.01em;margin:0;font-weight:600}.topbar .meta{color:var(--text-dim);font-size:var(--fs-sm);font-family:var(--mono)}.topbar .spacer{flex:1}.status-dot{border-radius:var(--r-full);width:8px;height:8px;margin-right:var(--sp-1);transition:background-color var(--dur-base) var(--ease);display:inline-block}.status-dot.up{background:var(--complete)}.status-dot.down{background:var(--error)}.content{min-height:0;padding:var(--sp-5);flex-direction:column;flex:1;display:flex}.toolbar{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;align-items:center;display:flex}.toolbar input,.toolbar select{background:var(--bg-panel);border:1px solid var(--border);color:var(--text);border-radius:var(--r-md);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-base);transition:border-color var(--dur-fast) var(--ease);font-family:inherit}.toolbar input:hover,.toolbar select:hover{border-color:var(--border-strong)}.toolbar input{min-width:220px}.toolbar .count{color:var(--text-dim);font-size:var(--fs-sm);font-family:var(--mono);margin-left:auto}.table-scroll{overflow-x:auto}table.corpus{border-collapse:collapse;width:100%;font-size:var(--fs-base)}table.corpus th{text-align:left;font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);padding:var(--sp-2);border-bottom:1px solid var(--border);white-space:nowrap}table.corpus th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}table.corpus th.sortable:hover{color:var(--text)}table.corpus td{padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--border)}table.corpus tbody tr{transition:background-color var(--dur-fast) var(--ease);position:relative}table.corpus tbody tr:hover,table.corpus tbody tr:focus-within{background:var(--bg-panel)}table.corpus td.id{font-family:var(--mono);font-size:var(--fs-sm)}table.corpus td.id a{color:var(--text);border-radius:var(--r-sm);transition:color var(--dur-fast) var(--ease);text-decoration:none}table.corpus td.id a:hover{color:var(--accent);text-decoration:underline}table.corpus td.id a.row-link:after{content:"";position:absolute;inset:0}table.corpus td.gaps{text-overflow:ellipsis;white-space:nowrap;max-width:260px;position:relative;overflow:hidden}.empty-state{padding:var(--sp-6) var(--sp-5);text-align:center;color:var(--text-dim);border:1px dashed var(--border);border-radius:var(--r-lg)}.empty-state p{margin:0 0 var(--sp-3);font-size:var(--fs-base)}.skeleton-table{gap:var(--sp-2);flex-direction:column;display:flex}.skeleton-row{border-radius:var(--r-md);background:linear-gradient(90deg, var(--bg-panel) 25%, var(--bg-raised) 37%, var(--bg-panel) 63%);background-size:400% 100%;height:32px;animation:1.4s infinite skeleton-sweep}.skeleton-toolbar{height:40px;margin-bottom:var(--sp-2)}.skeleton-header{max-width:420px;height:28px}.skeleton-pane{height:auto;min-height:240px}@keyframes skeleton-sweep{0%{background-position:100%}to{background-position:0}}.chip{padding:1px var(--sp-2);border-radius:var(--r-full);font-size:var(--fs-xs);border:1px solid var(--border);background:var(--bg-raised);color:var(--text-dim);font-weight:600;display:inline-block}.chip.gold{color:var(--complete);border-color:var(--complete)}.chip.reviewed{color:var(--partial);border-color:var(--partial)}.cov{gap:3px;display:inline-flex}.cov-cell{border-radius:var(--r-sm);width:20px;height:20px;font-size:var(--fs-xs);background:var(--bg-raised);border:1px solid var(--border);cursor:default;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.cov-cell.COMPLETE{color:var(--complete);border-color:var(--complete)}.cov-cell.PARTIAL{color:var(--partial);border-color:var(--partial)}.cov-cell.INCOMPLETE{color:var(--incomplete);border-color:var(--incomplete)}.cov-cell.MISSING{color:var(--missing)}.readiness{gap:3px;display:inline-flex}.readiness-cell{padding:1px var(--sp-1);border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:700;font-family:var(--mono);border:1px solid var(--border);background:var(--bg-raised);white-space:nowrap}.readiness-cell.HIGH{color:var(--complete);border-color:var(--complete)}.readiness-cell.MEDIUM{color:var(--partial);border-color:var(--partial)}.readiness-cell.LOW{color:var(--text-faint)}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4)}.error-panel{border-color:var(--error)}.error-panel h2{margin:0 0 var(--sp-1);font-size:var(--fs-md);color:var(--error)}.error-panel .code{font-family:var(--mono);font-size:var(--fs-sm);color:var(--text-dim)}.error-panel .rid{font-family:var(--mono);font-size:var(--fs-xs);color:var(--text-faint);margin-top:var(--sp-2)}.error-panel .retry{margin-top:var(--sp-2)}.muted{color:var(--text-dim)}.legend{gap:var(--sp-4);font-size:var(--fs-xs);color:var(--text-faint);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.legend span{align-items:center;gap:var(--sp-1);display:inline-flex}.bench{gap:var(--sp-2);flex-direction:column;flex:1;min-height:0;display:flex}.bench-header{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.bench-back{color:var(--text-dim);font-size:var(--fs-sm);border-radius:var(--r-sm);transition:color var(--dur-fast) var(--ease);text-decoration:none}.bench-back:hover{color:var(--accent)}.bench-id{font-family:var(--mono);font-size:var(--fs-lg);font-weight:600}.chip-error{color:var(--error);border-color:var(--error)}.chip-ok{color:var(--complete);border-color:var(--complete)}.badge-readonly{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);border:1px solid var(--border);border-radius:var(--r-sm);padding:2px var(--sp-1);cursor:help;font-weight:700}.bench-notes{font-size:var(--fs-sm);border-left:2px solid var(--border);padding-left:var(--sp-2)}.bench-columns{gap:var(--sp-3);flex:1;grid-template-columns:1.2fr 1fr;min-height:0;display:grid}@media (width<=900px){.bench-columns{grid-template-columns:1fr}}.src-pane{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-lg);font-family:var(--mono);font-size:var(--fs-sm);margin:0;line-height:1.6;overflow-y:auto}.src-line{width:100%;padding:0 var(--sp-2);white-space:pre;color:inherit;font:inherit;text-align:left;transition:background-color var(--dur-fast) var(--ease);background:0 0;border:none;border-left:2px solid #0000;border-radius:0;display:flex}.src-line.clickable{cursor:pointer}.src-line:hover:not(:disabled){background:0 0;border-color:#0000}.src-line.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.src-line.clickable:hover{background:var(--bg-raised)}.src-line.active{background:var(--accent-subtle);border-left-color:var(--accent)}.src-line.diag-target{outline:1px solid var(--error);outline-offset:-1px}.src-lineno{text-align:right;width:34px;margin-right:var(--sp-3);color:var(--text-faint);-webkit-user-select:none;user-select:none;flex-shrink:0}.src-linetext{white-space:pre}.outline{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-1);overflow-y:auto}.outline-section-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);padding:var(--sp-2) var(--sp-1) var(--sp-1)}.outline-row{border-radius:var(--r-md);margin-bottom:2px}.outline-row.active{background:var(--accent-subtle)}.outline-row-line{align-items:center;display:flex}.outline-row-header{align-items:baseline;gap:var(--sp-2);min-width:0;padding:var(--sp-1) var(--sp-2);color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--r-md);transition:background-color var(--dur-fast) var(--ease);background:0 0;border:none;flex:1;display:flex}.outline-row-header:hover{background:var(--bg-raised)}.outline-row-header:focus-visible{outline-offset:-2px}.outline-category{font-size:var(--fs-xs);text-transform:uppercase;color:var(--text-faint);min-width:60px;font-weight:700}.outline-name{font-family:var(--mono);font-size:var(--fs-sm);flex:1}.outline-span{font-size:var(--fs-xs);font-family:var(--mono)}.outline-props{padding:var(--sp-1) var(--sp-2) var(--sp-2) 74px}.outline-props table{border-collapse:collapse;font-size:var(--fs-sm)}.outline-prop-name{color:var(--text-dim);padding:1px var(--sp-2) 1px 0;font-family:var(--mono)}.outline-prop-value{font-family:var(--mono)}.diag-rail{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-panel);flex-shrink:0}.diag-summary{cursor:pointer;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);border-radius:var(--r-lg);transition:background-color var(--dur-fast) var(--ease);font-weight:600;list-style:none;display:flex}.diag-summary::-webkit-details-marker{display:none}.diag-summary:hover{background:var(--bg-raised)}.diag-rail-list{border-top:1px solid var(--border);max-height:160px;overflow-y:auto}.diag-row{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-1) var(--sp-3);border:none;border-bottom:1px solid var(--border);color:inherit;font:inherit;text-align:left;cursor:pointer;font-size:var(--fs-sm);transition:background-color var(--dur-fast) var(--ease);background:0 0;display:flex}.diag-row:last-child{border-bottom:none}.diag-row:hover{background:var(--bg-raised)}.diag-row:focus-visible{outline-offset:-2px}.diag-glyph{text-align:center;width:14px}.diag-error .diag-glyph{color:var(--error)}.diag-warning .diag-glyph{color:var(--partial)}.diag-info .diag-glyph,.diag-hint .diag-glyph{color:var(--text-faint)}.diag-code{font-family:var(--mono);color:var(--text-dim)}.diag-message{flex:1}.diag-line{font-family:var(--mono)}.nav-link{color:var(--text-dim);font-size:var(--fs-base);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-md);transition:color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);text-decoration:none}.nav-link:hover{color:var(--text);background:var(--bg-raised)}.nav-link[aria-current=page]{color:var(--text);background:var(--accent-subtle);box-shadow:inset 0 -2px 0 var(--accent)}.button-link{color:var(--text);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-base);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);font-family:inherit;text-decoration:none;display:inline-block}.button-link:hover{border-color:var(--accent-border);background:var(--accent-subtle)}.field{gap:var(--sp-1);margin-bottom:var(--sp-4);flex-direction:column;display:flex}.field span:first-child{font-size:var(--fs-sm);color:var(--text-dim);font-weight:600}.field input[type=text],.field input[type=file],.field select{background:var(--bg-raised);border:1px solid var(--border);color:var(--text);border-radius:var(--r-md);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-base);transition:border-color var(--dur-fast) var(--ease);font-family:inherit}.field input[type=text]:hover,.field select:hover{border-color:var(--border-strong)}.field-hint{font-size:var(--fs-xs);color:var(--text-faint)}.field-hint-error{color:var(--error)}.form-panel{gap:var(--sp-3);flex-direction:column;align-items:flex-start;max-width:520px;display:flex}.form-panel .panel{width:100%}.form-panel h2{margin-top:0}button{background:var(--bg-raised);border:1px solid var(--border);color:var(--text);border-radius:var(--r-md);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-base);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);font-family:inherit}button:hover:not(:disabled){border-color:var(--accent-border);background:var(--accent-subtle)}button:disabled{opacity:.5;cursor:default}button.is-selected{color:var(--accent);border-color:var(--accent-border);background:var(--accent-subtle)}.signin{max-width:380px;margin:var(--sp-6) auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5)}.signin h2{margin:0 0 var(--sp-2);font-size:var(--fs-lg)}.signin p{margin:0 0 var(--sp-4);font-size:var(--fs-base)}.signin-choices{gap:var(--sp-2);flex-wrap:wrap;display:flex}.signin .error-panel{margin-top:var(--sp-4);padding:var(--sp-2) var(--sp-3);border:1px solid var(--error);border-radius:var(--r-md);color:var(--error);font-size:var(--fs-sm)}.account-picker{display:inline-flex}.account-picker select{background:var(--bg-raised);border:1px solid var(--border);color:var(--text);border-radius:var(--r-md);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-sm);font-family:var(--mono);transition:border-color var(--dur-fast) var(--ease)}.account-picker select:hover{border-color:var(--border-strong)}.badge-unsaved{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--partial);border:1px solid var(--partial);border-radius:var(--r-sm);padding:2px var(--sp-1);font-weight:700}.draft-left-stack{gap:var(--sp-2);flex-direction:column;min-height:0;display:flex}.draft-pdf{resize:vertical;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-raised);flex-shrink:0;width:100%;height:45%;min-height:160px;max-height:80%;overflow:auto}.draft-no-document{padding:var(--sp-3);border-radius:var(--r-lg)}.qsl-editor{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-lg);min-height:200px;transition:border-color var(--dur-fast) var(--ease);flex:1;overflow:hidden}.qsl-editor .cm-editor{height:100%;color:var(--text);background:0 0}.qsl-editor .cm-editor.cm-focused{outline:2px solid var(--accent);outline-offset:-2px}.qsl-editor .cm-gutters{border-right:1px solid var(--border);color:var(--text-faint);background:0 0}.qsl-editor .cm-activeLineGutter{background:var(--bg-raised);color:var(--text-dim)}.qsl-editor .cm-activeLine,.qsl-editor .cm-selectionBackground{background:var(--accent-subtle)}.qsl-editor .cm-editor ::selection{background:var(--accent-subtle)}.qsl-editor .cm-cursor{border-left-color:var(--accent)}.qsl-editor .cm-lintRange-error{-webkit-text-decoration-color:var(--error);text-decoration-color:var(--error)}.qsl-editor .cm-lintRange-warning{-webkit-text-decoration-color:var(--partial);text-decoration-color:var(--partial)}.qsl-editor .cm-tooltip{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);font-family:var(--font);font-size:var(--fs-sm)}.attach-row{gap:var(--sp-2);margin-top:var(--sp-2);align-items:center;display:flex}.outline-delete{margin-right:var(--sp-1);padding:0 var(--sp-1);border-radius:var(--r-sm);color:var(--text-faint);cursor:pointer;font-size:var(--fs-md);transition:color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;flex-shrink:0;line-height:1.4}.outline-delete:hover:not(:disabled){color:var(--error);background:var(--bg-raised);border-color:#0000}.confirm-dialog{max-width:420px;padding:var(--sp-5);background:var(--bg-panel);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:0 16px 40px #00000059}.confirm-dialog::backdrop{background:#00000080}.confirm-dialog-title{margin:0 0 var(--sp-2);font-size:var(--fs-lg);font-weight:600}.confirm-dialog-body{font-size:var(--fs-base);color:var(--text-dim);margin-bottom:var(--sp-5)}.confirm-dialog-actions{gap:var(--sp-2);justify-content:flex-end;display:flex}button.is-destructive{color:var(--error);border-color:var(--error)}button.is-destructive:hover:not(:disabled){background:var(--error);color:var(--bg-panel);border-color:var(--error)}.provenance-panel{margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--border)}.provenance-header{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin-bottom:var(--sp-1)}.provenance-empty{font-size:var(--fs-sm);margin-bottom:var(--sp-2)}.provenance-list{margin:0 0 var(--sp-2);gap:var(--sp-1);flex-direction:column;padding:0;list-style:none;display:flex}.provenance-item{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);padding:var(--sp-1);background:var(--bg-raised);border-radius:var(--r-sm);display:flex}.provenance-page{font-family:var(--mono);color:var(--text-dim);flex-shrink:0}.provenance-quote{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-style:italic;overflow:hidden}.provenance-form{gap:var(--sp-1);flex-wrap:wrap;display:flex}.provenance-form input[type=number]{width:60px}.provenance-form input[type=text]{flex:1;min-width:120px}.provenance-form input,.provenance-form select{background:var(--bg-raised);border:1px solid var(--border);color:var(--text);border-radius:var(--r-md);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-sm);font-family:inherit}.add-node-form{margin-bottom:var(--sp-4)}.add-node-header{margin-bottom:var(--sp-2)}.add-node-header .toolbar{margin-bottom:0}.property-row{gap:var(--sp-2);margin-bottom:var(--sp-1);display:flex}.property-row input{flex:1}.cut-list{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-panel);padding:var(--sp-2) var(--sp-3);margin-top:var(--sp-3)}.cut-list-title{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin:0 0 var(--sp-2);font-weight:600}.cut-list-scroll{overflow-x:auto}.cut-list-table{border-collapse:collapse;width:100%;font-size:var(--fs-base)}.cut-list-table th{text-align:left;font-weight:500;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);padding:0 var(--sp-2) var(--sp-1);border-bottom:1px solid var(--border);white-space:nowrap}.cut-list-table td{padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--border);white-space:nowrap}.cut-list-table tbody tr:last-child td{border-bottom:none}.cut-list-table .numeric{text-align:right;font-variant-numeric:tabular-nums}.cut-list-totals{gap:var(--sp-3);font-size:var(--fs-sm);padding-top:var(--sp-2);border-top:1px solid var(--border);flex-wrap:wrap;margin-top:2px;display:flex}.cut-list-notes{font-size:var(--fs-sm);margin:var(--sp-2) 0 0;padding-left:var(--sp-4)}.cut-list-notes li{margin-top:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.placeholder{max-width:520px;margin:var(--sp-6) auto;text-align:center}.placeholder h2{font-size:var(--fs-lg);margin:0 0 var(--sp-2)}.shell-nav{gap:var(--sp-4);margin-left:var(--sp-5);display:flex}.shell-nav a{padding:var(--sp-2) 0;color:var(--text-dim);border-bottom:2px solid #0000;text-decoration:none}.shell-nav a.active{color:var(--text);border-bottom-color:var(--accent)}.swatch-grid{gap:var(--sp-4);margin:var(--sp-4) 0;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));padding:0;list-style:none;display:grid}.swatch-card{gap:var(--sp-1);width:100%;padding:var(--sp-2);color:inherit;text-align:left;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;flex-direction:column;text-decoration:none;display:flex}.swatch-card:hover,.swatch-card:focus-visible{border-color:var(--accent-border)}.swatch-image{aspect-ratio:1;object-fit:cover;border-radius:var(--r-sm);width:100%;display:block}.swatch-placeholder{background:var(--bg-raised)}.swatch-label{font-size:var(--fs-md);font-weight:600}.swatch-size,.swatch-flaws{font-size:var(--fs-sm);color:var(--text-dim)}.swatch-flaws{color:var(--incomplete)}.fabric-form{gap:var(--sp-4);max-width:32rem;margin:var(--sp-5) auto;flex-direction:column;display:flex}.fabric-form .field{margin-bottom:0}.fabric-form .field>span:first-child{font-size:var(--fs-md);color:var(--text);font-weight:600}.fabric-form .field input,.fabric-form .field select,.fabric-form .field textarea{min-height:44px;padding:var(--sp-2) var(--sp-3);font:inherit;color:var(--text);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-md)}.field-checkbox{gap:var(--sp-3);flex-direction:row;align-items:center}.field-checkbox input{width:22px;min-height:22px}.hint{font-size:var(--fs-sm);color:var(--text-dim);margin:0}.hint-list{padding-left:var(--sp-5);margin:var(--sp-3) 0;font-size:var(--fs-sm);color:var(--text-dim)}.disclosure{color:var(--accent);cursor:pointer;background:0 0;border:none;align-self:flex-start}.adjust{gap:var(--sp-4);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;display:flex}.form-actions{gap:var(--sp-3);justify-content:flex-end;display:flex}.defect-surface{width:100%;max-width:34rem;margin:var(--sp-4) 0;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-md);touch-action:none;position:relative;overflow:hidden}.defect-surface.marking{cursor:crosshair;border-color:var(--accent)}.defect-surface img{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%}.defect-noimage,.defect-help{font-size:var(--fs-sm);color:var(--text-dim);text-align:center;position:absolute;inset-inline:0}.defect-noimage{top:50%}.defect-help{bottom:var(--sp-2)}.defect-box{border:2px solid var(--error);border-radius:var(--r-sm);pointer-events:none;background:#b3261e40;position:absolute}.defect-box.preview{border-style:dashed}.flaw-list{padding:0;list-style:none}.flaw-list li{gap:var(--sp-3);padding:var(--sp-2) 0;font-size:var(--fs-sm);border-bottom:1px solid var(--border);align-items:center;display:flex}.fabric-detail{max-width:44rem;margin:0 auto}.fabric-detail h2{margin:0 0 var(--sp-1);font-size:var(--fs-lg)}.fabric-detail h3{margin:var(--sp-5) 0 var(--sp-2);font-size:var(--fs-md)}.unit-toggle{gap:var(--sp-1);font-size:var(--fs-sm);align-items:center;display:flex}.unit-toggle button{min-height:32px;padding:var(--sp-1) var(--sp-3);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-full);cursor:pointer}.unit-toggle button.selected{color:var(--accent);background:var(--accent-subtle);border-color:var(--accent-border)}.project-grid{gap:var(--sp-4);margin:var(--sp-4) 0;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));padding:0;list-style:none;display:grid}.project-card{gap:var(--sp-2);padding:var(--sp-4);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;display:flex}.project-card.active{border-color:var(--accent-border);background:var(--accent-subtle)}.project-card a{color:inherit;text-decoration:none}.project-card h3{margin:0}.project-card .status{font-size:var(--fs-sm);margin:0;font-weight:600}.project-screen{max-width:44rem;margin:0 auto}.step{padding:var(--sp-4) 0;border-bottom:1px solid var(--border)}.step h3{margin-top:0}.role-list{margin:0;padding:0;list-style:none}.role-row{padding:var(--sp-3) 0;border-bottom:1px solid var(--border)}.role-summary{gap:var(--sp-3);align-items:center;display:flex}.role-name{text-transform:capitalize;flex:1;font-weight:600}.role-chosen{gap:var(--sp-2);font-size:var(--fs-sm);align-items:center;display:flex}.role-chosen .swatch-image{width:32px;height:32px}.swatch-grid.picker{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.status-row{gap:var(--sp-2);flex-wrap:wrap;display:flex}.status-chip{min-height:40px;padding:var(--sp-2) var(--sp-4);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-full);cursor:pointer}.status-chip.selected{color:var(--accent);background:var(--accent-subtle);border-color:var(--accent-border)}.buildable-list{margin:var(--sp-4) 0;padding:0;list-style:none}.buildable-row{gap:var(--sp-1) var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--border);grid-template-columns:auto 1fr;align-items:baseline;display:grid}@media (width>=40rem){.buildable-row{grid-template-columns:11rem 12rem 1fr auto;align-items:center}}.buildable-badge{font-size:var(--fs-sm);white-space:nowrap;font-weight:600}.buildable-badge.no{color:var(--error)}.buildable-badge.maybe{color:var(--text-dim)}.buildable-badge.yes{color:var(--complete)}.buildable-name{font-weight:600}.buildable-why{font-size:var(--fs-sm);color:var(--text-dim);grid-column:1/-1}@media (width>=40rem){.buildable-why{grid-column:auto}}.feasibility-headline{margin:var(--sp-1) 0 var(--sp-2);font-weight:600}.screen-list{font-size:var(--fs-sm);color:var(--text-dim);margin:0;padding:0;list-style:none}.screen-list li{padding:.15rem 0}.screen-list li.rejected{color:var(--error)}.cut-plan{margin-top:var(--sp-4)}.cut-plan-steps{margin:var(--sp-4) 0;padding:0;list-style:none}.cut-plan-step{border-bottom:1px solid var(--border);align-items:baseline;gap:var(--sp-3);padding:var(--sp-3) 0;display:flex}.cut-plan-order{color:var(--text-faint);font-size:var(--fs-lg);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;min-width:2rem;font-weight:700}.cut-plan-text{font-size:var(--fs-md);line-height:1.6}.rights-question{border:1px solid var(--border);border-radius:6px;margin:.75rem 0 0;padding:.75rem .9rem}.rights-question legend{padding:0 .4rem;font-size:.9rem;font-weight:600}.rights-option{cursor:pointer;align-items:flex-start;gap:.6rem;padding:.35rem 0;display:flex}.rights-option>span{flex-direction:column;gap:.15rem;display:flex}.cut-plan-subcuts{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1rem}.cut-plan-subcuts h4{color:var(--text-dim);margin:0 0 .5rem;font-size:.95rem;font-weight:600}.cut-plan-leftovers>summary{color:var(--text-dim);cursor:pointer;font-size:var(--fs-sm);padding:var(--sp-2) 0}.construction-guide{margin-top:var(--sp-2)}.guide-steps{gap:var(--sp-3);flex-direction:column;margin:0;padding-left:1.4rem;display:flex}.guide-step{line-height:1.55}.guide-instruction{display:block}.guide-repeat{color:var(--text-dim);font-size:var(--fs-sm);display:block}.guide-basis{border:1px solid var(--border);color:var(--text-dim);font-size:var(--fs-sm);border-radius:.6rem;margin-top:.25rem;padding:.05rem .4rem;display:inline-block}.cut-plan-hold{margin-top:var(--sp-3);padding-top:var(--sp-2);border-top:1px dashed var(--border)}.cut-plan-hold h4{color:var(--text-dim);margin:0 0 .5rem;font-size:.95rem;font-weight:600}.shell-switch{color:var(--text-dim);font-size:var(--fs-sm);padding:0 var(--sp-2);text-decoration:none}.shell-switch:hover{color:var(--text);text-decoration:underline}.review-list{margin:var(--sp-3) 0 0;gap:var(--sp-2);flex-direction:column;padding:0;list-style:none;display:flex}.review-row{border:1px solid var(--border);border-radius:.5rem}.review-link{padding:var(--sp-3);color:inherit;gap:.2rem;text-decoration:none;display:grid}.review-link:hover{background:var(--surface-hover,#7f7f7f0f)}.review-title{font-weight:600}.review-meta{color:var(--text-dim);font-size:var(--fs-sm)}.review-verdict{font-size:var(--fs-sm)}.review-verdict.blocking{color:var(--danger,#b3261e);font-weight:600}.review-scope{margin:var(--sp-3) 0;padding:var(--sp-3);border:1px solid var(--border);border-left:3px solid var(--text-dim);border-radius:.4rem}.review-scope h3{margin:0 0 .5rem;font-size:.95rem}.review-scope p{margin:0 0 .5rem}.finding-list{margin:var(--sp-2) 0 0;gap:var(--sp-3);flex-direction:column;padding:0;list-style:none;display:flex}.finding{border:1px solid var(--border);padding:var(--sp-3);border-radius:.5rem}.finding-blocking{border-left:3px solid var(--danger,#b3261e)}.finding-head{align-items:baseline;gap:var(--sp-2);display:flex}.severity-chip{border:1px solid var(--border);letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap;border-radius:.6rem;padding:.05rem .45rem;font-size:.72rem}.severity-chip.blocking{border-color:var(--danger,#b3261e);color:var(--danger,#b3261e)}.finding-detail{margin:.5rem 0 0}.finding-evidence{background:var(--surface-sunken,#7f7f7f12);font-family:var(--font-mono,ui-monospace, monospace);font-size:var(--fs-sm);border-radius:.3rem;margin:.5rem 0 0;padding:.5rem .6rem;list-style:none}.finding-where,.finding-answered{color:var(--text-dim);font-size:var(--fs-sm);margin:.5rem 0 0}.finding-actions{gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.finding-actions input{flex:16rem;min-width:0}.studio-form .field{margin:var(--sp-3) 0;display:block}.studio-form .field>span,.studio-form legend{font-weight:600;font-size:var(--fs-sm);margin-bottom:.3rem;display:block}.radio-row{gap:var(--sp-3);margin-bottom:var(--sp-2);display:flex}.empty-state{margin-top:var(--sp-4);max-width:40rem}.primary-link{border:1px solid var(--border);color:inherit;border-radius:.4rem;padding:.35rem .8rem;text-decoration:none}.studio-footer{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--border)}.home-toggle{gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-dim);cursor:pointer;align-items:center;display:flex}.feasibility{padding-left:var(--sp-3);border-left:3px solid var(--missing)}.feasibility.no{border-left-color:var(--error)}.feasibility.yes{border-left-color:var(--complete)}.studio-home,.review-screen{max-width:56rem}button.secondary{color:var(--text-dim);background:0 0}button.secondary:hover:not(:disabled){color:var(--text);background:var(--bg-raised)}.subscription-notice{margin:var(--sp-3) 0;padding:var(--sp-3);border:1px solid var(--accent-border);border-radius:var(--r-lg);background:var(--accent-subtle)}.subscription-notice p{margin:var(--sp-2) 0 0}.cut-diagram{margin-top:var(--sp-5)}.cut-diagram h4{margin:0 0 var(--sp-3)}.cut-diagram figure{margin:0 0 var(--sp-4)}.cut-diagram svg{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;max-width:560px;height:auto;display:block}.cut-diagram rect.cloth{fill:var(--bg-raised);stroke:var(--border-strong);stroke-width:.3px}.cut-diagram rect.piece{fill:var(--accent-subtle);stroke:var(--accent-border);stroke-width:.25px}.cut-diagram text{fill:var(--text-dim);text-anchor:middle;dominant-baseline:middle}.cut-diagram figcaption{margin-top:var(--sp-1)}.confirm-cut{align-items:center;gap:var(--sp-3);margin-top:var(--sp-4);flex-wrap:wrap;display:flex}.cut-summary{margin-top:var(--sp-4);padding:var(--sp-4);background:var(--bg-panel);border:1px solid var(--border);border-left:3px solid var(--complete);border-radius:var(--r-sm)}.finish-step{margin-top:var(--sp-2)}.finish-form{align-items:flex-end;gap:var(--sp-3);margin:var(--sp-3) 0;flex-wrap:wrap;display:flex}.finish-form label{gap:var(--sp-1);color:var(--text-dim);flex-direction:column;font-size:.9rem;display:flex}.finish-form input{width:7rem;padding:var(--sp-2);background:var(--bg-panel);color:var(--text);border:1px solid var(--border);border-radius:var(--r-sm)}.finish-answer table{border-collapse:collapse}.finish-answer th,.finish-answer td{text-align:left;padding:var(--sp-2) var(--sp-4) var(--sp-2) 0;border-bottom:1px solid var(--border)}.landing{max-width:44rem;padding:var(--sp-6) var(--sp-4);gap:var(--sp-6);flex-direction:column;margin:0 auto;display:flex}.landing-hero h1{margin:0 0 var(--sp-2);font-size:1.8rem;line-height:1.2}.landing-products{gap:var(--sp-4);grid-template-columns:1fr;display:grid}@media (width>=40rem){.landing-products{grid-template-columns:1fr 1fr}}.landing-card{padding:var(--sp-4);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-md)}.landing-card h2{margin:0 0 var(--sp-2);font-size:1.1rem}.landing-pricing-note{margin:0}.landing-signin{padding:var(--sp-4);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-md)}.landing-library h2{margin:0 0 var(--sp-2);font-size:1.1rem}.landing-patterns{margin:var(--sp-3) 0 0;gap:var(--sp-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.landing-patterns li{padding:var(--sp-1) var(--sp-3);background:var(--bg-raised);border:1px solid var(--border);color:var(--text-dim);text-transform:capitalize;border-radius:999px;font-size:.85rem}.share-account,.invite-accept{max-width:34rem}.invite-link{align-items:center;gap:var(--sp-3);margin-top:var(--sp-4);flex-wrap:wrap;display:flex}.invite-link code{padding:var(--sp-2) var(--sp-3);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-sm);overflow-wrap:anywhere}@media print{.topbar,nav,button,.shell-switch,.toolbar,.status-row,.subscription-notice,.confirm-cut,.finish-form{display:none!important}body{color:#000;background:#fff}.step{break-inside:avoid;border:none;padding:0}.cut-diagram svg{background:#fff;border:1px solid #000;max-width:100%}a{color:inherit;text-decoration:none}}
