:root{--paper:#f3f0e8;--paper-2:#eae5d9;--surface:#fff;--surface-soft:#faf8f3;--ink:#16211e;--ink-2:#3d4c47;--muted:#7b8882;--line:#e4dfd3;--line-strong:#d5cfc0;--teal:#0f6b5c;--teal-dark:#0b564a;--teal-soft:#e4f1ec;--gold:#a97c33;--gold-soft:#f5eddc;--coral:#c2603f;--coral-soft:#f8e9e2;--shadow-sm:0 1px 2px #16211e0a, 0 8px 24px #16211e0d;--shadow-lg:0 2px 4px #16211e0a, 0 26px 60px #16211e1c;--radius:18px;--font:"Avenir Next", "Helvetica Neue", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}html{scroll-behavior:smooth}body{color:var(--ink);font-family:var(--font);background:radial-gradient(900px 520px at 88% -8%, #0f6b5c13, transparent 62%), radial-gradient(720px 520px at -6% 18%, #a97c330f, transparent 62%), var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:14px;line-height:1.6}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}::selection{background:#0f6b5c2e}:focus-visible{outline-offset:2px;outline:2px solid #0f6b5c8c}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#d7d1c2;border-radius:99px}::-webkit-scrollbar-track{background:0 0}.page{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f3f0e8d1;border-bottom:1px solid #d5cfc08c;align-items:center;gap:28px;height:68px;padding:0 34px;display:flex;position:sticky;top:0}.topbar-compact{height:60px}.brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.brand-mark{width:34px;height:34px;color:var(--teal);place-items:center;display:grid}.brand-mark-svg{width:100%;height:100%;display:block}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-text strong{letter-spacing:.02em;font-size:13.5px;font-weight:650}.brand-text em{color:var(--muted);letter-spacing:.08em;font-size:10.5px;font-style:normal}.topnav{align-items:center;gap:4px;display:flex}.nav-link{color:var(--ink-2);border-radius:8px;padding:8px 12px;font-size:13px;transition:background .2s,color .2s;position:relative}.nav-link:hover{background:#ffffffa6}.nav-link.active{color:var(--teal);font-weight:600}.nav-link.active:after{content:"";background:var(--teal);border-radius:2px;height:2px;position:absolute;bottom:2px;left:12px;right:12px}.nav-link.disabled{color:#a9b0ab;cursor:default}.nav-link.disabled:hover{background:0 0}.topbar-right{align-items:center;gap:12px;margin-left:auto;display:flex}.mode-pill{border:1px solid var(--line);color:var(--muted);letter-spacing:.04em;background:#ffffff8c;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:10.5px;display:inline-flex}.mode-dot{background:var(--gold);border-radius:50%;width:6px;height:6px}.llm-chip{border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;background:#ffffff8c;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;transition:border-color .18s,color .18s,background .18s;display:inline-flex}.llm-chip:hover{color:var(--ink);border-color:var(--line-strong);background:var(--surface)}.llm-chip i{background:var(--line-strong);border-radius:50%;width:6px;height:6px}.llm-chip.is-on i{background:var(--teal);box-shadow:0 0 0 3px #0f6b5c1f}.llm-loading{color:var(--muted);align-items:center;gap:8px;margin:0;font-size:12.5px;display:flex}.llm-state{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;align-items:center;gap:10px;margin-bottom:12px;padding:12px;display:flex}.llm-state-dot{background:var(--line-strong);border-radius:50%;flex:none;width:9px;height:9px}.llm-state-dot.on{background:var(--teal);box-shadow:0 0 0 4px #0f6b5c1f}.llm-state strong{font-size:13px;display:block}.llm-state em{color:var(--muted);font-size:11.5px;font-style:normal}.llm-copy{color:var(--muted);margin:0 0 14px;font-size:12.5px;line-height:1.75}.llm-copy code{color:var(--ink-2);background:#16211e0d;border-radius:4px;padding:1px 4px;font-size:11.5px}.llm-models>span{color:var(--muted);letter-spacing:.04em;font-size:11px}.llm-model-list{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.llm-model{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:4px 9px;font-size:11.5px}.llm-model.current{border-color:var(--teal);background:var(--teal-soft);color:var(--teal)}.llm-warn{color:var(--coral);margin:10px 0 0;font-size:11.5px;line-height:1.6}.llm-usage{border:1px solid var(--line);background:var(--paper-2);border-radius:10px;margin-top:14px;padding:10px 12px}.llm-usage>div{justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;display:flex}.llm-usage>div span{color:var(--muted)}.llm-usage>div strong{color:var(--ink);font-variant-numeric:tabular-nums}.llm-usage p{color:var(--muted);margin:6px 0 0;font-size:11px;line-height:1.6}.llm-usage p.llm-warn{color:var(--coral)}.llm-fallback{border-left:2px solid var(--line-strong);color:var(--muted);margin:12px 0 0;padding-left:9px;font-size:11.5px;line-height:1.6}.llm-probe{border-radius:10px;margin-top:14px;padding:9px 11px;font-size:12px}.llm-probe.ok{background:var(--teal-soft);color:var(--teal)}.llm-probe.err{background:var(--coral-soft);color:var(--coral)}.view-switch{border:1px solid var(--line);background:#ffffff8c;border-radius:999px;padding:3px;display:inline-flex}.view-switch button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:4px 12px;font-size:11.5px;transition:background .18s,color .18s}.view-switch button:hover{color:var(--ink)}.view-switch button.active{background:var(--teal);color:#f6f3eb;font-weight:600}.eyebrow{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:8px;margin:0;font-size:10px;font-weight:600;display:flex}.eyebrow-line{background:var(--teal);width:26px;height:1px}.ink-accent{color:var(--teal);background:linear-gradient(#0000 70%,#0f6b5c24 0)}.btn{letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:13.5px;font-weight:600;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s;display:inline-flex}.btn:active{transform:scale(.98)}.btn.primary{background:var(--teal);color:#fff;box-shadow:0 8px 20px #0f6b5c2e}.btn.primary:hover{background:var(--teal-dark);transform:translateY(-1px)}.btn.primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn.ghost{border-color:var(--line);color:var(--ink);background:#ffffffa6}.btn.ghost:hover{border-color:var(--line-strong);background:#fff}.btn.small{padding:8px 13px;font-size:12px}.btn:disabled{cursor:not-allowed}.icon-btn{width:32px;height:32px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;padding:0;transition:background .18s,color .18s;display:grid}.icon-btn:hover{background:var(--paper-2);color:var(--ink)}.panel{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid #e4dfd3e6}.panel-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.panel-head h3{letter-spacing:-.01em;margin:4px 0 0;font-size:14px;font-weight:650}.section-head{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.section-head h2{letter-spacing:-.025em;margin:8px 0 0;font-size:27px;font-weight:650}.section-note{max-width:380px;color:var(--muted);margin:0;font-size:12px;line-height:1.7}.stars{gap:2px;display:inline-flex}.star{fill:#ded8c9;width:10px;height:10px}.star.on{fill:var(--gold)}.page-footer{color:var(--muted);border-top:1px solid #d5cfc099;justify-content:space-between;align-items:center;gap:20px;margin-top:44px;padding-top:18px;font-size:10.5px;display:flex}.not-found{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:80px 24px;display:flex}.not-found h1{letter-spacing:-.02em;margin:0;font-size:30px}.not-found p{color:var(--muted);margin:0 0 14px}.training{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:34px 42px 44px}.training-desk{box-shadow:var(--shadow-lg);background:radial-gradient(620px 320px at 96% -18%,#0f6b5c1f,#0000 66%),radial-gradient(420px 300px at -6% 118%,#a97c3317,#0000 62%),linear-gradient(#fffdf8,#fbf8f1);border:1px solid #d5cfc0d9;border-radius:26px;grid-template-columns:minmax(0,1.32fr) minmax(0,.68fr);gap:44px;padding:38px 40px;display:grid;position:relative;overflow:hidden}.training-desk:after{content:"";pointer-events:none;border:1px solid #0f6b5c24;border-radius:50%;width:240px;height:240px;position:absolute;top:-70px;right:-60px}.desk-copy h1{letter-spacing:-.042em;margin:16px 0 12px;font-size:clamp(32px,3.4vw,46px);font-weight:650;line-height:1.12}.desk-lede{max-width:520px;color:var(--ink-2);margin:0;font-size:14px;line-height:1.8}.desk-metrics{gap:30px;margin-top:26px;display:flex}.desk-metrics div{align-items:baseline;gap:6px;display:flex}.desk-metrics strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:650}.desk-metrics span{color:var(--muted);font-size:11.5px}.desk-progress{background:#16211e14;border-radius:99px;max-width:460px;height:4px;margin-top:16px;position:relative;overflow:hidden}.desk-progress i{background:linear-gradient(90deg, var(--teal), #3c9a83);border-radius:99px;height:100%;transition:width .4s;display:block}.desk-last{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffc7;border:1px solid #e4dfd3e6;border-radius:18px;flex-direction:column;align-self:center;align-items:flex-start;gap:8px;padding:22px 24px;display:flex;position:relative}.desk-last strong{letter-spacing:-.01em;font-size:16px;font-weight:650}.desk-last>span{color:var(--muted);font-size:11.5px;line-height:1.65}.desk-last .btn{margin-top:6px}.training-layout{grid-template-columns:minmax(0,1fr) 316px;align-items:start;gap:34px;margin-top:36px;display:grid}.path-column{min-width:0}.path-head{padding:0 4px}.chapter-list{flex-direction:column;gap:12px;margin-top:18px;display:flex}.chapter{background:#ffffff9e;border:1px solid #e4dfd3e6;border-radius:18px;transition:background .2s,border-color .2s,box-shadow .2s}.chapter.open{background:var(--surface);box-shadow:var(--shadow-sm);border-color:#d5cfc0f2}.chapter-head{text-align:left;background:0 0;border:0;border-radius:18px;align-items:center;gap:18px;width:100%;padding:18px 22px;display:flex}.chapter-head:hover{background:#faf8f3b3}.chapter-index{background:var(--paper-2);width:38px;height:38px;color:var(--ink-2);letter-spacing:.04em;border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:650;display:grid}.chapter.open .chapter-index{background:var(--teal);color:#fff}.chapter-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chapter-title strong{letter-spacing:-.02em;font-size:16.5px;font-weight:650}.chapter-title em{color:var(--muted);font-size:11.5px;font-style:normal}.chapter-count{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.chapter-chevron{color:var(--muted);flex:none;transition:transform .22s}.chapter.open .chapter-chevron{color:var(--teal);transform:rotate(180deg)}.chapter-nodes{flex-direction:column;padding:2px 22px 18px;display:flex}.path-node{text-align:left;background:0 0;border:0;gap:14px;width:100%;padding:0;display:flex}.path-node:disabled{cursor:not-allowed}.path-rail{flex-direction:column;flex:none;align-items:center;width:22px;padding-top:20px;display:flex}.path-dot{border:1px solid var(--line-strong);background:var(--surface);width:21px;height:21px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:10px;font-weight:650;display:grid}.path-node.done .path-dot{border-color:var(--teal);background:var(--teal);color:#fff}.path-node.next .path-dot{border-color:var(--gold);color:var(--gold);box-shadow:0 0 0 4px #a97c331f}.path-node.locked .path-dot{background:var(--surface-soft);color:#b3aca0;border-style:dashed}.path-line{background:var(--line);flex:1;width:1px;margin:4px 0}.path-card{border:1px solid #0000;border-radius:14px;flex-direction:column;flex:1;gap:3px;min-width:0;margin-bottom:6px;padding:14px 16px;transition:background .18s,border-color .18s,transform .18s;display:flex}.path-node:hover .path-card{background:var(--surface-soft);border-color:var(--line);transform:translate(2px)}.path-node.next .path-card{background:linear-gradient(#fdfaf2,#fbf7ee);border-color:#a97c3347}.path-node.locked .path-card{opacity:.55}.path-node.locked:hover .path-card{background:0 0;border-color:#0000;transform:none}.path-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.path-id{color:var(--muted);letter-spacing:.12em;font-size:10px;font-weight:650}.path-status{background:var(--paper-2);color:var(--muted);letter-spacing:.04em;white-space:nowrap;border-radius:99px;padding:2px 8px;font-size:9.5px;font-weight:600}.path-status.ready{background:var(--teal-soft);color:var(--teal)}.path-status.next{background:var(--gold-soft);color:var(--gold)}.path-status.done{color:var(--teal);background:#0f6b5c1a}.path-card strong{letter-spacing:-.01em;font-size:15px;font-weight:600}.path-entry{color:var(--ink-2);font-size:12.5px;line-height:1.6}.path-meta{color:var(--muted);align-items:center;gap:5px;margin-top:3px;font-size:10.5px;display:inline-flex}.same-path{background:#f5eddc73;border:1px dashed #a97c3359;border-radius:12px;gap:12px;margin:8px 0 4px 36px;padding:12px 14px;display:flex}.same-path-tag{background:var(--gold-soft);color:var(--gold);letter-spacing:.06em;border-radius:99px;flex:none;align-self:flex-start;padding:2px 8px;font-size:9px;font-weight:650}.same-path strong{font-size:11.5px;font-weight:650;display:block}.same-path p{color:var(--muted);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:9.5px}.same-path em{color:var(--ink-2);margin-top:3px;font-size:10px;font-style:normal;line-height:1.6;display:block}.training-rail{flex-direction:column;gap:14px;display:flex;position:sticky;top:92px}.rail-next{background:linear-gradient(#fff,#fbf9f4);padding:22px 22px 20px}.rail-next h3{letter-spacing:-.025em;margin:10px 0 6px;font-size:19px;font-weight:650}.rail-entry{color:var(--ink-2);margin:0 0 12px;font-size:12.5px;line-height:1.7}.rail-tags{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.rail-tags span{background:var(--paper-2);color:var(--ink-2);border-radius:99px;padding:3px 9px;font-size:10.5px}.rail-next .btn{width:100%}.rail-hint{color:var(--muted);align-items:center;gap:5px;margin:12px 0 0;font-size:10.5px;display:flex}.rail-note{background:var(--surface-soft);gap:12px;padding:16px 18px;display:flex}.rail-note svg{color:var(--gold);flex:none;margin-top:2px}.rail-note strong{font-size:12.5px;font-weight:650;display:block}.rail-note p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.7}.rail-all{width:100%}.rail-storage{color:var(--muted);text-align:center;margin:2px 0 0;padding:0 4px;font-size:10px;line-height:1.6}.unit-list{flex-direction:column;gap:14px;margin-top:18px;display:flex}.unit-card{background:#ffffff9e;border:1px solid #e4dfd3e6;border-radius:18px;padding:22px 24px 20px;transition:background .2s,border-color .2s,box-shadow .2s}.unit-card.active{background:var(--surface);box-shadow:var(--shadow-sm);border-color:#d5cfc0f2}.unit-card.complete{background:#e4f1ec57}.unit-top{align-items:flex-start;gap:16px;display:flex}.unit-index{background:var(--paper-2);width:42px;height:42px;color:var(--ink-2);letter-spacing:.04em;border-radius:14px;flex:none;place-items:center;font-size:12px;font-weight:650;display:grid}.unit-card.active .unit-index{background:var(--teal);color:#fff}.unit-title{flex:1;min-width:0}.unit-title h3{letter-spacing:-.02em;margin:2px 0 0;font-size:18px;font-weight:650}.unit-title p{color:var(--ink-2);margin:6px 0 0;font-size:12.5px;line-height:1.7}.unit-count{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:11px}.unit-points{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.unit-points span{background:var(--paper-2);color:var(--ink-2);border-radius:99px;padding:3px 10px;font-size:10.5px}.unit-card.active .unit-points span{background:var(--teal-soft);color:var(--teal-dark)}.unit-progress{background:#16211e14;border-radius:99px;height:4px;margin-top:16px;overflow:hidden}.unit-progress i{background:linear-gradient(90deg, var(--teal), #3c9a83);border-radius:99px;height:100%;transition:width .4s;display:block}.unit-card.complete .unit-progress i{background:linear-gradient(90deg, var(--gold), #c79a4f)}.unit-foot{justify-content:space-between;align-items:center;gap:16px;margin-top:14px;display:flex}.unit-next{color:var(--muted);font-size:11px;line-height:1.6}.mastery-panel{padding:20px 20px 18px}.mastery-sample{color:var(--muted);white-space:nowrap;font-size:10.5px}.mastery-list{flex-direction:column;gap:12px;margin-top:14px;display:flex}.mastery-head{justify-content:space-between;align-items:baseline;gap:10px;font-size:11.5px;display:flex}.mastery-head span{color:var(--ink-2)}.mastery-state{color:var(--teal);font-size:10.5px;font-style:normal}.mastery-state.idle{color:var(--muted)}.mastery-bar{background:#16211e12;border-radius:99px;height:5px;margin-top:6px;overflow:hidden}.mastery-bar i{background:linear-gradient(90deg, var(--teal), #54a892);border-radius:99px;height:100%;transition:width .4s;display:block}.mastery-foot{color:var(--muted);margin:14px 0 0;font-size:10px;line-height:1.6}.recent-panel{padding:20px 20px 14px}.recent-list{flex-direction:column;margin-top:6px;display:flex}.recent-row{text-align:left;background:0 0;border:0;border-bottom:1px solid #e4dfd3b3;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 0;display:flex}.recent-row:last-child{border-bottom:0;padding-bottom:4px}.recent-row:disabled{cursor:default;opacity:.72}.recent-row span{color:var(--muted);font-size:10px}.recent-row strong{font-size:12.5px;font-weight:650}.recent-row em{color:var(--muted);font-size:10.5px;font-style:normal}.recent-row:not(:disabled):hover strong{color:var(--teal)}.recent-empty{color:var(--muted);margin:14px 0 4px;font-size:11px;line-height:1.7}.unit-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.chapter-review{margin:6px 0 2px 36px}.review .report-topline{margin-bottom:16px}.review-head{margin-bottom:16px;padding:0 4px}.review-cases{flex-direction:column;gap:14px;display:flex}.review-case{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:18px;grid-template-columns:52px minmax(0,1fr);gap:16px;padding:20px 22px 16px;display:grid}.review-case-rail{flex-direction:column;align-items:center;gap:9px;padding-top:2px;display:flex}.review-case-index{color:var(--muted);letter-spacing:.06em;font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:650}.review-case-dot{background:var(--teal-soft);width:24px;height:24px;color:var(--teal);border-radius:50%;place-items:center;display:grid}.review-case.warn .review-case-dot{background:var(--gold-soft);color:var(--gold)}.review-case.bad .review-case-dot{background:var(--coral-soft);color:var(--coral)}.review-case.idle .review-case-dot{background:var(--paper-2);color:var(--muted)}.review-case-body{min-width:0}.review-case-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.review-case-head>div:first-child{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.review-case-id{background:var(--paper-2);color:var(--ink-2);letter-spacing:.05em;border-radius:6px;padding:2px 7px;font-size:9.5px;font-weight:650}.review-case-head strong{letter-spacing:-.01em;font-size:15px;font-weight:650}.review-case-head em{color:var(--muted);font-size:10.5px;font-style:normal}.review-case-status{flex-direction:column;flex:none;align-items:flex-end;gap:3px;display:flex}.review-case-status em{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px;font-style:normal}.review-status{background:var(--teal-soft);color:var(--teal);white-space:nowrap;border-radius:99px;padding:3px 9px;font-size:10px;font-weight:600}.review-status.warn{background:var(--gold-soft);color:var(--gold)}.review-status.bad{background:var(--coral-soft);color:var(--coral)}.review-status.idle{background:var(--paper-2);color:var(--muted)}.review-gold{border-left:2px solid var(--teal);background:var(--surface-soft);border-radius:10px;margin-top:12px;padding:12px 14px}.review-gold>strong{color:var(--teal-dark);margin-top:5px;font-size:13.5px;font-weight:650;line-height:1.5;display:block}.review-gold>p{color:var(--ink-2);margin:6px 0 0;font-size:11px;line-height:1.75}.review-gold>p span{color:var(--muted);letter-spacing:.04em;margin-right:6px;font-size:9.5px;display:inline-block}.review-missed{color:var(--coral);flex-wrap:wrap;align-items:center;gap:5px;margin-top:10px;display:flex}.review-missed>span{color:var(--muted);margin-right:2px;font-size:10px}.review-missed em{background:var(--coral-soft);color:#8a452e;border-radius:5px;padding:3px 7px;font-size:9.5px;font-style:normal;line-height:1.5}.review-case-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.review-foot-note{color:var(--muted);font-size:10px}.review-details{margin-left:auto}.review-details summary{color:var(--muted);cursor:pointer;font-size:10.5px;list-style:none}.review-details summary::-webkit-details-marker{display:none}.review-details summary:before{content:"＋ ";color:var(--gold)}.review-details[open] summary:before{content:"－ "}.review-details summary:hover{color:var(--ink)}.review-chain,.review-differentials{background:var(--surface-soft);border-radius:10px;margin-top:8px;padding:10px 12px}.review-details .review-chain,.review-details .review-differentials{flex-basis:100%}.review-chain>span,.review-differentials>span{color:var(--gold);letter-spacing:.05em;font-size:9px;font-weight:600}.review-chain p{color:var(--ink-2);margin:4px 0 0;font-size:10.5px;line-height:1.7}.review-differentials ul{gap:3px;margin:5px 0 0;padding:0;list-style:none;display:grid}.review-differentials li{color:var(--ink-2);padding-left:12px;font-size:10.5px;line-height:1.65;position:relative}.review-differentials li:before{content:"";background:var(--line-strong);border-radius:50%;width:4px;height:4px;position:absolute;top:8px;left:2px}.review-same{margin-top:40px}.review-groups{gap:12px;display:grid}.review-group{border:1px solid var(--line);background:linear-gradient(180deg, #fffdf8, var(--surface-soft));border-radius:16px;gap:12px;padding:16px 18px;display:flex}.review-group>div{min-width:0}.review-group strong{font-size:13px;font-weight:650;display:block}.review-group ul{flex-direction:column;gap:3px;margin:7px 0 0;padding:0;list-style:none;display:flex}.review-group li{color:var(--ink-2);align-items:baseline;gap:7px;font-size:10.5px;line-height:1.6;display:flex}.review-group li span{color:var(--teal);letter-spacing:.04em;flex:none;font-size:9px;font-weight:650}.review-group em{color:var(--muted);margin-top:8px;font-size:10.5px;font-style:normal;line-height:1.7;display:block}.review-locked{text-align:center;flex-direction:column;align-items:center;margin-top:22px;padding:40px 32px 34px;display:flex}.review-locked-icon{background:var(--teal-soft);width:48px;height:48px;color:var(--teal);border-radius:50%;place-items:center;display:grid}.review-locked h2{letter-spacing:-.025em;margin:14px 0 8px;font-size:24px;font-weight:650}.review-locked>p{max-width:560px;color:var(--ink-2);margin:0;font-size:12.5px;line-height:1.85}.review-lock-progress{flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:22px;display:flex}.review-lock-progress>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10.5px}.review-lock-progress .unit-progress{width:min(420px,100%);margin-top:0}.review-lock-slots{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;width:100%;max-width:640px;margin-top:20px;display:grid}.review-lock-slot{border:1px solid var(--line);color:var(--muted);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:9px 11px;font-size:10px;display:flex}.review-lock-slot strong{font-size:10.5px;font-weight:600}.review-lock-slot.done{background:var(--teal-soft);color:var(--teal);border-color:#0f6b5c33}.review-locked>.btn{margin-top:24px}.missed-panel{padding:20px 20px 16px}.missed-rank{flex-direction:column;margin-top:8px;display:flex}.missed-rank-row{border-bottom:1px solid #e4dfd3b3;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 0;display:flex}.missed-rank-row:last-child{border-bottom:0;padding-bottom:2px}.missed-rank-row span{color:var(--ink-2);font-size:11px;line-height:1.6}.missed-rank-row em{color:var(--coral);font-variant-numeric:tabular-nums;flex:none;font-size:10px;font-style:normal}.missed-empty{color:var(--muted);margin:12px 0 0;font-size:11px;line-height:1.7}.records-layout{grid-template-columns:minmax(0,1fr) 316px;align-items:start;gap:34px;margin-top:36px;display:grid}.records-column{min-width:0}.records-head{padding:0 4px}.records-head .section-note{max-width:430px}.records-list{flex-direction:column;gap:14px;margin-top:18px;display:flex}.student-record{background:#ffffff9e;border:1px solid #e4dfd3e6;border-radius:18px;padding:20px 24px 18px;transition:background .2s,border-color .2s,box-shadow .2s}.student-record.warn{background:#ffffffd1;border-color:#c2603f47}.record-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.record-person{align-items:center;gap:12px;min-width:0;display:flex}.record-avatar{background:var(--teal-soft);width:38px;height:38px;color:var(--teal);letter-spacing:-.02em;font-variant-numeric:tabular-nums;border-radius:12px;flex:none;place-items:center;font-size:12px;font-weight:650;display:grid}.student-record.warn .record-avatar{background:var(--coral-soft);color:var(--coral)}.record-person strong{letter-spacing:-.01em;font-size:14px;font-weight:650;display:block}.record-person em{color:var(--muted);margin-top:1px;font-size:10.5px;font-style:normal;display:block}.record-status{white-space:nowrap;border-radius:99px;flex:none;padding:3px 9px;font-size:10.5px}.record-status.good{background:var(--teal-soft);color:var(--teal)}.record-status.warn{background:var(--coral-soft);color:var(--coral)}.record-status.normal{background:var(--gold-soft);color:var(--gold)}.record-status.idle{background:var(--paper-2);color:var(--muted)}.record-stats{gap:34px;margin-top:16px;display:flex}.record-stats div{flex-direction:column;gap:1px;display:flex}.record-stats strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:19px;font-weight:650}.record-stats strong i{color:var(--muted);letter-spacing:0;font-size:11px;font-style:normal;font-weight:500}.record-stats span{color:var(--muted);font-size:10.5px}.record-bar{background:#16211e12;border-radius:99px;height:4px;margin-top:12px;overflow:hidden}.record-bar i{background:linear-gradient(90deg, var(--teal), #54a892);border-radius:99px;height:100%;display:block}.student-record.warn .record-bar i{background:linear-gradient(90deg, var(--coral), #d98b6f)}.record-missed{align-items:flex-start;gap:10px;margin-top:14px;display:flex}.record-missed-label{color:var(--muted);flex:none;margin-top:3px;font-size:10px}.record-missed-chips{flex-wrap:wrap;gap:6px;display:flex}.record-missed-chip{background:var(--coral-soft);color:#8f4429;border-radius:99px;padding:3px 9px;font-size:10.5px;line-height:1.5}.record-missed-chip b{margin-left:4px;font-weight:650}.record-clean{color:var(--teal);margin:14px 0 0;font-size:10.5px}.record-cases{border-top:1px solid #e4dfd3cc;margin-top:14px}.record-cases summary{color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;padding:11px 0 3px;font-size:11.5px;list-style:none;display:flex}.record-cases summary::-webkit-details-marker{display:none}.record-cases summary em{color:var(--muted);font-size:10px;font-style:normal}.record-chevron{color:var(--muted);margin-left:auto;transition:transform .2s}.record-cases[open] .record-chevron{transform:rotate(180deg)}.record-case-list{flex-direction:column;margin-top:4px;display:flex}.record-case{border-bottom:1px solid #e4dfd39e;padding:11px 0 10px}.record-case:last-child{border-bottom:0;padding-bottom:0}.record-case-top{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.record-case-title{min-width:0}.record-case-title strong{font-size:12px;font-weight:600;display:block}.record-case-title em{color:var(--muted);margin-top:1px;font-size:10px;font-style:normal;display:block}.record-case-score{flex:none;align-items:center;gap:10px;display:flex}.record-case-score b{font-variant-numeric:tabular-nums;font-size:13px}.record-case-state{white-space:nowrap;border-radius:99px;padding:2px 7px;font-size:9.5px;font-style:normal}.record-case-state.ok{background:var(--teal-soft);color:var(--teal)}.record-case-state.fixed{background:var(--gold-soft);color:var(--gold)}.record-case-state.miss{background:var(--coral-soft);color:var(--coral)}.record-case-meta{color:var(--muted);margin:4px 0 0;font-size:10px}.record-case-gaps{color:#8f4429;margin:3px 0 0;font-size:10px;line-height:1.6}.record-empty{background:var(--surface-soft);color:var(--muted);border-radius:12px;margin:14px 0 0;padding:12px 14px;font-size:11px;line-height:1.7}.record-gap-panel{padding:20px 20px 16px}.record-gap-list{flex-direction:column;gap:12px;margin-top:14px;display:flex}.record-gap-head{justify-content:space-between;align-items:baseline;gap:10px;font-size:11px;display:flex}.record-gap-head span{color:var(--ink-2);line-height:1.5}.record-gap-head em{color:var(--muted);white-space:nowrap;flex:none;font-size:9.5px;font-style:normal}.record-gap-bar{background:#16211e12;border-radius:99px;height:4px;margin-top:5px;overflow:hidden}.record-gap-bar i{background:linear-gradient(90deg, var(--gold), #c8a264);border-radius:99px;height:100%;display:block}.rail-note .btn{margin-top:10px}.record-case-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.record-transcript-btn{border:1px solid var(--line);color:var(--ink-2);background:#fff;border-radius:99px;flex:none;align-items:center;gap:4px;padding:3px 9px;font-size:10px;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.record-transcript-btn:hover{border-color:var(--teal);background:var(--teal-soft);color:var(--teal)}.live-panel{margin-bottom:18px;padding:20px 22px 16px}.live-stats{color:var(--muted);flex-wrap:wrap;gap:8px 20px;margin:12px 0 4px;font-size:10.5px;display:flex}.live-stats b{color:var(--ink);font-variant-numeric:tabular-nums;margin-right:4px;font-size:15px}.live-list{border-top:1px solid var(--line);flex-direction:column;margin-top:8px;display:flex}.live-row{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e4dfd39e;grid-template-columns:minmax(0,1.7fr) 92px 46px 66px 74px 16px;align-items:center;gap:12px;padding:10px 2px;transition:background .18s;display:grid}.live-row:hover{background:var(--surface-soft)}.live-person{flex-direction:column;min-width:0;display:flex}.live-person strong{font-size:12px}.live-person em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-style:normal;overflow:hidden}.live-time,.live-count{color:var(--muted);font-size:10px}.live-score{font-variant-numeric:tabular-nums;text-align:right;justify-content:flex-end;align-items:center;gap:3px;font-size:14px;font-weight:650;display:inline-flex}.live-state{white-space:nowrap;border-radius:99px;justify-self:start;padding:2px 8px;font-size:9.5px}.live-state.completed{background:var(--teal-soft);color:var(--teal)}.live-state.active{background:var(--gold-soft);color:var(--gold)}.live-empty{background:var(--surface-soft);color:var(--muted);border-radius:12px;margin:12px 0 0;padding:12px 14px;font-size:11px;line-height:1.7}.live-note{color:var(--muted);margin:10px 0 0;font-size:10px;line-height:1.6}.live-section-head{justify-content:space-between;align-items:baseline;gap:12px;margin:18px 0 8px;display:flex}.live-section-head strong{font-size:12.5px}.live-section-head span{color:var(--muted);font-size:10px}.live-scoring-meta{flex-wrap:wrap;gap:6px;display:flex}.live-scoring-meta>span{border:1px solid var(--line);background:#faf8f2;border-radius:8px;align-items:baseline;gap:5px;padding:4px 8px;font-size:9.5px;display:inline-flex}.live-scoring-meta em{color:var(--muted);font-style:normal}.live-scoring-meta b{font-variant-numeric:tabular-nums;font-weight:550}.live-scoring-meta .live-locked{background:var(--gold-soft);color:var(--gold);border-color:#e8d9bd}.live-review-note{border-left:2px solid var(--teal);background:var(--teal-soft);color:var(--ink-2);margin:8px 0 0;padding:8px 10px;font-size:10.5px;line-height:1.6}.live-review-form{border:1px solid var(--line);background:#fbfaf6;border-radius:12px;margin-top:10px;padding:12px}.live-review-grid{grid-template-columns:minmax(0,1fr) 110px minmax(0,1.3fr);align-items:end;gap:10px;display:grid}.live-review-grid label,.live-review-note-field{color:var(--muted);flex-direction:column;gap:4px;font-size:9.5px;display:flex}.live-review-grid input[type=text],.live-review-grid input[type=number],.live-review-grid input:not([type]),.live-review-note-field textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:6px 8px;font-family:inherit;font-size:11px}.live-review-grid input:disabled,.live-review-note-field textarea:disabled{background:var(--surface-soft);color:var(--muted)}.live-lock-field{align-items:center;padding-bottom:7px;color:var(--ink-2)!important;flex-direction:row!important;gap:6px!important}.live-lock-field input{accent-color:var(--teal)}.live-review-note-field{margin-top:8px}.live-review-note-field textarea{resize:vertical;line-height:1.55}.live-review-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.live-export-note{color:var(--muted);font-size:9.5px}.live-save-ok,.live-save-error{margin:8px 0 0;font-size:10px}.live-save-ok{color:var(--teal)}.live-save-error{color:#a4492e}.replay-list{border-top:1px solid var(--line);flex-direction:column;display:flex}.replay-step{border-bottom:1px solid #e4dfd39e}.replay-step>summary{cursor:pointer;align-items:center;gap:10px;padding:8px 2px;list-style:none;display:flex}.replay-step>summary::-webkit-details-marker{display:none}.replay-step>summary:hover{background:var(--surface-soft)}.replay-seq{width:22px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:10px}.replay-step>summary strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;font-weight:550;overflow:hidden}.replay-layers{flex:none;gap:3px;display:flex}.replay-layers i{border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:1px 4px;font-size:8px;font-style:normal}.replay-layers i.on{background:var(--teal-soft);color:var(--teal);border-color:#bfdcd3}.replay-step>summary em{color:var(--muted);white-space:nowrap;flex:none;font-size:9px;font-style:normal}.replay-detail{color:var(--ink-2);gap:4px;padding:0 2px 10px 34px;font-size:9.5px;line-height:1.55;display:grid}.replay-detail b{min-width:52px;color:var(--muted);font-weight:500;display:inline-block}.evidence-list{border-top:1px solid var(--line);flex-direction:column;display:flex}.evidence-item{border-bottom:1px solid #e4dfd39e;gap:12px;padding:9px 0;display:flex}.evidence-seq{width:22px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;padding-top:2px;font-size:10px}.evidence-body{flex:1;min-width:0}.evidence-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.evidence-head strong{font-size:11.5px;font-weight:600;line-height:1.5}.evidence-tags{flex:none;align-items:center;gap:5px;display:flex}.evidence-source,.evidence-intent{background:var(--surface-soft);color:var(--muted);white-space:nowrap;border-radius:99px;flex:none;padding:1px 7px;font-size:9px;font-style:normal}.evidence-source.llm{background:var(--teal-soft);color:var(--teal)}.evidence-source.guard{background:var(--gold-soft);color:var(--gold)}.evidence-source.llm-router{color:#5a4a8a;background:#ece9f7}.evidence-source.unmatched,.evidence-intent.unmatched,.evidence-intent.off_path,.evidence-intent.blocked{background:var(--coral-soft);color:var(--coral)}.evidence-intent.positive,.evidence-intent.indicated{background:var(--teal-soft);color:var(--teal)}.evidence-body p{color:var(--ink-2);white-space:pre-line;margin:3px 0 0;font-size:10.5px;line-height:1.7}.live-report-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:14px;display:grid}.live-report-grid div{background:var(--surface-soft);border-radius:10px;padding:10px 12px}.live-report-grid span{color:var(--muted);font-size:9.5px}.live-report-grid p{margin:3px 0 0;font-size:11px;line-height:1.6}.unmatched-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.unmatched-item{align-items:flex-start;gap:8px;font-size:10.5px;line-height:1.6;display:flex}.unmatched-item span{background:var(--coral-soft);color:var(--coral);border-radius:99px;flex:none;padding:1px 6px;font-size:9px}.unmatched-item p{color:var(--ink-2);margin:0}.unmatched-cluster{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:9px 10px}.unmatched-cluster-head{align-items:center;gap:7px;display:flex}.unmatched-cluster-head>span{background:var(--coral-soft);color:var(--coral);border-radius:99px;padding:1px 6px;font-size:9px}.unmatched-cluster-head b{color:var(--ink-2);font-size:10px;font-weight:600}.unmatched-cluster-head em{border-radius:99px;margin-left:auto;padding:1px 6px;font-size:8.5px;font-style:normal}.unmatched-cluster-head em.open{color:#9a5b00;background:#fdf0d5}.unmatched-cluster-head em.resolved{color:#146c4a;background:#e3f4ec}.unmatched-cluster>strong{margin-top:5px;font-size:11px;display:block}.unmatched-cluster>p{color:var(--muted);word-break:break-word;margin:3px 0 6px;font-size:9.5px;line-height:1.55}.work-order-list{border-top:1px dashed var(--line);margin-top:14px;padding-top:10px}.work-order-list h4{margin:0 0 7px;font-size:11px}.work-order-item{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:7px 9px;display:flex}.work-order-item+.work-order-item{margin-top:6px}.work-order-item>div{min-width:0}.work-order-item span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:8.5px}.work-order-item p{word-break:break-word;margin:2px 0 0;font-size:10px;line-height:1.5}@media (width<=900px){.live-row{grid-template-columns:minmax(0,1fr) 48px 66px 16px}.live-time,.live-count{display:none}}.transcript-summary{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;flex-wrap:wrap;gap:14px 22px;padding:12px 14px;display:flex}.transcript-summary span{align-items:baseline;gap:6px;font-size:11px;display:flex}.transcript-summary em{color:var(--muted);font-style:normal}.transcript-summary strong{font-size:14px;font-weight:650}.transcript-state.ok{color:var(--teal)}.transcript-state.fixed{color:var(--gold)}.transcript-state.miss{color:var(--coral)}.transcript-list{border-top:1px solid #e4dfd3cc;flex-direction:column;margin-top:16px;display:flex}.transcript-line{border-bottom:1px solid #e4dfd399;grid-template-columns:52px minmax(0,1fr) 40px;gap:12px;padding:11px 0;display:grid}.transcript-line:last-child{border-bottom:0}.transcript-who{color:var(--muted);letter-spacing:.02em;padding-top:1px;font-size:10px;font-weight:600}.transcript-line.student .transcript-who{color:var(--teal)}.transcript-line.exam .transcript-who,.transcript-line.imaging .transcript-who{color:var(--gold)}.transcript-body p{white-space:pre-wrap;margin:0;font-size:12.5px;line-height:1.75}.transcript-line.student .transcript-body p{color:var(--ink);font-weight:500}.transcript-line.system .transcript-body p{color:var(--ink-2)}.transcript-meta{color:var(--teal);margin-bottom:3px;font-size:10px;font-weight:600;display:block}.transcript-line.imaging .transcript-meta{color:var(--gold)}.transcript-time{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;padding-top:2px;font-size:9.5px}.transcript-line.exam,.transcript-line.imaging{background:#faf8f3a6}.transcript-missed{background:var(--coral-soft);border-radius:12px;margin-top:14px;padding:11px 14px}.transcript-missed strong{color:#8f4429;font-size:10.5px;display:block}.transcript-missed p{color:#8f4429;margin:3px 0 0;font-size:11px;line-height:1.7}.transcript-note{color:var(--muted);margin:12px 0 0;font-size:10px;line-height:1.6}@media (width<=1180px){.training-desk{grid-template-columns:1fr;gap:26px}.desk-last{align-self:stretch}.training-layout,.records-layout{grid-template-columns:minmax(0,1fr) 280px;gap:24px}}@media (width<=980px){.training{padding:22px 22px 40px}.training-desk{padding:28px 24px}.training-layout,.records-layout{grid-template-columns:1fr}.records-layout .training-rail{order:2}.training-rail{order:-1;position:static}.student-rail{order:2}.review-layout .training-rail{order:2;position:static}}@media (width<=700px){.training{padding:16px 16px 36px}.training-desk{border-radius:20px;padding:22px 18px}.desk-copy h1{font-size:27px}.desk-metrics{flex-wrap:wrap;gap:14px 22px}.student-record{padding:16px 16px 14px}.record-stats{gap:20px}.record-stats strong{font-size:17px}.record-missed{flex-direction:column;gap:4px}.record-case-top{gap:8px}.record-case-score{gap:6px}.chapter-head{gap:12px;padding:14px 16px}.chapter-count{display:none}.chapter-nodes{padding:2px 14px 14px}.path-card{padding:12px}.path-node:hover .path-card{transform:none}.unit-card{padding:18px 16px}.unit-top{gap:12px}.unit-index{border-radius:11px;width:34px;height:34px;font-size:11px}.unit-title h3{font-size:16px}.unit-count{display:none}.unit-foot{flex-direction:column;align-items:stretch;gap:10px}.unit-foot .btn{justify-content:center}.unit-actions{justify-content:stretch;width:100%}.unit-actions .btn{flex:1}.chapter-review{margin-left:0}.review-case{grid-template-columns:1fr;gap:10px;padding:16px}.review-case-rail{flex-direction:row;justify-content:space-between;padding-top:0}.review-case-head{flex-direction:column;gap:8px}.review-case-status{flex-direction:row;align-items:center;gap:8px}.review-details{width:100%;margin-left:0}.review-case-foot .btn{flex:1;justify-content:center}.review-locked{padding:28px 18px}.review-locked h2{font-size:20px}.review-lock-slots{grid-template-columns:1fr 1fr}.review-group{flex-direction:column;gap:8px}.page-footer{flex-direction:column;align-items:flex-start;gap:6px}}.library{flex:1}.hero{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);align-items:center;gap:54px;max-width:1440px;margin:0 auto;padding:66px 42px 54px;display:grid}.hero-copy{max-width:650px}.hero h1{letter-spacing:-.045em;margin:20px 0;font-size:clamp(40px,4.4vw,62px);font-weight:650;line-height:1.1}.lede{max-width:560px;color:var(--ink-2);margin:0;font-size:15.5px;line-height:1.9}.hero-stats{border-top:1px solid #d5cfc0bf;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:32px;padding-top:22px;display:grid}.hero-stats div{flex-direction:column;gap:2px;display:flex}.hero-stats strong{letter-spacing:-.03em;font-size:26px;font-weight:650;line-height:1.2}.hero-stats span{color:var(--muted);letter-spacing:.02em;font-size:11px}.hero-actions{align-items:center;gap:10px;margin-top:30px;display:flex}.hero-visual{place-items:center;min-height:470px;display:grid;position:relative}.hero-orbit{pointer-events:none;border:1px solid #0f6b5c21;border-radius:50%;position:absolute}.orbit-one{width:510px;height:510px}.orbit-two{opacity:.8;border-style:dashed;width:380px;height:380px}.demo-card{z-index:2;background:linear-gradient(#fffdf9,#fff);border:1px solid #ffffffe6;border-radius:24px;width:min(432px,100%);padding:26px;position:relative;box-shadow:0 3px 6px #16211e0a,0 34px 80px #16211e24}.demo-card:before{content:"";background:linear-gradient(90deg, var(--teal), #0f6b5c1f);border-radius:24px 24px 0 0;height:3px;position:absolute;inset:0 0 auto}.demo-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.demo-id{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:9.5px;font-weight:600}.demo-head h3{letter-spacing:-.02em;margin:6px 0 0;font-size:21px;font-weight:650}.live-pill{background:var(--teal-soft);color:var(--teal);border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:10px;font-weight:600;display:inline-flex}.live-pill span{background:var(--teal);border-radius:50%;width:6px;height:6px;animation:2.2s infinite pulse}.demo-quote{background:var(--surface-soft);border-left:2px solid var(--teal);color:var(--ink-2);border-radius:0 10px 10px 0;margin:18px 0;padding:12px 14px;font-size:12.5px;line-height:1.75}.demo-layers{flex-direction:column;gap:1px;display:flex}.demo-layer{color:#97a19c;border-bottom:1px dashed #e4dfd3d9;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;padding:8px 0;font-size:11.5px;display:grid}.demo-layer:last-child{border-bottom:none}.demo-layer span{letter-spacing:.04em;font-size:9.5px;font-weight:600}.demo-layer em{font-size:9.5px;font-style:normal}.demo-layer.done{color:var(--ink-2)}.demo-layer.done span,.demo-layer.done em{color:var(--teal)}.demo-layer.gated{color:#7d5c24}.demo-layer.gated span,.demo-layer.gated em{color:var(--gold)}.demo-foot{border-top:1px solid var(--line);color:var(--muted);white-space:nowrap;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding-top:14px;font-size:11px;display:flex}.demo-foot span{align-items:center;gap:5px;display:inline-flex}.demo-go{font-weight:600;color:var(--teal)!important}.floating-note{z-index:3;color:var(--ink-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border:1px solid #ffffffe6;border-radius:12px;align-items:center;gap:7px;padding:9px 12px;font-size:10.5px;animation:6s ease-in-out infinite float;display:flex;position:absolute;box-shadow:0 14px 30px #16211e1a}.floating-note svg{color:var(--gold)}.note-a{top:-20px;right:24px}.note-b{animation-delay:-3s;bottom:-30px;left:24px}.note-dot{background:var(--teal);border-radius:50%;width:6px;height:6px}.library-section{max-width:1440px;margin:0 auto;padding:12px 42px 0}.filter-bar{align-items:center;gap:18px;margin:26px 0 22px;display:flex}.filter-note{color:var(--muted);margin:0;font-size:11.5px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);color:var(--ink-2);background:#ffffff80;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:11.5px;transition:background .18s,color .18s,border-color .18s;display:inline-flex}.chip span{color:var(--muted);font-size:9.5px}.chip:hover{background:#fff}.chip.active{background:var(--ink);border-color:var(--ink);color:#fff}.chip.active span{color:#fff9}.search{border:1px solid var(--line);width:280px;color:var(--muted);background:#ffffff9e;border-radius:999px;align-items:center;gap:8px;margin-left:auto;padding:8px 13px;transition:background .18s,border-color .18s;display:flex}.search:focus-within{background:#fff;border-color:#0f6b5c66}.search input{min-width:0;color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:12px}.search input::placeholder{color:#a4ada8}.case-grid{grid-template-columns:repeat(auto-fill,minmax(292px,1fr));gap:18px;display:grid}.case-card{cursor:pointer;background:#fff;border:1px solid #e4dfd3f2;border-radius:20px;flex-direction:column;min-height:258px;padding:20px;transition:transform .22s,box-shadow .22s,border-color .22s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 1px #16211e05}.case-card:hover{border-color:#0f6b5c3d;transform:translateY(-3px);box-shadow:0 18px 40px #16211e17}.case-card.featured:before{content:"";background:linear-gradient(90deg, var(--teal), #0f6b5c14);height:3px;position:absolute;inset:0 0 auto}.case-card.locked{background:#fbfaf6}.case-card.locked:hover{border-color:var(--line-strong);box-shadow:0 10px 24px #16211e0d}.case-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.case-id{color:var(--muted);letter-spacing:.16em;font-size:9.5px;font-weight:600}.case-top-right{align-items:center;gap:8px;display:flex}.featured-badge{background:var(--gold-soft);color:var(--gold);border-radius:5px;padding:3px 7px;font-size:9px;font-weight:600}.case-card h3{letter-spacing:-.02em;margin:12px 0 3px;font-size:18px;font-weight:650}.case-sub{color:var(--muted);margin:0;font-size:11.5px;line-height:1.55}.case-entry{color:var(--ink-2);margin:12px 0 16px;font-size:12.5px;line-height:1.7}.case-quote{-webkit-line-clamp:2;background:var(--surface-soft);color:var(--ink-2);border-left:2px solid #0f6b5c73;border-radius:0 8px 8px 0;-webkit-box-orient:vertical;margin:13px 0;padding:8px 11px;font-size:11.5px;line-height:1.65;display:-webkit-box;overflow:hidden}.case-hint{color:var(--ink-2);margin:13px 0;font-size:11.5px;line-height:1.65}.case-tags{flex-wrap:wrap;gap:5px;margin-bottom:14px;display:flex}.case-tags span{color:var(--muted);border:1px solid #e4dfd3cc;border-radius:5px;padding:3px 7px;font-size:9.5px}.case-foot{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:12px;display:flex}.case-focus{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.4;overflow:hidden}.case-go{color:var(--teal);flex-shrink:0;align-items:center;gap:3px;font-size:11.5px;font-weight:600;display:inline-flex}.case-soon{color:var(--gold);flex-shrink:0;font-size:10px}.empty-state{color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:60px 20px;display:flex}.preview-body{flex-direction:column;gap:2px;display:flex}.preview-row{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:20px;padding:11px 0;font-size:12px;display:flex}.preview-row>span{color:var(--muted)}.preview-row strong{text-align:right;font-weight:600}.preview-focus{background:var(--surface-soft);border-radius:10px;margin-top:16px;padding:12px 14px}.preview-focus>span{color:var(--muted);letter-spacing:.08em;font-size:10px}.preview-focus p{margin:6px 0 0;font-size:12.5px;line-height:1.7}.preview-note{color:var(--muted);margin:16px 0 4px;font-size:11.5px;line-height:1.75}.preview-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.session-page{height:100dvh;overflow:hidden}.session-topline{align-items:center;gap:22px;padding:16px 28px 12px;display:flex}.back-link{color:var(--muted);align-items:center;gap:5px;font-size:11.5px;transition:color .18s;display:inline-flex}.back-link:hover{color:var(--teal)}.session-title{align-items:center;gap:12px;min-width:0;display:flex}.session-id{background:var(--teal-soft);color:var(--teal);letter-spacing:.08em;border-radius:6px;padding:5px 8px;font-size:10px;font-weight:700}.session-title h1{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:17px;font-weight:650;overflow:hidden}.session-title p{color:var(--muted);margin:2px 0 0;font-size:10.5px}.session-actions{flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex}.timer{border:1px solid var(--line);color:var(--ink-2);font-variant-numeric:tabular-nums;background:#fff9;border-radius:999px;align-items:center;gap:5px;padding:7px 11px;font-size:11.5px;display:inline-flex}.session-grid{grid-template-columns:266px minmax(0,1fr) 314px;gap:16px;height:calc(100dvh - 146px);min-height:560px;padding:0 28px 22px;display:grid}.session-col{flex-direction:column;gap:14px;min-height:0;display:flex}.left-col{padding-right:2px;overflow-y:auto}.left-col::-webkit-scrollbar{width:4px}.patient-panel{padding:18px}.patient-head{align-items:center;gap:11px;display:flex}.patient-avatar{color:#f3f0e8;background:linear-gradient(145deg,#12806d,#0b564a);border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:14px;font-weight:600;display:grid;box-shadow:0 6px 14px #0f6b5c33}.patient-avatar.small{width:34px;height:34px;box-shadow:none;font-size:11.5px}.patient-head h2{margin:0;font-size:14px;font-weight:650}.patient-head p{color:var(--muted);margin:2px 0 0;font-size:10.5px}.patient-quote{background:var(--surface-soft);color:var(--ink-2);border-radius:10px;margin:14px 0;padding:10px 12px;font-size:11.5px;line-height:1.7}.patient-meta-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.patient-meta-grid div{background:#faf8f3;border-radius:8px;padding:8px 9px}.patient-meta-grid span{color:var(--muted);font-size:9.5px;display:block}.patient-meta-grid strong{margin-top:3px;font-size:11px;font-weight:600;line-height:1.4;display:block}.layer-panel{padding:18px}.layer-now{background:var(--teal-soft);width:30px;height:30px;color:var(--teal);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.layer-list{flex-direction:column;margin-top:12px;display:flex}.layer-row{opacity:.55;align-items:center;gap:9px;padding:7px 0;transition:opacity .25s;display:flex}.layer-row.done{opacity:1}.layer-row.locked{opacity:.85}.layer-dot{border:1px solid var(--line-strong);width:20px;height:20px;color:var(--muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:9px;font-weight:600;display:grid}.layer-row.done .layer-dot{border-color:var(--teal);background:var(--teal);color:#fff}.layer-row.locked .layer-dot{color:var(--gold);border-color:#dcc28e}.layer-row strong{font-size:11.5px;font-weight:600;display:block}.layer-row em{color:var(--muted);font-size:9.5px;font-style:normal;display:block}.layer-row>svg{color:var(--gold);margin-left:auto}.empathy-card{background:var(--gold-soft);color:#72531f;border-radius:9px;gap:8px;margin-top:10px;padding:10px;display:flex}.empathy-card svg{color:var(--gold);flex-shrink:0;margin-top:1px}.empathy-card p{margin:0;font-size:10px;line-height:1.65}.target-panel{padding:18px}.target-text{color:var(--ink-2);margin:10px 0 14px;font-size:11.5px;line-height:1.7}.mini-stats{border-top:1px dashed var(--line);grid-template-columns:repeat(3,1fr);gap:6px;padding-top:12px;display:grid}.mini-stats div{text-align:center}.mini-stats strong{letter-spacing:-.02em;font-size:19px;font-weight:650;line-height:1.2;display:block}.mini-stats span{color:var(--muted);font-size:9.5px}.chat-col{min-width:0}.chat-panel{height:100%;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #e4dfd3f2;border-radius:20px;flex-direction:column;display:flex;position:relative;overflow:hidden}.chat-head{background:#ffffffe6;border-bottom:1px solid #e4dfd3cc;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;display:flex}.chat-patient{align-items:center;gap:10px;display:flex}.chat-patient strong{font-size:12.5px;font-weight:600;display:block}.online{color:var(--teal);align-items:center;gap:5px;margin-top:1px;font-size:9.5px;display:inline-flex}.online i{background:var(--teal);border-radius:50%;width:6px;height:6px;animation:2.2s infinite pulse}.chat-step{background:var(--surface-soft);color:var(--muted);letter-spacing:.08em;border-radius:999px;padding:5px 9px;font-size:9px}.privacy-note{color:var(--muted);margin:8px 2px 0;font-size:9.5px;line-height:1.6}.chat-scroll{background:radial-gradient(circle at 1px 1px,#16211e09 1px,#0000 0) 0 0/18px 18px,linear-gradient(#fff,#fdfcf8);flex-direction:column;flex:1;gap:14px;min-height:0;padding:20px 20px 6px;display:flex;overflow-y:auto}.msg-row{align-items:flex-start;gap:8px;animation:.26s both fadeUp;display:flex}.msg-row.student{justify-content:flex-end}.msg-avatar{background:var(--teal-soft);width:28px;height:28px;color:var(--teal);border-radius:50%;flex-shrink:0;place-items:center;font-size:10px;font-weight:600;display:grid}.bubble{white-space:pre-wrap;word-break:break-word;border-radius:15px;max-width:82%;padding:10px 13px;font-size:13.5px;line-height:1.72}.bubble.patient{color:var(--ink);background:#f5f2ea;border-top-left-radius:5px}.bubble.student{background:var(--teal);color:#fff;border-top-right-radius:5px;box-shadow:0 6px 14px #0f6b5c1f}.bubble.empathy{background:#fbf3e4;box-shadow:inset 0 0 0 1px #eedfc1}.bubble.typing{gap:4px;padding:13px 15px;display:inline-flex}.bubble.typing i{background:#9aa49f;border-radius:50%;width:5px;height:5px;animation:1.2s infinite blink}.bubble.typing i:nth-child(2){animation-delay:.15s}.bubble.typing i:nth-child(3){animation-delay:.3s}.system-line{color:var(--muted);text-align:center;justify-content:center;align-items:flex-start;gap:6px;padding:1px 10px;font-size:10px;line-height:1.65;display:flex}.system-line svg{color:var(--gold);flex-shrink:0;margin-top:1px}.result-card{border:1px solid #d8e9e2;border-left:3px solid var(--teal);background:#f5faf7;border-radius:12px;margin-left:36px;padding:12px 14px;animation:.28s both fadeUp}.result-card.imaging{background:#f7f9fc;border-color:#dbe4f0 #dbe4f0 #dbe4f0 #4c6b96}.result-head{color:var(--teal);letter-spacing:.04em;align-items:center;gap:6px;font-size:10px;font-weight:600;display:flex}.result-card.imaging .result-head{color:#4c6b96}.result-head em{color:var(--muted);margin-left:auto;font-size:9px;font-style:normal;font-weight:400}.result-body{color:var(--ink-2);white-space:pre-wrap;margin-top:7px;font-size:11.5px;line-height:1.75}.composer{background:#fff;border-top:1px solid #e4dfd3cc;flex-shrink:0;padding:10px 16px 13px}.quick-actions{scrollbar-width:none;flex-wrap:wrap;align-items:center;gap:5px;display:flex}.quick-actions::-webkit-scrollbar{display:none}.quick-actions button{background:var(--surface-soft);min-height:34px;color:var(--ink-2);white-space:nowrap;border:1px solid #0000;border-radius:7px;flex:none;justify-content:center;align-items:center;gap:5px;padding:6px 9px;font-size:10.5px;transition:background .18s,color .18s;display:inline-flex}.quick-actions button:hover{background:var(--teal-soft);color:var(--teal)}.quick-actions .quick-diagnosis{background:var(--teal-soft);color:var(--teal);font-weight:600}.quick-count{color:var(--muted);font-variant-numeric:tabular-nums;background:#16211e12;border-radius:99px;padding:0 4px;font-size:9px;font-weight:650}.quick-count.done{background:var(--teal);color:#fff}.quick-spacer{flex:1}.input-row{border:1px solid var(--line);background:var(--surface-soft);border-radius:15px;align-items:flex-end;gap:6px;margin-top:9px;padding:5px;transition:border-color .18s,box-shadow .18s,background .18s;display:flex}.input-row:focus-within{background:#fff;border-color:#0f6b5c73;box-shadow:0 0 0 3px #0f6b5c14}.mic-btn{width:36px;height:36px;color:var(--muted);background:0 0;border:none;border-radius:50%;flex-shrink:0;place-items:center;transition:background .18s,color .18s;display:grid;position:relative}.mic-btn:hover{background:var(--paper-2);color:var(--teal)}.mic-btn.active{background:var(--coral-soft);color:var(--coral)}.mic-live{border:1px solid var(--coral);border-radius:50%;animation:1.2s ease-out infinite micPulse;position:absolute;inset:-1px}.mic-level{border:2px solid var(--coral);pointer-events:none;border-radius:50%;transition:opacity .12s linear,transform .12s linear;position:absolute;inset:-1px}@keyframes micPulse{0%{opacity:.8;transform:scale(.92)}to{opacity:0;transform:scale(1.38)}}.voice-toggle.active{background:var(--teal-soft);color:var(--teal);border-color:#0f6b5c47}.voice-picker{align-items:center;display:inline-flex}.voice-picker select{border:1px solid var(--line);color:#37423f;appearance:none;cursor:pointer;background-color:#fff;background-image:linear-gradient(45deg,#0000 50%,#7a8a84 50%),linear-gradient(135deg,#7a8a84 50%,#0000 50%);background-position:calc(100% - 13px),calc(100% - 9px);background-repeat:no-repeat;background-size:4px 4px,4px 4px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border-radius:999px;max-width:148px;padding:7px 22px 7px 10px;font-size:11px;line-height:1.2}.voice-picker select:focus-visible{outline-offset:1px;outline:2px solid #12806d66}.voice-status.on{color:var(--teal)}.input-row textarea{resize:none;background:0 0;border:none;outline:none;flex:1;min-height:36px;max-height:110px;padding:8px 4px 6px;font-size:12.5px;line-height:1.55}.input-row textarea::placeholder{color:#a5ada8}.send-btn{background:var(--teal);color:#fff;border:none;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;transition:background .18s,opacity .18s;display:grid}.send-btn:hover{background:var(--teal-dark)}.send-btn:disabled{opacity:.3;cursor:not-allowed}.composer-foot{color:#a0a9a4;justify-content:space-between;align-items:center;gap:10px;margin-top:6px;font-size:9px;display:flex}.composer-foot span{align-items:center;gap:4px;display:inline-flex}.composer-foot .sync-offline{color:#b06a3b}.voice-toast{z-index:5;background:var(--ink);color:#f3f0e8;text-align:left;border-radius:14px;align-items:center;gap:7px;max-width:min(440px,100% - 40px);padding:8px 14px;font-size:10.5px;line-height:1.55;animation:.22s both fadeUp;display:flex;position:absolute;bottom:106px;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #16211e2e}.records-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.tabs{border-bottom:1px solid #e4dfd3cc;gap:3px;padding:6px;display:flex}.tabs button{color:var(--muted);background:0 0;border:none;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:4px;padding:7px 4px;font-size:10.5px;transition:background .18s,color .18s;display:inline-flex}.tabs button:hover{background:var(--surface-soft)}.tabs button.active{background:var(--surface-soft);color:var(--ink);font-weight:600}.tabs button span{background:var(--teal-soft);color:var(--teal);border-radius:4px;padding:1px 4px;font-size:8.5px}.tab-body{flex:1;min-height:0;padding:14px;overflow-y:auto}.avatar-tab{flex-direction:column;gap:10px;display:flex}.avatar-mode-tabs{background:var(--surface-soft);border:1px solid #e4dfd3e6;border-radius:9px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;display:grid}.avatar-mode-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 4px;font-size:10px;transition:background .18s,color .18s}.avatar-mode-tabs button:hover{color:var(--ink)}.avatar-mode-tabs button.active{color:var(--ink);background:#fff;font-weight:650;box-shadow:0 1px 3px #21302b1a}.session-avatar-stage{aspect-ratio:3/4;background:linear-gradient(#e9ede7,#dbe3da);border:1px solid #e4dfd3f2;border-radius:16px;width:100%;position:relative;overflow:hidden}.session-avatar-stage .patient-portrait{border-radius:0;width:100%;height:100%}.avatar-speak{color:var(--teal);cursor:pointer;background:#fff;border:1px solid #12806d4d;border-radius:999px;justify-content:center;align-self:flex-start;align-items:center;gap:5px;padding:7px 12px;font-size:10.5px;transition:background .18s,color .18s;display:inline-flex}.avatar-speak:hover:not(:disabled){background:var(--teal);color:#f6f4ed}.avatar-speak:disabled{opacity:.6;cursor:default}.avatar-tab-note{color:var(--muted);margin:0;font-size:10.5px;line-height:1.7}.avatar-tab-link{color:var(--teal);text-underline-offset:3px;align-self:flex-start;align-items:center;gap:4px;font-size:10.5px;text-decoration:underline;display:inline-flex}.session-3d{flex-direction:column;gap:8px;display:flex}.session-3d-stage{background:radial-gradient(90% 62% at 50% 24%,#e0eee8f5,#0000 70%),linear-gradient(#d9e3dd 0%,#c4d2cb 100%);border:1px solid #e4dfd3f2;border-radius:16px;width:100%;height:clamp(340px,50vh,540px);position:relative;overflow:hidden}.session-3d-stage canvas{display:block;position:absolute;inset:0}.session-3d-tag{z-index:3;color:var(--teal);letter-spacing:.08em;background:#ffffffd1;border:1px solid #12806d38;border-radius:999px;padding:3px 8px;font-size:8.5px;font-weight:650;position:absolute;top:10px;left:10px}.session-3d-state{z-index:2;color:var(--muted);text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#f4f6f1b3;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:18px;font-size:10.5px;display:flex;position:absolute;inset:0}.session-3d-note{color:var(--muted);margin:0;font-size:10px;line-height:1.65}.info-row{border-bottom:1px dashed #e4dfd3cc;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:11px;display:flex}.info-row span{color:var(--muted)}.info-row strong{text-align:right;font-weight:600}.info-block{margin-top:12px}.info-block>span{color:var(--muted);letter-spacing:.04em;font-size:9.5px}.info-block p{color:var(--ink-2);margin:4px 0 0;font-size:11.5px;line-height:1.7}.layer-mini{gap:4px;margin-top:15px;display:flex}.layer-mini span{border:1px solid var(--line);color:#a9b0ab;border-radius:5px;place-items:center;width:26px;height:21px;font-size:9px;display:grid}.layer-mini span.on{background:var(--teal-soft);color:var(--teal);border-color:#cfe6df;font-weight:600}.panel-empty{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:30px 12px;display:flex}.panel-empty svg{color:#bcc4bf}.panel-empty p{margin:0;font-size:11px;line-height:1.7}.found-item{border-bottom:1px dashed #e4dfd3cc;gap:8px;padding:9px 0;display:flex}.found-tag{background:var(--teal-soft);height:fit-content;color:var(--teal);border-radius:4px;padding:2px 5px;font-size:8.5px;font-weight:600}.found-item strong{font-size:11px;font-weight:600;display:block}.found-item p{color:var(--muted);margin:3px 0 0;font-size:10.5px;line-height:1.6}.found-habits{margin-top:12px}.found-habits>span{color:var(--muted);font-size:9.5px}.habit-chips{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.habit-chips em{background:var(--surface-soft);color:var(--ink-2);border-radius:4px;padding:3px 6px;font-size:9.5px;font-style:normal}.media-item{border:1px solid var(--line);background:#fff;border-radius:11px;margin-bottom:9px;padding:10px}.media-item.ordered{border-color:#cfe3dc}.media-head{align-items:center;gap:6px;display:flex}.media-head strong{flex:1;font-size:10.5px;font-weight:600;line-height:1.4}.media-head em{color:var(--muted);font-size:8.5px;font-style:normal}.media-head>svg{color:var(--teal)}.modality{letter-spacing:.06em;border-radius:4px;padding:2px 5px;font-size:8px;font-weight:700}.modality.mri{color:#34527e;background:#e8effa}.modality.cbct{color:#5b4079;background:#f0eaf7}.media-report{max-height:84px;color:var(--ink-2);white-space:pre-line;margin:7px 0 0;font-size:9.5px;line-height:1.6;overflow:hidden}.media-conclusion{background:var(--teal-soft);color:#0b5a4d;border-radius:6px;margin-top:7px;padding:6px 8px;font-size:9.5px;line-height:1.55}.media-locked{color:var(--muted);margin:7px 0 0;font-size:9.5px;line-height:1.6}.scan-placeholder{background:repeating-linear-gradient(0deg,#ffffff0b 0 1px,#0000 1px 4px),radial-gradient(circle at 35% 40%,#2b3b36,#14201d 68%);border-radius:9px;height:108px;margin-top:9px;position:relative;overflow:hidden}.scan-placeholder.compact{height:74px;margin-top:7px}.scan-rings{place-items:center;display:grid;position:absolute;inset:0}.scan-rings span{border:1px solid #ffffff24;border-radius:50%;position:absolute}.scan-rings span:first-child{width:44px;height:44px}.scan-rings span:nth-child(2){width:76px;height:76px}.scan-rings span:nth-child(3){opacity:.7;border-style:dashed;width:112px;height:112px}.scan-label{color:#ffffffb8;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.scan-label svg{opacity:.7}.scan-label strong{letter-spacing:.12em;font-size:9.5px;font-weight:500}.scan-label em{opacity:.55;font-size:8.5px;font-style:normal}.imaging-viewer{margin-top:9px}.imaging-frame{background:radial-gradient(circle at 50% 45%,#263833,#101a17 72%);border-radius:10px;place-items:center;height:220px;display:grid;position:relative;overflow:hidden}.imaging-viewer.compact .imaging-frame{height:148px}.imaging-frame img{-webkit-user-select:none;user-select:none;max-width:100%;max-height:100%;transition:transform .18s}.imaging-source{color:#f3f0e8;letter-spacing:.04em;background:#0a100ea8;border-radius:4px;padding:2px 6px;font-size:8.5px;position:absolute;bottom:8px;left:8px}.imaging-toolbar{justify-content:space-between;align-items:center;gap:8px;margin-top:6px;display:flex}.imaging-zoom{align-items:center;gap:4px;display:flex}.imaging-zoom button{border:1px solid var(--line);width:26px;height:24px;color:var(--ink-2);background:#fff;border-radius:6px;place-items:center;display:grid}.imaging-zoom button:hover{border-color:var(--teal);color:var(--teal)}.imaging-zoom span{min-width:34px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:9px}.imaging-thumbs{gap:5px;display:flex}.imaging-thumbs button{border:1px solid var(--line);background:#fff;border-radius:5px;width:34px;height:26px;padding:0;overflow:hidden}.imaging-thumbs button.active{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal-soft)}.imaging-thumbs img{object-fit:cover;width:100%;height:100%}.imaging-caption{color:var(--muted);margin:6px 0 0;font-size:10px;line-height:1.6}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#121a1770;justify-content:center;align-items:center;padding:22px;animation:.2s both fade;display:flex;position:fixed;inset:0}.modal{background:#fdfcf8;border:1px solid #ffffffa6;border-radius:22px;flex-direction:column;width:min(580px,100%);max-height:88dvh;animation:.24s cubic-bezier(.2,.8,.2,1) both pop;display:flex;overflow:hidden;box-shadow:0 40px 100px #0f1a1647}.modal-wide{width:min(920px,100%)}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 16px;display:flex}.modal-head h2{letter-spacing:-.02em;margin:5px 0 0;font-size:20px;font-weight:650}.modal-body{min-height:0;padding:18px 22px;overflow-y:auto}.modal-foot{border-top:1px solid var(--line);background:#fbf9f4;padding:13px 22px}.modal-footer-split{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.footer-actions{align-items:center;gap:8px;display:flex}.modal-note{color:var(--muted);align-items:center;gap:5px;font-size:9.5px;line-height:1.5;display:inline-flex}.exam-tabs{gap:5px;margin-bottom:14px;display:flex}.exam-tabs button{border:1px solid var(--line);color:var(--ink-2);background:#fff9;border-radius:999px;align-items:center;gap:5px;padding:7px 11px;font-size:11px;display:inline-flex}.exam-tabs button span{color:var(--muted);font-size:9px}.exam-tabs button.active{border-color:var(--teal);background:var(--teal-soft);color:var(--teal);font-weight:600}.exam-list{flex-direction:column;gap:7px;display:flex}.exam-row{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:flex-start;gap:14px;padding:12px 14px;display:flex}.exam-row.done{background:#fbfaf6}.exam-row.positive{border-left:3px solid var(--gold)}.exam-main{flex:1;min-width:0}.exam-name{align-items:center;gap:6px;display:flex}.exam-name strong{font-size:12px;font-weight:600}.positive-tag{background:var(--gold-soft);color:var(--gold);border-radius:4px;padding:1px 5px;font-size:8.5px;font-weight:600}.exam-hint{color:var(--muted);margin-top:2px;font-size:9.5px;display:block}.exam-result{background:var(--surface-soft);color:var(--ink-2);font-family:var(--font);white-space:pre-wrap;border-radius:7px;margin:8px 0 0;padding:8px 10px;font-size:10.5px;line-height:1.65}.imaging-list{flex-direction:column;gap:9px;display:flex}.imaging-row{border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px 14px}.imaging-row.ordered{background:#fbfdfb;border-color:#cfe3dc}.imaging-top{align-items:center;gap:9px;display:flex}.imaging-top>div{flex:1;min-width:0}.imaging-top strong{font-size:12px;font-weight:600;display:block}.imaging-top span:not(.modality){color:var(--muted);margin-top:2px;font-size:9.5px;display:block}.imaging-report{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px}.imaging-report pre{color:var(--ink-2);font-family:var(--font);white-space:pre-wrap;margin:0;font-size:10.5px;line-height:1.7}.habit-list{grid-template-columns:1fr 1fr;gap:5px;display:grid}.habit-row{border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:8px;padding:9px 10px;display:flex}.habit-row.asked{border-color:var(--line);background:#fbfaf6}.habit-main{min-width:0}.habit-main strong{font-size:11px;font-weight:600;display:block}.habit-main span{color:var(--muted);margin-top:2px;font-size:9.5px;line-height:1.5;display:block}.habit-main span.habit-positive{color:var(--teal)}.record-form{grid-template-columns:1fr 1fr;gap:14px;display:grid}.record-field{flex-direction:column;gap:6px;display:flex}.record-field:first-child,.record-field:nth-child(2){grid-column:1/-1}.record-label{align-items:baseline;gap:7px;display:flex}.record-label strong{font-size:11.5px;font-weight:650}.record-label em{color:var(--muted);flex:1;font-size:9.5px;font-style:normal;line-height:1.4}.record-label svg{color:var(--teal);flex:none}.record-field textarea{border:1px solid var(--line);resize:vertical;background:#fff;border-radius:10px;width:100%;padding:10px 11px;font-size:12px;line-height:1.7}.record-field textarea:focus{border-color:#0f6b5c73;outline:none;box-shadow:0 0 0 3px #0f6b5c14}.record-field.done textarea{background:#fcfefd;border-color:#0f6b5c40}.record-meter{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;padding-top:12px;display:flex}.record-meter span{background:var(--paper-2);color:var(--muted);border-radius:99px;padding:3px 9px;font-size:9.5px}.record-meter span.on{background:var(--teal-soft);color:var(--teal)}.record-meter em{color:var(--muted);margin-left:auto;font-size:10px;font-style:normal}@media (width<=760px){.record-form{grid-template-columns:1fr}.record-field:first-child,.record-field:nth-child(2){grid-column:auto}}.diagnosis-body label{color:var(--muted);letter-spacing:.04em;font-size:10.5px}.diagnosis-body textarea{border:1px solid var(--line);resize:vertical;background:#fff;border-radius:11px;width:100%;min-height:92px;margin-top:7px;padding:12px 13px;font-size:13px;line-height:1.7}.diagnosis-body textarea:focus{border-color:#0f6b5c73;outline:none;box-shadow:0 0 0 3px #0f6b5c14}.diagnosis-help{color:var(--muted);margin:12px 0 6px;font-size:10px}.diagnosis-chips{flex-wrap:wrap;gap:5px;display:flex}.diagnosis-chips button{border:1px solid var(--line);color:var(--ink-2);background:#fff;border-radius:999px;padding:5px 9px;font-size:10px}.diagnosis-chips button:hover{color:var(--teal);border-color:#0f6b5c66}.diagnosis-summary{background:var(--surface-soft);border-radius:9px;margin-top:16px;padding:10px 12px}.diagnosis-summary span{color:var(--muted);font-size:9.5px}.diagnosis-summary p{color:var(--ink-2);margin:4px 0 0;font-size:10.5px}.feedback-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;padding:16px 18px}.feedback-card.wrong{background:linear-gradient(180deg, var(--coral-soft), #fffdfb);border-color:#c2603f47}.feedback-card.partial{background:linear-gradient(180deg, var(--gold-soft), #fffdfb);border-color:#a97c334d}.feedback-card.correct{background:linear-gradient(180deg, var(--teal-soft), #fbfdfc);border-color:#0f6b5c42}.feedback-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.feedback-head strong{letter-spacing:-.01em;font-size:14px}.feedback-head span{color:var(--muted);background:#ffffffb3;border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:9.5px}.feedback-card>p{color:var(--ink-2);margin:8px 0 0;font-size:11.5px;line-height:1.7}.feedback-list{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.feedback-list li{align-items:flex-start;gap:9px;display:flex}.feedback-tier{letter-spacing:.06em;background:#ffffffb3;border:1px solid #16211e29;border-radius:5px;flex-shrink:0;margin-top:1px;padding:1px 6px;font-size:9px;font-weight:700}.feedback-list p{color:var(--ink-2);margin:0;font-size:11.5px;line-height:1.65}.feedback-attempt{border-top:1px dashed #16211e24;align-items:baseline;gap:10px;margin-top:13px;padding-top:11px;display:flex}.feedback-attempt span{color:var(--muted);flex-shrink:0;font-size:9.5px}.feedback-attempt strong{font-size:12.5px;font-weight:600}.evidence-gap{background:var(--gold-soft);border:1px solid #a97c3340;border-radius:9px;align-items:flex-start;gap:9px;margin-bottom:12px;padding:10px 12px;display:flex}.evidence-gap span{color:var(--gold);letter-spacing:.04em;flex:none;padding-top:1px;font-size:9px;font-weight:700}.evidence-gap p{color:var(--ink-2);margin:0;font-size:10.5px;line-height:1.65}.evidence-gap.finish-error{background:var(--coral-soft);border-color:#eed6cb}.evidence-gap.finish-error span{color:#8a452e}.feedback-demo{background:var(--teal-soft);border:1px solid #0f6b5c2e;border-radius:10px;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 13px;display:flex}.feedback-demo .feedback-tier{color:var(--teal);background:#ffffffb3;border-color:#0f6b5c47;flex-shrink:0}.feedback-demo p{color:var(--ink-2);margin:0;font-size:11.5px;line-height:1.7}.feedback-mini{background:var(--gold-soft);border-radius:9px;align-items:flex-start;gap:9px;margin-top:12px;padding:10px 12px;display:flex}.feedback-mini span{color:var(--gold);letter-spacing:.05em;flex-shrink:0;font-size:9px;font-weight:700}.feedback-mini p{color:var(--ink-2);margin:0;font-size:11px;line-height:1.6}.report{width:100%;max-width:1180px;margin:0 auto;padding:18px 30px 62px}.report-topline{justify-content:space-between;align-items:center;gap:16px;display:flex}.report-date{color:var(--muted);align-items:center;gap:6px;font-size:10.5px;display:inline-flex}.report-head{justify-content:space-between;align-items:flex-end;gap:22px;margin:14px 0 22px;display:flex}.report-head h1{letter-spacing:-.03em;margin:8px 0 0;font-size:28px;font-weight:650;line-height:1.25}.report-sub{color:var(--muted);margin:7px 0 0;font-size:11px}.scoring-meta{flex-wrap:wrap;gap:6px;margin:8px 0 0;display:flex}.scoring-meta span{border:1px solid var(--line);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 7px;font-size:9px}.report-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.verdict{border:1px solid #0000;border-radius:14px;align-items:center;gap:11px;margin-bottom:18px;padding:14px 17px;display:flex}.verdict.correct{background:var(--teal-soft);color:#0b564a;border-color:#cfe6df}.verdict.wrong{background:var(--coral-soft);color:#8a452e;border-color:#eed6cb}.verdict svg{flex-shrink:0}.verdict strong{font-size:13px;font-weight:650;display:block}.verdict p{opacity:.85;margin:3px 0 0;font-size:11px;line-height:1.6}.verdict-rationale{font-variant-numeric:tabular-nums;font-size:10px!important}.verdict-grade{background:#ffffffb3;border-radius:999px;margin-left:auto;padding:4px 10px;font-size:11px;font-weight:600}.report-overview{grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);gap:16px;display:grid}.teacher-score{margin-top:26px}.report-transcript{margin-top:16px;padding:20px}.report-transcript .transcript-list{max-height:520px;padding-right:6px;overflow-y:auto}.student-competency{margin-top:26px;padding:20px}.competency-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.competency-item{border:1px solid var(--line);background:var(--surface-soft);border-radius:11px;padding:12px}.competency-item>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.competency-item strong{font-size:11.5px;font-weight:600}.competency-item span{border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:9px}.competency-item.good span{background:var(--teal-soft);color:var(--teal)}.competency-item.warn span{background:var(--gold-soft);color:var(--gold)}.competency-item.bad span{background:var(--coral-soft);color:var(--coral)}.competency-item p{color:var(--muted);margin:7px 0 0;font-size:10.5px;line-height:1.65}.score-panel,.radar-panel{padding:20px}.score-note{background:var(--gold-soft);color:var(--gold);border-radius:5px;padding:3px 7px;font-size:9px}.score-hero{align-items:center;gap:22px;margin:14px 0 18px;display:flex}.score-ring-wrap{flex-shrink:0;width:146px;height:146px;position:relative}.score-ring{width:100%;height:100%;transform:rotate(-90deg)}.ring-track{fill:none;stroke:#ede8dc;stroke-width:9px}.ring-value{fill:none;stroke:var(--teal);stroke-width:9px;stroke-linecap:round;transition:stroke-dasharray .8s}.score-ring-text{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.score-ring-text strong{letter-spacing:-.04em;font-size:36px;font-weight:650;line-height:1}.score-ring-text span{color:var(--ink-2);margin-top:4px;font-size:10.5px}.score-ring-text em{color:var(--muted);font-size:8.5px;font-style:normal}.score-side{flex:1;min-width:0}.empathy-badge{background:var(--gold-soft);border-radius:10px;align-items:baseline;gap:6px;padding:10px 12px;display:flex}.empathy-badge span{color:#72531f;font-size:11px}.empathy-badge strong{color:var(--gold);font-size:23px;font-weight:650;line-height:1}.empathy-badge em{color:#9b7c45;font-size:9.5px;font-style:normal}.llm-score{border:1px solid var(--line);background:#ffffff8c;border-radius:10px;margin-top:10px;padding:10px 12px}.llm-score-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.llm-score-head span{color:var(--muted);letter-spacing:.08em;font-size:10px}.llm-score-head strong{color:var(--ink);font-size:15px}.llm-score>em{color:var(--muted);margin-top:2px;font-size:9px;font-style:normal;display:block}.llm-score>p{color:var(--ink);margin:6px 0 0;font-size:10px}.llm-evidence{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.llm-evidence li{border-left:2px solid var(--gold);padding-left:9px;font-size:9.5px;line-height:1.55}.llm-evidence span{color:var(--ink);display:block}.llm-evidence em{color:var(--muted);font-style:normal}.llm-reasoning{border-top:1px dashed var(--line);color:var(--ink);margin-top:7px;padding-top:6px;font-size:9.5px}.llm-reasoning span{font-weight:600}.llm-reasoning p{color:var(--muted);margin:2px 0}.llm-reasoning em{color:var(--muted);font-style:normal;display:block}.llm-score small{color:var(--muted);margin-top:6px;font-size:8.5px;display:block}.llm-fallback{color:var(--muted);font-size:9.5px}.score-side p{color:var(--muted);margin:9px 0 0;font-size:10px;line-height:1.65}.dimension-row{margin-bottom:10px}.dimension-row:last-child{margin-bottom:0}.dimension-top{justify-content:space-between;align-items:baseline;gap:10px;font-size:10.5px;display:flex}.dimension-top strong{font-weight:600}.dimension-top span{color:var(--muted);font-variant-numeric:tabular-nums}.dimension-track{background:#efebe1;border-radius:99px;height:5px;margin-top:4px;overflow:hidden}.dimension-track i{background:linear-gradient(90deg, #12806d, var(--teal));border-radius:99px;height:100%;transition:width .7s;display:block}.dimension-row em{color:var(--muted);margin-top:3px;font-size:9px;font-style:normal;line-height:1.5;display:block}.dimension-missing{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.dimension-missing em{background:var(--coral-soft);color:#8a452e;border-radius:999px;margin:0;padding:2px 6px;font-size:8.5px}.dimension-evidence{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.dimension-evidence li{min-width:0;color:var(--muted);align-items:baseline;gap:6px;font-size:8.5px;line-height:1.45;display:flex}.dimension-evidence li span{color:var(--teal);font-variant-numeric:tabular-nums}.dimension-evidence li strong{color:var(--ink);flex-shrink:0;font-weight:600}.dimension-evidence li em{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:8.5px;overflow:hidden}.radar{width:100%;max-width:400px;margin:6px auto 0;display:block}.radar-grid{fill:none;stroke:#e7e2d6;stroke-width:1px}.radar-axis{stroke:#efebe1;stroke-width:1px}.radar-value{fill:#0f6b5c24;stroke:var(--teal);stroke-width:2px}.radar-dot{fill:var(--teal)}.radar-label{fill:var(--ink-2);font-size:10.5px;font-family:var(--font)}.radar-score{fill:var(--muted);font-size:9px;font-family:var(--font)}.radar-legend{color:var(--muted);text-align:center;margin-top:2px;font-size:9px}.ecfr{margin-top:30px}.ecfr-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;display:grid}.ecfr-card{padding:20px}.ecfr-head{align-items:center;gap:10px;margin-bottom:15px;display:flex}.ecfr-num{color:#c8c1b1;letter-spacing:-.03em;font-size:24px;font-weight:300;line-height:1}.ecfr-head h3{margin:0;font-size:14.5px;font-weight:650}.timeline{padding-left:4px}.timeline-item{border-left:1px solid var(--line);padding:0 0 14px 16px;position:relative}.timeline-item:last-child{border-left-color:#0000;padding-bottom:0}.timeline-dot{background:var(--line-strong);width:7px;height:7px;box-shadow:0 0 0 1px var(--line-strong);border:1px solid #fff;border-radius:50%;position:absolute;top:4px;left:-4px}.timeline-item.good .timeline-dot{background:var(--teal);box-shadow:0 0 0 1px var(--teal)}.timeline-item.bad .timeline-dot{background:var(--coral);box-shadow:0 0 0 1px var(--coral)}.timeline-item.warn .timeline-dot{background:var(--gold);box-shadow:0 0 0 1px var(--gold)}.timeline-item strong{font-size:11px;font-weight:600}.timeline-item p{color:var(--muted);margin:2px 0 0;font-size:10px;line-height:1.6}.record-review{border-top:1px dashed var(--line);margin-top:15px;padding-top:13px}.record-review-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px;display:flex}.record-review-head span{font-size:11px;font-weight:650}.record-review-head em{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px;font-style:normal}.record-review-row{border-top:1px solid #e4dfd38c;grid-template-columns:54px minmax(0,1fr);gap:8px;padding:6px 0;display:grid}.record-review-row:first-of-type{border-top:0}.record-review-row strong{color:var(--muted);font-size:10px;font-weight:500}.record-review-row p{color:var(--ink-2);white-space:pre-wrap;margin:0;font-size:10.5px;line-height:1.7}.record-review-row p.empty{color:#b3aca0}.note-item{gap:9px;margin-bottom:11px;display:flex}.note-item:last-child{margin-bottom:0}.error-code{background:var(--coral-soft);width:24px;height:20px;color:var(--coral);border-radius:4px;flex-shrink:0;place-items:center;font-size:9.5px;font-weight:700;display:grid}.note-item strong{font-size:11px;font-weight:600;display:block}.note-item p{color:var(--muted);margin:2px 0 0;font-size:10px;line-height:1.65}.note-empty{background:var(--teal-soft);color:var(--teal);border-radius:10px;align-items:flex-start;gap:9px;padding:12px;display:flex}.note-empty p{margin:0;font-size:11px;line-height:1.7}.gold-block{background:var(--teal-soft);border-radius:10px;padding:12px}.gold-label{color:var(--teal);letter-spacing:.04em;align-items:center;gap:5px;font-size:9px;font-weight:600;display:inline-flex}.gold-block strong{color:#0b564a;margin:6px 0 0;font-size:13.5px;font-weight:650;line-height:1.45;display:block}.gold-block p{color:#2f5a50;margin:5px 0 0;font-size:10.5px;line-height:1.7}.missed-block{margin-top:13px}.missed-block p{color:var(--muted);margin:6px 0 0;font-size:10.5px;line-height:1.6}.missed-chips{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.missed-chips em{background:var(--coral-soft);color:#8a452e;border-radius:5px;padding:4px 7px;font-size:9.5px;font-style:normal;line-height:1.5}.attempt-path{align-items:stretch;gap:8px;margin-bottom:12px;display:flex}.attempt-path>div{border:1px solid var(--line);background:#fff;border-radius:9px;flex:1;min-width:0;padding:9px 10px}.attempt-path span{color:var(--muted);font-size:9px}.attempt-path p{color:var(--ink-2);margin:3px 0 0;font-size:10.5px;line-height:1.55}.attempt-arrow{color:var(--line-strong);align-self:center;font-size:15px}.first-gap{background:var(--coral-soft);border-radius:9px;margin-bottom:12px;padding:10px 11px}.first-gap span{color:var(--coral);letter-spacing:.04em;font-size:9px;font-weight:600}.first-gap p{color:#7d432f;margin:4px 0 0;font-size:10.5px;line-height:1.65}.demonstration-block{border-left:2px solid var(--teal);background:var(--surface-soft);border-radius:0 9px 9px 0;margin-top:12px;padding:11px 12px}.demonstration-block p{color:var(--ink-2);margin:5px 0 0;font-size:10.5px;line-height:1.7}.self-explanation{border:1px solid var(--line);background:#fff;border-radius:11px;padding:12px}.self-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.self-head strong{font-size:11.5px;font-weight:600}.self-head span{color:var(--muted);font-size:9px}.self-prompt{color:var(--ink-2);margin:7px 0 9px;font-size:10.5px;line-height:1.65}.self-explanation textarea{border:1px solid var(--line);background:var(--surface-soft);resize:vertical;border-radius:9px;width:100%;min-height:76px;padding:10px 11px;font-size:11px;line-height:1.7}.self-explanation textarea:focus{background:#fff;border-color:#0f6b5c66;outline:none}.self-explanation .btn{margin-top:8px}.self-readonly{background:var(--surface-soft);color:var(--ink-2);white-space:pre-wrap;border-radius:9px;padding:10px 11px;font-size:11px;line-height:1.7}.consolidate-row{gap:9px;margin-bottom:11px;display:flex}.consolidate-row svg{color:var(--teal);flex-shrink:0;margin-top:2px}.consolidate-row strong{font-size:11px;font-weight:600;display:block}.consolidate-row p{color:var(--muted);margin:2px 0 0;font-size:10.5px;line-height:1.7}.dialogue-details{border-top:1px dashed var(--line);margin-top:13px;padding-top:11px}.dialogue-details summary{color:var(--teal);cursor:pointer;font-size:10.5px}.dialogue{max-height:310px;margin-top:10px;overflow-y:auto}.dialogue-line{margin-bottom:8px}.dialogue-line span{color:var(--muted);letter-spacing:.08em;font-size:8.5px}.dialogue-line p{margin:2px 0 0;font-size:10.5px;line-height:1.7}.dialogue-line.doctor p{color:var(--teal)}.dialogue-line.patient p{color:var(--ink-2)}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse{0%{box-shadow:0 0 #0f6b5c59}70%{box-shadow:0 0 0 5px #0f6b5c00}to{box-shadow:0 0 #0f6b5c00}}@keyframes blink{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media (width<=1240px){.hero{gap:34px;padding:54px 30px 44px}.library-section{padding:8px 30px 0}.session-grid{grid-template-columns:244px minmax(0,1fr) 292px;padding:0 22px 18px}.session-topline{padding:14px 22px 10px}.orbit-one{width:430px;height:430px}.orbit-two{width:320px;height:320px}}@media (width<=1120px){.session-grid{grid-template-columns:minmax(0,1fr) 300px}.left-col{display:none}.report-overview{grid-template-columns:1fr}.competency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.radar-panel{grid-template-columns:220px 1fr;align-items:center;gap:10px;display:grid}.radar-panel .panel-head,.radar-legend{grid-column:2}.radar-panel .radar{grid-row:1/span 3;margin:0}}@media (width<=960px){.topnav{display:none}.hero{grid-template-columns:1fr;padding-top:44px}.hero-visual{display:none}.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ecfr-grid{grid-template-columns:1fr}.report-head{flex-direction:column;align-items:flex-start;gap:14px}.report-actions{align-self:flex-start}}@media (width<=820px){.session-page{height:auto;overflow:visible}.session-grid{grid-template-columns:1fr;height:auto;min-height:0;padding:0 18px 24px}.chat-panel{height:72dvh;min-height:520px}.right-col{height:auto}.records-panel{height:auto;max-height:520px}.session-topline{flex-wrap:wrap;gap:10px;padding:12px 18px}.session-actions{justify-content:flex-end;width:100%}.session-title h1{white-space:normal;font-size:15px}}@media (width<=700px){.topbar{height:60px;padding:0 18px}.mode-pill{display:none}.competency-grid{grid-template-columns:1fr}.attempt-path{flex-direction:column}.attempt-arrow{align-self:center;transform:rotate(90deg)}.hero{padding:34px 20px 32px}.hero h1{font-size:clamp(34px,10vw,44px)}.lede{font-size:14px}.hero-stats{grid-template-columns:repeat(2,1fr);gap:14px}.hero-stats strong{font-size:22px}.library-section{padding:4px 20px 0}.section-head{flex-direction:column;align-items:flex-start;gap:8px}.section-head h2{font-size:22px}.filter-bar{flex-direction:column;align-items:stretch;gap:10px}.chips{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.chip{flex-shrink:0}.search{width:100%;margin-left:0}.case-grid{grid-template-columns:1fr}.page-footer{flex-direction:column;align-items:flex-start;gap:4px}.modal-backdrop{align-items:flex-end;padding:10px}.modal{border-radius:18px;max-height:92dvh}.modal-head,.modal-body{padding-left:16px;padding-right:16px}.modal-foot{padding:12px 16px}.modal-footer-split{flex-direction:column;align-items:stretch;gap:8px}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.quick-actions button{gap:5px;width:100%;min-height:40px;padding:8px 10px;font-size:11px}.quick-actions .quick-spacer{display:none}.quick-actions .quick-diagnosis{grid-column:1/-1;min-height:42px}.habit-list{grid-template-columns:1fr}.exam-row{flex-direction:column;gap:8px}.exam-row>.btn{align-self:flex-end}.report{padding:14px 18px 48px}.report-head h1{font-size:22px}.score-hero{flex-direction:column;align-items:flex-start;gap:12px}.score-ring-wrap{align-self:center}.radar-panel{display:block}.radar-panel .radar{margin:6px auto 0}.verdict{flex-wrap:wrap;align-items:flex-start}.verdict-grade{margin-left:31px}.report-actions{flex-wrap:wrap}.composer-foot span:last-child{display:none}}.landing{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:0 42px 64px}.landing-hero{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:center;gap:56px;padding:72px 0 58px;display:grid}.landing-hero-copy h1{letter-spacing:-.035em;margin:20px 0 22px;font-size:clamp(30px,3.2vw,44px);font-weight:650;line-height:1.22}.landing-accent{color:var(--teal);background:linear-gradient(#0000 72%,#0f6b5c1f 0)}.landing-lede{max-width:580px;color:var(--ink-2);margin:0;font-size:15px;line-height:1.9}.landing-cta{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.landing-cta .btn{padding:13px 22px;font-size:14px}.landing-chips{flex-wrap:wrap;gap:7px;margin-top:24px;display:flex}.landing-chips span{border:1px solid var(--line);color:var(--ink-2);background:#ffffff8f;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:10.5px;display:inline-flex}.landing-disclaimer{color:var(--muted);align-items:center;gap:6px;margin:18px 0 0;font-size:10.5px;display:flex}.landing-stage{position:relative}.stage-card{z-index:1;border:1px solid var(--line-strong);box-shadow:var(--shadow-lg);background:radial-gradient(420px 220px at 100% -10%,#0f6b5c17,#0000 65%),linear-gradient(#fffdf8,#fbf8f1);border-radius:24px;padding:22px;position:relative}.stage-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.stage-label{color:var(--teal);letter-spacing:.12em;font-size:9px;font-weight:650}.stage-head em{color:var(--muted);font-size:9.5px;font-style:normal}.stage-chat{flex-direction:column;gap:10px;padding:16px 0 14px;display:flex}.stage-line{align-items:flex-start;gap:8px;max-width:92%;display:flex}.stage-line>span{width:28px;color:var(--muted);text-align:right;flex:none;padding-top:8px;font-size:9px}.stage-line p{border-radius:12px;margin:0;padding:8px 12px;font-size:11.5px;line-height:1.65}.stage-line.patient p{border:1px solid var(--line);color:var(--ink);background:#fff}.stage-line.student{flex-direction:row-reverse;align-self:flex-end}.stage-line.student>span{text-align:left}.stage-line.student p{background:var(--teal-soft);color:var(--teal-dark)}.stage-guard{background:var(--gold-soft);color:var(--gold);border-radius:9px;align-items:center;gap:7px;padding:9px 11px;font-size:9.5px;line-height:1.45;display:flex}.stage-flow{grid-template-columns:repeat(5,1fr);gap:6px;margin-top:12px;display:grid}.stage-flow div{border:1px solid var(--line);background:var(--surface-soft);text-align:center;border-radius:8px;padding:8px 5px}.stage-flow span{color:var(--gold);letter-spacing:.06em;font-size:8px;display:block}.stage-flow strong{margin-top:2px;font-size:8.5px;font-weight:600;display:block}.stage-float{z-index:2;border:1px solid var(--line);max-width:290px;box-shadow:var(--shadow-lg);background:#fff;border-radius:14px;align-items:center;gap:10px;margin:-16px 12px 0 auto;padding:13px 16px;display:flex;position:relative}.stage-float svg{color:var(--gold);flex:none}.stage-float strong{font-size:11.5px;font-weight:650;display:block}.stage-float span{color:var(--muted);margin-top:2px;font-size:9.5px;line-height:1.45;display:block}.landing-metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.landing-metric{border-right:1px solid var(--line);padding:24px 22px}.landing-metric:last-child{border-right:0}.landing-metric strong{letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:650;display:block}.landing-metric span{margin-top:4px;font-size:12px;font-weight:600;display:block}.landing-metric em{color:var(--muted);margin-top:4px;font-size:10px;font-style:normal;line-height:1.6;display:block}.landing-section{padding:74px 0 10px}.landing-section[id]{scroll-margin-top:88px}.landing-section-head h2{letter-spacing:-.04em;margin:12px 0 14px;font-size:clamp(28px,3vw,40px);font-weight:650;line-height:1.16}.landing-section-head>p{max-width:640px;color:var(--ink-2);margin:0;font-size:14px;line-height:1.85}.landing-why,.landing-ecfr{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start;gap:54px;display:grid}.landing-reasons{grid-template-columns:1fr 1fr;gap:12px;display:grid}.landing-reason,.landing-guard{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#ffffffa8;border-radius:17px;gap:14px;padding:20px;display:flex}.landing-icon{background:var(--teal-soft);width:38px;height:38px;color:var(--teal);border-radius:11px;flex:none;place-items:center;display:grid}.landing-reason strong,.landing-guard strong{letter-spacing:-.01em;margin-top:1px;font-size:13.5px;font-weight:650;display:block}.landing-reason p,.landing-guard p{color:var(--ink-2);margin:6px 0 0;font-size:11.5px;line-height:1.75}.landing-flow{grid-template-columns:repeat(5,1fr);gap:12px;margin-top:30px;display:grid}.landing-step{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#ffffffa8;border-radius:16px;flex-direction:column;padding:20px 18px 18px;display:flex}.landing-step-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.landing-step-num{color:var(--gold);letter-spacing:.08em;font-size:10px;font-weight:650}.landing-step-arrow{color:var(--line-strong)}.landing-step h3{margin:16px 0 6px;font-size:14px;font-weight:650}.landing-step p{color:var(--ink-2);margin:0;font-size:11px;line-height:1.7}.landing-step-tag{background:var(--paper-2);color:var(--muted);letter-spacing:.02em;white-space:nowrap;border-radius:99px;align-self:flex-start;margin-top:auto;padding:3px 8px;font-size:8.5px}.ecfr-points{gap:14px;margin-top:26px;display:grid}.ecfr-point{gap:12px;display:flex}.ecfr-point>span{border:1px solid var(--line);width:28px;height:28px;color:var(--gold);background:#ffffffa8;border-radius:50%;flex:none;place-items:center;font-size:9px;font-weight:650;display:grid}.ecfr-point strong{font-size:12.5px;font-weight:650;display:block}.ecfr-point p{color:var(--ink-2);margin:4px 0 0;font-size:11.5px;line-height:1.7}.landing-note{border-left:2px solid var(--gold);color:var(--ink-2);background:#f5eddc73;border-radius:0 9px 9px 0;margin:18px 0 0;padding:12px 14px;font-size:10.5px;line-height:1.7}.ecfr-demo{border:1px solid var(--line-strong);box-shadow:var(--shadow-lg);background:linear-gradient(#fff,#fbf9f4);border-radius:22px;padding:22px}.ecfr-demo-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.ecfr-demo-head span{color:var(--teal);letter-spacing:.08em;font-size:9.5px;font-weight:650}.ecfr-demo-head em{background:var(--paper-2);color:var(--muted);border-radius:99px;padding:2px 7px;font-size:8.5px;font-style:normal}.ecfr-demo-verdict{background:var(--coral-soft);color:#8a452e;border-radius:11px;gap:10px;margin:14px 0;padding:12px;display:flex}.ecfr-demo-verdict svg{flex:none;margin-top:1px}.ecfr-demo-verdict strong{font-size:11.5px;font-weight:650;display:block}.ecfr-demo-verdict span{opacity:.75;margin-top:2px;font-size:9.5px;display:block}.ecfr-demo-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ecfr-demo-cell{border:1px solid var(--line);background:#ffffffb8;border-radius:10px;padding:11px 12px}.ecfr-demo-cell>span{color:var(--gold);letter-spacing:.04em;font-size:8.5px;font-weight:600}.ecfr-demo-cell strong{margin-top:4px;font-size:10.5px;font-weight:650;display:block}.ecfr-demo-cell p{color:var(--muted);margin:3px 0 0;font-size:9.5px;line-height:1.6}.ecfr-demo-foot{color:var(--muted);align-items:center;gap:6px;margin-top:12px;font-size:9.5px;display:flex}.landing-guards{grid-template-columns:1fr 1fr;gap:12px;margin-top:30px;display:grid}.landing-guard:first-child .landing-icon,.landing-guard:nth-child(3) .landing-icon{background:var(--gold-soft);color:var(--gold)}.landing-units{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px;display:grid}.landing-unit{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:linear-gradient(#fff,#fbf9f4);border-radius:18px;flex-direction:column;padding:22px;display:flex}.landing-unit-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.landing-unit-index{color:var(--teal);letter-spacing:.1em;font-size:9.5px;font-weight:650}.landing-unit-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.landing-unit h3{letter-spacing:-.02em;margin:14px 0 7px;font-size:18px;font-weight:650}.landing-unit p{color:var(--ink-2);margin:0;font-size:12px;line-height:1.75}.landing-unit-points{flex-wrap:wrap;gap:5px;margin-top:14px;display:flex}.landing-unit-points span{background:var(--teal-soft);color:var(--teal-dark);border-radius:99px;padding:3px 8px;font-size:9.5px}.landing-unit-foot{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:16px;font-size:10px;display:flex}.landing-unit-foot svg{color:var(--teal)}.landing-final{box-shadow:var(--shadow-lg);background:radial-gradient(560px 280px at 100% 0,#ffffff1f,#0000 62%),linear-gradient(135deg,#0f6b5c,#0b564a);border-radius:26px;justify-content:space-between;align-items:center;gap:34px;margin-top:74px;padding:38px 42px;display:flex}.landing-final h2{color:#fff;letter-spacing:-.035em;margin:10px 0 9px;font-size:clamp(25px,2.8vw,36px);font-weight:650}.landing-final p{color:#ffffffbd;max-width:620px;margin:0;font-size:12.5px;line-height:1.8}.landing-final-eyebrow{color:#ffffff94}.landing-final-note{color:#ffffff80;margin-top:10px;font-size:10px;display:inline-block}.landing-final-actions{flex-wrap:wrap;flex:none;gap:10px;display:flex}.landing-final .btn.primary{color:var(--teal-dark);box-shadow:none;background:#fff}.landing-final .btn.primary:hover{background:var(--paper)}.landing-final .btn.ghost{color:#fff;background:0 0;border-color:#ffffff52}.landing-final .btn.ghost:hover{background:#ffffff14;border-color:#ffffff80}.landing-footer{border-top:1px solid var(--line);width:100%;max-width:1440px;color:var(--muted);justify-content:space-between;align-items:flex-start;gap:24px;margin:0 auto;padding:28px 42px 40px;font-size:10.5px;display:flex}.landing-footer strong{color:var(--ink);font-size:12px;font-weight:650}.landing-footer p{margin:5px 0 0;line-height:1.7}.landing-footer-meta{text-align:right;flex-direction:column;gap:4px;display:flex}.landing-footer-meta a{color:var(--muted);text-underline-offset:3px;text-decoration:underline}.landing-footer-meta a:hover{color:var(--teal)}@media (width<=1120px){.landing-hero{gap:38px;padding-top:58px}.landing-why,.landing-ecfr{grid-template-columns:1fr;gap:34px}.landing-flow{grid-template-columns:repeat(3,1fr)}.landing-units{grid-template-columns:1fr}.landing-final{flex-direction:column;align-items:flex-start;gap:24px}}@media (width<=900px){.landing-hero{grid-template-columns:1fr;gap:34px;padding:46px 0}.landing-stage{max-width:560px;padding-bottom:0}.landing-metrics{grid-template-columns:1fr 1fr}.landing-metric:nth-child(2){border-right:0}.landing-metric:first-child,.landing-metric:nth-child(2){border-bottom:1px solid var(--line)}.landing-reasons,.landing-guards{grid-template-columns:1fr}.landing-section{padding-top:56px}.landing-footer{flex-direction:column}.landing-footer-meta{text-align:left}}@media (width<=700px){.landing{padding:0 18px 44px}.landing-hero{padding:34px 0 38px}.landing-hero-copy h1{letter-spacing:-.02em;margin-top:14px;font-size:clamp(20px,4.2vw,27px);line-height:1.3}.landing-lede{font-size:13.5px}.landing-cta .btn{flex:1;padding:12px 16px;font-size:13px}.landing-disclaimer{align-items:flex-start;line-height:1.6}.stage-card{border-radius:20px;padding:16px}.stage-float{max-width:none;margin:-12px 0 0}.stage-line{max-width:100%}.stage-line p{font-size:11px}.stage-flow{grid-template-columns:repeat(3,1fr)}.landing-metric{padding:18px 16px}.landing-metric strong{font-size:25px}.landing-section{padding-top:48px}.landing-section-head h2{font-size:27px}.landing-section-head>p{font-size:13px}.landing-flow{grid-template-columns:1fr 1fr;gap:8px}.landing-step{padding:16px 14px}.landing-step-arrow{display:none}.landing-ecfr{gap:26px}.ecfr-demo{border-radius:18px;padding:16px}.ecfr-demo-grid{grid-template-columns:1fr}.landing-unit{padding:18px}.landing-final{border-radius:20px;margin-top:52px;padding:28px 22px}.landing-final-actions{width:100%}.landing-final-actions .btn{white-space:normal;flex:1}.landing-footer{padding:24px 18px 34px}}.note-title-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.note-timing{background:var(--gold-soft);color:#8a6a24;border-radius:999px;padding:1px 6px;font-size:8.5px;font-style:normal;font-weight:600}.note-timing.immediate{background:var(--coral-soft);color:var(--coral)}.note-repeat{color:var(--muted);font-variant-numeric:tabular-nums;font-size:8.5px;font-style:normal}.note-item p.note-guidance{border-left:2px solid var(--line);color:#8b8478;margin-top:6px;padding-left:8px}.note-evidence{gap:4px;margin:7px 0 0;padding:0;list-style:none;display:grid}.note-evidence li{background:#eee9de80;border-radius:6px;grid-template-columns:30px 88px minmax(0,1fr);align-items:baseline;gap:6px;padding:4px 7px;font-size:9px;display:grid}.note-evidence li span{color:var(--coral);font-variant-numeric:tabular-nums}.note-evidence li strong{color:var(--ink-2);font-size:9px;font-weight:600;display:inline}.note-evidence li em{color:var(--muted);overflow-wrap:anywhere;font-style:normal;line-height:1.5}.path-review,.checklist-review{margin-top:16px;padding:20px}.checklist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:14px;display:grid}.checklist-col-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:6px;display:flex}.checklist-col-head strong{font-size:11px;font-weight:600}.checklist-col-head span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:9px}.checklist-row{border-bottom:1px dashed var(--line);align-items:flex-start;gap:8px;padding:7px 0;display:flex}.checklist-row:last-child{border-bottom:0}.checklist-mark{border-radius:50%;flex:0 0 15px;place-items:center;width:15px;height:15px;margin-top:1px;font-size:9px;font-weight:700;line-height:1;display:grid}.checklist-row.done .checklist-mark{background:var(--teal-soft);color:var(--teal)}.checklist-row.missed .checklist-mark{background:var(--coral-soft);color:var(--coral)}.checklist-row strong{font-size:10px;font-weight:550;line-height:1.45;display:block}.checklist-row.missed strong{color:var(--muted)}.checklist-row em{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:1px;font-size:8.5px;font-style:normal;display:block}.checklist-note{color:var(--muted);margin:12px 0 0;font-size:9px}.path-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.path-metrics>div{border:1px solid var(--line);background:#faf8f2;border-radius:10px;padding:10px 12px}.path-metrics span{color:var(--muted);letter-spacing:.04em;font-size:9px;display:block}.path-metrics strong{font-variant-numeric:tabular-nums;margin-top:2px;font-size:17px;display:block}.path-metrics em{color:var(--muted);margin-top:1px;font-size:9px;font-style:normal;display:block}.ged-breakdown{border:1px dashed var(--line);background:#fdfbf6;border-radius:10px;margin-top:12px;padding:11px 13px}.ged-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ged-head strong{font-size:10.5px;font-weight:600}.ged-head span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:9px}.ged-list{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.ged-list em{background:var(--coral-soft);color:#8a452e;border-radius:999px;padding:2px 7px;font-size:8.5px;font-style:normal}.path-node-list{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.path-node{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:9.5px;display:inline-flex}.path-node strong{font-weight:550}.path-node em{color:var(--muted);font-variant-numeric:tabular-nums;font-size:8.5px;font-style:normal}.path-node-dot{background:var(--line-strong);border-radius:50%;width:6px;height:6px}.path-node.done .path-node-dot{background:var(--teal)}.path-node.missing{color:#a0988a;border-style:dashed}.path-node.missing .path-node-dot{background:0 0;border:1px solid #c8c1b1}.path-node.critical{border-color:#c45a4666}.path-node.missing.critical{background:var(--coral-soft);color:var(--coral)}.path-node.missing.critical .path-node-dot{border-color:var(--coral);background:var(--coral)}.path-issues{gap:6px;margin-top:14px;display:grid}.path-clear{background:var(--teal-soft);color:var(--teal);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:10.5px;display:flex}.path-issue{border:1px solid var(--line);background:#faf8f2;border-radius:8px;grid-template-columns:58px minmax(0,150px) minmax(0,1fr);align-items:baseline;gap:8px;padding:7px 10px;font-size:10px;display:grid}.path-issue span{color:var(--coral);font-size:9px;font-weight:650}.path-issue strong{font-size:10px}.path-issue em{color:var(--muted);font-style:normal;line-height:1.55}.path-issue.bias{grid-template-columns:58px minmax(0,1fr)}@media (width<=900px){.path-metrics{grid-template-columns:1fr 1fr}.checklist-grid{grid-template-columns:1fr;gap:14px}.path-issue{grid-template-columns:58px minmax(0,1fr)}.path-issue em{grid-column:2}.note-evidence li{grid-template-columns:30px minmax(0,1fr)}.note-evidence li em{grid-column:2}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.auth-chip{border:1px solid var(--line);background:#ffffff9e;border-radius:999px;align-items:center;gap:6px;padding:3px 4px 3px 12px;display:inline-flex}.auth-person{flex-direction:column;line-height:1.25;display:flex}.auth-person strong{font-size:11.5px}.auth-person em{color:var(--muted);letter-spacing:.06em;font-size:9px;font-style:normal}.auth-login{white-space:nowrap}.auth-loading{min-height:100vh;color:var(--muted);place-items:center;font-size:12px;display:grid}.login-main{grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:56px;max-width:1040px;margin:0 auto;padding:76px 32px 96px;display:grid}.login-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-lg);border-radius:24px;padding:36px}.login-card h1{letter-spacing:-.02em;margin:14px 0 10px;font-size:30px}.login-lede{color:var(--muted);margin:0 0 24px;font-size:12.5px;line-height:1.8}.login-form{flex-direction:column;gap:16px;display:flex}.login-form label{flex-direction:column;gap:6px;display:flex}.login-form label span{color:var(--ink-2);align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.login-form input{border:1px solid var(--line);background:var(--surface-soft);border-radius:11px;outline:none;padding:11px 13px;font-size:13px;transition:border-color .18s,box-shadow .18s}.login-form input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f6b5c1a}.login-submit{justify-content:center;margin-top:4px}.login-error{color:var(--coral);margin:0;font-size:11.5px}.login-hint{background:var(--surface-soft);color:var(--muted);border-radius:14px;gap:10px;margin-top:24px;padding:14px 16px;display:flex}.login-hint svg{color:var(--teal);flex:none;margin-top:2px}.login-hint strong{color:var(--ink);font-size:11.5px;display:block}.login-hint p{margin:4px 0 0;font-size:10.5px;line-height:1.7}.login-aside{padding-top:26px}.login-aside h2{margin:0 0 18px;font-size:17px}.login-aside ul{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.login-aside li{color:var(--ink-2);padding-left:20px;font-size:12.5px;line-height:1.7;position:relative}.login-aside li:before{background:var(--teal);content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:8px;left:0}.password-form{flex-direction:column;gap:12px;display:flex}.password-form label{flex-direction:column;gap:5px;display:flex}.password-form label span{color:var(--muted);font-size:10.5px;font-weight:600}.password-form input{border:1px solid var(--line);background:var(--surface-soft);border-radius:9px;outline:none;padding:10px 12px;font-size:12px}.password-form input:focus{border-color:var(--teal)}.password-form .btn{justify-content:center}.login-ok{background:var(--teal-soft);color:var(--teal);border:1px solid #0f6b5c40;border-radius:9px;margin:12px 0 0;padding:9px 12px;font-size:11.5px}.login-boundary{border-top:1px solid var(--line);color:var(--muted);margin-top:26px;padding-top:18px;font-size:10.5px;line-height:1.75}.admin-main{max-width:1240px;margin:0 auto;padding:48px 32px 88px}.admin-head{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;display:flex}.admin-head h1{letter-spacing:-.02em;margin:10px 0 8px;font-size:30px}.admin-lede{max-width:720px;color:var(--muted);margin:0;font-size:12.5px;line-height:1.8}.admin-notice{border:1px solid var(--line);background:var(--gold-soft);color:var(--gold);border-radius:10px;margin:0 0 16px;padding:10px 14px;font-size:11.5px}.admin-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.admin-main,.admin-grid,.admin-grid>*,.admin-panel,.admin-side{min-width:0;max-width:100%}.admin-panel{padding:22px}.admin-panel .panel-head{flex-wrap:wrap}.admin-panel input,.admin-panel select,.admin-panel textarea,.admin-panel code,.admin-panel p{overflow-wrap:anywhere;max-width:100%}.admin-side{flex-direction:column;grid-column:2;gap:16px;display:flex}.admin-roster-panel{grid-column:1/-1}.roster-admin-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;margin-bottom:16px;display:grid}.roster-import{flex-direction:column;gap:8px;display:flex}.roster-import label{color:var(--muted);flex-direction:column;gap:5px;font-size:10.5px;font-weight:600;display:flex}.roster-import textarea{border:1px solid var(--line);background:var(--surface-soft);min-height:92px;color:var(--ink);font:11.5px/1.65 var(--font);resize:vertical;border-radius:9px;outline:none;padding:9px 11px}.roster-import textarea:focus{border-color:var(--teal)}.roster-import .btn{align-self:flex-start}.roster-credentials{border:1px dashed var(--line);background:var(--surface-soft);border-radius:10px;padding:12px 14px}.credentials-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:11.5px;display:flex}.roster-credentials pre{max-height:150px;color:var(--ink-2);white-space:pre;background:#fff;border-radius:8px;margin:10px 0 0;padding:9px 10px;font:10.5px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.roster-table-wrap{border:1px solid var(--line);border-radius:10px;overflow-x:auto}.roster-table{border-collapse:collapse;width:100%;min-width:620px;font-size:11.5px}.roster-table th,.roster-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:9px 12px}.roster-table th{color:var(--muted);letter-spacing:.04em;background:var(--surface-soft);font-size:10px;font-weight:650}.roster-table tbody tr:last-child td{border-bottom:0}.roster-table td code{font-size:10.5px}.roster-table .btn{white-space:nowrap}.admin-create{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) auto;align-items:end;gap:10px;margin-bottom:20px;padding-bottom:20px;display:grid}.admin-create label{flex-direction:column;gap:5px;display:flex}.admin-create label span{color:var(--muted);letter-spacing:.04em;font-size:10px;font-weight:600}.admin-create input,.task-form input:not([type=checkbox]){border:1px solid var(--line);background:var(--surface-soft);border-radius:9px;outline:none;padding:9px 11px;font-size:11.5px}.admin-create input:focus,.task-form input:not([type=checkbox]):focus{border-color:var(--teal)}.account-create{gap:9px;display:grid}.account-create label{flex-direction:column;gap:4px;display:flex}.account-create label span{color:var(--muted);font-size:10px;font-weight:600}.account-create input,.account-create select{border:1px solid var(--line);background:var(--surface-soft);border-radius:9px;outline:none;padding:8px 10px;font-size:11.5px}.account-create input:focus,.account-create select:focus{border-color:var(--teal)}.account-create .btn{justify-content:center;margin-top:4px}.task-head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.task-lede{margin:-4px 0 16px}.admin-notice.task-error{color:var(--coral);background:#fbf0ec;border-color:#c45e4447}.task-form{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;gap:10px;margin-bottom:18px;padding:14px;display:grid}.task-form label{flex-direction:column;gap:4px;display:flex}.task-form label>span{color:var(--muted);font-size:10px;font-weight:600}.task-form-row{grid-template-columns:minmax(0,1.6fr) auto;align-items:end;gap:10px;display:grid}.task-form .task-visible{color:var(--ink-2);flex-direction:row;align-items:center;gap:7px;padding-bottom:9px;font-size:11px}.task-cases{border:1px dashed var(--line-strong);border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px;margin:0;padding:10px;display:grid}.task-cases legend{color:var(--muted);padding:0 4px;font-size:10px}.task-cases label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;grid-template-columns:14px 38px minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px 8px;font-size:10px;display:grid}.task-cases label.on{border-color:var(--teal);background:var(--teal-soft)}.task-cases label span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:9px}.task-cases label em{text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.task-cases label b{background:var(--teal);color:#fff;border-radius:50%;place-items:center;width:16px;height:16px;font-size:9px;display:grid}.task-form-actions{gap:8px;display:flex}.task-list{flex-direction:column;gap:12px;display:flex}.task-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;padding:14px}.task-card.unpublished{opacity:.72}.task-card>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.task-card>header strong{font-size:13px;display:block}.task-card>header em{color:var(--muted);font-size:10px;font-style:normal}.task-progress{background:var(--teal-soft);color:var(--teal);border-radius:99px;flex:none;padding:2px 9px;font-size:9.5px}.task-note{color:var(--ink-2);margin:8px 0 0;font-size:11px;line-height:1.6}.task-chips{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.task-chips span{border:1px solid var(--line);background:#fff;border-radius:99px;align-items:baseline;gap:5px;padding:3px 9px;font-size:9.5px;display:inline-flex}.task-chips span em{color:var(--muted);font-size:9px;font-style:normal}.task-actions{flex-wrap:wrap;gap:6px;display:flex}.task-strip{margin:34px 0 8px}.task-strip .section-head{margin-bottom:14px}.task-strip-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.student-task-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;flex-direction:column;gap:8px;padding:16px;display:flex}.student-task-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.student-task-head strong{font-size:13px}.student-task-head span{color:var(--muted);flex:none;font-size:9.5px}.student-task-card>p{color:var(--muted);margin:0;font-size:11px;line-height:1.6}.student-task-cases{flex-wrap:wrap;gap:5px;display:flex}.student-task-cases span{border:1px solid var(--line);background:var(--surface-soft);border-radius:99px;align-items:center;gap:4px;padding:3px 8px;font-size:9.5px;display:inline-flex}.student-task-cases span.done{background:var(--teal-soft);color:var(--teal-dark);border-color:#0f6b5c4d}.student-task-card .btn{align-self:flex-start;margin-top:2px}.admin-case-editor{grid-column:1/-1}.editor-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:16px;display:grid}.draft-list{flex-direction:column;gap:6px;max-height:560px;display:flex;overflow:auto}.draft-item{border:1px solid var(--line);background:var(--surface-soft);text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;gap:3px;padding:10px;display:flex}.draft-item.active{border-color:var(--teal);background:var(--teal-soft)}.draft-id{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:9.5px;display:inline-flex}.draft-item strong{text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.draft-item em{color:var(--muted);font-size:9px;font-style:normal}.draft-status{background:var(--surface);color:var(--muted);letter-spacing:.02em;vertical-align:1px;border-radius:999px;padding:1px 5px;font-size:8.5px;font-style:normal;font-weight:600;display:inline-block}.draft-status.in_review{color:#9a5b00;background:#fdf0d5}.draft-status.published{color:#146c4a;background:#e3f4ec}.draft-status.retired{color:#9b2c2c;background:#f4e4e4}.editor-main{min-width:0}.editor-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.editor-toolbar>div:first-child strong{font-variant-numeric:tabular-nums;font-size:13px;display:block}.editor-toolbar>div:first-child em{color:var(--muted);font-size:10px;font-style:normal}.editor-copy{align-items:center;gap:6px;display:flex}.editor-copy select{border:1px solid var(--line);background:var(--surface);border-radius:8px;max-width:220px;padding:7px 9px;font-size:11px}.json-editor{border:1px solid var(--line);background:var(--surface-soft);tab-size:2;resize:vertical;border-radius:12px;outline:none;width:100%;min-height:520px;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;line-height:1.6}.json-editor:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f6b5c14}.editor-syntax{color:var(--coral);margin:8px 0 0;font-size:11px}.editor-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.editor-status{color:var(--muted);margin:8px 0 0;font-size:10px}.editor-hint{color:var(--muted);margin:6px 0 0;font-size:10px;line-height:1.65}.editor-errors{background:#fbf0ec;border:1px solid #c45e444d;border-radius:10px;margin-top:12px;padding:12px 14px}.editor-errors>strong{color:var(--coral);margin-bottom:6px;font-size:11px;display:block}.editor-errors ul{flex-direction:column;gap:5px;max-height:240px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.editor-errors li{gap:8px;font-size:10.5px;line-height:1.5;display:flex}.editor-errors code{max-width:200px;color:var(--coral);overflow-wrap:anywhere;background:#c45e441a;border-radius:4px;flex:none;padding:1px 5px;font-size:9.5px}.editor-errors span{color:var(--ink-2)}.btn.danger{color:var(--coral)}.audit-list{border-top:1px solid var(--line);flex-direction:column;max-height:640px;display:flex;overflow-y:auto}.audit-item{border-bottom:1px solid #e4dfd39e;grid-template-columns:72px minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px 0;display:grid}.audit-badge{background:var(--surface-soft);color:var(--muted);text-align:center;white-space:nowrap;border-radius:99px;padding:2px 7px;font-size:9px}.audit-badge.task,.audit-badge.case,.audit-badge.auth{background:var(--teal-soft);color:var(--teal)}.audit-badge.evaluation,.audit-badge.media{background:var(--gold-soft);color:var(--gold)}.audit-badge.cohort{background:var(--paper-2);color:var(--muted)}.audit-item strong{font-size:11px;display:block}.audit-item p{color:var(--muted);word-break:break-all;margin:2px 0 0;font-size:9px}.audit-meta{text-align:right}.audit-meta em{color:var(--muted);white-space:nowrap;font-size:9px;font-style:normal;display:block}.audit-meta span{max-width:110px;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:9.5px;display:block;overflow:hidden}.live-reviewer{border:1px solid var(--line);background:var(--surface-soft);border-radius:9px;flex-direction:column;gap:2px;padding:8px 11px;display:flex}.live-reviewer span{color:var(--muted);font-size:9.5px}.live-reviewer b{font-size:12px}.live-reviewer em{color:var(--muted);font-size:9px;font-style:normal}@media (width<=1000px){.login-main{grid-template-columns:1fr;gap:28px;padding:48px 24px 72px}.login-aside{padding-top:0}.admin-grid{grid-template-columns:1fr}.admin-side{grid-column:1}.editor-layout{grid-template-columns:1fr}.draft-list{max-height:220px}}@media (width<=900px){.admin-create{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-create .btn{width:100%}.roster-admin-grid{grid-template-columns:1fr}}@media (width<=700px){.auth-chip{padding-left:9px}.auth-person em{display:none}.admin-main{padding:32px 18px 64px}.admin-head{flex-direction:column}.admin-head>.btn{width:100%}.admin-grid{gap:14px}.admin-panel{padding:16px}.admin-create,.roster-admin-grid{grid-template-columns:1fr}.roster-import .btn{width:100%}.admin-panel .panel-head{flex-direction:column;align-items:flex-start;gap:6px}.case-version-form{grid-template-columns:1fr}.case-version-form button,.version-diff-controls label,.version-diff-controls .btn{width:100%}.diff-arrow{display:none}.task-form-row,.task-strip-list{grid-template-columns:1fr}.editor-copy{flex-wrap:wrap}.json-editor{min-height:360px}.audit-item{grid-template-columns:66px minmax(0,1fr)}.audit-meta{text-align:left;grid-column:2}}.admin-case-panel{grid-column:1/-1}.case-picker{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.case-picker select,.case-slot select,.case-version-form input,.media-upload input:not([type=file]){border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:7px 9px;font-size:12px}.case-lede{margin:-4px 0 18px}.case-workflow{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.case-block{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;min-width:0;padding:16px}.case-block>header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.case-block>header strong{font-size:13px}.case-block>header span{color:var(--muted);font-size:10px}.case-flag{border-radius:8px;margin:0 0 12px;padding:7px 10px;font-size:11px;line-height:1.45}.case-flag.ok{background:var(--teal-soft);color:var(--teal-dark)}.case-flag.warn{background:var(--gold-soft);color:var(--gold)}.case-lifecycle{align-items:center;gap:10px;margin-bottom:12px;display:flex}.case-lifecycle .case-flag{flex:1;margin:0}.case-lifecycle .btn{flex-shrink:0}.case-version-form{grid-template-columns:minmax(0,.55fr) minmax(0,1fr);align-items:end;gap:8px;display:grid}.case-version-form label,.media-upload label,.case-slot{color:var(--muted);flex-direction:column;gap:4px;min-width:0;font-size:11px;display:flex}.case-version-form button{grid-column:1/-1;justify-self:start}.version-list{flex-direction:column;gap:8px;max-height:300px;margin-top:12px;display:flex;overflow:auto}.version-item{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 11px}.version-item>div{align-items:center;gap:8px;display:flex}.version-item strong{font-size:12.5px}.version-item em{background:var(--teal-soft);color:var(--teal-dark);border-radius:999px;padding:1px 7px;font-size:9px;font-style:normal}.version-item p{color:var(--ink-2);margin:4px 0;font-size:10.5px}.version-item span{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px}.version-diff{border-top:1px dashed var(--line);margin-top:14px;padding-top:12px}.version-diff>header{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.version-diff>header strong{font-size:12.5px}.version-diff>header span{color:var(--muted);font-size:9.5px}.version-diff-controls{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.version-diff-controls label{flex-direction:column;gap:3px;display:flex}.version-diff-controls label span{color:var(--muted);font-size:9px}.version-diff-controls select{border:1px solid var(--line);background:var(--surface);border-radius:7px;max-width:180px;padding:6px 8px;font-size:10px}.diff-arrow{color:var(--muted);padding-bottom:7px;font-size:11px}.diff-list{flex-direction:column;gap:7px;max-height:340px;margin-top:10px;display:flex;overflow:auto}.diff-summary{color:var(--muted);margin:0;font-size:9.5px}.diff-item{border:1px solid var(--line);background:var(--surface);border-left-width:3px;border-radius:7px;padding:7px 9px;font-size:10px}.diff-item.added{border-left-color:#2f8f63}.diff-item.removed{border-left-color:#b44343}.diff-item.changed{border-left-color:#c58a1d}.diff-op{background:var(--surface-soft);color:var(--muted);border-radius:4px;margin-right:6px;padding:0 5px;font-size:8.5px;display:inline-block}.diff-item code{word-break:break-all;font-size:9.5px}.diff-item p{color:var(--ink-2);word-break:break-word;margin:4px 0 0;font-size:9.5px;line-height:1.55}.diff-before{color:#8a3c3c!important}.diff-after{color:#1f6a4c!important}.case-slot{flex-direction:row;align-items:center;gap:8px;margin-bottom:10px}.case-slot select{flex:1;min-width:0}.media-assets{flex-direction:column;gap:8px;max-height:260px;margin-bottom:12px;display:flex;overflow:auto}.media-asset{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:72px minmax(0,1fr);gap:10px;padding:8px;display:grid}.media-asset.approved{border-color:#0f6b5c59}.media-asset img{object-fit:cover;background:#0d1512;border-radius:7px;width:72px;height:58px}.media-asset-empty{background:var(--paper-2);width:72px;height:58px;color:var(--muted);border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:9px;display:flex}.media-asset-body{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}.media-asset-body strong{overflow-wrap:anywhere;font-size:12px}.media-asset-body p{width:100%;color:var(--muted);margin:0;font-size:10.5px}.media-badge{border-radius:999px;padding:1px 7px;font-size:9.5px}.media-badge.ok{background:var(--teal-soft);color:var(--teal-dark)}.media-badge.pending{background:var(--gold-soft);color:var(--gold)}.media-upload{border-top:1px dashed var(--line-strong);gap:8px;padding-top:12px;display:grid}.media-upload input[type=file]{font-size:11px}.media-attest{align-items:flex-start;line-height:1.45;flex-direction:row!important;gap:7px!important;font-size:10.5px!important}.media-attest input{margin-top:2px}.media-upload button{justify-self:start}@media (width<=1000px){.case-workflow{grid-template-columns:1fr}.case-picker{flex-direction:column;align-items:flex-start}}.consult-stage{min-height:190px;box-shadow:var(--shadow-sm);background:radial-gradient(120% 90% at 18% 40%,#fff 0%,#ffffff8c 46%,#0000 72%),linear-gradient(120deg,#f3f1e8 0%,#eaf0ea 58%,#dfe8e1 100%);border:1px solid #e4dfd3f2;border-radius:18px;flex:0 0 190px;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:128px minmax(0,1fr) auto;gap:8px 14px;padding:11px 14px 10px;display:grid;position:relative;overflow:hidden}.stage-arch{filter:blur(2px);background:radial-gradient(closest-side,#ffffffe6,#d1e2da59 62%,#0000 100%);border-radius:50%;width:220px;height:130px;position:absolute;bottom:10px;left:64px;transform:translate(-50%)}.stage-meta{z-index:3;flex-direction:column;grid-area:1/2;align-self:center;gap:2px;min-width:0;display:flex;position:static}.stage-meta strong{color:#26332f;font-size:12px;font-weight:650}.stage-meta em{color:var(--muted);letter-spacing:.02em;font-size:9.5px;font-style:normal}.stage-badge{color:var(--teal);letter-spacing:.08em;background:#ffffffd1;border:1px solid #12806d38;border-radius:999px;align-self:flex-start;margin-bottom:2px;padding:3px 8px;font-size:8.5px;font-weight:650}.stage-pip{z-index:3;background:#ffffffdb;border:1px solid #e4dfd3e6;border-radius:11px;flex-direction:column;grid-area:1/3;align-self:start;align-items:center;width:46px;padding:4px 4px 3px;display:flex;position:static;box-shadow:0 6px 14px #21302b14}.stage-pip .doctor-portrait{border-radius:8px;width:38px;height:46px;overflow:hidden}.stage-pip span{background:var(--teal);color:#f6f4ed;border-radius:999px;margin-top:2px;padding:0 6px;font-size:8px;font-weight:600}.stage-figure{z-index:2;pointer-events:none;grid-area:1/1/span 2;justify-content:center;align-items:center;min-height:0;padding:0;display:flex;position:static}.stage-portrait{aspect-ratio:3/4;border:1px solid #ffffffd9;border-radius:13px;height:100%;max-height:none;overflow:hidden;box-shadow:0 12px 26px #18302833}.stage-caption{z-index:3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffd1;border:1px solid #ffffffe6;border-radius:11px;grid-area:2/2/auto/span 2;align-items:center;gap:7px;min-height:0;padding:7px 9px 7px 11px;display:flex;position:static}.stage-caption>span{letter-spacing:.1em;color:var(--teal);flex-shrink:0;font-size:8.5px;font-weight:700}.stage-caption p{color:#40514c;-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;flex:1;margin:0;font-size:11px;line-height:1.45;display:-webkit-box;overflow:hidden}.stage-voice{color:var(--teal);cursor:pointer;background:#fff;border:1px solid #12806d4d;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:5px 9px;font-size:9.5px;transition:background .2s,color .2s;display:inline-flex}.stage-voice.on{background:var(--teal);color:#f6f4ed}.stage-voice:hover{color:#f6f4ed;background:#0f6b5c}.stage-3d-chip{color:var(--teal);cursor:pointer;background:#fff;border:1px solid #12806d4d;border-radius:999px;flex-shrink:0;align-items:center;padding:5px 9px;font-size:9.5px;transition:background .2s,color .2s;display:inline-flex}.stage-3d-chip:hover{color:#f6f4ed;background:#0f6b5c}.patient-portrait,.doctor-portrait{border-radius:inherit;background:linear-gradient(#e9ede7,#dbe3da);width:100%;height:100%;position:relative;overflow:hidden}.portrait-layer{object-fit:cover;object-position:50% 32%;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.portrait-emotion{opacity:0;transition:opacity .26s linear}.portrait-emotion.active{opacity:1}.patient-portrait.is-25d{background:radial-gradient(85% 62% at 18% 8%,#fffffffa,#0000 62%),radial-gradient(55% 42% at 88% 20%,#9cc4a88c,#0000 72%),radial-gradient(70% 40% at 50% 100%,#a5baaa80,#0000 75%),linear-gradient(162deg,#eef3ea 0%,#e2ebe1 48%,#d2ded4 100%)}.portrait-scene{pointer-events:none;position:absolute;inset:-6%;transform:scale(1.04)}.portrait-scene:before{content:"";filter:blur(10px);background:linear-gradient(#ffffffe6,#ffffff14);border-radius:40% 40% 30% 30%;width:46%;height:70%;position:absolute;top:6%;left:4%}.portrait-scene:after{content:"";filter:blur(16px);background:radial-gradient(at 55% 40%,#5485668c,#54856600 70%);border-radius:50%;width:52%;height:52%;position:absolute;bottom:-6%;right:-8%}.portrait-shadow{filter:blur(14px)brightness(.36)saturate(.45);opacity:.5;transform:translate3d(9px,16px,8px)scale(1.012)}.portrait-subject{filter:contrast(1.03)saturate(1.04)drop-shadow(0 0 1px #ffffff59);position:absolute;inset:0}.portrait-flat{position:absolute;inset:0}.patient-portrait.is-25d:after{content:"";z-index:1;border-radius:inherit;pointer-events:none;background:radial-gradient(80% 84% at 50% 40%,#0000 62%,#142c2229 100%),linear-gradient(#ffffff29,#0000 22% 78%,#1830261f);position:absolute;inset:0}.portrait-mouth{opacity:0;transform-origin:50% 61.5%;will-change:opacity, transform;-webkit-mask-image:radial-gradient(14% 8.6% at 50% 61.5%,#000 58%,#0000 100%);mask-image:radial-gradient(14% 8.6% at 50% 61.5%,#000 58%,#0000 100%)}.patient-portrait.look-vp01 .portrait-mouth{transform-origin:50% 57.2%;-webkit-mask-image:radial-gradient(14% 8.6% at 50% 57.2%,#000 58%,#0000 100%);mask-image:radial-gradient(14% 8.6% at 50% 57.2%,#000 58%,#0000 100%)}.patient-portrait .portrait-mouth.is-baked{opacity:1;transition:none;transform:none;-webkit-mask-image:none;mask-image:none}.patient-portrait.is-speaking .portrait-mouth.is-baked{animation:none}.doctor-portrait .portrait-mouth{transform-origin:50% 60%;-webkit-mask-image:radial-gradient(12% 7.2% at 50% 60%,#000 58%,#0000 100%);mask-image:radial-gradient(12% 7.2% at 50% 60%,#000 58%,#0000 100%)}.patient-portrait.is-speaking .portrait-mouth,.doctor-portrait.is-speaking .portrait-mouth{animation:.46s step-end infinite portrait-talk}.patient-portrait.is-speaking .portrait-mouth.level,.doctor-portrait.is-speaking .portrait-mouth.level{transition:opacity 70ms linear,transform 70ms linear;animation:none}.patient-portrait.is-speaking .portrait-mouth.sync,.doctor-portrait.is-speaking .portrait-mouth.sync{animation:.21s ease-out both portrait-syllable-a}.patient-portrait.is-speaking .portrait-mouth.sync.pulse-1,.doctor-portrait.is-speaking .portrait-mouth.sync.pulse-1{animation-name:portrait-syllable-b}.patient-portrait.is-speaking .portrait-mouth.sync.pulse-2,.doctor-portrait.is-speaking .portrait-mouth.sync.pulse-2{animation-name:portrait-syllable-c}.portrait-blink{opacity:0;animation:5.8s infinite portrait-blink;-webkit-mask-image:radial-gradient(8% 4.2% at 38.5% 40%,#000 38%,#0000 88%),radial-gradient(8% 4.2% at 62.5% 40%,#000 38%,#0000 88%);mask-image:radial-gradient(8% 4.2% at 38.5% 40%,#000 38%,#0000 88%),radial-gradient(8% 4.2% at 62.5% 40%,#000 38%,#0000 88%)}.portrait-blink.is-baked{-webkit-mask-image:none;mask-image:none}.portrait-tag{z-index:2;color:#fffffff0;letter-spacing:.06em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#16221e85;border-radius:999px;padding:2px 6px;font-size:8px;position:absolute;top:7px;left:7px}.stage-pip .portrait-tag{display:none}.stage-portrait .portrait-tag{top:auto;bottom:7px}.patient-portrait.emotion-pain .portrait-base{filter:saturate(.95)contrast(1.02)}.patient-portrait.emotion-guarded .portrait-base,.patient-portrait.gesture-look_away .portrait-base{filter:saturate(.94)}@keyframes portrait-talk{0%{opacity:0}18%{opacity:1}40%{opacity:.16}62%{opacity:.92}84%{opacity:.12}to{opacity:.7}}@keyframes portrait-syllable-a{0%{opacity:.08;transform:scaleY(.72)}30%{opacity:1;transform:scaleY(1.06)}62%{opacity:.62;transform:scaleY(.92)}to{opacity:.08;transform:scaleY(.74)}}@keyframes portrait-syllable-b{0%{opacity:.14;transform:scaleY(.78)}35%{opacity:.88;transform:scaleY(1)}70%{opacity:.42;transform:scaleY(.86)}to{opacity:.1;transform:scaleY(.76)}}@keyframes portrait-syllable-c{0%{opacity:.1;transform:scaleY(.74)}26%{opacity:.96;transform:scaleY(1.1)}58%{opacity:.5;transform:scaleY(.9)}to{opacity:.06;transform:scaleY(.72)}}@keyframes portrait-blink{0%,91%,to{opacity:0}92.5%,95%{opacity:1}96.5%{opacity:0}}.chat-col>.chat-panel{flex:auto;height:auto;min-height:0}.avatar-dialogue{background:linear-gradient(#fbfaf5,#f1f4ee);border:1px solid #e4dfd3f2;border-radius:16px;margin-top:14px;padding:14px}.dialogue-stage{background:radial-gradient(95% 90% at 50% 10%,#fff,#fff6 52%,#d6e2d999);border-radius:12px;justify-content:center;align-items:flex-end;gap:22px;min-height:258px;padding:32px 10px 12px;display:flex;position:relative;overflow:hidden}.dialogue-scene-tag{z-index:2;color:var(--muted);letter-spacing:.06em;background:#ffffffd9;border:1px solid #e4dfd3e6;border-radius:999px;padding:3px 8px;font-size:8.5px;position:absolute;top:9px;left:11px}.dialogue-figure{z-index:1;flex-direction:column;align-items:center;gap:2px;display:flex;position:relative}.dialogue-figure .doctor-portrait{border:1px solid #ffffffd9;border-radius:13px;width:132px;height:152px;box-shadow:0 14px 30px #1830282e}.dialogue-figure .patient-portrait{border:1px solid #ffffffd9;border-radius:13px;width:148px;height:196px;box-shadow:0 14px 30px #18302833}.dialogue-figure .doctor-portrait .portrait-tag,.dialogue-figure .patient-portrait .portrait-tag{padding:1px 5px;font-size:7.5px}.dialogue-figure>span{color:#5a6864;background:#ffffffe0;border:1px solid #e4dfd3e6;border-radius:999px;padding:2px 9px;font-size:9px}.dialogue-caption{background:#fff;border:1px solid #e4dfd3e6;border-radius:12px;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:10px;min-height:64px;margin-top:10px;padding:11px 13px;display:grid}.dialogue-caption>span{color:var(--teal);letter-spacing:.08em;padding-top:2px;font-size:9px;font-weight:700}.dialogue-caption.patient>span{color:#a06a3c}.dialogue-caption.system>span{color:var(--muted)}.dialogue-caption p{color:#37423f;margin:0;font-size:12px;line-height:1.65}.dialogue-caption.system p{color:var(--muted);font-size:11px}.dialogue-hint{color:var(--muted);margin:9px 0 0;font-size:10.5px;line-height:1.55}.dialogue-controls{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.dialogue-count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:10px}.dialogue-progress{background:#16211e14;border-radius:999px;height:3px;margin-top:8px;overflow:hidden}.dialogue-progress i{border-radius:inherit;background:var(--teal);height:100%;transition:width .3s;display:block}@media (width<=1180px){.consult-stage{flex-basis:180px;grid-template-columns:116px minmax(0,1fr) auto;min-height:180px;padding:10px 12px 9px}.voice-picker{display:none}.stage-arch{width:200px;height:118px;left:58px}.stage-pip{width:42px}.stage-pip .doctor-portrait{width:34px;height:42px}}@media (width<=860px){.consult-stage{flex-basis:168px;grid-template-columns:100px minmax(0,1fr);min-height:168px;padding:9px 11px 8px}.stage-pip{display:none}.stage-caption{grid-column:2;gap:6px;padding:6px 8px 6px 9px}.stage-arch{width:170px;height:104px;left:50px}.stage-meta em{display:none}.stage-voice,.stage-3d-chip{padding:4px 7px;font-size:9px}.dialogue-stage{gap:10px;min-height:214px}.dialogue-figure .doctor-portrait{width:108px;height:126px}.dialogue-figure .patient-portrait{width:124px;height:164px}}@media (prefers-reduced-motion:reduce){.portrait-blink{animation:none}.portrait-emotion{transition:none}.portrait-scene{transition:none;transform:scale(1.04)}.portrait-shadow{transition:none;transform:translate3d(9px,16px,8px)scale(1.012)}.portrait-subject{transition:none;transform:none}.patient-portrait.is-speaking .portrait-mouth,.doctor-portrait.is-speaking .portrait-mouth,.patient-portrait.is-speaking .portrait-mouth.sync,.doctor-portrait.is-speaking .portrait-mouth.sync{opacity:.85;animation:none;transform:none}}.avatar-demo-page{flex-direction:column;min-height:100dvh;display:flex}.avatar-demo-loading{min-height:100dvh;color:var(--muted);place-items:center;font-size:13px;display:grid}.avatar-demo-main{width:min(1180px,100% - 48px);margin:0 auto;padding:44px 0 72px}.avatar-demo-head{justify-content:space-between;align-items:flex-start;gap:28px;display:flex}.avatar-demo-head h1{letter-spacing:-.03em;margin:10px 0 12px;font-size:clamp(30px,4vw,46px);font-weight:600;line-height:1.14}.avatar-demo-lede{max-width:620px;color:var(--ink-2);margin:0;font-size:14px;line-height:1.85}.avatar-demo-back{flex:none;margin-top:8px}.avatar-demo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:880px;margin-top:34px;display:grid}.avatar-demo-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:24px;padding:12px}.avatar-demo-stage{aspect-ratio:3/4;background:radial-gradient(120% 80% at 50% 18%,#ffffffeb,#0000 62%),linear-gradient(#e9ede7,#dbe3da);border-radius:16px;width:100%;position:relative;overflow:hidden}.avatar-demo-stage .patient-portrait{border-radius:0;width:100%;height:100%}.avatar-demo-stage-3d{background:radial-gradient(90% 62% at 50% 24%,#e0eee8f5,#0000 70%),linear-gradient(#d9e3dd 0%,#c4d2cb 100%)}.avatar-demo-stage-3d:after{content:"";pointer-events:none;background:linear-gradient(#0000,#233a321f);height:26%;position:absolute;inset:auto 0 0}.avatar-demo-stage-3d canvas{display:block;position:absolute;inset:0}.avatar-demo-sim-tag{z-index:3;color:#fffffff0;letter-spacing:.08em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#16221e85;border-radius:999px;padding:3px 8px;font-size:9px;position:absolute;top:10px;left:10px}.avatar-demo-stage-state{z-index:2;color:var(--ink-2);text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#e9ede7b8;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;font-size:12px;display:flex;position:absolute;inset:0}.avatar-demo-caption{justify-content:space-between;align-items:baseline;gap:12px;padding:12px 6px 4px;display:flex}.avatar-demo-caption strong{font-size:14px;font-weight:600}.avatar-demo-caption span{color:var(--muted);font-size:11px}.avatar-demo-controls{border:1px solid var(--line);background:var(--surface);max-width:880px;box-shadow:var(--shadow-sm);border-radius:22px;margin-top:22px;padding:22px}.avatar-demo-control-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.avatar-demo-control-head h2{letter-spacing:-.01em;margin:6px 0 0;font-size:20px;font-weight:600}.avatar-demo-play{justify-content:center;min-width:132px}.avatar-demo-play.is-playing{background:var(--coral);border-color:var(--coral)}.avatar-demo-lines{gap:8px;margin-top:18px;display:grid}.avatar-demo-line{border:1px solid var(--line);background:var(--surface-soft);width:100%;color:var(--ink-2);text-align:left;border-radius:12px;align-items:flex-start;gap:12px;padding:11px 13px;font-size:12.5px;line-height:1.7;transition:border-color .14s,background .14s,color .14s;display:flex}.avatar-demo-line:hover{border-color:var(--line-strong);color:var(--ink)}.avatar-demo-line:disabled{cursor:not-allowed;opacity:.55}.avatar-demo-line:disabled:hover{border-color:var(--line);color:var(--ink-2)}.avatar-demo-line>span{color:var(--gold);letter-spacing:.08em;flex:none;padding-top:2px;font-size:10px;font-weight:600}.avatar-demo-line.is-active{background:var(--teal-soft);color:var(--ink);border-color:#0f6b5c52}.avatar-demo-options{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:16px;padding-top:16px;display:flex}.avatar-demo-options label{color:var(--muted);align-items:center;gap:8px;font-size:11.5px;display:flex}.avatar-demo-options select{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:8px;padding:5px 9px;font-size:12px}.avatar-demo-status{color:var(--muted);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.avatar-demo-status-dot{background:var(--teal);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #0f6b5c1a}.avatar-demo-status.is-error .avatar-demo-status-dot{background:var(--coral);box-shadow:0 0 0 3px #c2603f1f}.avatar-demo-alert{background:var(--coral-soft);color:#8a3f26;border-radius:10px;align-items:flex-start;gap:7px;margin:14px 0 0;padding:10px 12px;font-size:12px;line-height:1.65;display:flex}.avatar-demo-notes{border-top:1px solid var(--line);max-width:880px;color:var(--muted);margin-top:26px;padding-top:20px;font-size:11.5px;line-height:1.8}.avatar-demo-notes p{margin:0 0 8px}.avatar-demo-notes strong{color:var(--ink-2);font-weight:600}.avatar-demo-page .spin{animation:.9s linear infinite avatar-demo-spin}@keyframes avatar-demo-spin{to{transform:rotate(360deg)}}@media (width<=860px){.avatar-demo-main{width:min(100% - 28px,620px);padding-top:28px}.avatar-demo-head{flex-direction:column-reverse;gap:14px}.avatar-demo-back{margin-top:0}.avatar-demo-grid{grid-template-columns:1fr;gap:16px;margin-top:24px}.avatar-demo-control-head{flex-direction:column;align-items:flex-start}.avatar-demo-play{width:100%}.avatar-demo-options{flex-direction:column;align-items:flex-start;gap:9px}}@media (prefers-reduced-motion:reduce){.avatar-demo-page .spin{animation:none}}.roster-scroll-hint{color:var(--muted);margin:8px 0 0;font-size:10.5px;display:none}@media (width<=700px){.roster-scroll-hint{display:block}}
