:root,[data-theme="light"]{color-scheme:light;--neumorphism-background:#E7ECF2;--neumorphism-raised:-10px -10px 22px #FFF,10px 10px 22px #BCC5D1;--neumorphism-raised-sm:-5px -5px 12px #FFF,5px 5px 12px #BCC5D1;--neumorphism-inset:inset 5px 5px 10px #C6CED8,inset -5px -5px 10px #FFF;--neumorphism-radius:24px;--neumorphism-accent:#5576FF;--bg:var(--neumorphism-background);--panel:#F8FBFF;--line:#D5DCE6;--text:#273142;--muted:#7C889B;--accent:var(--neumorphism-accent);--ok:#12966E;--warn:#D97706;--danger:#E5484D;--canvas-bg:#E7ECF2;--canvas-grid:rgba(39,49,66,.055);--ease:cubic-bezier(.22,1,.36,1);--dur:180ms;font-family:Inter,"Microsoft YaHei","PingFang SC",system-ui,sans-serif;font-synthesis:none}
[data-theme="dark"]{color-scheme:dark;--neumorphism-background:#0D1219;--neumorphism-raised:-8px -8px 18px #151E29,8px 8px 18px #06080C;--neumorphism-raised-sm:-4px -4px 10px #151E29,4px 4px 10px #06080C;--neumorphism-inset:inset 4px 4px 9px #06080C,inset -4px -4px 9px #16202C;--neumorphism-radius:24px;--neumorphism-accent:#5576FF;--bg:var(--neumorphism-background);--panel:#121923;--line:#1F2A38;--text:#E6ECF2;--muted:#8292A6;--accent:#5576FF;--ok:#34D399;--warn:#FBBF24;--danger:#F87171;--canvas-bg:#0D1219;--canvas-grid:rgba(230,236,242,.045)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.65;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;transition:background var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.45}button:not(:disabled):active{transform:translateY(1px)}button:focus-visible,a:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:hover:not(:disabled){color:var(--accent)}[hidden]{display:none!important}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h2{font-size:19px;font-weight:650;letter-spacing:-.03em}h3{font-size:14px;font-weight:650}p{margin-bottom:16px}.mono,.eyebrow,.flow-eyebrow,.status-pill,kbd,.flow-footer,.version{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}.topbar{height:56px;display:flex;align-items:center;gap:22px;padding:0 30px;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{font-weight:700;letter-spacing:.06em;white-space:nowrap}.version{font-weight:400;font-size:10px;color:var(--muted);letter-spacing:0}.status-pill{font-size:10px;color:var(--muted);letter-spacing:.025em}.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.tactile{background:var(--bg);box-shadow:var(--neumorphism-raised-sm);padding:7px 13px;border-radius:10px;font-size:11px;min-height:32px;white-space:nowrap}.icon-button{font-size:17px;width:34px;padding:0}.tactile[aria-pressed="true"]{box-shadow:var(--neumorphism-inset);color:var(--accent)}.flow-view{min-height:calc(100dvh - 56px);display:grid;place-items:center;padding:44px 24px 60px}.flow-wrap{width:100%;max-width:600px}.flow-eyebrow{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:.13em;margin:0 4px 16px}.progress-track{height:2px;background:var(--line);margin-bottom:28px}.progress-track>div{height:100%;background:var(--accent);transition:width var(--dur) var(--ease)}.question-card{border-radius:var(--neumorphism-radius);box-shadow:var(--neumorphism-raised);padding:36px 38px;background:var(--bg);animation:arrive var(--dur) var(--ease)}.question-meta{display:flex;align-items:center;gap:9px;margin-bottom:22px;font-size:11px;letter-spacing:.1em;color:var(--accent)}.question-meta::before{content:"";width:5px;height:5px;background:var(--accent);border-radius:50%}.question-card h1{font-size:25px;line-height:1.65;letter-spacing:-.03em;font-weight:650;margin:0 0 14px}.question-hint{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:26px}.options{display:grid;gap:14px;margin-top:26px}.option{display:flex;align-items:center;gap:16px;text-align:left;border-radius:13px;box-shadow:var(--neumorphism-raised-sm);padding:15px 17px;border-left:3px solid transparent;font-size:13px;min-height:56px;width:100%;line-height:1.6}.option-letter{display:inline-grid;place-items:center;flex-shrink:0;width:24px;height:24px;border:1px solid var(--line);border-radius:6px;font:11px Consolas,monospace;color:var(--muted)}.option.selected{box-shadow:var(--neumorphism-inset);border-left-color:var(--accent);color:var(--text)}.option.selected .option-letter{background:var(--accent);border-color:var(--accent);color:white}.micro-wrap{animation:arrive var(--dur) var(--ease);margin-top:24px}.micro-wrap label{font-size:11px;line-height:1.7}.count{font:10px Consolas,monospace;color:var(--muted);text-align:right;margin-top:5px}input,textarea,select{background:var(--bg);border:1px solid transparent;border-radius:12px;padding:13px 15px;width:100%;box-shadow:var(--neumorphism-inset);outline:none;font-size:13px;transition:border-color var(--dur) var(--ease)}input:focus,textarea:focus,select:focus{border-color:var(--accent)}textarea{resize:vertical;line-height:1.9;min-height:100px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}label{display:block;font-size:12px;margin:14px 0 8px}select{appearance:auto}.question-nav{display:flex;justify-content:space-between;align-items:center;margin-top:32px;gap:16px}.primary,.secondary{border-radius:11px;min-height:42px;padding:11px 21px;font-size:12px;font-weight:550}.primary{background:var(--accent);color:white}.primary:hover:not(:disabled){color:white;background:#4665ed}.secondary{background:var(--panel);border:1px solid var(--line)}.text-button{padding:7px 0;font-size:11px;color:var(--muted)}.full{width:100%;margin-top:12px}.flow-footer{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin:25px 4px 0;gap:16px;line-height:1.8}.keyboard-hint{white-space:nowrap}kbd{font-size:9px;border:1px solid var(--line);padding:2px 4px;border-radius:3px}.map-view{display:grid;grid-template-columns:minmax(0,1fr) 440px;height:calc(100dvh - 56px)}.map-panel{min-width:0;min-height:0;position:relative;overflow:hidden}.map-panel canvas{width:100%;height:100%;display:block;touch-action:none}.dimension-filters{position:absolute;z-index:2;top:20px;left:20px;right:20px;display:flex;justify-content:center;gap:7px;flex-wrap:wrap}.filter{border:1px solid var(--line);border-radius:20px;background:var(--panel);font-size:10px;padding:5px 11px}.filter.active{color:var(--accent);border-color:var(--accent)}.map-caption{position:absolute;left:28px;bottom:86px;pointer-events:none;display:grid;gap:4px;font-size:10px;color:var(--muted)}.map-caption>span:first-child{color:var(--text);letter-spacing:.15em}.map-tools{position:absolute;left:28px;bottom:30px;display:flex;gap:12px}.map-instruction{position:absolute;right:24px;bottom:34px;color:var(--muted);font-size:9px;pointer-events:none}.console{border-left:1px solid var(--line);background:var(--panel);padding:26px 26px 50px;overflow-y:auto;scrollbar-width:thin}.console-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;font-size:10px;color:var(--muted)}.eyebrow{letter-spacing:.13em;font-size:10px;color:var(--muted)}.console h1{font-size:26px;font-weight:550;letter-spacing:-.04em;margin:0 0 10px}.console .status-line{font-size:11px;line-height:1.8;color:var(--muted);margin-bottom:23px}.score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.score-item{padding:12px;border:1px solid var(--line);border-radius:9px;text-align:left}.score-item span{display:block;font-size:10px;color:var(--muted)}.score-item strong{font-family:Consolas,monospace;font-size:22px;font-weight:400}.score-bar{height:2px;background:var(--line);margin-top:7px}.score-bar i{display:block;height:100%;background:var(--accent)}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.section-title h2{font-size:15px;margin:0}.paradox{border-left:2px solid var(--danger);padding:10px 12px;background:var(--bg);margin:10px 0;border-radius:0 7px 7px 0;font-size:11px}.paradox strong{display:block;color:var(--danger);font-size:12px;margin-bottom:5px}.help{font-size:11px;color:var(--muted);line-height:1.85;margin:10px 0}.danger{color:var(--danger)}.ok{color:var(--ok)}.action-list{padding:0;list-style:none}.action-list li{border-bottom:1px solid var(--line);padding:10px 0}.action-list label{display:flex;align-items:flex-start;gap:10px;font-size:11px;margin:0;cursor:pointer}.action-list input{width:15px;height:15px;box-shadow:none;accent-color:var(--accent);flex-shrink:0;margin-top:3px;padding:0}.action-list .done{color:var(--muted);text-decoration:line-through}.console-section,.ai-section,.memory-section{border-top:1px solid var(--line);padding-top:22px;margin-top:26px}.question-list{display:grid;gap:6px;margin-top:12px}.question-link{display:flex;text-align:left;justify-content:space-between;gap:10px;font-size:11px;border-bottom:1px solid var(--line);padding:8px 0}.question-link span{color:var(--muted);max-width:55%;text-align:right}.node-editor .options{gap:10px}.node-editor .option{box-shadow:none;border:1px solid var(--line);padding:10px;font-size:11px;background:var(--panel)}.node-editor .option.selected{border-color:var(--accent);background:var(--bg)}.node-editor h2{font-size:17px;line-height:1.8}.node-editor input,.node-editor textarea{box-shadow:none;background:var(--bg);border:1px solid var(--line)}.cot-box,.report-content,.memory-card{background:var(--panel);border:1px solid var(--line);border-radius:10px}.cot-box{margin-top:16px;font-size:11px}.cot-box summary{padding:12px;cursor:pointer;color:var(--muted)}.cot-box pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:0 13px 12px;max-height:260px;overflow:auto;font:11px/1.9 Consolas,"Microsoft YaHei",monospace;color:var(--muted);margin:0}.report-content:empty{display:none}.report-content{padding:17px;margin-top:14px;font-size:12px;line-height:1.95;overflow-wrap:anywhere}.report-content h3{font-size:14px;line-height:1.7;margin:22px 0 12px}.report-content h3:first-child{margin-top:0}.report-content p:last-child{margin-bottom:0}.report-content ul,.report-content ol{padding-left:20px}.report-content blockquote{margin-left:0;padding-left:12px;border-left:2px solid var(--accent);color:var(--muted)}.report-content code{font-family:Consolas,monospace;background:var(--bg);padding:2px 4px;border-radius:3px}.memory-card{padding:12px;margin-top:9px}.memory-card p{font-size:11px;margin:7px 0;overflow-wrap:anywhere}.memory-card header{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;align-items:center}.memory-card .anchor{color:var(--muted)}.history{margin-top:15px;font-size:11px;color:var(--muted)}.history .memory-card{opacity:.65}.dialog{width:min(440px,calc(100vw - 32px));max-height:90dvh;overflow:auto;border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--text);padding:27px;box-shadow:0 24px 100px #0003}.dialog::backdrop{background:#10182766;backdrop-filter:blur(4px)}.dialog h2{margin:0 0 12px}.dialog .section-title h2{margin:0}.dialog input,.dialog textarea,.dialog select{box-shadow:none;border:1px solid var(--line)}.dialog .help{margin-bottom:17px}.button-row{display:flex;gap:12px}.button-row>*{flex:1}.advanced{margin-top:24px;border-top:1px solid var(--line);padding-top:18px;font-size:12px}.advanced summary,.history summary{cursor:pointer}.toast{position:fixed;z-index:20;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);border:1px solid var(--line);background:var(--panel);padding:12px 20px;border-radius:12px;font-size:12px;box-shadow:0 8px 30px #0002;overflow-wrap:anywhere}.completion-note{color:var(--ok);font-size:12px;margin-top:20px}.empty-note{color:var(--muted);font-size:11px;padding:12px 0}.core-constraint{font-size:13px;padding:12px;border-left:2px solid var(--accent);background:var(--bg);border-radius:0 8px 8px 0}.node-back{margin-bottom:12px}.state-stale{color:var(--warn)}
.template-fields{display:grid;gap:8px}.template-field{min-width:0}.field-hint{font-size:11px;color:var(--muted);margin:0 0 8px;line-height:1.7}.optional{font-size:10px;color:var(--muted);font-weight:400}.skip-options{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:20px}.skip-options [aria-pressed="true"]{color:var(--accent);text-decoration:underline}.overview{font-size:13px;line-height:1.9}.dimension-cards{display:grid;gap:10px;margin-top:20px}.dimension-card{display:block;width:100%;padding:14px 15px;text-align:left;border:1px solid var(--line);border-left:3px solid var(--dimension-color);border-radius:10px;background:var(--panel)}.dimension-card-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.dimension-card-heading strong{font-size:13px;font-weight:600}.dimension-card-heading>span{font-size:10px;color:var(--muted)}.dimension-summary{display:block;font-size:12px;line-height:1.75;margin:8px 0;overflow-wrap:anywhere}.dimension-completion{display:block;font-size:10px;color:var(--muted)}.evidence-card{border-bottom:1px solid var(--line);padding:10px 0}.evidence-card p{font-size:12px;white-space:pre-line;overflow-wrap:anywhere;margin:4px 0 10px}.evidence-links{display:flex;gap:14px;flex-wrap:wrap}.console-section h2{font-size:15px}.template-field .reuse-answer{padding-bottom:0}.node-editor select{box-shadow:none;border:1px solid var(--line)}
@keyframes arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.flow-view{padding-top:72px;padding-bottom:90px}.question-card{padding:42px}}
@media(max-width:1100px){.map-instruction{display:none}.topbar{padding:0 20px}.map-view{grid-template-columns:minmax(0,1fr) 400px}.console{padding:23px}}
@media(max-width:760px){.topbar{padding:0 14px;gap:8px}.brand{font-size:13px;letter-spacing:0}.version{display:none}.status-pill{font-size:8px;max-width:86px;line-height:1.5}.top-actions{gap:8px}.tactile{padding:6px 9px;font-size:10px}.icon-button{width:30px;font-size:16px;padding:0}.desktop-label{display:none}.flow-view{padding:30px 21px 36px;place-items:start center;min-height:calc(100dvh - 56px)}.flow-wrap{margin:auto}.question-card{padding:26px 22px}.question-card h1{font-size:21px;line-height:1.7}.question-meta{font-size:10px;margin-bottom:19px}.flow-eyebrow{font-size:9px}.option{font-size:12px;gap:12px;padding:13px 12px;min-height:55px}.options{gap:14px}.question-hint{font-size:11px}.keyboard-hint{display:none}.flow-footer{font-size:9px;justify-content:center;text-align:center}.map-view{height:calc(100dvh - 56px);grid-template-columns:1fr;grid-template-rows:44% 56%}.console{border-left:0;border-top:1px solid var(--line);padding:22px 20px 40px}.map-tools{left:16px;bottom:15px;gap:9px}.map-caption{left:auto;right:14px;bottom:16px;text-align:right;font-size:8px}.dimension-filters{top:10px;left:8px;right:8px;gap:4px}.filter{font-size:9px;padding:3px 8px}.map-caption>span:first-child{display:none}.console-heading{margin-bottom:16px}.question-nav{margin-top:25px}.dialog{padding:23px}.map-instruction{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
