:root{--painter-ink: #163c3f;--painter-accent: #1b9ca3;--painter-accent-deep: #10727a;--painter-paper: #f8fbfa;--painter-grid: rgb(18 95 100 / 8%);--painter-red: #dc3d43;--painter-yellow: #e2b327;--painter-blue: #2b78d0;--painter-orange: #d56b2a;--painter-violet: #8454b8;--site-bg: #315c55}html[data-theme=dark]{--painter-ink: #d7f2f0;--painter-paper: #1d2526;--painter-grid: rgb(109 212 217 / 7%)}[hidden]{display:none!important}body{background:radial-gradient(circle at 12% 8%,rgb(54 186 177 / 14%),transparent 28rem),var(--site-bg)}.painter-shell{width:min(1460px,calc(100% - 32px));margin:0 auto;padding:56px 0 38px}.painter-hero{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(28px,6vw,88px);align-items:center;color:#fff;padding:36px 18px 46px}.hero-mark{position:relative;height:132px;border:1px solid rgb(255 255 255 / 22%);border-radius:22px;background:linear-gradient(rgb(255 255 255 / 6%) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / 6%) 1px,transparent 1px),#05212333;background-size:18px 18px;overflow:hidden;box-shadow:0 24px 50px #04191a3d}.hero-mark:before,.hero-mark:after{content:"";position:absolute;top:14px;bottom:14px;width:1px;background:#fff3}.hero-mark:before{left:32px}.hero-mark:after{right:32px}.hero-mark-line{position:absolute;left:18px;right:18px;height:8px;border-radius:999px;box-shadow:0 0 0 2px #0518198c}.hero-mark-line:before,.hero-mark-line:after{content:"";position:absolute;top:50%;width:11px;height:11px;border:2px solid currentcolor;border-radius:50%;background:#244c49;transform:translateY(-50%)}.hero-mark-line:before{left:-2px}.hero-mark-line:after{right:-2px}.line-red{top:31px;color:var(--painter-red);background:var(--painter-red)}.line-yellow{top:62px;color:var(--painter-yellow);background:var(--painter-yellow)}.line-blue{top:93px;color:var(--painter-blue);background:var(--painter-blue)}.hero-copy h1{margin:10px 0 8px;font-size:clamp(3.5rem,10vw,7.5rem);line-height:.9;letter-spacing:-.07em;color:#fff}.hero-copy>p{max-width:820px;color:#ffffffd1;font-size:clamp(1rem,2vw,1.3rem);line-height:1.55}.eyebrow-row{display:flex;gap:9px;flex-wrap:wrap}.beta-badge,.scope-badge,.limit-note{display:inline-flex;align-items:center;min-height:30px;padding:5px 11px;border-radius:999px;font-size:.75rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.beta-badge{color:#132d2e;background:#8ce0d8}.scope-badge{color:#ffffffe5;border:1px solid rgb(255 255 255 / 28%)}.principles-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:18px;overflow:hidden;border:1px solid rgb(255 255 255 / 16%);border-radius:18px;background:#ffffff29}.principles-strip article{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:22px;color:#fff;background:#133d3ae0}.principles-strip strong{display:block;margin-bottom:4px}.principles-strip p{color:#ffffffad;font-size:.84rem;line-height:1.45}.principle-index,.step-label{color:var(--painter-accent);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.panel{color:var(--text-primary);border:1px solid color-mix(in srgb,var(--border-color) 76%,transparent);border-radius:20px;background:var(--surface-bg);box-shadow:0 18px 42px #0a282729}.upload-panel,.access-panel{max-width:940px;margin:28px auto;padding:clamp(22px,4vw,40px)}.access-panel{max-width:680px}.access-lock{display:grid;place-items:center;min-width:64px;min-height:64px;color:var(--painter-paper);border-radius:50%;background:var(--painter-ink);font:800 .7rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}.access-copy{max-width:58ch;margin:18px 0 22px;color:var(--text-secondary);line-height:1.6}.access-form{display:grid;gap:14px}.panel-heading,.review-toolbar,.summary-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.panel-heading h2,.review-toolbar h2,.feedback-panel h2,.processing-panel h2,.declined-panel h2{margin-top:5px;color:var(--painter-ink);font-size:clamp(1.35rem,3vw,2rem);letter-spacing:-.025em}.panel-heading.compact{align-items:flex-start}.limit-note{color:var(--text-secondary);border:1px solid var(--border-color);background:var(--surface-muted);white-space:nowrap}.dropzone{position:relative;display:grid;justify-items:center;gap:7px;min-height:220px;margin-top:28px;padding:38px 22px;border:2px dashed color-mix(in srgb,var(--painter-accent) 55%,var(--border-color));border-radius:16px;background:linear-gradient(var(--painter-grid) 1px,transparent 1px),linear-gradient(90deg,var(--painter-grid) 1px,transparent 1px),var(--painter-paper);background-size:22px 22px;cursor:pointer;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.dropzone:hover,.dropzone.is-dragging{border-color:var(--painter-accent);box-shadow:inset 0 0 0 5px #1b9ca314}.dropzone.is-dragging{transform:scale(1.005)}.dropzone input{position:absolute;width:1px;height:1px;opacity:0}.dropzone strong{color:var(--painter-ink);font-size:1.15rem}.dropzone>span:last-child{color:var(--text-secondary)}.drop-icon{display:grid;place-items:center;width:70px;height:82px;margin-bottom:5px;color:#fff;border-radius:9px 17px 9px 9px;background:var(--painter-red);box-shadow:0 12px 24px #dc3d433d;font:800 .92rem/1 ui-monospace,Consolas,monospace;letter-spacing:.05em}.upload-options{display:grid;grid-template-columns:160px minmax(240px,1fr);gap:16px;margin-top:18px}.field-group{display:grid;gap:7px;color:var(--text-secondary);font-size:.83rem;font-weight:700}.field-group input,.field-group select,.field-group textarea{width:100%;min-height:48px;padding:11px 13px;color:var(--text-primary);border:1px solid var(--border-color);border-radius:10px;outline:none;background:var(--surface-muted);font:inherit;font-weight:600}.field-group textarea{min-height:90px;resize:vertical}.field-group input:focus,.field-group select:focus,.field-group textarea:focus{border-color:var(--painter-accent);box-shadow:0 0 0 3px #1b9ca326}.consent-row,.revision-row{display:flex;gap:11px;align-items:flex-start;margin:18px 0;color:var(--text-primary);cursor:pointer}.consent-row input,.revision-row input{flex:0 0 auto;width:19px;height:19px;margin-top:2px;accent-color:var(--painter-accent)}.consent-row span{display:grid;gap:4px}.consent-row small{color:var(--text-secondary);line-height:1.45}.primary-button,.secondary-button,.download-button{display:inline-flex;justify-content:center;align-items:center;gap:14px;width:100%;min-height:54px;padding:13px 20px;color:#fff;border:0;border-radius:11px;background:linear-gradient(135deg,var(--painter-accent-deep),var(--painter-accent));box-shadow:0 10px 24px #1b9ca338;font-size:.98rem;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.secondary-button{color:var(--painter-accent-deep);border:1px solid color-mix(in srgb,var(--painter-accent) 55%,var(--border-color));background:#1b9ca317;box-shadow:none}.primary-button:hover,.secondary-button:hover,.download-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled{opacity:.48;cursor:not-allowed;transform:none}.inline-status{margin:12px 0;padding:12px 14px;border-radius:9px;color:var(--text-primary);border:1px solid var(--border-color);background:var(--surface-muted);line-height:1.4}.inline-status.error{color:#8f252a;border-color:#dc3d4359;background:#dc3d431a}html[data-theme=dark] .inline-status.error{color:#ffb7ba}.inline-status.success{color:var(--painter-accent-deep);border-color:#1b9ca359;background:#1b9ca31a}.processing-panel,.declined-panel{display:flex;align-items:center;gap:28px;max-width:940px;min-height:180px;margin:28px auto;padding:clamp(24px,5vw,46px)}.processing-panel p,.declined-panel p{margin-top:10px;color:var(--text-secondary);line-height:1.55}.processing-visual{display:grid;gap:10px;width:150px}.processing-visual span{height:8px;border-radius:999px;transform-origin:left center;animation:scan-wire 1.15s ease-in-out infinite alternate}.processing-visual span:nth-child(1){background:var(--painter-red)}.processing-visual span:nth-child(2){background:var(--painter-yellow);animation-delay:-.38s}.processing-visual span:nth-child(3){background:var(--painter-blue);animation-delay:-.76s}@keyframes scan-wire{0%{transform:scaleX(.28);opacity:.55}to{transform:scaleX(1);opacity:1}}.review-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start;margin-top:28px}.review-main{min-width:0;overflow:hidden}.review-toolbar{min-height:84px;padding:16px 20px;border-bottom:1px solid var(--border-color)}.review-toolbar h2{font-size:1.25rem}.toolbar-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.tool-button,.icon-button,.error-tools button,.text-button{min-height:40px;padding:8px 12px;color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;background:var(--surface-muted);font:inherit;font-size:.82rem;font-weight:750;cursor:pointer}.icon-button{width:40px;padding:0;font-size:1.1rem}.tool-button.active,.error-tools button.active{color:#fff;border-color:var(--painter-accent-deep);background:var(--painter-accent-deep)}.diagram-viewport{position:relative;height:min(72vh,840px);min-height:520px;overflow:hidden;background:linear-gradient(rgb(32 72 74 / 8%) 1px,transparent 1px),linear-gradient(90deg,rgb(32 72 74 / 8%) 1px,transparent 1px),#d7dedc;background-size:24px 24px;touch-action:none;cursor:grab}html[data-theme=dark] .diagram-viewport{background-color:#151b1c}.diagram-viewport.is-marking{cursor:crosshair}.diagram-viewport.is-panning{cursor:grabbing}.diagram-plane{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.diagram-plane img,.annotation-layer{position:absolute;inset:0;width:100%;height:100%}.diagram-plane img{display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.annotation-layer{pointer-events:none}.annotation-marker{position:absolute;display:grid;place-items:center;width:22px;height:22px;color:#fff;border:2px solid white;border-radius:50%;box-shadow:0 2px 8px #0000007f;transform:translate(-50%,-50%);font:800 10px/1 ui-monospace,Consolas,monospace}.annotation-segment{position:absolute;height:4px;border-radius:999px;transform-origin:0 50%;box-shadow:0 1px 4px #0000008c}.marker-wrong-colour{background:var(--painter-red)}.marker-non-wire{background:var(--painter-orange)}.marker-missing{background:var(--painter-blue)}.marker-stops-mid{background:var(--painter-yellow);color:#302800}.marker-bleed{background:var(--painter-violet)}.marker-dash-style{background:var(--painter-blue)}.marker-stripe-style{color:#302800;background:linear-gradient(90deg,var(--painter-red) 0 50%,var(--painter-yellow) 50%)}.viewer-hint{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);padding:7px 10px;color:#fff;border-radius:7px;background:#0f2c2dd1;font-size:.72rem;pointer-events:none}.review-sidebar{display:grid;gap:18px}.result-summary,.feedback-panel{padding:20px}.summary-heading{justify-content:flex-start}.summary-heading>div{display:grid;gap:2px}.summary-heading small{color:var(--text-secondary)}.status-dot{width:13px;height:13px;border-radius:50%;background:#24ae76;box-shadow:0 0 0 5px #24ae7624}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.metric-grid>div{min-width:0;padding:12px;border:1px solid var(--border-color);border-radius:10px;background:var(--surface-muted)}.metric-grid dt{color:var(--text-secondary);font-size:.7rem}.metric-grid dd{margin-top:4px;overflow:hidden;color:var(--painter-ink);font-family:ui-monospace,Consolas,monospace;font-size:1rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.download-button{min-height:48px;font-size:.88rem}.text-button{width:100%;margin-top:8px;border:0;background:transparent}.text-button.danger{color:var(--painter-red)}.annotation-count{display:grid;place-items:center;min-width:34px;height:34px;color:#fff;border-radius:50%;background:var(--painter-accent-deep);font-weight:800}.feedback-help,.learning-note{margin:12px 0;color:var(--text-secondary);font-size:.8rem;line-height:1.45}.error-tools{display:grid;gap:7px;margin-bottom:14px}.error-tools button{display:flex;align-items:center;gap:9px;width:100%;text-align:left}.error-swatch{flex:0 0 auto;width:10px;height:10px;border-radius:50%}.error-swatch.wrong{background:var(--painter-red)}.error-swatch.nonwire{background:var(--painter-orange)}.error-swatch.missing{background:var(--painter-blue)}.error-swatch.stops{background:var(--painter-yellow)}.error-swatch.bleed{background:var(--painter-violet)}.error-swatch.dash{background:repeating-linear-gradient(90deg,var(--painter-blue) 0 5px,transparent 5px 8px)}.error-swatch.stripe{background:linear-gradient(90deg,var(--painter-red) 0 50%,var(--painter-yellow) 50%)}.annotation-list{display:grid;gap:6px;max-height:190px;margin-bottom:14px;overflow:auto}.annotation-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:9px;border:1px solid var(--border-color);border-radius:8px;background:var(--surface-muted);font-size:.76rem}.annotation-row button{width:28px;height:28px;color:var(--text-secondary);border:0;border-radius:6px;background:transparent;cursor:pointer}.revision-row{font-size:.82rem}.declined-mark{display:grid;flex:0 0 auto;place-items:center;width:76px;height:76px;color:#312900;border-radius:50%;background:var(--painter-yellow);font-size:2rem;font-weight:900}.declined-panel .secondary-button{width:auto;min-width:220px;margin-top:18px}.beta-boundary{display:grid;grid-template-columns:minmax(180px,.35fr) 1fr;gap:26px;margin:28px 0 0;padding:26px 30px;color:#fff;border:1px solid rgb(255 255 255 / 20%);border-radius:16px;background:#0b2b2a6b}.beta-boundary p{color:#ffffffb8;line-height:1.55}footer{color:#ffffffb8}@media(max-width:1080px){.review-layout{grid-template-columns:1fr}.review-sidebar{grid-template-columns:.85fr 1.15fr}}@media(max-width:760px){.painter-shell{width:min(100% - 18px,1460px);padding-top:84px}.painter-hero{grid-template-columns:1fr;padding:18px 6px 30px}.hero-mark{width:min(220px,65vw);height:112px}.line-red{top:26px}.line-yellow{top:52px}.line-blue{top:78px}.principles-strip,.review-sidebar,.beta-boundary{grid-template-columns:1fr}.panel-heading,.review-toolbar{align-items:flex-start;flex-direction:column}.upload-options{grid-template-columns:1fr}.limit-note{white-space:normal}.processing-panel,.declined-panel{align-items:flex-start;flex-direction:column}.diagram-viewport{min-height:430px;height:62vh}.toolbar-actions{width:100%;justify-content:flex-start}.tool-button{flex:1}.metric-grid{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){.processing-visual span{animation:none}}
