/* Design concept: Industrial Verification Console — graphite control-room surfaces, blueprint cyan, safety amber, asymmetric dense workbench. Motion is mechanical and visible; borders stay square to signal precision. */
:root{--bg:#080d11;--panel:#0e161d;--panel2:#111c24;--line:#25323c;--line2:#344550;--text:#e8f0f2;--muted:#87959f;--cyan:#24d7c8;--cyan2:#0e817a;--amber:#ffb84d;--red:#ff625c;--blue:#55a8ff;--shadow:0 24px 80px #0008}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:"IBM Plex Sans","Noto Sans SC","Microsoft YaHei",system-ui,sans-serif}button,textarea,input{font:inherit}.hidden{display:none!important}button{color:inherit}.topbar{height:64px;display:flex;align-items:center;padding:0 28px;border-bottom:1px solid var(--line);background:#0a1117;position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;font-size:15px;letter-spacing:.16em}.brand b{color:var(--cyan);font-weight:700}.brand-mark{width:30px;height:30px;border:1px solid var(--cyan);position:relative;display:grid;place-items:center;transform:rotate(45deg)}.brand-mark i{position:absolute;background:var(--cyan)}.brand-mark i:nth-child(1){width:16px;height:1px}.brand-mark i:nth-child(2){width:1px;height:16px}.brand-mark i:nth-child(3){width:5px;height:5px;border:1px solid var(--cyan);background:#0a1117}.scope{margin-left:auto;margin-right:22px;font-size:12px;color:#a7b4bb;letter-spacing:.04em}.pulse{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px #ffb84d19}.btn{border:1px solid var(--line2);background:#13202a;padding:9px 15px;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-1px);border-color:var(--cyan)}.btn.primary{background:var(--cyan);border-color:var(--cyan);color:#05100f;font-weight:750}.btn.ghost{background:transparent}.mobile-sample{display:none;margin-left:auto;margin-right:7px}.btn.large{padding:13px 22px}.shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:calc(100vh - 64px)}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:0 12px 40px #0002}.rail{border-width:0 1px 0 0;display:flex;flex-direction:column;min-height:calc(100vh - 64px);position:sticky;top:64px;height:calc(100vh - 64px)}.rail-head{height:54px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.12em}.icon-btn{border:1px solid var(--line);background:#111c24;width:28px;height:28px;cursor:pointer}.jobs{padding:10px;overflow:auto;flex:1}.job{display:block;width:100%;text-align:left;background:transparent;border:1px solid transparent;padding:12px 10px;cursor:pointer;margin-bottom:5px;position:relative}.job:hover{background:#111b22}.job.active{border-color:var(--cyan2);background:#10201f}.job.active:before{content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:2px;background:var(--cyan)}.job b,.job span,.job small{display:block}.job b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job span{font-size:11px;color:var(--cyan);margin-top:7px}.job small{font:10px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted);margin-top:4px}.rail-foot{padding:12px;border-top:1px solid var(--line)}.sample-cta{width:100%;text-align:left;padding:12px;border:1px dashed var(--line2);background:#0b1217;cursor:pointer}.sample-cta:hover{border-color:var(--cyan)}.sample-cta span,.sample-cta small{display:block}.sample-cta span{font-weight:700}.sample-cta small{color:var(--muted);margin-top:4px}.workspace{padding:18px;min-width:0}.empty-state{min-height:calc(100vh - 100px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:8vw;position:relative;overflow:hidden}.empty-state:after{content:"";position:absolute;width:52vw;height:52vw;border:1px solid #1c3139;right:-19vw;top:-18vw;transform:rotate(18deg);box-shadow:0 0 0 70px #0d171c,0 0 0 71px #1c3139,0 0 0 140px #0d171c,0 0 0 141px #1c3139}.empty-state>*{position:relative;z-index:2}.eyebrow{color:var(--cyan);font:700 10px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.2em;text-transform:uppercase}.empty-state h1{font-size:clamp(38px,5vw,72px);letter-spacing:-.055em;max-width:760px;margin:9px 0 16px;line-height:.98}.empty-state>p:not(.eyebrow){color:#aab7be;font-size:16px;line-height:1.8;max-width:640px}.actions{display:flex;gap:10px;margin-top:24px}.promise{display:flex;gap:28px;margin-top:54px;color:#65747e;font:10px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}.scan-art{width:130px;height:85px;position:absolute!important;right:18%;top:24%;z-index:3!important;transform:rotate(-8deg)}.sheet{position:absolute;border:1px solid var(--cyan2);width:100px;height:70px;background:#0b171b99}.s2{left:18px;top:12px}.sheet:before,.sheet:after{content:"";position:absolute;background:#1f8e87}.sheet:before{left:10px;right:10px;height:1px;top:18px;box-shadow:0 13px #1f8e87,0 26px #1f8e87}.sheet:after{top:8px;bottom:8px;width:1px;left:35px}.crosshair{position:absolute;width:25px;height:25px;border:1px solid var(--amber);right:-5px;bottom:-5px;animation:scan 2.4s ease-in-out infinite}@keyframes scan{50%{transform:scale(1.25);box-shadow:0 0 24px #ffb84d66}}.active-state{display:flex;flex-direction:column;gap:14px}.status-strip{height:66px;display:grid;grid-template-columns:minmax(240px,1fr) minmax(140px,280px) 48px 260px;align-items:center;gap:18px;padding:0 18px}.status-main{display:flex;align-items:center;min-width:0}.status-main strong,.status-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-main strong{font-size:13px}.status-main small{color:var(--muted);margin-top:4px}.state-dot{width:9px;height:9px;background:var(--amber);margin-right:12px;box-shadow:0 0 0 5px #ffb84d12}.state-dot.done{background:var(--cyan);box-shadow:0 0 0 5px #24d7c815}.state-dot.blocked{background:var(--red)}.progress{height:4px;background:#1d2931;overflow:hidden}.progress span{display:block;height:100%;width:0;background:var(--cyan);transition:width .5s}.status-strip>b{font:12px ui-monospace,monospace;color:var(--cyan)}.hash{font:10px ui-monospace,monospace;color:#6f7d86;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visual-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;min-height:500px}.drawing,.inspector{min-height:500px}.panel-title{height:56px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.panel-title span,.panel-title small{display:block}.panel-title span{font-size:13px;font-weight:750}.panel-title small{font-size:10px;color:var(--muted);margin-top:3px}.view-actions{display:flex;gap:5px}.chip{border:1px solid var(--line);background:#0b1318;color:var(--muted);font-size:10px;padding:5px 8px;cursor:pointer}.chip.active{color:var(--cyan);border-color:var(--cyan2)}.canvas{height:calc(100% - 56px);min-height:440px;background:#05090c;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.canvas img{width:100%;height:100%;object-fit:contain;filter:invert(.9) hue-rotate(120deg) saturate(.65) brightness(.78);position:relative;z-index:1;transition:transform .5s,opacity .3s}.canvas:hover img{transform:scale(1.015)}.canvas-grid{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.25;background-image:linear-gradient(#29404a 1px,transparent 1px),linear-gradient(90deg,#29404a 1px,transparent 1px);background-size:40px 40px}.coords{position:absolute;left:12px;bottom:10px;z-index:3;padding:5px 8px;background:#071015dc;color:#79a6a3;font:10px ui-monospace,monospace}.canvas-notice{position:absolute;z-index:4;padding:12px 16px;border:1px solid var(--line2);background:#0b1318e8;color:var(--muted);font-size:12px}.tabs{height:56px;display:flex;border-bottom:1px solid var(--line)}.tab{flex:1;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;font-size:12px}.tab.active{color:var(--cyan);box-shadow:inset 0 -2px var(--cyan)}.tab-body{height:444px;overflow:auto;padding:10px}.frame-card{padding:13px;border:1px solid var(--line);margin-bottom:8px;background:#0b1318;cursor:pointer}.frame-card:hover,.frame-card.active{border-color:var(--cyan2);background:#10201f}.frame-top{display:flex;justify-content:space-between;gap:8px}.frame-card b{font-size:12px}.verified{color:var(--cyan);font:9px ui-monospace,monospace}.frame-card h3{font-size:13px;line-height:1.45;margin:10px 0}.frame-meta{display:grid;grid-template-columns:1fr 1fr;gap:5px;color:var(--muted);font-size:10px}.frame-evidence{margin-top:10px;font:10px ui-monospace,monospace;color:#6f8c91}.element-row{display:grid;grid-template-columns:1fr auto;align-items:center;padding:9px 7px;border-bottom:1px solid #1d2931;font-size:11px}.element-row b{font:700 12px ui-monospace,monospace}.element-row small{color:var(--muted)}.bar{height:2px;background:#1d2931;grid-column:1/3;margin-top:6px}.bar i{display:block;height:100%;background:var(--cyan)}.meta-list{margin:0}.meta-row{display:grid;grid-template-columns:92px 1fr;gap:10px;padding:9px 6px;border-bottom:1px solid #1d2931;font-size:11px}.meta-row dt{color:var(--muted)}.meta-row dd{margin:0;text-align:right;overflow-wrap:anywhere}.lower-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;min-height:350px}.qa,.risk{min-height:350px}.policy-badge{font:9px ui-monospace,monospace!important;color:var(--cyan)!important;border:1px solid var(--cyan2);padding:5px 7px}.messages{height:220px;overflow:auto;padding:14px}.welcome{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:11px}.welcome button{border:1px solid var(--line);background:#111b22;padding:7px 9px;cursor:pointer}.message{max-width:85%;margin-bottom:13px;font-size:13px;line-height:1.65}.message.user{margin-left:auto;background:#18302f;padding:9px 12px}.message.agent{border-left:2px solid var(--cyan);padding:3px 0 3px 13px}.message .answer-head{display:flex;gap:8px;align-items:center;margin-bottom:6px}.answer-state{font:9px ui-monospace,monospace;padding:3px 6px;border:1px solid var(--cyan2);color:var(--cyan)}.answer-state.warning,.answer-state.blocked{border-color:#7f5a24;color:var(--amber)}.evidence-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.evidence-link{border:1px solid var(--line);background:#0b1318;color:#9db0b7;padding:6px 8px;font-size:10px;cursor:pointer}.evidence-link:hover{border-color:var(--cyan);color:var(--cyan)}.ask-form{display:grid;grid-template-columns:1fr auto;border-top:1px solid var(--line);min-height:72px}.ask-form textarea{border:0;background:#0b1318;color:var(--text);resize:none;padding:17px;outline:none;line-height:1.5}.ask-btn{border:0;border-left:1px solid var(--line);background:var(--cyan);color:#07100f;font-weight:800;padding:0 20px;cursor:pointer}.risk-list{padding:10px;height:294px;overflow:auto}.risk-item{border-left:2px solid var(--amber);padding:9px 11px;margin-bottom:8px;background:#111920}.risk-item.critical{border-color:var(--red)}.risk-item b{display:block;font-size:11px}.risk-item p{margin:5px 0 0;color:#91a0a8;font-size:10px;line-height:1.5}.risk-empty{color:var(--muted);font-size:12px;padding:20px 8px}.modal{position:fixed;inset:0;background:#030709dc;z-index:50;display:grid;place-items:center;padding:20px}.modal-card{width:min(580px,100%);padding:34px;position:relative;box-shadow:var(--shadow)}.modal-card h2{font-size:28px;margin:8px 0}.modal-card>p:not(.eyebrow){color:var(--muted);line-height:1.65;font-size:13px}.modal-close,.drawer-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:25px;color:var(--muted);cursor:pointer}.dropzone{margin-top:24px;height:210px;border:1px dashed var(--cyan2);background:#081218;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:.2s}.dropzone.drag{background:#102321;border-color:var(--cyan)}.dropzone input{display:none}.dropzone b{margin-top:10px}.dropzone small{color:var(--muted);margin-top:5px}.drop-icon{font-size:38px;color:var(--cyan)}.upload-note{display:flex;justify-content:space-between;color:#6f7f87;font-size:10px;margin-top:13px}.evidence-drawer{position:fixed;z-index:60;right:0;top:0;height:100vh;width:min(470px,100%);background:#0c141a;border-left:1px solid var(--line2);box-shadow:-30px 0 90px #0009;padding:28px;transform:translateX(105%);transition:transform .35s cubic-bezier(.2,.8,.2,1);overflow:auto}.evidence-drawer.open{transform:translateX(0)}.evidence-drawer h2{margin:8px 0 24px}.evidence-card{border:1px solid var(--line);background:#091116;margin-bottom:12px}.evidence-preview{height:190px;background:#030608;display:flex;align-items:center;justify-content:center;overflow:hidden}.evidence-preview img{width:100%;height:100%;object-fit:cover;filter:invert(.9) hue-rotate(120deg) saturate(.6) brightness(.75)}.evidence-body{padding:14px}.evidence-body strong{display:block;font-size:13px}.kv{display:grid;grid-template-columns:90px 1fr;gap:8px;margin-top:10px;font-size:11px}.kv span:nth-child(odd){color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;background:#152129;border:1px solid var(--line2);padding:10px 14px;font-size:12px;z-index:100;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1050px){.shell{grid-template-columns:1fr}.rail{display:none}.visual-grid,.lower-grid{grid-template-columns:1fr}.inspector{min-height:360px}.tab-body{height:304px}.scope{display:none}.status-strip{grid-template-columns:1fr 140px 40px}.hash{display:none}}
@media(max-width:640px){.topbar{padding:0 14px}.mobile-sample{display:block}.brand{font-size:12px}.brand-mark{width:25px;height:25px}.topbar .btn{padding:8px 10px}.workspace{padding:8px}.empty-state{padding:32px 24px;min-height:calc(100vh - 80px)}.empty-state h1{font-size:42px}.scan-art{display:none}.promise{display:grid;grid-template-columns:1fr 1fr;gap:12px}.actions{flex-direction:column;width:100%}.status-strip{height:auto;min-height:84px;grid-template-columns:1fr 42px;padding:12px}.progress{grid-row:2;grid-column:1}.visual-grid{min-height:0}.drawing{min-height:390px}.canvas{min-height:330px}.inspector{min-height:340px}.lower-grid{min-height:0}.qa,.risk{min-height:320px}.view-actions .chip:nth-child(3){display:none}.upload-note{flex-direction:column;gap:5px}.modal-card{padding:25px 18px}.evidence-drawer{padding:22px 16px}}
