:root{--bg: #0e1116;--bg-panel: #151a21;--bg-hover: #1d242e;--border: #262e39;--fg: #d7dde5;--fg-muted: #8a94a1;--accent: #4da3ff;--ok: #3fca6b;--warn: #e0b23f;--err: #e05f5f}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font:14px/1.45 system-ui,Segoe UI,sans-serif}.layout{display:grid;grid-template-columns:280px 1fr 300px;grid-template-rows:48px 1fr;grid-template-areas:"top top top" "left center right";height:100%}.topbar{grid-area:top;display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--bg-panel)}.topbar h1{font-size:16px;margin:0;letter-spacing:.04em}.conn{font-size:12px;padding:2px 8px;border-radius:10px;border:1px solid var(--border);color:var(--fg-muted)}.conn-live{color:var(--ok);border-color:var(--ok)}.conn-reconnecting,.conn-error{color:var(--warn);border-color:var(--warn)}.col{overflow-y:auto;padding:12px}.col h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);margin:4px 0 10px}.col-left{grid-area:left;border-right:1px solid var(--border);background:var(--bg-panel)}.col-center{grid-area:center}.col-right{grid-area:right;border-left:1px solid var(--border);background:var(--bg-panel)}.empty{color:var(--fg-muted);font-size:13px}.muted{color:var(--fg-muted);font-size:12px}.session{margin-bottom:12px;border:1px solid var(--border);border-radius:8px;padding:8px}.session-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;overflow:hidden}.session-head strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.runs{list-style:none;margin:0;padding:0}.run{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;border-radius:6px;color:var(--fg);padding:5px 6px;cursor:pointer;font:inherit}.run:hover{background:var(--bg-hover)}.run.selected{background:var(--bg-hover);outline:1px solid var(--accent)}.run-name{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--fg-muted)}.dot-running{background:var(--ok);box-shadow:0 0 6px var(--ok)}.dot-finished{background:var(--fg-muted)}.dot-verifying{background:var(--warn)}.dot-verified{background:var(--accent)}.badge{font-size:10px;padding:1px 6px;border-radius:8px;border:1px solid var(--border);color:var(--fg-muted);white-space:nowrap}.badge-model{color:var(--accent);border-color:var(--accent)}.timeline{list-style:none;margin:0;padding:0}.ev{display:flex;gap:10px;align-items:baseline;padding:5px 6px;border-radius:6px}.ev:hover{background:var(--bg-hover)}.ev-icon{width:18px;text-align:center;color:var(--accent);flex:none}.ev-time{color:var(--fg-muted);font-size:12px;font-variant-numeric:tabular-nums;flex:none}.ev-body{min-width:0}.ev-summary{word-break:break-word}.ev-target{display:block;color:var(--fg-muted);font-size:12px;word-break:break-all}.ev-user_prompt .ev-summary{color:#c9e3ff}.ev-session_end .ev-summary,.ev-subagent_end .ev-summary{color:var(--fg-muted)}.ev-unknown .ev-icon{color:var(--warn)}.claims{margin:0 0 16px;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--bg-panel)}.claims h2{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.claims-summary{font-size:13px;letter-spacing:0;text-transform:none;color:var(--fg);font-variant-numeric:tabular-nums}.claims-list{list-style:none;margin:0;padding:0}.claim{border-top:1px solid var(--border)}.claim summary{display:flex;align-items:baseline;gap:10px;padding:6px 4px;cursor:pointer;list-style:none}.claim summary::-webkit-details-marker{display:none}.claim summary:hover{background:var(--bg-hover)}.claim-badge{flex:none;font-size:11px;padding:1px 7px;border-radius:9px;border:1px solid var(--border);color:var(--fg-muted);white-space:nowrap}.claim-ok{color:var(--ok);border-color:var(--ok)}.claim-err{color:var(--err);border-color:var(--err)}.claim-warn{color:var(--warn);border-color:var(--warn)}.claim-na,.claim-pending{color:var(--fg-muted)}.claim-text{min-width:0;word-break:break-word}.claim-detail{padding:2px 4px 8px}.claim-detail p{margin:0 0 6px;word-break:break-word}.claim-evidence{margin:0;padding:8px;border-radius:6px;background:var(--bg);border:1px solid var(--border);font-size:12px;white-space:pre-wrap;word-break:break-word;max-height:240px;overflow-y:auto}.agent-card h3{margin:0 0 6px;font-size:15px}.agent-card h4{margin:12px 0 4px;font-size:12px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.06em}.agent-dept{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 8px}.agent-desc{font-size:13px;margin:0}.agent-tools{font-size:12px;color:var(--fg-muted);margin:0;word-break:break-word}.agentville-placeholder{margin-top:24px;border:1px dashed var(--border);border-radius:10px;padding:20px 12px;text-align:center}.agentville-placeholder p{margin:4px 0}.layout-ville{display:flex;flex-direction:column;height:100%}.topbtn{font:inherit;font-size:13px;color:var(--fg);background:none;border:1px solid var(--border);border-radius:8px;padding:4px 10px;cursor:pointer}.topbtn:hover{background:var(--bg-hover)}.topbtn.active{border-color:var(--accent);color:var(--accent)}.spacer{flex:1}.icon-btn{font:inherit;color:var(--fg-muted);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:6px}.icon-btn:hover{background:var(--bg-hover);color:var(--fg)}.ville-stage{position:relative;flex:1;min-height:0;overflow:hidden}.ville-host{position:absolute;inset:0}.ville-host canvas{display:block}.ville-loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--fg-muted);margin:0}.ville-error{position:absolute;inset:0;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--fg-muted)}.ville-error p{max-width:40ch;margin:0}.ville-error button{padding:8px 18px;border:1px solid var(--border, #262e39);border-radius:8px;background:var(--panel, #151a21);color:var(--fg, #d7dde5);cursor:pointer}.ville-error button:hover{border-color:var(--fg-muted)}.ville-fitall{position:absolute;right:14px;bottom:14px;z-index:5;font:inherit;font-size:13px;color:var(--fg);background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:6px 12px;cursor:pointer}.ville-fitall:hover{border-color:var(--accent)}.ville-tooltip{position:fixed;z-index:20;pointer-events:none;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:5px 9px;font-size:12px;display:flex;flex-direction:column;gap:1px;box-shadow:0 4px 14px #0006}.ville-tooltip span{color:var(--fg-muted);font-size:11px}.drawer,.picker,.agent-panel{position:absolute;top:12px;bottom:12px;z-index:10;background:color-mix(in srgb,var(--bg-panel) 94%,transparent);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;box-shadow:0 8px 28px #00000073}.drawer{left:12px;width:min(560px,calc(100vw - 24px))}.picker{left:12px;width:min(340px,calc(100vw - 24px))}.agent-panel{right:12px;width:min(340px,calc(100vw - 24px))}.drawer-head,.picker-head{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);flex:none}.drawer-head h2,.picker-head h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);margin:0;flex:1}.picker-head h2{flex:none}.picker-head .muted{flex:1}.drawer-body{display:grid;grid-template-columns:220px 1fr;gap:0;flex:1;min-height:0}.drawer-sessions{overflow-y:auto;padding:10px;border-right:1px solid var(--border)}.drawer-timeline{overflow-y:auto;padding:10px}.drawer-body h2{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);margin:2px 0 8px}.picker-filters{display:flex;flex-direction:column;gap:8px;padding:10px 12px 4px;flex:none}.picker-filters input,.picker-filters select{font:inherit;font-size:13px;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:6px 9px}.picker-filters input:focus,.picker-filters select:focus{outline:1px solid var(--accent)}.picker-bulk{display:flex;gap:8px;padding:8px 12px;flex:none}.picker-bulk button{font:inherit;font-size:12px;color:var(--fg-muted);background:none;border:1px solid var(--border);border-radius:8px;padding:3px 9px;cursor:pointer}.picker-bulk button:hover{color:var(--fg);background:var(--bg-hover)}.picker-list{list-style:none;margin:0;padding:4px 8px 10px;overflow-y:auto;flex:1}.picker-row{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;cursor:pointer}.picker-row:hover{background:var(--bg-hover)}.picker-name{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}.agent-panel-body{overflow-y:auto;padding:12px}.badge-scope{color:var(--warn);border-color:var(--warn)}.feed{position:absolute;top:12px;bottom:12px;right:12px;width:min(380px,calc(100vw - 24px));z-index:10;display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px #00000073;overflow:hidden}.ville-stage.feed-open .agent-panel{right:calc(min(380px,calc(100vw - 24px)) + 24px)}.feed-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);flex:none}.feed-head h2{margin:0;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--fg)}.feed-head h2:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 #3fca6b99;animation:feed-pulse 2s infinite;vertical-align:middle}@keyframes feed-pulse{0%{box-shadow:0 0 #3fca6b80}70%{box-shadow:0 0 0 6px #3fca6b00}to{box-shadow:0 0 #3fca6b00}}.feed-filters{display:flex;gap:4px;margin-left:auto}.chip{font:inherit;font-size:11px;color:var(--fg-muted);background:none;border:1px solid var(--border);border-radius:999px;padding:2px 9px;cursor:pointer}.chip:hover{color:var(--fg);background:var(--bg-hover)}.chip.active{color:var(--accent);border-color:var(--accent)}.feed-body{flex:1;overflow-y:auto;padding:6px 0 10px;scroll-behavior:smooth}.feed-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.feed-line{display:flex;align-items:baseline;gap:7px;padding:4px 12px;font-size:12.5px;line-height:1.35;cursor:pointer;border-left:2px solid transparent;animation:feed-in .26s ease-out}@keyframes feed-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.feed-line:hover{background:var(--bg-hover)}.feed-time{flex:none;font-variant-numeric:tabular-nums;font-size:11px;color:var(--fg-muted);opacity:.75}.feed-icon{flex:none;width:1.1em;text-align:center}.feed-text{min-width:0;color:var(--fg)}.feed-who{font-weight:600}.feed-verb{color:var(--fg-muted)}.feed-object{color:var(--fg);word-break:break-word}.feed-line.tone-ok{border-left-color:var(--ok)}.feed-line.tone-bad{border-left-color:var(--err);background:#e05f5f0f}.feed-line.tone-doubt{border-left-color:var(--warn)}.feed-line.tone-na{border-left-color:var(--fg-muted)}.feed-line.tone-life .feed-verb{font-style:italic}.feed-line.tone-life{opacity:.85}.demobox{position:absolute;top:14px;left:50%;transform:translate(-50%);width:min(680px,calc(100% - 32px));z-index:40;background:#151a21eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:12px;padding:12px 14px;box-shadow:0 8px 28px #00000073}.demobox-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.demobox-badge{font-size:11px;font-weight:700;letter-spacing:.06em;color:#0e1116;background:var(--accent);padding:2px 8px;border-radius:999px}.demobox-tag{font-size:12px;color:var(--fg-muted)}.demobox-form{display:flex;gap:8px}.demobox-input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--fg);font-size:14px}.demobox-input:focus{outline:none;border-color:var(--accent)}.demobox-go{border:none;border-radius:8px;padding:0 16px;font-weight:600;color:#0e1116;background:var(--accent);cursor:pointer;white-space:nowrap}.demobox-go:disabled{opacity:.5;cursor:default}.demobox-examples{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.demobox-chip{font-size:12px;color:var(--fg-muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:5px 10px;cursor:pointer}.demobox-chip:hover:not(:disabled){color:var(--fg);border-color:var(--accent)}.demobox-running{display:flex;align-items:center;gap:12px}.demobox-running-txt{display:flex;flex-direction:column;line-height:1.3}.demobox-hint{margin-left:auto;font-size:12px;color:var(--fg-muted);text-align:right}.demobox-spin{width:18px;height:18px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:demospin .9s linear infinite;flex:none}@keyframes demospin{to{transform:rotate(360deg)}}.demobox-error{margin:8px 0 0;font-size:12px;color:var(--err)}.demobox-last{margin:8px 0 0;font-size:12px}.demobox-reviewer{margin-top:10px;max-height:320px;overflow:auto}.demobox-input-wrap{position:relative;flex:1;min-width:0}.demobox-input-wrap .demobox-input{width:100%;box-sizing:border-box}.demobox-input--cmd{color:var(--accent)!important;font-family:monospace}.demobox-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;list-style:none;margin:0;padding:4px 0;background:var(--bg);border:1px solid var(--accent);border-radius:8px;box-shadow:0 6px 20px #00000080}.demobox-suggestion{display:flex;align-items:baseline;gap:10px;padding:8px 12px;cursor:pointer}.demobox-suggestion--focused,.demobox-suggestion:hover{background:#4da3ff1f}.demobox-suggestion-cmd{font-family:monospace;font-size:13px;color:var(--accent);white-space:nowrap}.demobox-suggestion-hint{font-size:12px;color:var(--fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demobox-workflow{margin-top:12px;border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:12px}.demobox-wf-section{display:flex;flex-direction:column;gap:6px}.demobox-wf-title{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted)}.demobox-stories{display:flex;flex-direction:column;gap:4px}.demobox-story{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;cursor:pointer;text-align:left;transition:border-color .15s}.demobox-story:hover:not(:disabled){border-color:var(--accent)}.demobox-story--ready{border-left:3px solid #4da}.demobox-story--proposed{border-left:3px solid var(--border);opacity:.7}.demobox-story--in-progress{border-left:3px solid var(--accent)}.demobox-story--done{border-left:3px solid #888;opacity:.5}.demobox-story-id{font-family:monospace;font-size:11px;font-weight:700;color:var(--accent);white-space:nowrap}.demobox-story-status{font-size:10px;padding:1px 6px;border-radius:999px;background:#ffffff14;color:var(--fg-muted);white-space:nowrap}.demobox-story-title{font-size:12px;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demobox-pipeline{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.demobox-phase{display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 8px;background:#ffffff0a;border:1px solid var(--border);border-radius:6px;position:relative}.demobox-phase+.demobox-phase:before{content:"→";position:absolute;left:-10px;color:var(--fg-muted);font-size:10px}.demobox-phase--gate{border-color:#e8a83a;background:#e8a83a14}.demobox-phase--verify{border-color:#4da;background:#44ddaa14}.demobox-phase-n{font-size:10px;color:var(--fg-muted);line-height:1}.demobox-phase-label{font-size:11px;font-weight:600;color:var(--fg);white-space:nowrap}.demobox-phase--gate .demobox-phase-label{color:#e8a83a}.demobox-phase--verify .demobox-phase-label{color:#4da}.demobox-phase-agent{font-size:9px;color:var(--fg-muted);white-space:nowrap;max-width:80px;overflow:hidden;text-overflow:ellipsis}.demobox-wf-note{font-size:11px;color:var(--fg-muted);margin:0}.demobox-wf-note code{font-family:monospace;color:var(--accent);background:#4da3ff1f;padding:1px 4px;border-radius:3px}.demobox-chip--cmd{color:var(--accent)!important;font-family:monospace;border-color:var(--accent)!important;font-weight:600}.feed-avatar{flex:none;width:20px;height:20px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#0e1116;letter-spacing:-.02em}.reviewer{background:color-mix(in srgb,var(--bg-panel) 94%,transparent);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.reviewer-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}.reviewer-avatar{flex:none;font-size:26px;line-height:1}.reviewer-head h3{margin:0 0 2px;font-size:15px}.reviewer-sub{margin:0;font-size:13px;color:var(--fg-muted)}.reviewer-sub .ok{color:var(--ok)}.reviewer-sub .err{color:var(--err)}.reviewer-group{margin-top:10px}.reviewer-group-title{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.reviewer-group-title.ok{color:var(--ok)}.reviewer-group-title.err{color:var(--err)}.reviewer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.reviewer-item{display:block;padding:0;border-radius:8px;overflow:hidden;background:#ffffff05;border-left:3px solid var(--fg-muted)}.reviewer-details{width:100%}.reviewer-summary{display:flex;align-items:flex-start;gap:9px;padding:6px 8px;cursor:pointer;list-style:none}.reviewer-summary::-webkit-details-marker{display:none}.reviewer-expand{flex:none;margin-left:auto;color:var(--fg-muted);transition:transform .15s ease}.reviewer-details[open] .reviewer-expand{transform:rotate(180deg)}.reviewer-evidence-box{padding:4px 10px 10px 30px;display:flex;flex-direction:column;gap:6px}.reviewer-claim-text{margin:0;font-size:12.5px;font-style:italic;color:var(--fg)}.reviewer-evidence-meta{margin:0;font-size:11px;color:var(--fg-muted)}.reviewer-evidence{margin:0;padding:8px 10px;font-size:11.5px;line-height:1.45;white-space:pre-wrap;word-break:break-word;background:#00000047;border-radius:6px;border:1px solid var(--border);max-height:240px;overflow:auto}.reviewer-open-file{align-self:flex-start;padding:5px 12px;font-size:12px;font-weight:600;color:var(--fg);background:#ffffff0f;border:1px solid var(--border);border-radius:7px;cursor:pointer}.reviewer-open-file:hover{background:#ffffff1f}.reviewer-item.ok{border-left-color:var(--ok);background:#3fca6b14}.reviewer-item.err{border-left-color:var(--err);background:#e05f5f12}.reviewer-item.warn{border-left-color:var(--warn)}.reviewer-tick{flex:none;color:var(--ok);font-weight:900}.reviewer-cross{flex:none}.reviewer-item-body{min-width:0;display:flex;flex-direction:column;gap:1px}.reviewer-item-headline{font-size:13px;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.reviewer-item-method{font-size:11px;color:var(--fg-muted)}.reviewer-pending{margin:8px 0 0;font-size:12px}.projects-panel{position:absolute;top:12px;bottom:12px;right:12px;z-index:12;width:min(560px,calc(100vw - 24px));background:color-mix(in srgb,var(--bg-panel) 94%,transparent);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;box-shadow:0 8px 28px #00000073}.projects-body{flex:1;min-height:0;overflow:auto;padding:12px}.project-shelf{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.project-card{width:100%;text-align:left;background:#ffffff08;border:1px solid var(--border);border-radius:10px;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:4px;color:var(--fg)}.project-card:hover{background:var(--bg-hover);border-color:var(--accent)}.project-card-prompt{font-weight:600;font-size:14px}.project-card-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--fg-muted)}.project-card-meta .ok{color:var(--ok)}.project-viewer{display:flex;flex-direction:column;height:100%;min-height:0}.project-viewer-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.project-viewer-title{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.linklike{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font-size:13px;flex:none}.project-tabs{display:flex;gap:6px;margin-bottom:10px}.project-viewer-body{flex:1;min-height:0;overflow:auto}.project-preview{width:100%;height:100%;min-height:360px;border:1px solid var(--border);border-radius:8px;background:#fff}.project-files{display:grid;grid-template-columns:minmax(140px,40%) 1fr;gap:10px;height:100%;min-height:0}.project-tree{list-style:none;margin:0;padding:0;overflow:auto;display:flex;flex-direction:column;gap:2px}.project-file{width:100%;text-align:left;background:none;border:none;color:var(--fg);cursor:pointer;padding:4px 6px;border-radius:6px;display:flex;justify-content:space-between;gap:8px;font-size:12px}.project-file:hover{background:var(--bg-hover)}.project-file.active{background:color-mix(in srgb,var(--accent) 22%,transparent)}.project-file-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-file-size{flex:none;color:var(--fg-muted)}.project-source{margin:0;overflow:auto;background:#0b0e12;border:1px solid var(--border);border-radius:8px;padding:10px;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}@keyframes board-claim-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes verdict-stamp{0%{transform:scale(2.2) rotate(-8deg);opacity:0}55%{transform:scale(.88) rotate(4deg);opacity:1}80%{transform:scale(1.06) rotate(-1deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes badge-scanning{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.18);filter:brightness(1.5) drop-shadow(0 0 5px #4da3ff)}}@keyframes avatar-glow{0%,to{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 8px rgba(77,163,255,.7))}}@keyframes td-blink-1{0%,to{opacity:.2}15%{opacity:1}}@keyframes td-blink-2{0%,to{opacity:.2}35%{opacity:1}}@keyframes td-blink-3{0%,to{opacity:.2}55%{opacity:1}}@keyframes cfp-beam-sweep{0%{top:0;opacity:.8}85%{top:calc(100% - 2px);opacity:.8}to{top:calc(100% - 2px);opacity:0}}@keyframes idle-beam-sweep{0%{top:0;opacity:.4}80%{top:100%;opacity:.4}to{top:100%;opacity:0}}@keyframes progress-grow{0%{width:0}}.reviewer-board{background:radial-gradient(circle,rgba(255,255,255,.025) 1px,transparent 1px);background-size:20px 20px;background-color:color-mix(in srgb,var(--bg-panel) 94%,transparent);border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.board-head{display:flex;align-items:flex-start;gap:10px}.reviewer-avatar{font-size:26px;flex:none;line-height:1}.reviewer-avatar.avatar-pulse{animation:avatar-glow 2s ease-in-out infinite}.reviewer-board h3{margin:0 0 2px;font-size:15px}.board-progress-rail{height:3px;background:var(--border);border-radius:2px;overflow:hidden}.board-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--ok));border-radius:2px;transition:width .4s ease;animation:progress-grow .3s ease-out}.board-empty{position:relative;height:60px;border:1px dashed var(--border);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.board-empty-hint{position:relative;z-index:1;margin:0}.board-idle-beam{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:idle-beam-sweep 2.4s ease-in-out infinite}.board-claims-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.board-claim{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:8px;border-left:3px solid var(--border);background:#ffffff06;animation:board-claim-in .28s ease-out both}.board-claim.ok{border-left-color:var(--ok);background:#3fca6b12}.board-claim.err{border-left-color:var(--err);background:#e05f5f12}.board-claim.warn{border-left-color:var(--warn);background:#e0b23f0f}.board-claim.na{border-left-color:var(--border)}.board-badge{flex:none;font-size:18px;line-height:1;margin-top:1px;transition:transform .15s}.board-badge.badge-scan{animation:badge-scanning 1.6s ease-in-out infinite}.board-badge.badge-stamp{animation:verdict-stamp .5s cubic-bezier(.34,1.56,.64,1) both}.board-claim-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.board-claim-headline{font-size:13px;font-weight:500;word-break:break-all;color:var(--fg)}.board-claim-status{font-size:12px}.board-claim-status.ok{color:var(--ok)}.board-claim-status.err{color:var(--err)}.board-claim-status.warn{color:var(--warn)}.think-dots{display:inline-block;margin-left:1px}.think-dots .td-1{animation:td-blink-1 1.5s ease-in-out infinite}.think-dots .td-2{animation:td-blink-2 1.5s ease-in-out infinite}.think-dots .td-3{animation:td-blink-3 1.5s ease-in-out infinite}.cfp-wrap{margin-top:6px;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:#0b0e12;font-size:11px}.cfp-name{padding:4px 8px;font-size:11px;color:var(--fg-muted);background:#ffffff0a;border-bottom:1px solid var(--border);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.cfp-code-wrap{position:relative;overflow:hidden;max-height:180px}.cfp-scan-beam{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--accent) 30%,#a0cfff 50%,var(--accent) 70%,transparent 100%);pointer-events:none;z-index:2;animation:cfp-beam-sweep 2s ease-in-out infinite}.cfp-code{margin:0;padding:6px 8px;font-size:11px;line-height:1.45;color:#d7dde5bf;white-space:pre;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;mask-image:linear-gradient(to bottom,#000 70%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent 100%)}.cfp-loading{padding:8px;font-size:11px;color:var(--fg-muted);font-style:italic}.board-evidence-wrap{margin-top:4px}.board-evidence-toggle{font-size:11px;color:var(--fg-muted);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.board-evidence-toggle::-webkit-details-marker{display:none}.board-evidence-toggle:hover{color:var(--fg)}.board-evidence{margin:4px 0 0;padding:7px 9px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:11px;white-space:pre-wrap;word-break:break-word;max-height:180px;overflow-y:auto}@keyframes wk-enter{0%{left:calc(100% + 32px);opacity:0}15%{opacity:1}to{left:62%;opacity:1}}@keyframes wk-board-glow{0%,to{box-shadow:0 0 #78ff7800}50%{box-shadow:0 0 22px #78ff782e}}@keyframes wk-chalk-in{0%{clip-path:inset(0 100% 0 0);opacity:0}5%{opacity:1}to{clip-path:inset(0 0% 0 0);opacity:1}}@keyframes wk-chalk-rule{0%{width:0;opacity:0}to{width:100%;opacity:.35}}@keyframes wk-agent-work{0%{transform:translateY(0) rotate(0)}25%{transform:translateY(-5px) rotate(-4deg)}75%{transform:translateY(-2px) rotate(3deg)}to{transform:translateY(0) rotate(0)}}@keyframes wk-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes wk-bubble-in{0%{opacity:0;transform:translateY(6px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes wk-shelf-file-in{0%{opacity:0;transform:translate(-12px) scale(.85)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes wk-door-open{0%{transform:perspective(400px) rotateY(0)}to{transform:perspective(400px) rotateY(-65deg)}}@keyframes wk-done-in{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes wk-cursor{0%,to{opacity:1}50%{opacity:0}}.wk-overlay{position:fixed;inset:0;z-index:250;background:#080812e6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px}.wk-room{width:100%;max-width:960px;height:min(640px,calc(100vh - 80px));display:flex;flex-direction:column;border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px #ffffff0f,0 12px 60px #000000b3,0 0 80px #3c785014}.wk-header{flex:none;background:#0e1117;padding:10px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.06);min-height:44px}.wk-badge{flex:none;background:#1a4a2a;color:#7effa0;border:1px solid #2a6a3a;border-radius:20px;padding:2px 11px;font-size:11px;font-weight:600;letter-spacing:.3px;white-space:nowrap}.wk-prompt{flex:1;color:#ffffffc7;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wk-close{flex:none;background:#1e4d2e;color:#7effa0;border:1px solid #2a6a3a;border-radius:8px;padding:5px 14px;font-size:12px;cursor:pointer;transition:background .15s}.wk-close:hover{background:#2a6a3a}.wk-main{flex:1;display:flex;flex-direction:column;min-height:0}.wk-back-wall{flex:1;display:flex;gap:14px;padding:18px 20px 12px;background:linear-gradient(to bottom,#f5f0e8,#ece4d0);min-height:0;background-image:linear-gradient(to bottom,#f5f0e8,#ece4d0),repeating-linear-gradient(0deg,transparent,transparent 18px,rgba(180,160,120,.08) 18px,rgba(180,160,120,.08) 19px),repeating-linear-gradient(90deg,transparent,transparent 18px,rgba(180,160,120,.08) 18px,rgba(180,160,120,.08) 19px)}.wk-blackboard{flex:.6;display:flex;flex-direction:column;background:#1a2e1a;border:7px solid #7a4a1a;border-radius:6px;overflow:hidden;position:relative;transition:box-shadow .5s;min-width:0}.wk-blackboard.board-lit{animation:wk-board-glow 2.2s ease-in-out infinite;border-color:#9a6a2a}.board-title{flex:none;background:#0000004d;color:#ffffff59;text-align:center;font-size:9px;letter-spacing:3px;padding:3px 0;font-weight:700;text-transform:uppercase}.board-content{flex:1;padding:16px 18px;display:flex;flex-direction:column;justify-content:center;gap:10px;min-height:0;overflow:hidden}.board-chalk{display:flex;align-items:baseline;gap:8px;opacity:0}.board-chalk.chalk-in{animation:wk-chalk-in .9s cubic-bezier(.22,.61,.36,1) forwards}.chalk-icon{font-size:16px;flex:none}.chalk-text{font-family:Courier New,Courier,monospace;font-size:15px;color:#f0f0e8;word-break:break-all;text-shadow:1px 0 0 rgba(240,240,232,.3),0 1px 0 rgba(240,240,232,.2);letter-spacing:.5px}.board-chalk-lines{display:flex;flex-direction:column;gap:5px;margin-top:4px}.chalk-rule{height:2px;background:#ffffff38;border-radius:2px;width:0;animation:wk-chalk-rule .7s .3s ease-out forwards}.chalk-rule.cr2{animation-delay:.5s;width:0}.chalk-rule.cr3{width:0;animation-delay:.7s;max-width:55%}.board-idle-cursor{width:10px;height:20px;background:#ffffff80;border-radius:2px;animation:wk-cursor 1.2s ease-in-out infinite}.board-done-msg{color:#82ffa0cc;font-size:16px;text-align:center;font-weight:600;letter-spacing:.5px}.wk-shelf{flex:.4;display:flex;flex-direction:column;background:#3d2f1a;border-radius:6px;overflow:hidden;min-width:0;box-shadow:inset 0 2px 6px #0006}.shelf-header{flex:none;display:flex;align-items:center;gap:6px;padding:8px 12px;background:#2d2010;color:#ffffffb3;font-size:11px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.06)}.shelf-pin{font-size:14px}.shelf-count{margin-left:auto;background:#1a4a2a;color:#7effa0;border-radius:10px;padding:0 7px;font-size:10px;line-height:18px}.shelf-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.shelf-empty{color:#ffffff4d;font-size:11px;text-align:center;padding:16px 0;font-style:italic}.shelf-file{display:flex;align-items:center;gap:7px;background:#ffffff0f;border-left:3px solid var(--fc, #8b9dc3);border-radius:0 5px 5px 0;padding:5px 8px;animation:wk-shelf-file-in .4s cubic-bezier(.34,1.4,.64,1) both;cursor:default;transition:background .15s}.shelf-file:hover{background:#ffffff1c}.sf-icon{font-size:14px;flex:none}.sf-name{font-size:11px;color:#ffffffd1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Courier New,Courier,monospace}.wk-floor{flex:none;height:110px;position:relative;background:repeating-linear-gradient(90deg,#8b6344,#9a7256,#8b6344 88px);border-top:4px solid #6b4c2e;overflow:hidden}.wk-floor:before{content:"";position:absolute;top:0;left:0;right:0;height:18px;background:linear-gradient(to bottom,rgba(0,0,0,.28),transparent);pointer-events:none}.wk-door{position:absolute;right:60px;bottom:0;width:56px;height:80px;transform-style:preserve-3d;transform-origin:right center}.wk-door.door-open{animation:wk-door-open .5s ease-out forwards}.door-panel{width:100%;height:100%;background:linear-gradient(135deg,#c8921e,#a87018,#c8921e);border-radius:4px 4px 0 0;border:3px solid #8b5e10;position:relative;box-shadow:inset -3px 0 6px #0000004d}.door-knob{position:absolute;left:6px;top:50%;transform:translateY(-50%);width:8px;height:8px;background:#f0d060;border-radius:50%;box-shadow:0 0 0 1px #c0a040}.door-panel-detail{position:absolute;inset:8px;border:1px solid rgba(255,255,255,.15);border-radius:2px}.door-frame-label{position:absolute;bottom:-24px;left:50%;transform:translate(-50%);font-size:18px;pointer-events:none}.wk-agent{position:absolute;bottom:14px;transition:left .95s cubic-bezier(.4,0,.2,1),opacity .4s}.agent-sprite{display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}.agent-head{font-size:32px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.agent-shadow{width:28px;height:5px;background:#0000004d;border-radius:50%;margin-top:-4px}.agent-bubble{position:absolute;top:-30px;left:50%;transform:translate(-50%);background:#1a2e1a;color:#a0ffa8;border:1px solid #2a5a2a;border-radius:10px;padding:3px 9px;font-size:11px;white-space:nowrap;animation:wk-bubble-in .3s ease-out both;pointer-events:none}.agent-bubble-wait{background:#2a2a1a;color:#ffdc64e6;border-color:#4a4a1a}.wk-agent.agent-entering{left:62%;animation:wk-enter 1.7s cubic-bezier(.22,.61,.36,1) forwards}.wk-agent.agent-idle{left:62%}.wk-agent.agent-walking,.wk-agent.agent-working,.wk-agent.agent-placing{left:20%}.wk-agent.agent-returning{left:62%}.wk-agent.agent-leaving{left:calc(100% + 40px);opacity:0}.wk-agent.agent-walking .agent-sprite,.wk-agent.agent-returning .agent-sprite{animation:wk-bob .45s ease-in-out infinite}.wk-agent.agent-working .agent-sprite{animation:wk-agent-work .5s ease-in-out infinite}.wk-done-banner{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#0e2a1a;border:1px solid #2a6a3a;border-radius:24px;padding:8px 22px;display:flex;align-items:center;gap:10px;animation:wk-done-in .5s cubic-bezier(.34,1.4,.64,1) both;box-shadow:0 4px 20px #0006}.done-icon{font-size:20px}.done-text{color:#7effa0;font-size:15px;font-weight:600}
