:root{color-scheme:light;--background:#f7f8fa;--surface:#ffffff;--surface-subtle:#f8fafc;--surface-blue:#f5f9ff;--border:#e2e5ea;--border-strong:#d2d7df;--text:#17191d;--text-soft:#5f6672;--text-faint:#858d99;--blue:#2563eb;--blue-hover:#1d4ed8;--blue-soft:#eaf2ff;--green:#16a34a;--green-soft:#ecfdf3;--red:#dc2626;--red-soft:#fef2f2;--amber:#b7791f;--radius:10px;--shadow:0 1px 2px rgba(15,23,42,0.05),0 12px 32px rgba(15,23,42,0.04)}.demo-shell{--demo-red:#df1f26;--demo-ink:#171719;--demo-muted:#666568;--demo-line:#dedbd6;min-height:100vh;background:#f7f5f1;color:var(--demo-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.demo-shell button{border:0;border-radius:0;background:none}.demo-shell button:hover:not(:disabled){border-color:transparent;background:none}.demo-shell a:focus-visible,.demo-shell button:focus-visible,.demo-shell input:focus-visible,.demo-shell select:focus-visible{box-shadow:0 0 0 3px rgba(223,31,38,.2)}.demo-header{width:min(1160px,calc(100% - 64px));height:92px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--demo-line)}.demo-header img{display:block;width:152px;height:auto}.demo-header nav{display:flex;align-items:center;gap:30px}.demo-header nav a,.demo-header nav button{padding:8px 0;color:#444246;font-size:13px;font-weight:650;text-decoration:none}.demo-header nav a:hover,.demo-header nav button:hover{color:var(--demo-red)}.demo-hero{width:min(1080px,calc(100% - 40px));margin:0 auto;padding:62px 0 46px;text-align:center}.demo-kicker{display:flex;align-items:center;justify-content:center;gap:9px;margin:0 0 25px;color:var(--demo-red);font-size:11px;font-weight:800;letter-spacing:.16em}.demo-kicker svg{width:15px}.demo-hero h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(48px,5vw,64px);font-weight:400;line-height:.99;letter-spacing:-.048em}.demo-subhead{max-width:620px;margin:20px auto 0;color:var(--demo-muted);font-size:17px;line-height:1.6}.demo-actions{margin-top:25px;display:flex;align-items:center;justify-content:center;gap:12px}.demo-primary,.demo-secondary{min-height:50px;padding:0 22px!important;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--demo-ink)!important;color:var(--demo-ink);font-size:14px;font-weight:750;text-decoration:none}.demo-primary{border-color:var(--demo-red)!important;background:var(--demo-red)!important;color:white!important}.demo-primary:hover:not(:disabled){border-color:#bc151c!important;background:#bc151c!important}.demo-secondary:hover:not(:disabled){background:#ece9e3!important}.demo-primary svg,.demo-secondary svg{width:17px}.demo-limit{margin:20px 0 0;display:flex;align-items:center;justify-content:center;gap:7px;color:#777478;font-size:12px}.demo-limit svg{width:15px;color:var(--demo-red);stroke-width:2.5}.demo-proof{width:min(1180px,calc(100% - 40px));margin:0 auto 125px;padding:28px 30px 36px;border:1px solid #d8d3cb;background:#fcfbf8;box-shadow:0 20px 70px rgba(50,42,34,.08)}.demo-proof-heading{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px}.demo-capabilities>p,.demo-how>p,.demo-proof-heading span{color:var(--demo-red);font-size:10px;font-weight:800;letter-spacing:.15em}.demo-proof-heading h2{margin:5px 0 0;font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:400}.demo-proof-heading p{margin:7px 0 0;color:var(--demo-muted);font-size:12px}.demo-proof-heading a{display:inline-flex;align-items:center;gap:7px;color:var(--demo-ink);font-size:12px;font-weight:700;text-decoration:none}.demo-proof-heading a:hover{color:var(--demo-red)}.demo-proof-heading svg{width:16px}.demo-preview-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #d8d3cb;background:white}.demo-preview-strip figure{min-width:0;margin:0;border-right:1px solid #d8d3cb}.demo-preview-strip figure:last-child{border-right:0}.demo-preview-strip figcaption{padding:13px 16px;border-bottom:1px solid #e4e0da;color:#6d696d;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.demo-preview-strip figure>div{position:relative;aspect-ratio:1.42;overflow:hidden;background:#eeece7}.demo-preview-strip img{object-fit:contain;background:white;transition:transform .22s ease}.demo-preview-strip figure:hover img{transform:scale(1.02)}.example-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;border:1px solid #d8d3cb;background:white}.example-viewer{min-width:0;background:#e9e7e2}.example-pdf{position:relative;height:660px;display:flex;align-items:flex-start;justify-content:center;overflow:auto;background:#e9e7e2}.example-pdf canvas{display:block;background:white}.example-pdf>a,.example-pdf>span{position:absolute;top:26px;left:50%;transform:translateX(-50%);padding:8px 11px;background:rgba(255,255,255,.92);color:#666;font-size:11px}.example-sidebar{display:flex;min-width:0;flex-direction:column;border-left:1px solid #d8d3cb;background:#fcfbf8}.example-config{padding:19px 20px 17px;border-bottom:1px solid #d8d3cb}.example-config>div{display:flex;align-items:center;justify-content:space-between;color:var(--demo-red);font-size:10px;font-weight:800;letter-spacing:.13em}.example-config svg{width:17px;color:#477157}.example-config dl{margin:16px 0 0}.example-config dl div{padding:5px 0;display:flex;justify-content:space-between;gap:20px}.example-config dd,.example-config dt{margin:0;font-size:11px}.example-config dt{color:#8a8580}.example-config dd{color:#383438;font-weight:700;text-align:right}.example-changes{flex:1 1}.example-changes ol{max-height:330px}.example-changes li{padding:0}.example-changes li button{width:100%;padding:15px 18px!important;display:flex;gap:13px;border-left:3px solid transparent!important;text-align:left}.example-changes li button:hover{background:#f3f0eb!important}.example-changes li.selected button{border-left-color:var(--demo-red)!important;background:#fff4f2}.example-download{min-height:52px;padding:0 20px;display:flex;align-items:center;justify-content:center;gap:8px;border-top:1px solid #d8d3cb;color:var(--demo-ink);font-size:12px;font-weight:750;text-decoration:none}.example-download:hover{color:var(--demo-red)}.example-download svg{width:16px}.demo-capabilities{width:min(980px,calc(100% - 40px));margin:0 auto 115px;text-align:center}.demo-capabilities h2{margin:9px 0 38px;font-family:Georgia,Times New Roman,serif;font-size:38px;font-weight:400}.demo-capabilities>div{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--demo-line);border-bottom:1px solid var(--demo-line);text-align:left}.demo-capabilities article{min-width:0;padding:30px 28px;border-right:1px solid var(--demo-line)}.demo-capabilities article:last-child{border-right:0}.demo-capabilities article>svg{width:25px;margin-bottom:18px;color:var(--demo-red);stroke-width:1.7}.demo-capabilities small,.demo-capabilities strong{display:block}.demo-capabilities strong{font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:400}.demo-capabilities small{margin-top:7px;color:var(--demo-muted);font-size:12px;line-height:1.55}.ai-provider-marks{height:25px;margin-bottom:18px;display:flex;align-items:center}.ai-provider-marks>span{width:29px;height:29px;display:grid;place-items:center;border:2px solid #f7f5f1;border-radius:50%;background:white;box-shadow:0 0 0 1px #d8d3cb}.ai-provider-marks>span+span{margin-left:-5px}.ai-provider-marks svg{width:15px;height:15px}.ai-provider-marks .openai-mark{z-index:3;color:#171719}.ai-provider-marks .claude-mark{z-index:2;color:#d97757}.ai-provider-marks .managed-mark{z-index:1;color:var(--demo-red)}.demo-how{width:min(900px,calc(100% - 40px));margin:0 auto 120px;text-align:center}.demo-how h2{margin:9px 0 42px;font-family:Georgia,Times New Roman,serif;font-size:38px;font-weight:400}.demo-how ol{margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--demo-line);list-style:none;text-align:left}.demo-how li{padding:28px 26px;display:flex;gap:15px;border-right:1px solid var(--demo-line)}.demo-how li:last-child{border:0}.demo-how li>span{width:27px;height:27px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--demo-red);border-radius:50%;color:var(--demo-red);font-size:12px;font-weight:750}.demo-how small,.demo-how strong{display:block}.demo-how strong{font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:400}.demo-how small{margin-top:5px;color:var(--demo-muted);line-height:1.5}.demo-shell footer{width:min(1160px,calc(100% - 64px));min-height:100px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--demo-line)}.demo-shell footer img{width:120px;height:auto}.demo-shell footer p{color:#747174;font-size:11px}.demo-shell footer a{color:inherit}.demo-modal-backdrop{position:fixed;z-index:100;inset:0;padding:24px;display:grid;place-items:center;overflow-y:auto;background:rgba(18,17,16,.65);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.demo-modal{position:relative;width:min(480px,100%);padding:40px 42px 34px;border:1px solid #d8d3cb;background:#fbfaf7;box-shadow:0 30px 90px rgba(0,0,0,.28);--demo-red:#df1f26;--demo-ink:#171719;--demo-muted:#666568}.demo-modal-upload{width:min(880px,100%)}.demo-close{position:absolute;top:18px;right:18px;width:32px;height:32px;padding:7px!important;color:#666}.demo-close svg{width:18px}.demo-step{margin-bottom:25px;color:#777;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.demo-step span{color:var(--demo-red)}.demo-modal h2{margin:0;padding-right:20px;font-family:Georgia,Times New Roman,serif;font-size:32px;font-weight:400;line-height:1.08;letter-spacing:-.02em}.demo-modal h2+p{margin:12px 0 25px;color:var(--demo-muted);font-size:13px;line-height:1.55}.demo-modal label:not(.demo-file){margin:0 0 15px;display:grid;grid-gap:7px;gap:7px;color:#39373a;font-size:12px;font-weight:700}.demo-modal input,.demo-modal select{width:100%;height:46px;padding:0 13px;border:1px solid #cbc7c1;border-radius:0;background:white;color:var(--demo-ink)}.demo-full{width:100%;margin-top:15px}.demo-privacy-note{display:block;margin-top:13px;color:#858185;font-size:10px;line-height:1.45;text-align:center}.demo-error{margin:12px 0 0!important;padding:10px 12px;background:#fff0f0;color:#a61116!important;font-size:12px!important}.demo-dev-code{display:block;margin:8px 0;color:#68656a;text-align:center}.demo-link-button{width:100%;margin-top:12px;padding:8px;color:#5b5960;font-size:12px;text-decoration:underline}.demo-modal input[name=code]{font-size:21px;font-weight:700;letter-spacing:.25em;text-align:center}.demo-file{margin-bottom:12px;padding:14px 15px;display:grid;grid-gap:5px;gap:5px;border:1px solid #cbc7c1;background:white;color:#39373a;font-size:11px;font-weight:750;cursor:pointer}.demo-file input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.demo-file span{color:#777277;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-back{width:100%;margin-top:8px;padding:10px!important;color:#696569!important;font-size:12px;font-weight:700}@media (max-width:720px){.demo-header{width:calc(100% - 32px);height:74px}.demo-header img{width:128px}.demo-header nav{gap:17px}.demo-header nav a,.demo-header nav button{font-size:11px}.demo-hero{padding:70px 0 48px}.demo-hero h1{font-size:clamp(42px,13vw,58px);line-height:1.02}.demo-subhead{font-size:16px}.demo-actions{flex-direction:column}.demo-actions button{width:min(310px,100%)}.demo-limit{line-height:1.4}.demo-proof{margin-bottom:85px;padding:18px 16px 24px}.demo-proof-heading{min-height:110px;align-items:flex-start;flex-direction:column;justify-content:center;gap:12px}.demo-proof-heading h2{font-size:22px}.demo-preview-strip{grid-template-columns:1fr}.demo-preview-strip figure{border-right:0;border-bottom:1px solid #d8d3cb}.demo-preview-strip figure:last-child{border-bottom:0}.demo-capabilities{margin-bottom:80px}.demo-capabilities h2{font-size:32px}.demo-capabilities>div{grid-template-columns:1fr}.demo-capabilities article{padding:22px 8px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-column-gap:14px;column-gap:14px;border-right:0;border-bottom:1px solid var(--demo-line)}.demo-capabilities article:last-child{border-bottom:0}.demo-capabilities article>.ai-provider-marks,.demo-capabilities article>svg{grid-row:1/span 2;margin:1px 0 0}.demo-how{margin-bottom:80px}.demo-how h2{font-size:32px}.demo-how ol{grid-template-columns:1fr}.demo-how li{padding:21px 8px;border-right:0;border-bottom:1px solid var(--demo-line)}.demo-shell footer{width:calc(100% - 32px);padding:24px 0;align-items:flex-start;flex-direction:column}.demo-shell footer p{margin:0}.demo-modal{padding:34px 24px 28px}.example-workspace{grid-template-columns:1fr}.example-pdf{height:500px}.example-sidebar{border-top:1px solid #d8d3cb;border-left:0}}.demo-upload-step .file-pair{margin-top:22px}.demo-modal .file-choice{margin:0;gap:14px;color:inherit;font-size:inherit;font-weight:inherit}.demo-upload-step .demo-full{margin-top:22px}.upload-footer-action{display:flex;justify-content:flex-end}.drawing-title-editor{min-width:0;display:flex;align-items:center;gap:8px;overflow:visible}.drawing-title-button{min-width:0;margin:0 0 0 -7px;padding:5px 7px;display:flex;align-items:center;gap:7px;border:0;border-radius:6px;background:transparent;color:var(--text);font:inherit;cursor:pointer;transition:background-color .16s ease}.drawing-title-button:focus-visible,.drawing-title-button:hover{background:#e9eef7}.drawing-title-button:disabled{cursor:default}.drawing-title-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawing-title-button svg{width:15px;flex:0 0 auto;color:var(--text-faint);opacity:0;transform:translateX(-3px);transition:opacity .16s ease,transform .16s ease}.drawing-title-button:focus-visible svg,.drawing-title-button:hover svg{opacity:1;transform:translateX(0)}.drawing-title-form{display:flex;align-items:center;gap:5px}.drawing-title-form input{width:min(420px,42vw);height:34px;padding:0 10px;border:1px solid var(--blue);border-radius:7px;outline:2px solid rgba(37,99,235,.13);background:white;color:var(--text);font:inherit}.drawing-title-action{width:34px;height:34px;padding:0;display:grid;place-items:center;border:1px solid var(--border);border-radius:7px;background:white;color:var(--text-soft);cursor:pointer}.drawing-title-action:focus-visible,.drawing-title-action:hover{border-color:#a8b3c4;background:var(--surface-subtle);color:var(--text)}.drawing-title-action.save{border-color:var(--blue);background:var(--blue);color:white}.drawing-title-action:disabled{opacity:.6;cursor:wait}.drawing-title-action svg{width:16px}.drawing-title-error{margin-top:3px;display:block;color:#b91c1c;font-size:11px;font-weight:500}@media (hover:none){.drawing-title-button svg{opacity:1;transform:none}}@media (max-width:700px){.demo-modal-upload{width:min(540px,100%)}.demo-upload-step .file-pair{grid-template-columns:1fr}.demo-upload-step .file-arrow{margin:-2px auto;transform:rotate(90deg)}.example-pdf{height:430px}}.demo-new{color:#555257;font-size:12px;font-weight:700;text-decoration:none}.result-main{width:min(1180px,calc(100% - 48px));margin:auto;padding:60px 0 90px}.result-wait{min-height:560px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.result-spinner{width:54px;height:54px;margin-bottom:25px;display:grid;place-items:center;border:1px solid #d8d3cb;border-radius:50%;color:var(--demo-red);animation:result-pulse 1.5s ease-in-out infinite}.result-spinner svg{width:24px}.result-heading p,.result-wait>p{margin:0 0 10px;color:var(--demo-red);font-size:10px;font-weight:800;letter-spacing:.16em}.result-wait h1{max-width:680px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:44px;font-weight:400}.result-wait small{margin-top:17px;color:var(--demo-muted)}.result-wait .demo-primary{margin-top:25px;text-decoration:none}.result-progress{width:min(430px,90%);height:4px;margin-top:28px;overflow:hidden;background:#dedad4}.result-progress i{display:block;height:100%;background:var(--demo-red);transition:width .4s ease}.result-heading{margin-bottom:30px;display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.result-heading h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:43px;font-weight:400}.result-heading span{margin-top:9px;display:flex;align-items:center;gap:7px;color:var(--demo-muted);font-size:12px}.result-heading span svg,.result-heading>a svg{width:17px}.result-heading>a{text-decoration:none}.result-workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;border:1px solid #d8d3cb;background:#fcfbf8;box-shadow:0 18px 55px rgba(50,42,34,.07)}.result-viewer{min-width:0;border-right:1px solid #d8d3cb}.result-tabs{height:54px;padding:0 20px;display:flex;align-items:flex-end;gap:23px;border-bottom:1px solid #d8d3cb}.result-tabs button{height:54px;padding:0 2px!important;border-bottom:2px solid transparent!important;color:#6e6a6e;font-size:12px;font-weight:700}.result-tabs button.active{border-bottom-color:var(--demo-red)!important;color:var(--demo-ink)}.result-viewer object,.result-viewer>img{width:100%;height:680px;display:block;border:0;object-fit:contain;background:#e9e7e2}.result-changes{min-width:0}.result-changes>div{height:54px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8d3cb}.result-changes>div span{color:var(--demo-red);font-size:10px;font-weight:800;letter-spacing:.13em}.result-changes>div strong{width:25px;height:25px;display:grid;place-items:center;border:1px solid #ccc6be;border-radius:50%;font-size:11px}.result-changes ol{max-height:680px;margin:0;padding:0;overflow-y:auto;list-style:none}.result-changes li{padding:17px 18px;display:flex;gap:13px;border-bottom:1px solid #e4e0da}.result-changes li em{color:#aaa4a0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-style:normal}.result-changes li b{display:block;font-family:Georgia,Times New Roman,serif;font-size:15px;font-weight:400}.result-changes li small{margin-top:6px;display:flex;flex-wrap:wrap;gap:7px;color:#777}.result-changes del{color:#8d2529}.result-changes ins{color:#256b45;text-decoration:none}.result-followup-backdrop{position:fixed;z-index:100;inset:0;padding:24px;display:grid;place-items:center;background:rgba(19,24,33,.52);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:followup-fade-in .18s ease-out}.result-followup{position:relative;width:min(520px,100%);padding:40px 40px 32px;border:1px solid var(--border-strong);border-radius:14px;outline:0;background:var(--surface);box-shadow:0 28px 80px rgba(15,23,42,.24);animation:followup-rise-in .22s ease-out}.result-followup-close{position:absolute;top:14px;right:14px;width:34px;height:34px;padding:8px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:var(--text-soft)}.result-followup-close:hover{background:var(--surface-subtle);color:var(--text)}.result-followup-close svg{width:18px}.result-followup-kicker{margin:0 0 6px;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.result-followup h2{margin:0;font-size:27px;letter-spacing:-.025em}.result-followup-copy{margin:12px 0 24px;color:var(--text-soft);font-size:14px;line-height:1.55}.result-followup-feedback{padding:17px 0;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.result-followup-feedback>span{font-size:13px;font-weight:700}.result-followup-feedback>div{display:flex;gap:8px}.result-followup-feedback button{width:72px;min-height:40px;padding:0 10px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface);color:var(--text);font-size:12px;font-weight:650}.result-followup-feedback button:hover:not(:disabled){border-color:#a8b3c4;background:var(--surface-subtle)}.result-followup-feedback button.selected{border-color:var(--blue);color:var(--blue)}.result-followup-error{margin:10px 0 0;color:#b42318;font-size:12px}.result-followup-actions{margin-top:22px;display:flex;align-items:center;justify-content:flex-end;gap:10px}.result-followup-primary,.result-followup-secondary{min-height:42px;padding:0 16px;border-radius:7px;font-size:13px;font-weight:700}.result-followup-secondary{border:1px solid transparent;background:transparent;color:var(--text-soft)}.result-followup-secondary:hover{background:var(--surface-subtle);color:var(--text)}.result-followup-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--blue);background:var(--blue);color:white;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.result-followup-primary:hover:not(:disabled){border-color:var(--blue-hover);background:var(--blue-hover);transform:translateY(-1px)}.result-followup-primary svg{width:16px}.result-followup-feedback button:disabled{opacity:.58;cursor:wait}.result-followup-contact-help{margin:14px 0 0;color:var(--text-soft);font-size:11px;text-align:right}.result-followup-contact-help button{padding:0;border:0;background:transparent;color:var(--blue);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px}.feedback-toast{position:fixed;z-index:21;right:22px;bottom:18px;padding:10px 14px;display:flex;align-items:center;gap:8px;border:1px solid #b9e8ca;border-radius:9px;background:#f0fbf4;box-shadow:0 12px 32px rgba(28,34,44,.14);color:#477157;font-size:12px;font-weight:700;animation:feedback-in .18s ease-out}.feedback-toast.error{border-color:#fecaca;background:#fff7f7;color:#b42318}.feedback-toast svg{width:18px}@keyframes feedback-in{0%{opacity:0;transform:translateY(8px)}}@keyframes followup-fade-in{0%{opacity:0}}@keyframes followup-rise-in{0%{opacity:0;transform:translateY(10px) scale(.985)}}.privacy-page{width:min(680px,calc(100% - 40px));min-height:calc(100vh - 92px);margin:auto;padding:90px 0}.privacy-page>p:first-child{color:var(--demo-red);font-size:10px;font-weight:800;letter-spacing:.15em}.privacy-page h1{margin:8px 0 45px;font-size:52px}.privacy-page h1,.privacy-page h2{font-family:Georgia,Times New Roman,serif;font-weight:400}.privacy-page h2{margin:30px 0 8px;font-size:23px}.privacy-page p{color:var(--demo-muted);font-size:15px;line-height:1.7}.privacy-page a{color:var(--demo-red)}@keyframes result-pulse{50%{transform:scale(1.06);opacity:.65}}@media (max-width:850px){.result-heading{align-items:flex-start;flex-direction:column}.result-workspace{grid-template-columns:1fr}.result-viewer{border-right:0;border-bottom:1px solid #d8d3cb}.result-viewer object,.result-viewer>img{height:520px}}@media (max-width:520px){.result-followup-backdrop{padding:12px;align-items:end}.result-followup{padding:32px 22px 22px;border-radius:14px 14px 10px 10px}.result-followup h2{font-size:24px}.result-followup-feedback{align-items:flex-start;flex-direction:column}.result-followup-feedback button,.result-followup-feedback>div{width:100%}.result-followup-actions{align-items:stretch;flex-direction:column-reverse}.result-followup-primary,.result-followup-secondary{width:100%}}.traction-page{width:min(1120px,calc(100% - 40px));margin:auto;padding:60px 0 90px}.traction-heading{display:flex;align-items:flex-end;justify-content:space-between}.traction-heading p{margin:0;color:var(--red);font-size:11px;font-weight:800;letter-spacing:.13em}.traction-heading h1{margin:4px 0 0;font-size:42px}.traction-heading small{color:var(--text-soft)}.traction-grid{margin-top:34px;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.traction-grid article,.traction-panels article{padding:24px;border:1px solid var(--border);border-radius:12px;background:white}.traction-grid small,.traction-grid span{display:block;color:var(--text-soft)}.traction-grid strong{display:block;margin:9px 0 5px;font-size:34px}.traction-panels{margin-top:14px;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.traction-panels h2{margin:0 0 17px;font-size:18px}.traction-panels dl{margin:0}.traction-panels dl div{padding:10px 0;display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--border)}.traction-panels dt{color:var(--text-soft)}.traction-panels dd{margin:0;font-weight:700}@media (max-width:800px){.traction-grid,.traction-panels{grid-template-columns:1fr}}*{box-sizing:border-box}body,html{background:var(--background)}body{margin:0;min-width:320px;color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select,textarea{font:inherit}a,button,input,select,summary{outline:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{box-shadow:0 0 0 3px rgba(37,99,235,.2)}button{border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .15s ease}button:hover:not(:disabled){border-color:#aeb6c2;background:var(--surface-subtle)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.46}button.primary{border-color:var(--blue);background:var(--blue);color:white}button.primary:hover:not(:disabled){border-color:var(--blue-hover);background:var(--blue-hover)}svg{display:block}.app-header{height:64px;padding:0 28px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.96)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-size:18px;font-weight:720;letter-spacing:-.02em;text-decoration:none}.brand-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:var(--red);color:white}.brand-mark svg{width:19px;height:19px;stroke-width:2}.header-note{margin-left:auto;color:var(--text-soft);font-size:13px}.review-header{position:relative;z-index:10}.header-divider{width:1px;height:28px;background:var(--border)}.drawing-title{max-width:min(52vw,760px);overflow:hidden;color:#2c3139;font-size:15px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.back-link{margin-left:auto;display:inline-flex;align-items:center;gap:7px;color:var(--text-soft);font-size:13px;font-weight:600;text-decoration:none}.back-link:hover{color:var(--blue)}.back-link svg{width:16px}.review-header{display:flex;align-items:center;justify-content:space-between}.review-context-bar{height:44px;padding:0 28px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--border);background:var(--surface-subtle)}.review-context-bar .back-link{margin-left:0;flex:0 0 auto}.review-context-bar .header-divider{height:20px}.review-context-bar .drawing-title{max-width:min(70vw,880px)}.review-header-try{min-height:40px;padding:0 16px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--blue);border-radius:8px;background:var(--blue);box-shadow:0 1px 2px rgba(37,99,235,.24);color:white;font-size:13px;font-weight:700;text-decoration:none}.review-header-try:hover{border-color:var(--blue-hover);background:var(--blue-hover)}.review-header-try svg{width:16px}.mobile-label{display:none}.home-page{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:64px 0 80px}.public-demo-limits{margin:18px 0 0;display:flex;align-items:center;gap:7px;color:var(--text-faint);font-size:12px}.public-demo-limits svg{width:16px;color:var(--green)}.demo-review-workspace .example-pdf{height:auto;display:block;overflow:visible;background:white}.demo-review-workspace .example-pdf canvas{width:100%!important;height:auto!important}.demo-review-workspace .demo-selection-layer{position:absolute;inset:0;width:100%;height:100%}.upload-surface{padding:44px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);animation:surface-in .32s ease-out both}.upload-heading{max-width:640px}.eyebrow{display:inline-flex;align-items:center;gap:7px;margin-bottom:12px;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.eyebrow svg{width:16px;height:16px}.upload-heading h1{margin:0;font-size:clamp(28px,3vw,38px);line-height:1.12;letter-spacing:-.035em}.upload-heading p{margin:12px 0 0;color:var(--text-soft);font-size:16px}.file-pair{margin-top:36px;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);grid-gap:12px;gap:12px}.file-choice,.file-pair{display:grid;align-items:center}.file-choice{position:relative;min-height:112px;padding:22px;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:14px;gap:14px;border:1px dashed #c8ced8;border-radius:12px;background:var(--surface-subtle);cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.file-choice:hover{border-color:var(--blue);background:var(--surface-blue);transform:translateY(-1px)}.file-choice.selected{border-style:solid;border-color:#b8d0fb;background:var(--surface-blue)}.file-choice.disabled{cursor:default;opacity:.72;transform:none}.file-choice.disabled:hover{border-color:#b8d0fb;background:var(--surface-blue);transform:none}.file-choice input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-soft)}.file-choice.selected .file-icon{border-color:#bbefd0;background:var(--green-soft);color:var(--green)}.file-icon svg{width:22px;height:22px}.file-choice small,.file-choice strong{display:block}.file-choice strong{margin-bottom:4px;font-size:15px}.file-choice small{overflow:hidden;color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap}.choose-file{color:var(--blue);font-size:13px;font-weight:650}.file-arrow{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#eef1f5;color:var(--text-soft)}.file-arrow svg{width:16px}.batch-name{max-width:640px;margin-top:28px;display:block}.batch-name>span{margin-bottom:7px;display:flex;align-items:baseline;gap:7px;color:var(--text);font-size:13px;font-weight:700}.batch-name small{color:var(--text-faint);font-size:11px;font-weight:500}.batch-name input{width:100%;height:44px;padding:0 13px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text)}.batch-name input:disabled{background:var(--surface-subtle);color:var(--text-soft)}.batch-pairs{margin-top:28px;border-top:1px solid var(--border)}.batch-pair{padding:24px 0;border-bottom:1px solid var(--border);animation:surface-in .22s ease-out both}.batch-actions,.batch-pair-actions,.batch-pair-heading{display:flex;align-items:center}.batch-pair-heading{justify-content:space-between;gap:18px}.batch-pair-heading>div:first-child>span,.batch-pair-heading>div:first-child>strong{display:block}.batch-pair-heading>div:first-child>span{margin-bottom:2px;color:var(--text-faint);font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.batch-pair-heading>div:first-child>strong{font-size:15px}.batch-pair-actions{gap:10px}.remove-pair{width:34px;height:34px;padding:0;display:grid;place-items:center;border-color:transparent;background:transparent;color:var(--text-faint)}.remove-pair:hover:not(:disabled){border-color:#fecaca;background:var(--red-soft);color:var(--red)}.add-drawing svg,.batch-message svg,.pair-error svg,.pair-state svg,.remove-pair svg{width:17px;flex:0 0 auto}.file-pair.compact{margin-top:14px}.file-pair.compact .file-choice{min-height:84px;padding:15px 16px}.file-pair.compact .file-icon{width:36px;height:36px}.file-pair.compact .file-icon svg{width:19px}.pair-state{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.pair-state.complete{color:var(--green)}.pair-state.working{color:var(--blue)}.pair-state.failed{color:var(--red)}.pair-progress{margin-top:12px;color:var(--text-soft);font-size:12px}.pair-progress .job-progress-track{margin-top:7px}.batch-message,.pair-error{margin-top:12px;display:flex;align-items:flex-start;gap:8px;font-size:12px}.pair-guidance{margin:10px 0 0;color:var(--text-soft);font-size:12px}.pair-error{color:var(--red)}.batch-actions{margin-top:24px;justify-content:space-between;gap:18px}.add-drawing{min-height:42px;padding:0 14px;display:inline-flex;align-items:center;gap:8px;border-color:transparent;background:transparent;color:var(--blue);font-weight:700}.batch-message{padding:13px 15px;align-items:center;border:1px solid #bbefd0;border-radius:9px;background:var(--green-soft);color:var(--green);font-weight:650}.drawing-batch{margin-right:7px;padding:2px 6px;display:inline-block;border-radius:5px;background:var(--surface-blue);color:var(--blue);font-size:10px;font-weight:700}.upload-footer{margin-top:24px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:18px;gap:18px}.project-name{display:grid;grid-template-columns:auto 1fr;grid-gap:7px;gap:7px;color:#343a44;font-size:13px;font-weight:650}.project-name>span{color:var(--text-faint);font-weight:500}.project-name input{grid-column:1/-1;width:100%;height:44px;padding:0 13px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text)}.project-name input::placeholder{color:#a1a8b3}.start-review{min-width:190px;height:44px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-color:var(--blue);background:var(--blue);color:white;font-weight:700}.start-review:hover:not(:disabled){border-color:var(--blue-hover);background:var(--blue-hover)}.start-review svg{width:18px}.upload-error,.working-status{margin-top:22px;padding:16px 18px;border-radius:10px}.working-status{border:1px solid #cfe0ff;background:var(--surface-blue)}.working-status-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.working-status p,.working-status strong{display:block;margin:0}.working-status p{margin-top:3px;color:var(--text-soft);font-size:12px}.working-status-head>span{color:var(--blue);font-size:12px;font-weight:650;white-space:nowrap}.indeterminate-track{position:relative;height:4px;margin-top:13px;overflow:hidden;border-radius:999px;background:#dbe7fb}.indeterminate-track span{position:absolute;inset-block:0;width:32%;border-radius:inherit;background:var(--blue);animation:progress-slide 1.5s ease-in-out infinite}.job-progress-track{height:5px;margin-top:13px;overflow:hidden;border-radius:999px;background:#dbe7fb}.job-progress-track span{display:block;height:100%;min-width:3px;border-radius:inherit;background:var(--blue);transition:width .32s ease}.upload-error{display:flex;gap:12px;border:1px solid #fecaca;background:var(--red-soft);color:#991b1b}.upload-error svg{width:21px;flex:0 0 auto}.upload-error p{margin:3px 0 0;color:#b42318}.drawings-section,.sample-section{margin-top:48px}.section-heading{margin-bottom:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.section-heading h2,.section-heading p{margin:0}.section-heading h2{font-size:20px;letter-spacing:-.02em}.section-heading p{margin-top:4px;color:var(--text-soft)}.section-heading>span{color:var(--text-faint);font-size:12px}.drawing-list{overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.drawing-row{min-height:76px;padding:14px 18px;display:grid;grid-template-columns:auto minmax(220px,1fr) auto auto auto;align-items:center;grid-gap:16px;gap:16px;border-bottom:1px solid var(--border);color:inherit;text-decoration:none;transition:background-color .15s ease}.drawing-row:last-child{border-bottom:0}.drawing-row:hover{background:var(--surface-subtle)}.drawing-icon,.sample-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--border);border-radius:9px;background:var(--surface-subtle);color:var(--text-soft)}.drawing-icon svg,.sample-icon svg{width:20px}.drawing-main small,.drawing-main strong{display:block}.drawing-main small{margin-top:3px;color:var(--text-faint);font-size:12px}.job-status{display:inline-flex;align-items:center;gap:6px;color:var(--text-soft);font-size:12px;font-weight:650}.job-status svg{width:17px}.job-status.ready{color:var(--green)}.job-status.failed{color:var(--red)}.job-status.working{color:var(--blue)}.drawing-facts{display:flex;gap:6px}.drawing-facts span{padding:3px 8px;border-radius:999px;background:#f0f2f5;color:var(--text-soft);font-size:11px;white-space:nowrap}.row-arrow{width:17px;color:var(--text-faint)}.sample-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.sample-list>a{padding:16px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);text-decoration:none}.sample-list>a:hover{border-color:#b8c8e8;background:var(--surface-blue)}.sample-list small,.sample-list strong{display:block}.sample-list small{overflow:hidden;margin-top:2px;color:var(--text-soft);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.sample-list>a>svg{width:17px;color:var(--text-faint)}.review-page{width:100%;padding:18px 20px 28px}.workflow-steps{width:min(920px,100%);min-height:72px;margin-bottom:18px}.workflow-step,.workflow-steps{display:flex;align-items:center}.workflow-step{min-width:128px;gap:10px;color:var(--text-faint)}.workflow-step>span{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface);font-weight:700}.workflow-step>span svg{width:17px}.workflow-step small,.workflow-step strong{display:block}.workflow-step strong{color:#444b55;font-size:13px}.workflow-step small{margin-top:1px;font-size:11px;white-space:nowrap}.workflow-step.complete>span{border-color:#9aa3af;color:#333943}.workflow-step.current{color:var(--blue)}.workflow-step.current>span{border-color:var(--blue);background:var(--blue);color:white}.workflow-step.current strong{color:var(--blue)}.workflow-steps>i{width:clamp(26px,5vw,78px);height:1px;margin:0 12px;flex:0 1 auto;background:var(--border-strong)}.processing-banner{margin-bottom:16px;padding:13px 16px;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(180px,28%);align-items:center;grid-gap:14px;gap:14px;border:1px solid #cfe0ff;border-radius:10px;background:var(--surface-blue)}.processing-banner p,.processing-banner strong{margin:0}.processing-banner .processing-step{justify-self:end;color:var(--blue);font-size:12px;font-weight:650;white-space:nowrap}.processing-banner .job-progress-track{grid-column:1/-1;width:100%;margin-top:-2px}.processing-banner p{margin-top:2px;color:var(--text-soft);font-size:12px}.processing-banner.failed{grid-template-columns:auto 1fr;border-color:#fecaca;background:var(--red-soft)}.processing-banner.failed>svg{width:22px;color:var(--red)}.processing-panel{margin-bottom:16px;padding:clamp(24px,4vw,44px);border:1px solid #cfe0ff;border-radius:14px;background:radial-gradient(circle at 8% 0,rgba(38,100,235,.1),transparent 34%),var(--surface);box-shadow:0 12px 34px rgba(28,52,89,.07);animation:surface-in .28s ease-out both}.processing-panel-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:20px;gap:20px}.processing-orbit{position:relative;width:54px;height:54px;display:grid;place-items:center;border:2px solid #dce8fd;border-top:2px solid var(--blue);border-radius:50%;background:white;color:var(--blue);animation:spin 1.4s linear infinite}.processing-orbit:after{content:"";position:absolute;inset:5px;border:1px solid #edf3ff;border-right:1px solid var(--demo-red);border-radius:50%;animation:spin 2.2s linear infinite reverse}.processing-orbit svg{width:21px;animation:spin 1.4s linear infinite reverse}.processing-copy h2,.processing-copy p,.processing-note{margin:0}.processing-kicker{display:block;margin-bottom:5px;color:var(--blue);font-size:11px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.processing-copy h2{font-size:clamp(19px,2vw,24px);line-height:1.2}.processing-copy p{max-width:680px;margin-top:7px;color:var(--text-soft);font-size:13px;line-height:1.5}.processing-timing{min-width:225px;padding-left:24px;border-left:1px solid var(--border);text-align:right}.processing-timing span,.processing-timing strong{display:block}.processing-timing strong{color:#243e72;font-size:14px}.processing-timing span{margin-top:7px;color:var(--text-soft);font-size:12px}.processing-timing svg{width:15px;margin:-2px 5px 0 0;vertical-align:middle}.processing-motion{margin-top:26px}.processing-phases{margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);list-style:none}.processing-phases li{position:relative;display:flex;align-items:center;gap:9px;color:var(--text-faint);font-size:12px}.processing-phases li:not(:last-child):after{content:"";height:1px;margin:0 14px;flex:1 1;background:var(--border)}.processing-phases li>span{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--border-strong);border-radius:50%;background:white;font-size:11px;font-weight:700}.processing-phases li>span svg{width:14px}.processing-phases li.complete,.processing-phases li.current{color:var(--blue)}.processing-phases li.current>span{border-color:var(--blue);background:var(--blue);color:white;box-shadow:0 0 0 5px rgba(38,100,235,.1)}.processing-phases li.complete>span{border-color:#93c5aa;background:#eaf8ef;color:#16733b}.processing-note{margin-top:20px;color:var(--text-faint);font-size:11px}.review-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,500px);grid-gap:18px;gap:18px;align-items:start;animation:surface-in .28s ease-out both}.drawing-viewer,.review-inspector{border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 1px 2px rgba(15,23,42,.03)}.drawing-viewer{min-width:0;overflow:hidden}.viewer-toolbar{min-height:58px;padding:8px 12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;border-bottom:1px solid var(--border)}.viewer-toolbar>*{flex:0 0 auto}.view-tabs{display:inline-flex;align-items:center;overflow:hidden;border:1px solid var(--border);border-radius:8px}.view-tabs button{min-height:36px;padding:0 13px;border:0;border-right:1px solid var(--border);border-radius:0;color:var(--text-soft);font-size:12px;white-space:nowrap}.view-tabs button:last-child{border-right:0}.view-tabs button.active{background:var(--red-soft);color:var(--red);font-weight:650}.sheet-switcher,.viewer-tools{display:inline-flex;align-items:center;gap:4px}.viewer-tools{margin-left:auto}.icon-button,.zoom-value{height:34px;min-width:34px;padding:0 8px;display:inline-grid;place-items:center;border-color:var(--border)}.icon-button svg{width:17px;height:17px}.zoom-value{min-width:42px;color:var(--text-soft);font-size:12px}.markup-tools{overflow:hidden;border:1px solid var(--border);border-radius:8px}.markup-tools,.markup-tools button{display:inline-flex;align-items:center}.markup-tools button{height:34px;padding:0 10px;gap:6px;border:0;border-right:1px solid var(--border);border-radius:0;color:var(--text-soft);font-size:12px;white-space:nowrap}.markup-tools button:last-child{border-right:0}.markup-tools button svg{width:16px}.markup-tools button.active{background:var(--blue-soft);color:var(--blue);font-weight:650}.markup-tools button.group-start{border-left:1px solid var(--border);margin-left:4px}.style-strip{gap:8px;padding:0 8px;height:34px;border:1px solid var(--border);border-radius:8px}.style-strip,.swatches,.widths{display:inline-flex;align-items:center}.swatches,.widths{gap:4px}.widths{padding-left:8px;border-left:1px solid var(--border)}.swatch{width:18px;height:18px;padding:0;border:2px solid transparent;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(15,23,42,.15)}.swatch.active{border-color:var(--surface);box-shadow:0 0 0 2px var(--text)}.widths button{width:26px;height:26px;padding:0;display:inline-grid;place-items:center;border:0;border-radius:6px;color:var(--text-soft)}.widths button svg{width:18px;height:18px}.widths button.active{background:var(--blue-soft);color:var(--blue)}.stage-hint{position:-webkit-sticky;position:sticky;top:10px;z-index:15;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 24px);margin:0 auto -34px;padding:7px 12px;display:flex;align-items:center;gap:7px;border:1px solid #c7dafd;border-radius:999px;background:var(--surface);box-shadow:0 8px 24px rgba(15,23,42,.14);color:var(--text-soft);font-size:12px;pointer-events:none;animation:reveal .16s ease-out both}.stage-hint strong{color:var(--blue)}.stage-hint kbd{padding:1px 5px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface-subtle);font-family:inherit;font-size:11px}.sheet-switcher{margin-left:4px}.sheet-switcher span{min-width:92px;color:var(--text-soft);font-size:12px;text-align:center;white-space:nowrap}.stage{min-height:650px;max-height:calc(100vh - 230px);overflow:auto;background:#eef0f3}.canvas,.stage{position:relative}.canvas{min-width:100%;transition:width .2s ease}.canvas img{display:block;width:100%;height:auto;background:white;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.canvas>svg.markup-layer{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.markup-layer .hit{fill:transparent;stroke:transparent;stroke-width:1.5;pointer-events:all;cursor:pointer}.markup-layer .hit:hover{fill:rgba(37,99,235,.08);stroke:rgba(37,99,235,.7)}.markup-layer .selected-box{fill:rgba(37,99,235,.08);stroke:var(--blue);stroke-width:1.5;pointer-events:all;cursor:-webkit-grab;cursor:grab}.markup-layer .selected-box:active,.markup-layer.moving .selected-box{cursor:-webkit-grabbing;cursor:grabbing}.markup-layer .ink{pointer-events:none}.markup-layer .ink text{font-family:Helvetica,Arial,sans-serif;white-space:pre}.markup-layer .removed-ink{fill:rgba(255,255,255,.78);stroke:#9aa3b2;stroke-width:.8;stroke-dasharray:3 2;pointer-events:none}.markup-layer .sketch-box{fill:rgba(220,38,38,.08);stroke:var(--red);stroke-width:1.2;stroke-dasharray:4 2;pointer-events:none}.stage.drawing{cursor:crosshair}.markup-layer.drawing .hit,.markup-layer.drawing .selected-box{pointer-events:none}.hover-label,.inline-text,.markup-actions{position:absolute;z-index:20;margin-top:6px;display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:9px;background:var(--surface);box-shadow:0 14px 40px rgba(15,23,42,.18);transform:translateX(-4px);white-space:nowrap}.hover-label.flip,.inline-text.flip,.markup-actions.flip{transform:translateX(4px)}.inline-text{padding:6px}.markup-actions{padding:4px;gap:2px}.markup-actions button{height:30px;padding:0 9px;display:inline-flex;align-items:center;gap:5px;border:0;color:var(--text);font-size:12px;font-weight:600}.markup-actions button svg{width:15px}.markup-actions .confirm-text{padding:0 6px 0 8px;color:var(--text);font-size:12px;font-weight:600}.markup-actions button.keep{color:var(--green)}.markup-actions button.danger{color:var(--red)}.markup-actions button:hover:not(:disabled){background:var(--surface-subtle)}.hover-label{margin-top:4px;padding:4px 8px;color:var(--text-soft);font-size:11px;pointer-events:none;box-shadow:0 6px 18px rgba(15,23,42,.12)}.inline-text input{width:240px;height:34px;padding:0 10px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface);color:var(--text);font-size:13px}.inline-text button{height:34px;padding:0 12px;white-space:nowrap}.inline-text button[aria-label]{width:34px;padding:0;display:inline-grid;place-items:center}.inline-text button svg{width:16px}.viewer-error{position:absolute;inset:16px auto auto 16px;margin:0;padding:9px 12px;border:1px solid #fecaca;border-radius:8px;background:var(--red-soft);color:#991b1b;font-size:12px}.edit-markup-form label{display:grid;grid-gap:5px;gap:5px;margin-top:10px;color:var(--text-soft);font-size:12px;font-weight:600}.edit-markup-form input,.edit-markup-form select{width:100%;height:38px;padding:0 10px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface);color:var(--text)}.edit-actions,.popover-actions{margin-top:14px;display:flex;justify-content:flex-end;gap:8px}.edit-actions button,.popover-actions button{min-height:36px;padding:0 13px}.review-inspector{min-width:0;overflow:hidden}.review-progress{padding:18px 18px 16px;border-bottom:1px solid var(--border)}.progress-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-heading strong{font-size:14px}.progress-heading span{color:var(--text-faint);font-size:11px}.progress-track{height:5px;margin-top:12px;display:flex;overflow:hidden;gap:2px;border-radius:999px;background:#e5e7eb}.progress-track span{display:block;height:100%;transition:width .26s ease}.progress-kept{background:var(--green)}.progress-edited{background:#5b8def}.progress-removed{background:#ef6464}.progress-counts{margin-top:11px;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px}.progress-counts span{display:grid;color:var(--text-soft);font-size:11px;text-align:center}.progress-counts b{color:var(--text);font-size:13px}.review-filters{padding:9px 12px;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:4px;gap:4px;border-bottom:1px solid var(--border)}.review-filters button{min-height:34px;border-color:transparent;color:var(--text-soft);font-size:12px}.review-filters button.active{border-color:#c7dafd;background:var(--surface-blue);color:var(--blue);font-weight:650}.review-filters button b{margin-left:6px;padding:1px 6px;border-radius:999px;background:#eef1f5;color:var(--text-soft);font-size:10px;font-weight:650}.review-filters button.active b{background:var(--blue-soft);color:var(--blue)}.selected-markup{margin:12px;padding:16px;border:1px solid #c6d9fb;border-radius:10px;background:var(--surface-blue)}.selected-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;grid-gap:10px;gap:10px}.row-status,.status-symbol{display:grid;place-items:center;border-radius:50%}.status-symbol{width:30px;height:30px;background:#eff3f8;color:var(--text-soft)}.status-symbol.delete{background:var(--red-soft);color:var(--red)}.status-symbol.add{background:var(--green-soft);color:var(--green)}.status-symbol.geometry,.status-symbol.modify{background:var(--blue-soft);color:var(--blue)}.status-symbol svg{width:18px}.selected-heading h2,.selected-heading p{margin:0}.selected-heading h2{overflow:hidden;font-size:16px;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.selected-heading p{margin-top:2px;color:var(--text-soft);font-size:12px}.confidence{padding:3px 7px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-soft);font-size:10px;white-space:nowrap}.selected-description{margin:16px 0 0;color:#363c46;font-size:13px;line-height:1.55}.ai-reason{margin-top:12px;color:var(--text-soft);font-size:12px}.ai-reason summary{width:-moz-fit-content;width:fit-content;cursor:pointer;font-weight:620}.ai-reason p,.ai-reason ul{margin:8px 0 0}.ai-reason ul{padding-left:18px}.explain-link{min-height:32px;margin-top:8px;padding:0;display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--blue);font-size:12px;font-weight:650}.explain-link:hover:not(:disabled){background:transparent;color:var(--blue-hover)}.explain-link svg{width:16px}.decision-actions{margin-top:14px;display:grid;grid-template-columns:1.15fr repeat(3,minmax(0,.82fr));grid-gap:8px;gap:8px}.decision-actions button{min-height:42px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:650}.decision-actions svg{width:17px}.decision-actions .keep-action{border-color:var(--green);background:var(--green);color:white}.decision-actions .keep-action:hover:not(:disabled){border-color:#15803d;background:#15803d}.decision-actions .remove-action{border-color:#f3a4a4;color:var(--red)}.decision-actions .remove-action:hover:not(:disabled){border-color:var(--red);background:var(--red-soft)}.decision-actions.manual{grid-template-columns:repeat(2,minmax(0,1fr))}.move-help{margin-top:9px;padding:9px 10px;display:flex;justify-content:space-between;gap:12px;border:1px solid #c7dafd;border-radius:8px;background:#fff;color:var(--text-soft);line-height:1.35}.move-help,.move-help button{align-items:center;font-size:11px}.move-help button{min-height:30px;padding:0 8px;display:inline-flex;flex:0 0 auto;gap:5px;color:var(--blue);font-weight:650}.move-help svg{width:15px}.edit-markup-form{margin-top:12px;padding-top:4px;border-top:1px solid var(--border)}.explanation-panel{margin:0 12px 12px;padding:14px;border:1px solid var(--border);border-radius:9px;background:var(--surface-subtle);animation:reveal .18s ease-out both}.explanation-panel>div:first-child{margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}.explanation-panel>div:first-child button{padding:0;border:0;background:transparent;color:var(--text-soft);font-size:11px}.explain{color:#3c424b;font-size:12px;line-height:1.55;white-space:pre-wrap}.explain-head{margin:12px 0 5px;color:var(--text);font-size:12px}.explain-head:first-child{margin-top:0}.explain-list{margin:0;padding-left:18px}.explain-list li{margin-bottom:4px}.explain-para{margin:0 0 7px}.explain code{padding:1px 4px;border-radius:4px;background:#edf0f4}.inspector-empty,.list-empty{padding:26px 18px;display:grid;place-items:center;color:var(--text-soft);text-align:center}.inspector-empty svg,.list-empty svg{width:28px;margin-bottom:7px;color:var(--green)}.inspector-empty p,.list-empty p{margin:3px 0 0;font-size:12px}.markup-list{max-height:310px;overflow:auto;border-top:1px solid var(--border)}.change-row{width:100%;min-height:64px;padding:10px 14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:var(--surface);text-align:left}.change-row:hover:not(:disabled){border-color:var(--border);background:var(--surface-subtle)}.change-row.selected{box-shadow:inset 3px 0 var(--blue);background:var(--surface-blue)}.change-row>span:nth-child(2){min-width:0}.change-row small,.change-row strong{display:block}.change-row strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.change-row small{margin-top:2px;color:var(--text-faint);font-size:11px}.change-row>svg{width:16px;color:var(--text-faint)}.row-status{width:27px;height:27px;border:1px solid var(--border);color:var(--text-faint)}.row-status svg{width:16px}.row-status.delete{border-color:#fecaca;background:var(--red-soft);color:var(--red)}.row-status.add{border-color:#b9e8ca;background:var(--green-soft);color:var(--green)}.row-status.geometry,.row-status.modify{border-color:#bed4fb;background:var(--blue-soft);color:var(--blue)}.row-status.kept{border-color:#b9e8ca;background:var(--green-soft);color:var(--green)}.row-status.edited{border-color:#bed4fb;background:var(--blue-soft);color:var(--blue)}.row-status.removed{border-color:#fecaca;background:var(--red-soft);color:var(--red)}.create-pdf{padding:14px 14px 16px;border-top:1px solid var(--border);background:var(--surface)}.primary-action{width:100%;min-height:48px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--blue);border-radius:8px;background:var(--blue);color:white;font-weight:700;text-decoration:none}.primary-action:hover:not(:disabled){border-color:var(--blue-hover);background:var(--blue-hover)}.primary-action svg{width:19px}.create-pdf>p:not(.success-note):not(.error-note){margin:8px auto 0;max-width:360px;color:var(--text-faint);font-size:10px;text-align:center}.error-note,.success-note{margin:0 0 9px;padding:8px 10px;border-radius:7px;font-size:11px}.success-note{background:var(--green-soft);color:#166534}.error-note{background:var(--red-soft);color:#991b1b}.secondary-exports{margin-top:10px;display:flex;justify-content:center;gap:16px}.secondary-exports a{color:var(--text-soft);font-size:10px;text-decoration:underline;text-underline-offset:2px}.empty-state,.review-loading{min-height:420px;display:flex;align-items:center;justify-content:center;gap:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.empty-state p,.empty-state strong,.review-loading p,.review-loading strong{display:block;margin:0}.empty-state p,.review-loading p{margin-top:3px;color:var(--text-soft);font-size:12px}.empty-state>svg{width:28px}.error-state{color:var(--red)}.button-spinner,.spinner{display:inline-block;border-radius:50%;animation:spin .7s linear infinite}.spinner{width:24px;height:24px;border:2px solid #c6d9fb;border-top:2px solid var(--blue)}.button-spinner{width:17px;height:17px;border:2px solid rgba(255,255,255,.45);border-top-color:white}.muted{color:var(--text-soft);font-size:12px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes progress-slide{0%{left:-34%}55%{left:55%}to{left:105%}}@keyframes surface-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1700px){.markup-tools button span{display:none}}@media (max-width:1260px){.review-workspace{grid-template-columns:minmax(0,1fr) 420px}.drawing-facts{display:none}}@media (max-width:1040px){.review-workspace{grid-template-columns:1fr}.stage{min-height:560px;max-height:72vh}.markup-list{max-height:420px}.workflow-steps{width:100%}.viewer-tools{margin-left:0}.sheet-switcher{margin-left:auto}}@media (max-width:760px){.app-header{height:58px;padding:0 16px}.back-link,.header-divider,.header-note{display:none}.review-context-bar{height:42px;padding:0 16px;gap:10px}.review-context-bar .back-link{display:inline-flex}.review-context-bar .drawing-title{margin-left:0;max-width:none}.drawing-title-editor{flex:1 1 auto}.drawing-title-form input{width:min(46vw,300px)}.review-header-try{min-height:34px;padding:0 10px}.review-context-bar .desktop-label,.review-header .desktop-label{display:none}.review-context-bar .mobile-label,.review-header .mobile-label{display:inline}.drawing-title{margin-left:auto;max-width:48vw;font-size:13px}.home-page{width:min(100% - 24px,1180px);padding:28px 0 52px}.upload-surface{padding:24px 18px;border-radius:12px}.file-pair{grid-template-columns:1fr}.file-arrow{margin:-2px auto;transform:rotate(90deg)}.file-choice{min-height:96px;padding:16px;grid-template-columns:auto minmax(0,1fr)}.choose-file{grid-column:2}.upload-footer{grid-template-columns:1fr}.start-review{width:100%}.working-status-head{display:block}.working-status-head>span{display:block;margin-top:8px}.drawing-row{grid-template-columns:auto minmax(0,1fr) auto}.job-status{grid-column:2}.sample-list{grid-template-columns:1fr}.review-page{padding:12px}.workflow-steps{min-height:60px;overflow-x:auto}.workflow-step{min-width:90px}.workflow-step small{display:none}.workflow-steps>i{min-width:22px;margin:0 6px}.processing-banner{grid-template-columns:auto 1fr}.processing-banner .indeterminate-track,.processing-banner .job-progress-track{grid-column:1/-1}.processing-panel{padding:22px 18px}.processing-panel-main{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px}.processing-orbit{width:44px;height:44px}.processing-timing{grid-column:1/-1;min-width:0;padding:14px 0 0;border-top:1px solid var(--border);border-left:0;text-align:left}.processing-phases{gap:11px}.processing-phases li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start}.processing-phases li:not(:last-child):after{display:none}.viewer-toolbar{align-items:stretch;flex-wrap:wrap}.view-tabs{width:100%}.view-tabs button{flex:1 1;padding:0 7px}.viewer-tools{flex:1 1}.sheet-switcher{margin-left:0}.stage{min-height:420px;max-height:65vh}.decision-actions{grid-template-columns:1fr}.progress-counts{grid-template-columns:repeat(2,1fr);row-gap:10px}.selected-heading{grid-template-columns:auto minmax(0,1fr)}.confidence{grid-column:2;width:-moz-fit-content;width:fit-content}}@media (max-width:700px){.batch-pair-heading{align-items:flex-start}.batch-pair-actions{flex:0 0 auto}.batch-actions{align-items:stretch;flex-direction:column}.add-drawing,.batch-actions .start-review{width:100%;justify-content:center}.file-pair.compact{grid-template-columns:1fr}.file-pair.compact .file-arrow{margin:-2px auto;transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}