html,body{height:100%;} body{font-size:13px;line-height:1.5;} button,input,textarea,select{font:inherit;color:var(--fg);} button,a,input,textarea,select,[tabindex]{touch-action:manipulation;}
button{min-height:32px;} button:disabled{opacity:.5;cursor:not-allowed;} :focus-visible{outline:2px solid var(--accent);outline-offset:3px;} input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px;}
a:hover{color:var(--fg);text-decoration:underline;} .btn{min-height:32px;padding:6px 12px;font-size:12px;} .btn-ghost:hover{color:var(--fg);background:var(--fg-soft);} .btn-primary{color:var(--surface);background:var(--accent);} .btn-primary:hover{color:var(--surface);background:color-mix(in oklch,var(--accent) 86%,var(--fg));}
.icon{width:18px;height:18px;fill:currentColor;flex:none;} .icon-button{display:inline-grid;place-items:center;background:transparent;border:0;border-radius:8px;min-width:32px;} .icon-button:hover{background:var(--fg-soft);color:var(--fg);}
.workspace{height:100%;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);gap:4px;padding:5px;}
.sidebar{border:1px solid var(--border);border-radius:12px;background:color-mix(in oklch,var(--sidebar) 91%,transparent);backdrop-filter:blur(24px) saturate(1.16);padding:12px 8px;display:flex;flex-direction:column;min-height:0;overflow:auto;}
.space-title{padding:8px;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:space-between;}.nav-list{display:grid;gap:2px;margin:12px 0;}.nav-button{display:flex;align-items:center;gap:8px;text-align:left;padding:6px 8px;background:transparent;border:0;border-radius:7px;}.nav-button:hover,.nav-button[aria-current="page"]{background:var(--fg-soft);color:var(--fg);}.nav-count{margin-left:auto;font:11px var(--font-mono);color:var(--muted);}.nav-group{padding:12px 8px 4px;color:var(--muted);font-size:11px;}.sidebar-foot{margin-top:auto;border-top:1px solid var(--border);padding:12px 8px 0;}.sidebar-foot p{font-size:11px;color:var(--muted);margin:4px 0;}
.main-pane{display:grid;grid-template-rows:32px minmax(0,1fr);min-width:0;min-height:0;}.tabbar{display:flex;align-items:center;gap:8px;padding:0 8px;min-width:0;}.tab{max-width:70%;overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:3px 14px;font-size:11px;}.stage{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:0;min-height:0;overflow:auto;position:relative;}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;gap:8px;position:sticky;top:0;z-index:2;background:var(--surface);border-radius:12px 12px 0 0;min-height:48px;}.toolbar-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}.view-content{padding:32px 40px 64px;max-width:900px;margin:auto;min-width:0;}.view-content h1{margin-bottom:8px;}.view-content .lead{font:13px/20px var(--font-body);}.section.view-content{padding:32px 40px 64px;}.row-between{flex-wrap:wrap;}.empty{padding:64px 12px;text-align:center;color:var(--muted);}.empty h2{color:var(--fg);font-size:19px;margin:0 0 8px;}.empty p{max-width:42ch;margin:8px auto;}
.log-row{grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:14px 8px;align-items:center;}.log-row h3{font-size:13px;margin:0;font-weight:500;overflow-wrap:anywhere;}.log-row p{margin:4px 0 0;font-size:11px;color:var(--muted);overflow-wrap:anywhere;}.row-main{border:0;text-align:left;background:transparent;display:contents;}.object-row{grid-template-columns:20px minmax(0,1fr) auto;}.object-row:hover{background:var(--fg-soft);}.row-title{background:transparent;text-align:left;border:0;padding:0;min-width:0;}.list-head{font-size:11px;color:var(--muted);margin:28px 0 12px;}.status{font-size:11px;color:var(--muted);}.status-success{color:var(--success);}.status-error{color:var(--error);}.error-panel{border:1px solid var(--error);border-radius:8px;padding:12px;margin:12px 0;overflow-wrap:anywhere;}.notice{color:var(--muted);font-size:12px;line-height:1.6;}.meta{font-size:11px;}.input,.textarea{padding:8px 10px;font-size:13px;min-height:36px;}.field{margin:12px 0;}.field label{color:var(--fg);font-size:12px;} select{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:6px 8px;min-height:32px;max-width:100%;}.source-url{overflow-wrap:anywhere;font:12px/1.7 var(--font-mono);}.details-grid{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;margin:24px 0;font-size:12px;}.details-grid dt{color:var(--muted);}.details-grid dd{margin:0;overflow-wrap:anywhere;}.capture-record{border-top:1px solid var(--border);padding:16px 0;}.capture-record p{white-space:pre-wrap;overflow-wrap:anywhere;}
.document-content{max-width:700px;margin:auto;padding:32px 36px 96px;}.document-title{font:700 21px/1.25 var(--font-display);width:100%;border:0;background:transparent;resize:vertical;min-height:40px;outline-offset:4px;padding:6px 0;margin-bottom:24px;}.editor-block{display:grid;grid-template-columns:32px minmax(0,1fr);gap:4px;align-items:start;margin:5px -36px 5px 0;}.block-field{width:100%;display:block;resize:vertical;border:0;background:transparent;line-height:1.25;font-size:15px;padding:6px 4px;min-height:32px;overflow-wrap:anywhere;}.block-heading .block-field{font-size:18px;font-weight:600;}.block-quote .block-field{border-left:2px solid var(--border);padding-left:14px;}.block-code .block-field{font-family:var(--font-mono);background:var(--fg-soft);font-size:13px;line-height:1.6;}.block-divider{padding:16px 4px;}.block-content{min-width:0;}.block-todo{display:flex;gap:8px;align-items:start;}.block-todo input{margin-top:12px;}.block-meta{font-size:11px;color:var(--muted);}.reference-card{border:1px solid var(--border);border-radius:8px;padding:12px;margin:6px 0;}.reference-body{max-height:340px;overflow:auto;white-space:pre-wrap;line-height:1.6;}.inline-ref{display:inline-block;color:var(--accent);border:0;background:transparent;padding:2px;}.run-content{font-size:15px;padding:6px 4px;white-space:pre-wrap;}.run-bold{font-weight:700;}.run-italic{font-style:italic;}.run-strike{text-decoration:line-through;}.run-code{font-family:var(--font-mono);background:var(--fg-soft);}.search-filters{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0;}.search-filters label{font-size:12px;display:flex;align-items:center;gap:4px;}.results-count{font-size:11px;color:var(--muted);margin:12px 0;}.pagination{display:flex;align-items:center;gap:12px;justify-content:center;flex-wrap:wrap;margin:24px 0;}.import-item{border-top:1px solid var(--border);padding:16px 0;}.import-item .row{gap:8px;flex-wrap:wrap;}.import-item h3{font-size:13px;overflow-wrap:anywhere;}.preview-text{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 var(--font-mono);border:1px solid var(--border);border-radius:8px;padding:12px;max-height:320px;overflow:auto;}
.modal-layer{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:16px;background:color-mix(in oklch,var(--fg) 9.5%,transparent);}.modal-layer.quick{background:transparent;align-items:start;padding-top:min(170px,20vh);}.dialog{width:min(520px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:color-mix(in oklch,var(--surface) 94%,transparent);backdrop-filter:blur(20px) saturate(1.18);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 28px color-mix(in oklch,var(--fg) 18%,transparent);padding:20px;}.quick .dialog{width:min(390px,100%);padding:12px;max-height:65vh;}.dialog h2{font-size:17px;line-height:1.4;}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px;}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:20px;}.menu-list{display:grid;gap:2px;}.menu-list button{background:transparent;border:0;text-align:left;padding:6px 8px;border-radius:6px;}.menu-list button:hover{background:var(--fg-soft);color:var(--fg);}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--surface);border:1px solid var(--border);padding:10px 16px;border-radius:14px;max-width:min(520px,90vw);box-shadow:0 4px 10px color-mix(in oklch,var(--fg) 14%,transparent);font-size:12px;z-index:40;}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
@media(min-width:1360px){:root{--sidebar-width:263px;}.main-pane{grid-template-rows:39px minmax(0,1fr);}}
@media(max-width:920px){.view-content{padding:24px;}.document-content{padding:24px 36px 64px;}}
@media(max-width:640px){.workspace{grid-template-columns:1fr;height:auto;min-height:100%;}.sidebar{display:none;}.main-pane{min-height:calc(100dvh - 10px);}.stage{overflow:visible;}.view-content{padding:20px 16px;}.toolbar{position:static;flex-wrap:wrap;}.document-content{padding:24px 32px 64px 16px;}.log-row{grid-template-columns:18px minmax(0,1fr);}.log-row .row-actions{grid-column:2;}.mobile-home{display:inline-flex;}.dialog{max-height:90dvh;}.details-grid{grid-template-columns:76px minmax(0,1fr);}}
@media(prefers-reduced-transparency:reduce){.sidebar{background:var(--sidebar);backdrop-filter:none;}.dialog{background:var(--surface);backdrop-filter:none;}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

.dialog.compact{width:min(340px,100%);padding:14px;border-radius:12px;}

.log-row{padding:8px;} .document-content{background:var(--document-surface,var(--surface));} .block-todo .block-field{min-width:0;} .toolbar:has([data-od-id="editor-save"]){align-items:flex-start;} .toolbar:has([data-od-id="editor-save"]) .toolbar-group{justify-content:flex-end;} .search-filters .field{display:flex;align-items:center;gap:6px;} .search-filters .field label{margin:0;}
.inline-reference{display:inline;}.inline-reference>.btn{display:inline;font-size:inherit;padding:1px 3px;color:var(--accent);text-decoration:underline;min-height:32px;}.inline-reference>.btn:hover{color:var(--fg);background:var(--fg-soft);}.run-content>span{white-space:pre-wrap;}
/* Same shared geometry; supplemental product surfaces only. */
.route-mount{min-height:100%;min-width:0}.crop-board{position:relative;touch-action:none;border:1px solid var(--border);margin:12px 0}.crop-board canvas{display:block;width:100%;height:auto}.crop-selection{position:absolute;pointer-events:none;border:2px solid var(--accent);background:oklch(from var(--accent) l c h / .08)}.dialog img{max-width:100%;height:auto;object-fit:contain}.format-preview img{display:block;max-height:420px;width:auto;max-width:100%;margin:0 auto;object-fit:contain}.log-row.object-row{grid-template-columns:24px minmax(0,1fr) auto auto}.preview-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto}

.sidebar[hidden]{display:none}
