:root{--nav-bg: #eef3f8;--nav-bg-deep: rgba(255, 255, 255, .78);--nav-text: #3d4c5e;--nav-text-strong: #1d1d1f;--nav-text-dim: #6e7b8a;--nav-hover: rgba(255, 255, 255, .72);--nav-line: rgba(22, 50, 88, .08);--nav-active: #0071e3;--bg: #f2f5f8;--panel: #ffffff;--panel-alt: #f5f8fc;--panel-sunken: #f7fafd;--line: rgba(22, 50, 88, .14);--line-soft: rgba(22, 50, 88, .08);--line-strong: rgba(22, 50, 88, .22);--text: #1d1d1f;--muted: #5c6570;--faint: #8a93a0;--accent: #0071e3;--accent-hover: #0077ed;--accent-strong: #005bb8;--accent-weak: rgba(0, 113, 227, .1);--accent-weak-solid: #e8f1fc;--accent-border: rgba(0, 113, 227, .28);--focus-ring: 0 0 0 4px rgba(0, 113, 227, .2);--success: #248a3d;--success-weak: #e8f6ec;--success-border: rgba(36, 138, 61, .28);--warning: #c93400;--warning-weak: #fff4e5;--warning-border: rgba(201, 52, 0, .24);--danger: #d3222a;--danger-weak: #fdeeee;--danger-border: rgba(211, 34, 42, .28);--radius-lg: 16px;--radius: 10px;--radius-sm: 8px;--pill: 999px;--shadow-sm: 0 1px 2px rgba(16, 40, 70, .04), 0 4px 12px rgba(16, 40, 70, .05);--shadow-md: 0 4px 10px rgba(16, 40, 70, .06), 0 14px 32px rgba(16, 40, 70, .08);--ease: cubic-bezier(.25, .1, .25, 1);--header-h: 56px;--sidebar-w: 258px;--sidebar-collapsed-w: 64px;--sys-bar-h: 48px;--sys-status-h: 32px;--sys-menu-w: 228px;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: "SF Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;font-family:var(--font-sans);color:var(--text);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);font-size:15px;line-height:1.55}button{font-family:inherit;font-size:inherit;color:inherit}input,select,textarea{font-family:inherit}table,input[type=number],.stat-value,.clock{font-variant-numeric:tabular-nums}::selection{background:#0071e32e}.app-shell{display:flex;flex-direction:column;height:100vh}.app-header{height:var(--header-h);flex:0 0 var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:var(--nav-bg-deep);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--nav-line);z-index:20}.brand{display:flex;align-items:center;gap:12px;cursor:pointer}.brand-mark{width:32px;height:32px;border-radius:10px;background:var(--accent);color:#fff;font-size:16px;font-weight:600;display:grid;place-items:center}.brand-text{display:flex;align-items:baseline;gap:12px}.brand-text h1{margin:0;font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--nav-text-strong)}.brand-text p{margin:0;padding-left:12px;border-left:1px solid var(--nav-line);font-size:13px;color:var(--nav-text-dim)}.header-meta{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--nav-text)}.header-meta .meta-key{color:var(--nav-text-dim);margin-right:6px}.event-chip,.project-chip{font-family:var(--font-mono);font-size:12px;color:var(--nav-text-strong);padding:4px 10px;border-radius:var(--pill);background:var(--accent-weak)}.clock{color:var(--nav-text);letter-spacing:.4px;font-variant-numeric:tabular-nums}.clear-data{display:flex;align-items:center;gap:10px}.clear-button{padding:6px 14px;border-radius:var(--pill);border:none;background:#ffffffd1;box-shadow:inset 0 0 0 1px var(--nav-line);color:var(--nav-text);font-size:13px;font-weight:500;cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease);white-space:nowrap}.clear-button:hover{background:var(--danger-weak);box-shadow:inset 0 0 0 1px var(--danger-border);color:var(--danger)}.clear-button.arming{background:var(--danger);box-shadow:none;color:#fff;font-weight:600}.clear-tip{font-size:13px;font-weight:600;color:var(--success)}.app-body{flex:1;display:flex;min-height:0}.app-sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--nav-bg);border-right:1px solid var(--nav-line);overflow-y:auto;overflow-x:hidden;transition:width .2s var(--ease),flex-basis .2s var(--ease)}.app-sidebar.collapsed{width:var(--sidebar-collapsed-w);flex-basis:var(--sidebar-collapsed-w)}.sidebar-toggle{width:calc(100% - 20px);height:32px;display:flex;align-items:center;gap:8px;margin:10px 10px 4px;padding:0 10px;background:none;border:none;border-radius:var(--radius-sm);color:var(--nav-text-dim);cursor:pointer;font-size:13px;transition:background .18s var(--ease),color .18s var(--ease)}.sidebar-toggle:hover{background:var(--nav-hover);color:var(--nav-text-strong)}.toggle-icon{font-size:13px;line-height:1}.sidebar-nav{padding:2px 0 28px}.nav-group-title{margin:16px 20px 6px;font-size:11px;letter-spacing:.6px;color:var(--nav-text-dim);font-weight:600}.nav-item{width:calc(100% - 16px);min-height:36px;display:flex;align-items:center;gap:10px;margin:2px 8px;padding:6px 12px;background:none;border:none;border-radius:var(--radius-sm);color:var(--nav-text);font-size:14px;text-align:left;text-decoration:none;cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease)}.nav-item:hover{background:var(--nav-hover);color:var(--nav-text-strong)}.nav-item.active{background:var(--accent);color:#fff;font-weight:600}.nav-code{flex:0 0 auto;min-width:26px;font-family:var(--font-mono);font-size:12px;color:var(--nav-text-dim);letter-spacing:.3px;transition:color .18s var(--ease)}.nav-item:hover .nav-code{color:var(--accent)}.nav-item.active .nav-code{color:#ffffffd9}.nav-label{flex:1;line-height:1.4}.nav-count{font-family:var(--font-mono);font-size:12px;color:var(--nav-text-dim)}.nav-item.active .nav-count{color:#ffffffd9}.app-sidebar.collapsed .nav-item{padding:6px 8px;justify-content:center}.nav-tasks{padding:2px 0 6px}.nav-task{width:calc(100% - 28px);display:flex;align-items:flex-start;gap:8px;margin:1px 8px 1px 20px;padding:6px 12px;background:none;border:none;border-radius:var(--radius-sm);color:var(--nav-text-dim);font-size:13px;text-align:left;cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease)}.nav-task:hover{background:var(--nav-hover);color:var(--nav-text-strong)}.nav-task.active{background:var(--accent-weak);color:var(--accent-strong);font-weight:600}.nav-task-no{flex:0 0 15px;font-family:var(--font-mono);font-size:12px;color:var(--nav-text-dim);line-height:1.55}.nav-task.active .nav-task-no{color:var(--accent)}.nav-task-title{flex:1;line-height:1.5}.nav-empty{margin:2px 22px 6px 44px;font-size:12.5px;color:var(--nav-text-dim)}.app-content{flex:1;min-width:0;overflow-y:auto;background:var(--bg)}.app-content.is-task{overflow:hidden}.page{max-width:1560px;margin:0 auto;padding:24px 26px 48px}.page-title-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--line-soft)}.page-title{margin:0 0 6px;font-size:28px;font-weight:700;letter-spacing:-.03em;color:var(--text)}.page-subtitle{margin:0;max-width:920px;color:var(--muted);font-size:14.5px}.page-title-side{display:flex;align-items:center;gap:26px}.title-stats{display:flex;gap:26px}.title-stats div{display:flex;flex-direction:column;align-items:flex-end}.title-stats strong{font-size:24px;font-weight:600;letter-spacing:-.01em;color:var(--accent);line-height:1.2;font-variant-numeric:tabular-nums}.title-stats span{font-size:12.5px;color:var(--faint)}.panel{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:13px 18px 12px;background:var(--panel);border-bottom:1px solid var(--line-soft)}.panel-header h2{margin:0;font-size:15.5px;font-weight:600;letter-spacing:-.01em;color:var(--text)}.panel-source{font-size:13px;color:var(--faint)}.panel-body{padding:18px}.empty-hint{margin:0;padding:32px;text-align:center;color:var(--faint);background:var(--panel-sunken);border-radius:var(--radius)}.role-grid,.task-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(322px,1fr));gap:14px}.role-card,.task-card{display:flex;flex-direction:column;gap:8px;padding:16px 18px;text-align:left;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow .2s var(--ease),transform .2s var(--ease),border-color .2s var(--ease)}.role-card:hover,.task-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateY(-1px)}.role-card-head,.task-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.role-card-mark{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--accent);letter-spacing:.5px}.role-card-count,.task-card-meta .meta-chip{font-size:13px;color:var(--faint)}.role-card-title,.task-card-title{margin:0;font-size:16.5px;font-weight:600;letter-spacing:-.01em;color:var(--text);line-height:1.42}.role-card-desc,.task-card-desc{margin:0;font-size:13.5px;color:var(--muted);line-height:1.7;flex:1}.role-card-stages{display:flex;gap:18px;padding-top:10px;border-top:1px solid var(--line-soft);font-size:13px;color:var(--muted)}.role-card-stages b{font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}.task-no{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--accent)}.task-role-tag{padding:2px 10px;border-radius:var(--pill);font-size:12px;font-weight:600;line-height:1.5}.task-role-tag.lead{background:var(--accent-weak);color:var(--accent)}.task-role-tag.support{background:#1632580f;color:var(--muted)}.task-card-meta{display:flex;flex-wrap:wrap;gap:16px;padding-top:10px;border-top:1px solid var(--line-soft)}.meta-chip{font-size:13px;color:var(--faint)}.task-card-roles{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--faint)}.collab-text{font-size:13px;color:var(--faint)}.role-badge{display:inline-flex;align-items:baseline;gap:8px;padding:5px 14px;border-radius:var(--pill);background:var(--accent-weak)}.role-badge-mark{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--accent)}.role-badge-name{font-size:13.5px;font-weight:500;color:var(--accent)}.role-badge.size-lg{padding:7px 16px}.permission-body{display:flex;flex-direction:column;gap:11px}.permission-tags{display:flex;flex-wrap:wrap;gap:8px}.permission-tag{padding:4px 13px;border-radius:var(--pill);background:var(--accent-weak);color:var(--accent);font-size:13.5px;font-weight:500}.permission-limit,.permission-sub{margin:0;font-size:13.5px;color:var(--muted)}.limit-label{display:inline-block;min-width:64px;margin-right:12px;color:var(--faint);font-size:13px}.stage-subtitle{margin:0 0 14px;color:var(--muted)}.stage-flow{list-style:none;margin:0;padding:0;border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}.stage-flow li{display:flex;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line-soft);cursor:pointer;transition:background .18s var(--ease)}.stage-flow li:last-child{border-bottom:none}.stage-flow li:hover{background:var(--accent-weak)}.flow-no{flex:0 0 24px;font-family:var(--font-mono);font-size:13.5px;font-weight:600;color:var(--accent);line-height:1.6}.flow-body strong{font-weight:600;color:var(--text)}.flow-body p{margin:2px 0 0;font-size:13.5px;color:var(--muted)}.page.task-page{max-width:none;height:100%;min-height:0;padding:12px 14px 14px;display:flex;flex-direction:column;gap:10px;background:var(--bg)}.breadcrumb{display:none}.task-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap;padding:10px 16px;background:#ffffffd1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:0}.task-header-main{min-width:0;display:flex;align-items:center;gap:12px}.task-header-tags{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;margin-bottom:0;font-size:12px;color:var(--muted)}.task-no-tag{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--accent);padding:3px 10px;border-radius:var(--pill);background:var(--accent-weak)}.owner-tag,.stage-tag{font-size:12px;color:var(--muted)}.owner-tag b,.stage-tag b{font-weight:600;color:var(--text)}.task-title{margin:0;font-size:14px;font-weight:600;letter-spacing:0;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-summary{display:none}.task-header-actions{display:flex;flex-direction:row;align-items:center;gap:8px}.task-nav{display:flex;gap:6px}.output-strip{display:none}.task-workspace{flex:1;min-height:0;display:flex;flex-direction:column;border-radius:var(--radius-lg);overflow:hidden;background:var(--panel);border:1px solid var(--line-soft);box-shadow:var(--shadow-sm)}.task-source{margin:0;font-size:13px;color:var(--faint)}.output-label{color:var(--faint);font-size:13px;margin-right:2px}.output-chip{padding:2px 11px;border-radius:var(--pill);background:#1632580d;font-size:13px;color:var(--muted)}.task-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:16px;align-items:start}.task-panel{position:sticky;top:0;max-height:calc(100vh - 92px);overflow-y:auto}.mode-switch{display:inline-flex;padding:2px;background:#16325812;border-radius:9px}.mode-switch button{padding:4px 14px;border:none;border-radius:7px;background:transparent;color:var(--muted);font-size:13.5px;cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease)}.mode-switch button.active{background:#fff;color:var(--text);font-weight:600;box-shadow:0 1px 3px #10284624,0 0 0 .5px #1028460a}.timeline{list-style:none;margin:0;padding:0}.timeline-step{display:grid;grid-template-columns:20px minmax(0,1fr);gap:13px;padding-bottom:20px;position:relative}.timeline-step:not(:last-child):before{content:"";position:absolute;left:4px;top:18px;bottom:0;width:1.5px;background:var(--line-soft)}.timeline-step.dimmed{opacity:.5}.timeline-marker{padding-top:6px}.marker-dot{display:block;width:9px;height:9px;border-radius:50%;background:var(--line-strong)}.timeline-step:not(.dimmed) .marker-dot{background:var(--accent)}.timeline-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.step-label{font-family:var(--font-mono);font-size:12.5px;color:var(--accent);white-space:nowrap}.step-title{margin:0;font-size:15px;font-weight:600;color:var(--text)}.step-role{margin:4px 0 0;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--faint)}.step-subrole{color:var(--warning)}.blocks{margin-top:8px;display:flex;flex-direction:column;gap:10px}.block-text{margin:0;color:var(--text);line-height:1.8}.block-label{margin:0;font-weight:600;color:var(--muted)}.block-sub{margin:7px 0 0;font-size:14.5px;font-weight:600;color:var(--text)}.block-path{margin:0;padding:8px 13px;border-radius:var(--radius);background:var(--accent-weak);color:var(--accent);font-family:var(--font-mono);font-size:13px}.block-action{margin:0;display:flex;align-items:center;gap:9px}.action-key{font-size:13.5px;color:var(--muted)}.action-btn{padding:3px 14px;border-radius:var(--pill);background:var(--accent);color:#fff;font-size:13px;font-weight:500}.block-speech{margin:0;padding:11px 15px;border-left:3px solid var(--warning-border);border-radius:0 var(--radius) var(--radius) 0;background:var(--warning-weak)}.speech-tag{display:inline-block;margin-bottom:4px;color:var(--warning);font-size:12.5px;font-weight:600}.block-speech p{margin:0;color:var(--text);line-height:1.85}.block-formula{margin:0;padding:10px 13px;border-radius:var(--radius);background:var(--panel-sunken);border:1px solid var(--line-soft);font-family:var(--font-mono);font-size:13.5px;color:var(--text);line-height:1.75;overflow-wrap:anywhere}.block-note{margin:0;padding:8px 13px;border-radius:var(--radius);background:var(--warning-weak);color:var(--warning);font-size:13px}.block-code{margin:0;padding:14px 16px;border-radius:var(--radius);background:#1d1d1f;color:#d9dee5;font-family:var(--font-mono);font-size:13.5px;line-height:1.75;overflow-x:auto}.block-list{margin:0;padding-left:20px;display:grid;gap:4px;color:var(--text)}.block-fields{margin:0;display:grid;border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}.field-row{display:grid;grid-template-columns:minmax(120px,200px) minmax(0,1fr);border-bottom:1px solid var(--line-soft)}.field-row:last-child{border-bottom:none}.field-row dt{padding:8px 13px;background:var(--panel-alt);color:var(--muted);font-size:13.5px}.field-row dd{margin:0;padding:8px 13px;background:var(--panel);color:var(--text);font-size:13.5px}.block-table-wrap,.score-table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--line-soft)}.block-table,.calc-table{width:100%;border-collapse:collapse;border:none;font-size:13px}.block-table th,.block-table td,.calc-table th,.calc-table td{padding:9px 12px;border:none;border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:middle}.block-table thead th,.calc-table thead th{background:var(--panel-alt);border-bottom:1px solid var(--line-soft);color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}.block-table tbody th,.calc-table tbody th{background:transparent;font-weight:600;color:var(--text)}.block-table tr:last-child th,.block-table tr:last-child td,.calc-table tr:last-child th,.calc-table tr:last-child td{border-bottom:none}.calc-table tfoot th,.calc-table tfoot td{border-top:1px solid var(--line-soft);background:var(--panel-alt);font-weight:600}.calc-panel .panel-body{display:flex;flex-direction:column;gap:13px}.calc-hint{margin:0;padding:10px 14px;border-radius:var(--radius);background:var(--accent-weak);color:var(--muted);font-size:13.5px}.calc-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:5px;padding-bottom:7px;border-bottom:1px solid var(--line-soft)}.calc-subhead h3{margin:0;font-size:14.5px;font-weight:600;letter-spacing:-.01em;color:var(--text)}.calc-caption,.calc-note{margin:0;font-size:13px;color:var(--faint);line-height:1.75}.calc-note{padding:9px 13px;border-radius:var(--radius);background:var(--panel-sunken);border:1px solid var(--line-soft);color:var(--muted)}.calc-table thead th em{display:block;font-style:normal;font-size:11.5px;font-weight:400;color:var(--faint)}.calc-table tbody tr.winner{background:var(--success-weak)}.calc-table tbody tr.active{outline:2px solid var(--accent-border);outline-offset:-2px}.calc-table .col-total{background:var(--accent-weak-solid);font-weight:600;color:var(--accent);white-space:nowrap}.calc-table.compact th,.calc-table.compact td{padding:6px 10px}.calc-table input{width:100%;min-width:66px;padding:4px 8px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:13.5px;text-align:right;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.calc-table.center-text th,.calc-table.center-text td,.calc-table.center-text input,.calc-table.center-text select{text-align:center}.calc-table.center-text input[type=checkbox]{width:auto;min-width:0}.calc-table input:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.row-unit{display:block;font-style:normal;font-size:12px;font-weight:400;color:var(--faint)}.positive{color:var(--success);font-weight:600}.negative{color:var(--danger);font-weight:600}.verdict{display:inline-block;padding:2px 11px;border-radius:var(--pill);font-size:12.5px;font-weight:600;line-height:1.5;white-space:nowrap}.verdict.pass{background:var(--success-weak);color:var(--success)}.verdict.warn{background:var(--warning-weak);color:var(--warning)}.verdict.fail{background:var(--danger-weak);color:var(--danger)}.verdict.neutral{background:#1632580f;color:var(--muted)}.pill-group{display:inline-flex;padding:2px;background:#16325812;border-radius:9px}.pill-group button{padding:3px 13px;border:none;border-radius:7px;background:transparent;color:var(--muted);font-size:13px;cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease)}.pill-group button.active{background:#fff;color:var(--text);font-weight:600;box-shadow:0 1px 3px #10284624,0 0 0 .5px #1028460a}.breakdown-list{list-style:none;margin:0;padding:0;border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}.breakdown-list li{padding:10px 13px;border-bottom:1px solid var(--line-soft);background:var(--panel)}.breakdown-list li:last-child{border-bottom:none}.breakdown-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.breakdown-label{font-weight:600;color:var(--text)}.breakdown-type{padding:1px 9px;border-radius:var(--pill);font-size:12px;font-weight:600;line-height:1.5}.breakdown-type.cost{background:var(--danger-weak);color:var(--danger)}.breakdown-type.benefit{background:var(--success-weak);color:var(--success)}.breakdown-type.tier{background:var(--accent-weak);color:var(--accent)}.breakdown-raw{margin-left:auto;font-size:13px;color:var(--faint)}.breakdown-formula{margin:6px 0 0;font-family:var(--font-mono);font-size:13px;color:var(--muted);overflow-wrap:anywhere}.breakdown-foot{display:flex;gap:16px;margin-top:6px;font-size:13px;color:var(--muted)}.breakdown-foot strong{color:var(--accent)}.calc-result{padding:13px 15px;border-radius:var(--radius);background:var(--accent-weak)}.result-line{margin:0;color:var(--text);line-height:1.8}.conclusion{margin:0;padding:13px 15px;border-radius:var(--radius);background:var(--success-weak);color:var(--success);font-weight:500;line-height:1.8}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:10px}.stat-cell{display:flex;flex-direction:column;gap:3px;padding:13px 15px;background:var(--panel-sunken);border:1px solid var(--line-soft);border-radius:var(--radius)}.stat-label{font-size:12.5px;color:var(--faint)}.stat-value{font-size:21px;font-weight:600;letter-spacing:-.01em;color:var(--text);line-height:1.3}.stat-value.small{font-size:15px}.stat-value.accent{color:var(--accent)}.stat-value.warn{color:var(--warning)}.input-row{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.input-row label{min-width:200px;font-size:13.5px;color:var(--muted)}.input-row input[type=number]{width:116px;padding:5px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);text-align:right;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.input-row input[type=number]:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.input-row input[type=range]{flex:1;min-width:160px;accent-color:var(--accent)}.input-unit{min-width:46px;font-size:13.5px;color:var(--faint)}.param-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.param-cell{display:flex;flex-direction:column;gap:5px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--panel-sunken)}.param-name{font-size:12.5px;color:var(--faint)}.param-input{display:flex;align-items:center;gap:7px}.param-input input{width:100%;padding:4px 9px;border:1px solid var(--line);border-radius:var(--radius-sm);text-align:right;font-size:14.5px;font-weight:600;color:var(--accent);transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.param-input input:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.param-input em{font-style:normal;font-size:13px;color:var(--faint);white-space:nowrap}.formula-list,.constraint-list{margin:0;padding-left:20px;display:grid;gap:5px;font-family:var(--font-mono);font-size:13px;color:var(--muted)}.share-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.share-list li{display:grid;grid-template-columns:94px minmax(60px,1fr) 114px 78px;align-items:center;gap:11px;font-size:13.5px}.share-name{color:var(--muted)}.share-bar{height:6px;border-radius:var(--pill);background:#16325817;overflow:hidden}.share-fill{display:block;height:100%;border-radius:var(--pill);background:var(--accent)}.share-fill.warn{background:var(--danger)}.share-value{text-align:right;color:var(--text);font-variant-numeric:tabular-nums}.share-pct{text-align:right;color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums}.gauge-track{height:8px;border-radius:var(--pill);background:#16325817;overflow:hidden}.gauge-fill{display:block;height:100%;border-radius:var(--pill);background:var(--accent)}.gauge-fill.warn{background:var(--warning)}.gauge-caption{margin:7px 0 0;font-size:13px;color:var(--muted)}.solver{padding:15px;border-radius:var(--radius);background:var(--accent-weak)}.solver-label{display:block;font-size:13.5px;color:var(--muted)}.solver-label strong{font-size:17px;color:var(--accent)}.solver-range{width:100%;margin:9px 0 5px;accent-color:var(--accent)}.solver-derived{margin:0 0 11px;font-size:13.5px;color:var(--muted)}.solver-breakdown{display:grid;font-size:13.5px}.solver-breakdown div{display:flex;justify-content:space-between;padding:4px 0}.solver-total{border-top:1px solid var(--accent-border);padding-top:7px!important;font-size:15.5px}.solver-total strong{color:var(--accent)}.solver-optimal,.solver-gap,.solver-violation{margin:11px 0 0;padding:9px 13px;border-radius:var(--radius);font-size:13.5px;font-weight:500}.solver-optimal{background:var(--success-weak);color:var(--success)}.solver-gap{background:var(--warning-weak);color:var(--warning)}.solver-violation{background:var(--danger-weak);color:var(--danger)}.tag-row{display:flex;flex-wrap:wrap;gap:8px}.soft-tag{display:inline-flex;align-items:center;gap:7px;padding:4px 13px;border-radius:var(--pill);background:#1632580f;font-size:13.5px;color:var(--text)}.soft-tag.strict{background:var(--warning-weak)}.soft-tag em{font-style:normal;color:var(--warning);font-size:12.5px;font-weight:600}.grid-chips{display:flex;flex-wrap:wrap;gap:8px}.grid-chip{display:inline-flex;align-items:center;gap:5px;min-width:58px;justify-content:center;padding:4px 13px;border-radius:var(--pill);background:#1632580f;font-size:13.5px;color:var(--muted);transition:background .18s var(--ease),color .18s var(--ease)}.grid-chip.done{background:var(--success-weak);color:var(--success);font-weight:500}.grid-chip em{font-style:normal}.chain-list{list-style:none;margin:0;padding:0;border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}.chain-list li{display:grid;grid-template-columns:118px minmax(0,1fr);gap:11px;padding:9px 13px;border-bottom:1px solid var(--line-soft);background:var(--panel)}.chain-list li:last-child{border-bottom:none}.chain-step{font-weight:600;color:var(--accent)}.chain-bind{font-size:13.5px;color:var(--muted)}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.check-cell{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--panel-sunken);font-size:13.5px;color:var(--muted);transition:background .18s var(--ease),border-color .18s var(--ease)}.check-cell.done{background:var(--success-weak);border-color:transparent;color:var(--success);font-weight:500}.check-mark{font-weight:700}.check-list{margin:0;padding-left:20px;display:grid;gap:6px;font-size:13.5px;color:var(--muted)}.check-list strong{color:var(--text)}.action-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:4px}.sys-toolbar{display:flex;align-items:center;gap:8px;padding:0 0 12px;margin-bottom:4px;border-bottom:1px solid var(--line-soft)}.sys-host{height:100%;min-height:0;display:flex;flex-direction:column;background:transparent}.sys-host>.op-progress{display:none}.sys-host>.sys-login,.sys-host>.sys-app{flex:1;min-height:0}.task-workspace>*{height:100%;min-height:0}.sys-login{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;height:100%;min-height:420px;padding:36px 20px;background:radial-gradient(900px 380px at 50% -8%,rgba(0,113,227,.16),transparent 58%),linear-gradient(180deg,#f4f8fc,#e8f1fb)}.sys-login-brand{display:flex;align-items:center;gap:12px;color:var(--text)}.sys-login-logo{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--accent);color:#fff;font-size:18px;font-weight:600}.sys-login-org{margin:0 0 2px;font-size:11px;letter-spacing:1.6px;color:var(--accent);font-weight:600}.sys-login-title{margin:0;font-size:22px;font-weight:650;letter-spacing:-.02em;color:var(--text)}.sys-login-card{width:min(400px,100%);display:flex;flex-direction:column;gap:14px;padding:24px;background:var(--panel);border:1px solid var(--line-soft);border-radius:20px;box-shadow:var(--shadow-md)}.sys-login-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.sys-login-btn{width:100%;height:40px;justify-content:center;margin-top:4px;border-radius:var(--pill);letter-spacing:2px}.sys-login-hint{margin:0;font-size:13px;color:var(--faint);text-align:center}.sys-login-foot{margin:0;font-size:13px;color:var(--faint)}.sys-app{display:flex;flex-direction:column;height:100%;min-height:0;border:none;border-radius:0;overflow:hidden;background:var(--bg);box-shadow:none}.sys-app-bar{flex:0 0 var(--sys-bar-h);height:var(--sys-bar-h);display:flex;align-items:center;gap:12px;padding:0 16px;background:#ffffffd1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--text);border-bottom:1px solid var(--line-soft)}.sys-app-mark{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:var(--accent);color:#fff;font-size:12px;font-weight:600}.sys-app-title{font-size:14px;font-weight:600;letter-spacing:-.01em}.sys-app-progress{margin-left:auto;font-size:13px;color:var(--muted)}.sys-app-user{padding:3px 10px;border-radius:var(--pill);background:var(--accent-weak);color:var(--accent-strong);font-size:12px}.sys-app-exit{padding:0 12px;height:28px;border:none;border-radius:var(--pill);background:#1632580f;color:var(--text);font-size:13px;cursor:pointer}.sys-app-exit:hover{background:#1632581a}.sys-app-body{flex:1;min-height:0;display:grid;grid-template-columns:var(--sys-menu-w) minmax(0,1fr)}.sys-app-menu{border-right:1px solid var(--line-soft);background:var(--nav-bg);padding:8px 8px 12px;overflow-y:auto}.sys-menu{list-style:none;margin:0;padding:0}.sys-menu-item{width:100%;min-height:32px;display:flex;align-items:center;gap:7px;padding:5px 10px;border:none;border-radius:var(--radius-sm);background:none;text-align:left;font-family:inherit;font-size:13.5px;color:var(--nav-text);cursor:pointer}.sys-menu-item:hover{background:var(--nav-hover)}.sys-menu-item.branch{font-weight:600;color:var(--nav-text-strong)}.sys-menu-item.leaf{color:var(--muted)}.sys-menu-item.active{background:var(--accent);color:#fff;font-weight:600}.sys-menu-item.done .sys-menu-label{color:var(--success)}.sys-menu-item.active.done .sys-menu-label,.sys-menu-item.active .sys-menu-label{color:#fff}.sys-menu-caret{width:10px;flex:0 0 10px;font-size:10px;color:var(--faint)}.sys-menu-item.active .sys-menu-caret,.sys-menu-item.active .sys-menu-icon{color:#fff;opacity:.9}.sys-menu-icon{width:12px;height:10px;flex:0 0 12px;border:1px solid currentColor;border-radius:3px;opacity:.55;position:relative}.sys-menu-icon.folder{border-radius:3px 3px 2px 2px}.sys-menu-icon.folder:before{content:"";position:absolute;top:-3px;left:1px;width:5px;height:3px;border-radius:3px 3px 0 0;background:currentColor;opacity:.7}.sys-menu-icon.leaf-icon{width:9px;height:11px;border-radius:3px 5px 3px 3px}.sys-menu-label{flex:1;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sys-menu-check{color:var(--success);font-weight:700;font-size:12px}.sys-menu-item.active .sys-menu-check{color:#fff}.sys-app-main{min-width:0;min-height:0;display:flex;flex-direction:column;padding:12px 14px 14px;overflow:auto;background:var(--bg)}.sys-crumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 14px;margin-bottom:10px;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);font-size:13px}.sys-crumb-item{color:var(--muted)}.sys-crumb-item.current{color:var(--accent-strong);font-weight:600}.sys-crumb-sep{color:var(--faint)}.sys-page{flex:1;display:flex;flex-direction:column;gap:12px;padding:16px 18px 18px;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.sys-page-head{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--line-soft)}.sys-page-title{margin:0;font-size:16px;font-weight:600;letter-spacing:-.02em;color:var(--text)}.sys-error{margin:0 0 8px;border-radius:var(--radius)}.sys-welcome{flex:1;display:grid;place-content:center;gap:8px;min-height:280px;text-align:center;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-lg)}.sys-welcome-title{margin:0;color:var(--muted);font-size:15px}.sys-welcome-sub{margin:0;font-size:13px;color:var(--faint)}.sys-status{flex:0 0 var(--sys-status-h);height:var(--sys-status-h);display:flex;align-items:center;gap:16px;padding:0 16px;background:#ffffffc7;color:var(--muted);font-size:12px;border-top:1px solid var(--line-soft)}.sys-status button{margin-left:auto;height:24px;padding:0 10px;border:none;border-radius:var(--pill);background:var(--accent-weak);color:var(--accent);font-size:12px;cursor:pointer}.sys-status button:hover{background:#0071e329}@media(max-width:900px){.sys-app-body{grid-template-columns:minmax(0,1fr)}.sys-app-menu{max-height:180px;border-right:none;border-bottom:1px solid var(--line-soft)}}.op-flow{display:flex;flex-direction:column;gap:12px}.op-progress{display:flex;align-items:center;gap:13px;padding:11px 15px;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-sm)}.op-progress-track{flex:1;height:6px;border-radius:var(--pill);background:#16325817;overflow:hidden}.op-progress-fill{display:block;height:100%;border-radius:var(--pill);background:var(--accent);transition:width .3s var(--ease)}.op-progress-text{font-size:13.5px;font-weight:600;color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums}.op-block{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--panel);overflow:hidden;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.op-block.active{border-color:var(--accent-border);box-shadow:var(--shadow-sm)}.op-block.done{border-color:var(--success-border)}.op-block.locked{background:var(--panel-sunken)}.op-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line-soft);background:var(--panel-alt)}.op-block.active .op-head{background:var(--accent-weak-solid)}.op-block.done .op-head{background:var(--success-weak)}.op-block.locked .op-head{background:var(--panel-sunken)}.op-state{width:17px;height:17px;flex:0 0 17px;border-radius:50%;border:1.5px solid var(--line-strong);background:var(--panel);display:grid;place-items:center;font-size:11px;font-weight:700;color:transparent;transition:border-color .2s var(--ease),background .2s var(--ease)}.op-block.active .op-state{border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--accent)}.op-block.done .op-state{border-color:var(--success);background:var(--success);color:#fff}.op-title{flex:1;margin:0;font-size:14.5px;font-weight:600;color:var(--text)}.op-block.locked .op-title{color:var(--faint)}.op-badge{padding:1px 11px;border-radius:var(--pill);font-size:12.5px;font-weight:600;line-height:1.55;white-space:nowrap}.op-badge.done{background:var(--success-weak);color:var(--success)}.op-badge.active{background:var(--accent);color:#fff}.op-badge.locked{background:#1632580f;color:var(--faint)}.op-body{padding:14px}.op-hint{margin:0 0 10px;font-size:13px;color:var(--muted)}.op-controls{display:flex;flex-direction:column;gap:10px}.op-locked-text{margin:0;font-size:13px;color:var(--faint)}.op-result{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:10px}.op-result:before{content:"执行结果";align-self:flex-start;padding:1px 11px;border-radius:var(--pill);background:var(--success-weak);color:var(--success);font-size:12.5px;font-weight:600}.sys-lines{display:grid;gap:5px;margin:0;padding:11px 13px;border-radius:var(--radius);background:var(--panel-sunken);border:1px solid var(--line-soft);list-style:none}.sys-lines li{display:flex;align-items:baseline;gap:9px;font-size:13.5px;color:var(--text)}.sys-lines li:before{content:"✓";flex:0 0 auto;color:var(--success);font-size:12px;font-weight:700}.sys-lines li.warn:before{content:"!";color:var(--warning)}.sys-lines li.info:before{content:"·";color:var(--accent)}.sys-toast{margin:0;padding:10px 14px;border-radius:var(--radius);background:var(--success-weak);color:var(--success);font-size:13.5px;font-weight:500}.sys-toast.warn{background:var(--warning-weak);color:var(--warning)}.sys-toast.danger{background:var(--danger-weak);color:var(--danger)}.notice-list{display:flex;flex-direction:column;gap:6px;margin-top:4px}.notice-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--panel);cursor:pointer;transition:border-color .15s var(--ease),background .15s var(--ease)}.notice-item:hover{background:var(--panel-alt)}.notice-item.active{border-color:var(--accent);background:var(--accent-weak)}.notice-item-title{font-weight:600;color:var(--text)}.notice-item-meta{color:var(--muted);font-size:13px}.notice-item-badge{margin-left:auto;padding:2px 8px;border-radius:var(--pill);background:var(--success-weak);color:var(--success);font-size:12px;font-weight:600}.notice-item-caret{color:var(--faint)}.notice-empty{margin-top:4px;padding:26px 16px;text-align:center;color:var(--faint);border:1px dashed var(--line-soft);border-radius:var(--radius)}.notice-detail{margin-top:12px}.notice-form-actions{display:flex;gap:8px;margin-top:8px}.form-file-name{display:block;margin-bottom:6px;color:var(--muted);font-size:13px}.form-block{padding:15px 17px;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--panel)}.form-block-title{margin:0 0 12px;padding:0 0 8px;border-bottom:1px solid var(--line-soft);font-size:14.5px;font-weight:600;letter-spacing:-.01em;color:var(--text)}.form-desc{margin:0 0 10px;font-size:13px;color:var(--muted)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:12px}.form-item{display:flex;flex-direction:column;gap:5px;min-width:0}.form-label{font-size:13px;color:var(--muted)}.form-label.required:before{content:"*";margin-right:3px;color:var(--danger)}.form-control{width:100%;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);font-size:15px;color:var(--text);transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.form-control:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.form-control.locked{background:var(--panel-alt);color:var(--muted);cursor:not-allowed}.form-control[type=file]{height:auto;padding:6px 10px;line-height:1.4}.checkbox-group{display:flex;flex-wrap:wrap;gap:8px 22px;margin-bottom:10px}.checkbox-group.tight{gap:8px 16px}.checkbox-item{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--text);cursor:pointer}.checkbox-item input{accent-color:var(--accent);cursor:pointer}.checkbox-item.inline{font-size:13px;color:var(--muted)}.form-errors{margin:0;padding:10px 14px;border-radius:var(--radius);background:var(--danger-weak);color:var(--danger);font-size:13.5px;font-weight:500}.source-list{list-style:none;margin:0;padding:0;border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}.source-list li{padding:10px 13px;border-bottom:1px solid var(--line-soft);background:var(--panel)}.source-list li:last-child{border-bottom:none}.source-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.source-code{font-family:var(--font-mono);font-size:12.5px;font-weight:600;color:var(--accent)}.source-head .verdict{margin-left:auto}.source-type,.source-content{margin:4px 0 0;font-size:13px;color:var(--muted)}.veto-list{list-style:none;margin:0;padding:0;border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}.veto-list li{padding:9px 13px;border-bottom:1px solid var(--line-soft);background:var(--panel)}.veto-list li:last-child{border-bottom:none}.veto-list li.failed{background:var(--danger-weak)}.veto-head{display:flex;align-items:center;gap:9px;cursor:pointer}.veto-head input{accent-color:var(--accent)}.veto-code{font-family:var(--font-mono);font-size:12.5px;font-weight:600;color:var(--accent)}.veto-head .verdict{margin-left:auto}.veto-detail{margin:4px 0 0 26px;font-size:13px;color:var(--muted)}.verdict-box{padding:15px 16px;border-radius:var(--radius-lg)}.verdict-box.pass{background:var(--success-weak)}.verdict-box.fail{background:var(--danger-weak)}.verdict-formula{margin:0 0 6px;font-size:13.5px;color:var(--muted)}.verdict-result{margin:0;font-size:17px;font-weight:600;letter-spacing:-.01em}.verdict-box.pass .verdict-result{color:var(--success)}.verdict-box.fail .verdict-result{color:var(--danger)}.evidence-list{list-style:none;margin:0;padding:0;border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}.evidence-list li{display:grid;grid-template-columns:50px minmax(0,1fr);gap:11px;padding:9px 13px;border-bottom:1px solid var(--line-soft);background:var(--panel)}.evidence-list li:last-child{border-bottom:none}.evidence-level{height:fit-content;font-family:var(--font-mono);font-size:12.5px;font-weight:600;color:var(--accent)}.evidence-list strong{color:var(--text)}.evidence-list p{margin:3px 0 0;font-size:13px;color:var(--muted)}.weight-row{display:flex;flex-wrap:wrap;gap:8px}.weight-chip{display:inline-flex;align-items:center;gap:7px;padding:4px 13px;border-radius:var(--pill);background:#1632580f;font-size:13.5px;color:var(--muted)}.weight-chip em{font-style:normal;font-weight:600;color:var(--accent)}.priority-row{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.priority-row li{display:inline-flex;align-items:center;gap:7px;padding:4px 13px;border-radius:var(--pill);background:#1632580f;font-size:13.5px}.priority-rank{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--accent)}.duty-list{list-style:none;margin:0;padding:0;border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}.duty-list li{padding:12px 15px;border-bottom:1px solid var(--line-soft);background:var(--panel);transition:background .18s var(--ease)}.duty-list li:last-child{border-bottom:none}.duty-list li:hover{background:var(--panel-sunken)}.duty-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.duty-head strong{font-weight:600;color:var(--text)}.duty-list p{margin:5px 0 0;color:var(--muted);line-height:1.8}.workbook-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line-soft)}.workbook-info p{margin:0 0 6px;font-size:13.5px;color:var(--muted)}.workbook-actions{display:flex;gap:9px}.primary-button,.secondary-button,.ghost-button{padding:0 16px;height:36px;line-height:36px;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease),opacity .18s var(--ease);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.primary-button{background:var(--accent);color:#fff}.primary-button:hover:not(:disabled){background:var(--accent-hover)}.primary-button:active:not(:disabled){background:var(--accent-strong)}.secondary-button{background:var(--accent-weak);color:var(--accent)}.secondary-button:hover:not(:disabled){background:#0071e329}.ghost-button{background:#1632580f;color:var(--text)}.ghost-button:hover:not(:disabled){background:#1632581a}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{opacity:.35;cursor:not-allowed}.primary-button.is-loading:disabled,.secondary-button.is-loading:disabled{opacity:1}.spinner{width:14px;height:14px;margin-right:8px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:sys-spin .8s linear infinite}@keyframes sys-spin{to{transform:rotate(360deg)}}.text-button{padding:0;background:none;border:none;color:var(--accent);font-size:13.5px;cursor:pointer}.text-button:hover{text-decoration:underline}@media(max-width:1200px){.task-body{grid-template-columns:minmax(0,1fr)}.task-panel{position:static;max-height:none}}@media(max-width:900px){.app-sidebar{width:var(--sidebar-collapsed-w);flex-basis:var(--sidebar-collapsed-w)}.page{padding:16px 14px 36px}.page-title{font-size:20px}.task-title{font-size:18px}.share-list li{grid-template-columns:78px minmax(40px,1fr) 94px 66px}}.step-bar-wrap{margin:0 0 12px}.step-bar{display:flex;align-items:center;gap:0;margin:0;padding:12px 16px;list-style:none;overflow-x:auto;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.step-bar-item{display:flex;align-items:center;flex:1 1 auto;min-width:0}.step-bar-btn{display:inline-flex;align-items:center;gap:8px;padding:0;border:none;background:none;font-family:inherit;color:var(--muted);cursor:pointer;white-space:nowrap}.step-bar-index{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--line);background:var(--panel);font-size:12px;font-weight:600}.step-bar-label{font-size:13px;font-weight:500}.step-bar-item.active .step-bar-btn{color:var(--accent-strong)}.step-bar-item.active .step-bar-index{border-color:var(--accent);background:var(--accent);color:#fff}.step-bar-item.done .step-bar-index{border-color:var(--success);background:var(--success-weak);color:var(--success)}.step-bar-item.active.done .step-bar-index{border-color:var(--accent);background:var(--accent);color:#fff}.step-bar-line{flex:1 1 16px;height:1px;margin:0 10px;background:var(--line)}.step-bar-item.done .step-bar-line{background:var(--success-border)}.step-bar-meta{margin:6px 2px 0;font-size:12px;color:var(--muted)}.task-flow{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0}.task-flow-page{flex:1;display:flex;flex-direction:column;gap:12px;padding:16px 18px 18px;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:auto}.task-workspace:has(.open-tables){overflow:auto}.task-flow.open-tables{height:auto;min-height:100%}.task-flow.open-tables .task-flow-page{flex:none;overflow:visible}.task-flow.open-tables .score-table-wrap{overflow:visible}.download-card{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:14px 16px;border:1px dashed var(--accent-border);border-radius:var(--radius);background:var(--accent-weak)}.download-card .primary-button{flex:0 0 auto;text-decoration:none}.download-card strong{display:block;font-size:14px}.download-card p{margin:4px 0 0;font-size:13px;color:var(--muted)}.insurance-brief .brief-doc{gap:0;padding:28px 32px 24px}.insurance-brief .brief-hero{padding-bottom:22px;margin-bottom:8px;border-bottom:1px solid var(--line-soft)}.insurance-brief .brief-kicker{margin:0 0 8px;font-size:12px;letter-spacing:.08em;color:var(--accent)}.insurance-brief .brief-title{margin:0 0 14px;font-size:24px;font-weight:700;line-height:1.3}.insurance-brief .brief-lead{margin:0 0 8px;max-width:46em;line-height:1.75;color:var(--muted)}.insurance-brief .brief-lead:last-child{margin-bottom:0}.insurance-brief .brief-section{padding:22px 0;border-bottom:1px solid var(--line-soft)}.insurance-brief .brief-section:last-of-type{border-bottom:0}.insurance-brief .brief-subhead{margin:0 0 14px;padding-left:10px;border-left:3px solid var(--accent);font-size:16px;font-weight:650;line-height:1.3}.insurance-brief .brief-note{margin:0;padding:12px 14px;border-radius:var(--radius-sm);background:var(--panel-alt);line-height:1.75;color:var(--text)}.insurance-brief .brief-score{width:min(560px,100%)}.insurance-brief .brief-rules{margin:0;padding-left:1.3em;line-height:1.85}.insurance-brief .brief-rules li+li{margin-top:6px}.insurance-brief .download-footer{display:flex;justify-content:flex-end;padding-top:18px;margin-top:4px}.insurance-brief .file-link{color:var(--accent);font-size:14px;text-decoration:underline;text-underline-offset:3px}.insurance-brief .file-link:hover{color:var(--accent-strong)}.code-editor{display:flex;flex-direction:column;min-height:280px;border:1px solid #1e2430;border-radius:var(--radius);overflow:hidden;background:#0f141c;color:#d7e0ea}.code-editor.fullscreen{position:fixed;top:16px;right:16px;bottom:16px;left:16px;z-index:40;min-height:0;border-radius:12px;box-shadow:0 24px 64px #00000073}.code-editor-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#171e29;border-bottom:1px solid #2a3342}.code-editor-dot{width:10px;height:10px;border-radius:50%;background:#ff5f57}.code-editor-dot.amber{background:#febc2e}.code-editor-dot.green{background:#28c840}.code-editor-title{margin-left:8px;font-size:12px;color:#8b98a8}.code-editor-full{margin-left:auto;height:26px;padding:0 10px;border:1px solid #3a4658;border-radius:6px;background:#232c3a;color:#d7e0ea;font-size:12px;cursor:pointer}.code-editor-body{display:grid;grid-template-columns:44px minmax(0,1fr);flex:1;min-height:0}.code-editor-gutter{display:flex;flex-direction:column;padding:10px 0;background:#121821;color:#5d6b7a;font-family:var(--font-mono);font-size:12px;line-height:1.55;text-align:right}.code-editor-gutter span{padding:0 8px}.code-editor-input{width:100%;min-height:240px;padding:10px 12px;border:none;resize:vertical;background:transparent;color:#d7e0ea;font-family:var(--font-mono);font-size:13px;line-height:1.55;-moz-tab-size:4;tab-size:4}.code-editor.fullscreen .code-editor-input{min-height:0;height:100%;resize:none}.code-editor-input:focus{outline:none}.run-log{list-style:none;margin:0;padding:0}.run-log li{padding:6px 0;color:var(--muted);font-size:13.5px}.run-log li.show{color:var(--success)}.student-input{width:100%;min-width:72px;background:#dbeeff;border:1px solid #8eb6d8;border-radius:6px;text-align:center}.contract-doc{display:flex;flex-direction:column;gap:14px}.contract-doc .brief-title{margin:0 0 6px;font-size:22px}.dual-pane{display:grid;grid-template-columns:1fr 1fr;gap:16px}.scheme-card{padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-alt)}.scheme-card h3{margin:0 0 8px;font-size:16px}.scheme-card p{margin:0 0 8px;color:var(--muted);line-height:1.55}.status-board{padding:16px 18px;border:1px solid var(--success-border);border-radius:var(--radius);background:var(--success-weak)}.status-board h3{margin:0 0 10px}.status-board ul{margin:0;padding-left:18px}.status-board li+li{margin-top:4px}.download-footer{display:flex;justify-content:flex-end;margin:8px 0 16px}.file-link{color:var(--accent);font-size:14px;text-decoration:underline;text-underline-offset:3px}.file-link:hover{color:var(--accent-strong)}@media(max-width:900px){.dual-pane{grid-template-columns:1fr}}
