:root{color:#17231f;font-synthesis:none;text-rendering:optimizelegibility;--ink:#17231f;--deep:#23352f;--muted:#66716c;--line:#23352f24;--paper:#f8f9f4;--ground:#e9ece5;--accent:#dce84e;--accent-deep:#89960e;--success:#16855b;--warning:#a66f10;--danger:#a94237;background:#e9ece5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--ground);min-width:320px}body{background:linear-gradient(#23352f0a 1px, transparent 1px), linear-gradient(90deg, #23352f0a 1px, transparent 1px), var(--ground);background-size:32px 32px;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}input,select,textarea{color:var(--ink)}.app-shell{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#eef0eaeb;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:0 28px;display:flex;position:relative}.wordmark{min-width:0;color:inherit;letter-spacing:-.01em;align-items:center;gap:12px;font-size:14px;font-weight:750;text-decoration:none;display:inline-flex}.wordmark-mark{color:#eff673;background:var(--deep);letter-spacing:.08em;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;font-size:11px;display:grid}.topbar-tools{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.mobile-tool-icon,.process-label-compact{display:none}.toolbar-action,.icon-button,.quiet-toggle,.secondary-action,.text-action,.small-primary,.primary-action,.result-row,.review-tab{appearance:none;border:0}.toolbar-action{border:1px solid var(--line);min-height:42px;color:var(--deep);background:#f8f9f4b8;border-radius:999px;padding:0 14px;font-size:13px;font-weight:700}.toolbar-action.primary{border-color:var(--deep);color:#f8f9f4;background:var(--deep);padding-inline:18px;box-shadow:0 8px 20px #23352f26}.connection-action{align-items:center;gap:8px;display:inline-flex}.connection-dot{background:#89928e;border-radius:50%;width:7px;height:7px}.connection-dot.ready{background:var(--success);box-shadow:0 0 0 3px #16855b1f}.welcome{text-align:center;align-self:center;width:min(760px,100% - 40px);min-width:0;margin:56px auto}.drop-target{border:1px solid #0000;border-radius:30px;padding:52px 36px 42px;transition:border-color .16s,background .16s,transform .16s;position:relative}.drop-target.dragging{background:#f8f9f4a3;border-color:#89960e8c;transform:translateY(-2px)}.eyebrow,.panel-kicker{color:var(--muted);letter-spacing:.17em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.welcome .eyebrow{margin-bottom:18px}h1,h2,h3,p{overflow-wrap:anywhere}h1{letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(48px,8vw,88px);font-weight:400;line-height:.96}.lede{color:var(--muted);margin:26px auto 28px;font-size:17px}.primary-action{color:#f8f9f4;background:var(--deep);border-radius:999px;min-width:168px;min-height:48px;padding:13px 22px;font-weight:750;box-shadow:0 12px 28px #23352f29}.file-note{color:var(--muted);margin:13px 0 0;font-size:12px}.welcome-status{color:var(--muted);align-items:center;gap:9px;margin:23px 0 0;font-size:13px;display:inline-flex}.spinner{border:2px solid #23352f33;border-top-color:var(--deep);border-radius:50%;width:14px;height:14px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.workspace{background:#e9ece599;grid-template-columns:minmax(0,1fr) minmax(320px,390px);min-width:0;min-height:0;display:grid}.workspace-stage{border-right:1px solid var(--line);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.workspace-status{border-bottom:1px solid var(--line);background:#f8f9f4b3;justify-content:space-between;align-items:center;gap:18px;min-height:62px;padding:11px 20px;display:flex}.document-title{min-width:0}.document-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.document-title span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.progress-copy{flex:1;min-width:120px;max-width:360px}.progress-copy p{justify-content:space-between;gap:12px;margin:0 0 7px;font-size:12px;display:flex}.progress-copy p span{color:var(--muted)}.progress-track{background:#23352f1f;border-radius:3px;height:3px;overflow:hidden}.progress-track span{width:var(--progress,0%);background:var(--accent-deep);height:100%;transition:width .2s;display:block}.session-notice{color:#76500c;background:#f6e8c0;border-radius:999px;flex:none;padding:6px 9px;font-size:11px;font-weight:750}.preview-panel{grid-template-rows:52px minmax(0,1fr);min-width:0;min-height:0;display:grid}.preview-toolbar{border-bottom:1px solid var(--line);background:#eef0eac7;justify-content:space-between;align-items:center;gap:16px;padding:0 16px;display:flex}.page-controls{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:650;display:flex}.icon-button{min-width:38px;min-height:38px;color:var(--deep);background:0 0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.icon-button:hover:not(:disabled){background:#23352f12}.quiet-toggle{min-height:38px;color:var(--muted);background:0 0;border-radius:999px;align-items:center;gap:8px;padding:0 11px;font-size:12px;font-weight:700;display:inline-flex}.quiet-toggle.active{color:var(--deep);background:#23352f12}.toggle-dot{border:1px solid;border-radius:50%;width:7px;height:7px}.quiet-toggle.active .toggle-dot{border-color:var(--accent-deep);background:var(--accent)}.preview-scroll{background:radial-gradient(circle,#f8f9f4b3,#e2e6dd73),linear-gradient(#23352f09 1px,#0000 1px) 0 0/24px 24px,linear-gradient(90deg,#23352f09 1px,#0000 1px) 0 0/24px 24px;place-items:center;min-width:0;min-height:0;padding:clamp(18px,3.2vw,42px);display:grid;overflow:auto}.drawing-sheet{background:#fff;border:1px solid #23352f2b;max-width:min(100%,1180px);max-height:100%;display:inline-grid;position:relative;box-shadow:0 22px 54px #23352f26,0 3px 9px #23352f14}.drawing-sheet>img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;min-width:0;height:100%;min-height:0;display:block}.annotation-layer{position:absolute;inset:0;overflow:hidden}.annotation-box{border:1.5px solid var(--warning);background:#dce84e0d;min-width:3px;min-height:3px;padding:0;position:absolute;box-shadow:inset 0 0 0 1px #fff9}.annotation-box.status-accepted{border-color:var(--success);background:#16855b0b}.annotation-box.status-corrected{background:#276eb30b;border-color:#276eb3}.annotation-box.selected{z-index:2;border-width:2px;box-shadow:0 0 0 3px #dce84e6b}.annotation-box>span{color:#f8f9f4;background:var(--deep);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;max-width:220px;padding:4px 6px;font-size:10px;line-height:1.25;display:none;position:absolute;bottom:calc(100% + 3px);left:-1px;overflow:hidden}.annotation-box:hover>span,.annotation-box:focus-visible>span,.annotation-box.selected>span{display:block}.review-panel{background:#f8f9f4f0;grid-template-rows:auto auto minmax(150px,1fr) auto;min-width:0;min-height:0;display:grid}.review-heading{justify-content:space-between;align-items:center;gap:16px;min-height:84px;padding:18px 20px 14px;display:flex}.review-heading h2,.dialog-heading h2{letter-spacing:-.025em;margin:5px 0 0;font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:400}.review-count{min-width:30px;height:30px;color:var(--deep);background:var(--accent);border-radius:999px;place-items:center;padding:0 8px;font-size:12px;font-weight:800;display:grid}.review-tabs{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;padding:0 14px;display:grid}.review-tab{min-width:0;min-height:44px;color:var(--muted);background:0 0;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:750;display:flex}.review-tab span{background:#23352f12;border-radius:99px;min-width:18px;padding:2px 5px;font-size:10px}.review-tab>span{flex:none}.review-tab.active{border-bottom-color:var(--accent-deep);color:var(--deep)}.review-list{min-height:0;padding:9px 10px 16px;overflow:auto}.result-row{width:100%;min-height:58px;color:var(--ink);text-align:left;background:0 0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.result-row:hover{background:#23352f0d}.result-row.active{box-shadow:inset 3px 0 var(--accent-deep);background:#edf0e5}.result-copy{min-width:0}.result-copy strong,.result-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.result-copy strong{font-size:13px}.result-copy small{color:var(--muted);text-transform:capitalize;margin-top:4px;font-size:11px}.status-pill{color:#76500c;text-transform:uppercase;letter-spacing:.05em;background:#f3e8c9;border-radius:999px;flex:none;padding:4px 7px;font-size:9px;font-weight:800}.status-pill.status-accepted{color:#0f6545;background:#dcefe6}.status-pill.status-corrected{color:#245f96;background:#dfeaf4}.status-pill.status-rejected{color:#87352c;background:#f1ddda}.empty-results{min-height:150px;color:var(--muted);text-align:center;place-content:center;justify-items:center;display:grid}.empty-results span{font-family:Georgia,serif;font-size:28px}.empty-results p{margin:5px 0;font-size:12px}.issue-row{border-radius:10px;grid-template-columns:7px minmax(0,1fr);align-items:start;gap:10px;padding:11px 10px;display:grid}.issue-row>span{background:var(--muted);border-radius:50%;width:7px;height:7px;margin-top:4px}.issue-row.issue-warning>span{background:#b47b12}.issue-row.issue-error>span{background:var(--danger)}.issue-row p,.issue-row strong,.issue-row small{margin:0;display:block}.issue-row strong{text-transform:capitalize;font-size:11px}.issue-row small{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.45}.review-editor{border-top:1px solid var(--line);background:#f3f5ee;padding:14px}.editor-fields{gap:10px;display:grid}.editor-fields label,.connection-dialog label{color:var(--deep);gap:6px;font-size:11px;font-weight:750;display:grid}.editor-fields input,.editor-fields textarea,.connection-dialog input,.connection-dialog select{background:#fff;border:1px solid #23352f33;border-radius:9px;outline:0;width:100%;min-height:42px;padding:9px 11px;font-size:13px;font-weight:500}.editor-fields textarea{resize:vertical;min-height:58px}.editor-fields input:focus,.editor-fields textarea:focus,.connection-dialog input:focus,.connection-dialog select:focus{border-color:var(--accent-deep);box-shadow:0 0 0 3px #89960e1f}.field-error{color:var(--danger);margin:0;font-size:11px}.review-actions{justify-content:flex-end;align-items:center;gap:6px;margin-top:12px;display:flex}.text-action,.secondary-action,.small-primary{border-radius:999px;min-height:42px;padding:0 13px;font-size:11px;font-weight:800}.text-action{color:var(--deep);background:0 0}.text-action:hover{background:#23352f12}.text-action.reject{color:var(--danger);margin-right:auto}.secondary-action{border:1px solid var(--line);color:var(--deep);background:0 0}.small-primary{color:#f8f9f4;background:var(--deep)}.preprocess-panel{text-align:center;background:#f8f9f4eb;align-content:center;justify-items:center;gap:12px;min-width:0;padding:36px;display:grid}.preprocess-mark{border:1px solid var(--line);width:48px;height:48px;color:var(--deep);border-radius:14px;place-items:center;display:grid}.preprocess-panel h2{margin:4px 0 0;font-family:Georgia,serif;font-size:26px;font-weight:400}.preprocess-panel p{max-width:280px;color:var(--muted);margin:0 0 8px;font-size:13px;line-height:1.55}.stepbar{z-index:15;border-top:1px solid var(--line);background:#f8f9f5f0;grid-template-columns:repeat(4,1fr);display:grid;position:relative}.step{color:#75807b;border-right:1px solid #23352f1f;align-items:baseline;gap:12px;min-height:66px;padding:20px 26px;display:flex}.step:last-child{border-right:0}.step span{font:10px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.step strong{font-size:13px}.step.active{color:var(--deep);box-shadow:inset 0 3px var(--accent-deep)}.step.complete{color:#3e514a}.dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#17231f61;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.connection-dialog{background:var(--paper);border:1px solid #ffffff73;border-radius:20px;width:min(560px,100%);max-height:min(760px,100vh - 40px);overflow:auto;box-shadow:0 28px 80px #17231f4d}.dialog-heading{justify-content:space-between;align-items:center;padding:22px 24px 12px;display:flex}.connection-dialog form{gap:16px;padding:12px 24px 24px;display:grid}.field-grid.two-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.connection-dialog label>span{justify-content:space-between;align-items:baseline;display:flex}.connection-dialog label em{color:var(--muted);font-size:10px;font-style:normal;font-weight:600}.connection-dialog label small{color:var(--muted);font-size:10px;font-weight:500;line-height:1.45}.routing-settings{border:1px solid var(--line);background:#ffffff85;border-radius:11px;overflow:hidden}.routing-settings summary{min-height:44px;color:var(--deep);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-size:11px;font-weight:800;display:flex}.routing-settings summary small{color:var(--muted);margin-left:auto;font-size:10px;font-weight:600}.routing-settings>p{color:var(--muted);margin:0;padding:0 12px 10px;font-size:10px;line-height:1.45}.stage-model-grid{grid-template-columns:1fr 1fr;gap:10px 12px;padding:0 12px 12px;display:grid}.stage-model-grid label:last-child{grid-column:1/-1}.connection-dialog .check-row{grid-template-columns:auto 1fr;justify-content:flex-start;align-items:center;gap:9px;display:flex}.connection-dialog .check-row input{width:16px;min-height:16px;accent-color:var(--deep)}.connection-status{color:var(--deep);background:#edf0e5;border-radius:8px;margin:0;padding:10px 12px;font-size:11px;line-height:1.45}.dialog-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.app-alert{z-index:110;color:#6f2f29;background:#fff5f3;border:1px solid #a942373d;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:16px;width:min(520px,100% - 32px);padding:13px 14px;font-size:12px;line-height:1.45;display:flex;position:fixed;bottom:84px;left:50%;transform:translate(-50%);box-shadow:0 14px 35px #23352f2e}.app-alert-actions{flex:none;align-items:center;gap:6px;display:flex}.app-alert button{min-height:32px;color:inherit;background:0 0;border:0}.app-alert .alert-action{background:#6f2f2914;border-radius:999px;padding:0 9px;font-size:11px;font-weight:800}.app-alert .alert-dismiss{border-radius:50%;min-width:32px;padding:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #89960e6b}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:920px){.topbar{min-height:64px;padding:0 16px}.workspace{display:block}.workspace-stage{border-right:0;min-height:auto}.preview-panel{min-height:min(68vh,680px)}.review-panel{border-top:1px solid var(--line);min-height:540px}.review-list{max-height:360px}.step{justify-content:center;min-height:60px;padding:16px 8px}.step span{display:none}}@media (max-width:620px){.topbar{gap:8px}.wordmark>span:last-child{display:none}.topbar-tools{gap:4px}.toolbar-action{min-width:44px;min-height:44px;padding-inline:11px}.toolbar-action .button-label.optional{display:none}.mobile-tool-icon{display:block}.process-label-wide{display:none}.process-label-compact{display:inline}.toolbar-action.primary{padding-inline:14px}.welcome{width:calc(100% - 24px);margin:28px auto}.drop-target{padding:42px 14px 34px}h1{font-size:clamp(45px,15vw,66px)}.lede{font-size:15px}.workspace-status{flex-wrap:wrap;align-items:flex-start;padding:10px 14px}.document-title{flex:calc(100% - 96px)}.progress-copy{flex-basis:100%;order:3;max-width:none}.preview-panel{grid-template-rows:50px minmax(0,1fr);min-height:54vh}.preview-scroll{padding:16px 10px}.drawing-sheet{max-height:none}.review-panel{min-height:580px}.review-heading{min-height:76px}.review-editor{padding:12px 10px}.review-actions{grid-template-columns:1fr 1fr;display:grid}.review-actions .reject{margin:0}.review-actions .small-primary{grid-column:1/-1}.step strong{font-size:11px}.field-grid.two-columns,.stage-model-grid{grid-template-columns:1fr}.stage-model-grid label:last-child{grid-column:auto}.dialog-backdrop{align-items:end;padding:0}.connection-dialog{border-radius:20px 20px 0 0;width:100%;max-height:94vh}.dialog-heading,.connection-dialog form{padding-inline:18px}.dialog-actions>*{flex:1}.app-alert{bottom:72px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
