:root{color-scheme:light;--font-family-base: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-md: 15px;--font-size-lg: 17px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-heavy: 750;--line-height-tight: 1.2;--line-height-compact: 1.35;--line-height-normal: 1.6;--line-height-relaxed: 1.75;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 48px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--color-bg-page: oklch(97.2% .008 75);--color-bg-shell: var(--color-bg-page);--color-bg-surface: oklch(99% .006 75);--color-bg-surface-muted: oklch(94.9% .009 68);--color-bg-surface-subtle: oklch(96.5% .008 72);--color-primary-surface-soft: #FFF4F1;--color-text-primary: #2A2624;--color-text-secondary: #6B6260;--color-text-subtle: #9B8E8E;--color-text-muted: var(--color-text-secondary);--color-text-inverse: #FFFFFF;--color-border: rgba(42, 38, 36, .08);--color-border-strong: rgba(42, 38, 36, .14);--color-border-default: var(--color-border);--color-primary: #C75C3F;--color-primary-hover: #B04E34;--color-primary-active: #9E422C;--color-primary-surface: #FDE8E3;--color-primary-border: rgba(199, 92, 63, .24);--color-success: #5B8A5B;--color-success-light: #E8F0E6;--color-warning: #C4913C;--color-warning-light: #FCF3E3;--color-info: #4A7C8A;--color-info-light: #E6F0F3;--color-error: #A83E32;--color-error-light: #FBE9E6;--shadow-soft: 0 8px 24px rgba(42, 38, 36, .045);--control-height-xs: 28px;--control-height-sm: 32px;--control-height-md: 36px;--control-height-lg: 42px;--button-padding-md: 0 20px;--button-padding-sm: 0 14px;--button-padding-xs: 0 10px;--input-padding-x: 12px;--input-padding-y: 8px;--badge-height: 24px;--badge-padding: 0 10px;--textarea-min-height: 100px;--state-panel-min-height: 48px;--focus-outline: 2px solid var(--color-primary);--focus-offset: 2px;--disabled-opacity: .45;--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-micro: .12s;--dur-short: .22s;--titlebar-height: 40px;--activity-bar-width: 48px;--activity-hit-size: 40px;--activity-item-radius: 10px;--card-padding: 24px;--page-content-max-width: 1420px;--page-padding-block: 24px;--page-padding-inline: 24px}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html{font-family:var(--font-family-base);color:var(--color-text-primary);background:var(--color-bg-page)}body{margin:0;min-width:0;min-height:100vh;background:var(--color-bg-page);font-size:var(--font-size-md);line-height:var(--line-height-normal)}button{font:inherit;cursor:pointer}select{font:inherit;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);min-height:var(--control-height-md);padding:0 var(--input-padding-x)}textarea{font:inherit;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);width:100%;min-height:var(--textarea-min-height);padding:var(--space-3);resize:vertical;line-height:var(--line-height-relaxed)}button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}select:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}textarea:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}button:disabled{cursor:not-allowed;opacity:var(--disabled-opacity)}h2,h3,h4,p{margin:0}.global-notice-bar{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--color-primary-surface);border-bottom:1px solid var(--color-border);font-size:13px;color:var(--color-primary-active);font-weight:500}.global-notice-bar .notice-dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary);animation:notice-pulse 1.2s ease-in-out infinite;flex-shrink:0}.global-notice-bar.is-error{background:var(--color-primary-surface);border-bottom-color:var(--color-primary);color:var(--color-primary)}.global-notice-bar.is-error .notice-dot{background:var(--color-primary);animation:none}.global-notice-bar>span:not(.notice-dot){flex:1}.global-notice-actions{display:flex;gap:8px;margin-left:auto}.runtime-audit-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:12px 0 16px;padding:14px 16px;background:var(--color-bg-surface-muted);border-radius:var(--radius-lg);color:var(--color-text-primary)}.runtime-audit-banner p{margin:4px 0 0}.runtime-audit-banner small{display:block;margin-top:5px}.runtime-audit-actions{display:flex;flex-shrink:0;gap:8px}.runtime-guide-choices{display:grid;gap:8px;margin-top:12px}.runtime-guide-choices article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface)}.runtime-guide-choices article.recommended{border-color:var(--color-primary)}.runtime-guide-choices article>div,.runtime-guide-choices article>div span{display:block}.runtime-guide-choices article em{color:var(--color-primary);font-size:12px;font-style:normal}@keyframes notice-pulse{0%,to{opacity:1}50%{opacity:.3}}.primary-action,.secondary-action,.text-action{font-family:inherit;cursor:pointer;border:none;border-radius:var(--radius-md);font-weight:var(--font-weight-medium);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.primary-action{min-height:var(--control-height-md);background:var(--color-primary);color:var(--color-text-inverse);padding:var(--button-padding-md);font-size:var(--font-size-md)}.primary-action:hover:not(:disabled){background:var(--color-primary-hover)}.secondary-action{min-height:var(--control-height-md);background:var(--color-bg-surface-muted);color:var(--color-text-secondary);padding:var(--button-padding-sm);font-size:var(--font-size-sm)}.secondary-action:hover:not(:disabled){background:var(--color-bg-surface-subtle)}.secondary-action.danger-outline{color:var(--color-primary)}.text-action{min-height:var(--control-height-xs);background:transparent;color:var(--color-text-secondary);padding:0 var(--space-1);font-size:var(--font-size-sm)}.text-action:hover:not(:disabled){color:var(--color-text-primary)}.primary-action:disabled,.secondary-action:disabled,.text-action:disabled{cursor:not-allowed;opacity:var(--disabled-opacity)}.full{width:100%}.surface{min-width:0;box-sizing:border-box;padding:var(--card-padding)}.state-panel{display:flex;align-items:flex-start;gap:var(--space-3);min-height:var(--state-panel-min-height);padding:var(--space-4);background:var(--color-bg-surface-muted);border-radius:var(--radius-md)}.state-panel strong{display:block;font-size:var(--font-size-sm)}.state-panel span{display:block;margin-top:var(--space-1);color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:1.5}.state-panel.ai-unavailable{color:var(--color-warning)}.message-content{display:flex;flex-direction:column;gap:8px;max-width:72ch;color:var(--color-text-primary);font-size:var(--font-size-md);line-height:var(--line-height-relaxed)}.message-content p{margin:0;white-space:pre-line}.message-content ul,.message-content ol{display:flex;flex-direction:column;gap:6px;margin:0;padding-left:22px}.message-content li{padding-left:2px}.message-content pre{max-width:100%;overflow-x:auto;margin:0;padding:12px 14px;border-radius:var(--radius-md);background:var(--color-bg-surface-subtle);color:var(--color-text-primary);font-size:13px;line-height:20px}.message-heading{display:block;margin-top:4px;color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:600;line-height:1.4}.inline-feedback{display:inline-flex;align-items:center;gap:4px;font-size:13px;padding:4px 10px;border-radius:var(--radius-sm);animation:inline-feedback-fade-in .2s ease;white-space:nowrap}.inline-feedback.success{color:var(--color-success);background:var(--color-success-light)}.inline-feedback.error{color:var(--color-primary);background:var(--color-primary-surface)}@keyframes inline-feedback-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.micro-hint{display:flex;align-items:flex-start;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.surface h2{margin:0;color:var(--color-text-primary);font-size:var(--font-size-xl);line-height:1.3;font-weight:var(--font-weight-semibold)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#2a26244d}.modal-box{width:min(520px,calc(100vw - 40px));max-height:80vh;display:flex;flex-direction:column;gap:var(--space-4);padding:28px;overflow:auto;border-radius:var(--radius-xl);background:var(--color-bg-surface)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}button:disabled{cursor:not-allowed!important}button:disabled:hover{opacity:var(--disabled-opacity)}.intake-workspace{display:grid;grid-template-columns:minmax(0,820px);justify-content:center;gap:clamp(16px,2vw,24px);align-items:start;min-width:0;box-sizing:border-box;padding:clamp(20px,4vh,44px) clamp(16px,3vw,24px) clamp(40px,6vh,64px)}.intake-main{display:grid;gap:var(--space-5);box-sizing:border-box;min-width:0}.intake-chat-panel{display:grid;grid-template-rows:auto auto auto;gap:12px;padding:0 24px;min-width:0;box-sizing:border-box}.intake-thread{display:grid;gap:16px;padding:4px 0;align-content:start;align-items:start;grid-auto-rows:max-content;box-sizing:border-box;min-width:0}.intake-message{display:grid;gap:4px;min-width:0;max-width:92%;animation:message-rise .24s var(--ease-out) both;box-sizing:border-box}@keyframes message-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.intake-message p{margin:0;line-height:var(--line-height-relaxed)}.message-content{font-size:var(--font-size-md);line-height:var(--line-height-relaxed);overflow-wrap:anywhere;white-space:pre-wrap;min-width:0}.intake-message.assistant{justify-self:start}.intake-message.user{justify-self:end}.intake-message-meta{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-subtle)}.intake-message.user .intake-message-meta{color:var(--color-primary);opacity:.72}.intake-message .message-content{padding:10px 14px;border-radius:12px;background:var(--color-bg-surface-muted);color:var(--color-text-primary)}.intake-message.assistant .message-content{border-bottom-left-radius:3px}.intake-message.user .message-content{background:var(--color-primary);color:#fff;border-bottom-right-radius:3px}.intake-message.user .message-content strong,.intake-message.user .message-content code{color:#fff}.summary-card{margin:0;display:grid;gap:14px;padding:20px;border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:#fffffff5;box-shadow:var(--shadow-soft);box-sizing:border-box;animation:message-rise .24s var(--ease-out) both}.summary-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.summary-eyebrow{font-size:11px;font-weight:var(--font-weight-bold);color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.12em}.summary-card-head h3{margin:4px 0 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-compact)}.badge{padding:2px 10px;border-radius:999px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:var(--color-primary-surface);color:var(--color-primary);white-space:nowrap;flex:none}.roadmap-draft-card{border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-soft)}.roadmap-draft-summary{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-md);line-height:var(--line-height-normal)}.roadmap-draft-stages{display:grid;margin:0;padding:0;list-style:none}.roadmap-draft-stage{display:grid;gap:6px;padding:var(--space-4) 0;border-bottom:1px solid var(--color-border-default)}.roadmap-draft-stage:first-child{padding-top:0}.roadmap-draft-stage:last-child{padding-bottom:0;border-bottom:0}.roadmap-draft-stage-head{display:flex;align-items:center;gap:var(--space-2)}.roadmap-draft-stage-index{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--color-primary-surface);color:var(--color-primary);font-size:11px;font-weight:var(--font-weight-bold);flex:none}.roadmap-draft-stage-head h3{margin:0;color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.roadmap-draft-stage p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.roadmap-draft-actions{display:grid;gap:var(--space-2);padding-top:var(--space-4)}.roadmap-draft-feedback-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.roadmap-draft-feedback{width:100%;box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--input-padding-y) var(--input-padding-x);font-size:var(--font-size-sm);font-family:inherit;background:var(--color-bg-surface);color:var(--color-text-primary);resize:vertical}.roadmap-draft-feedback:focus{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.summary-direction{display:grid;gap:4px;padding:12px 14px;background:var(--color-bg-surface-subtle);border-radius:var(--radius-md)}.summary-direction>span{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.summary-direction>p{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-primary)}.summary-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;padding:14px 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.summary-field{display:flex;flex-direction:column;gap:2px;min-width:0}.summary-field>span{font-size:var(--font-size-xs);color:var(--color-text-subtle)}.summary-field>strong{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);overflow-wrap:anywhere}.summary-confirm-note{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.summary-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.intake-incomplete-note{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.intake-message .intake-questions,.intake-message .pending-agent-question{margin-top:10px;padding:14px 16px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-surface-subtle);box-sizing:border-box}.intake-questions{display:grid;gap:12px}.intake-question{display:grid;gap:8px}.intake-question-prompt{display:flex;align-items:flex-start;gap:8px;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-primary)}.intake-question-num{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--color-primary-surface);color:var(--color-primary);font-size:11px;font-weight:var(--font-weight-bold);flex:none;margin-top:1px}.intake-question-options{display:flex;flex-wrap:wrap;gap:8px}.option-action.selected{border-color:var(--color-primary);background:var(--color-primary-surface);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.intake-question-input{width:100%;box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--input-padding-y) var(--input-padding-x);font-size:var(--font-size-sm);font-family:inherit;background:var(--color-bg-surface-muted);color:var(--color-text-primary)}.intake-question-input:focus{outline:var(--focus-outline);outline-offset:var(--focus-offset);background:var(--color-bg-surface)}.intake-questions-submit{display:flex;align-items:center;gap:12px;padding-top:4px}.intake-questions-hint{font-size:var(--font-size-xs);color:var(--color-text-subtle)}.pending-agent-question{display:grid;gap:8px}.pending-agent-question-text{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-primary)}.pending-agent-options-title{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pending-agent-question small{color:var(--color-text-muted)}.pending-agent-question .text-action{justify-self:start}.pending-agent-options{display:flex;flex-wrap:wrap;gap:8px}.option-action{border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg-surface);color:var(--color-text-primary);padding:8px 18px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:inherit;cursor:pointer;transition:border-color .12s var(--ease-out),background .12s var(--ease-out)}.option-action:hover{border-color:var(--color-primary);background:var(--color-primary-surface-soft)}.option-action:disabled{opacity:var(--disabled-opacity);cursor:default}.intake-input-dock{position:sticky;bottom:12px;z-index:5;display:grid;gap:10px;margin:0;padding:14px 16px;border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:#fffffff5;box-shadow:0 -8px 24px #2a26240f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-sizing:border-box}.intake-input-box{display:flex;align-items:flex-end;gap:12px;min-width:0}.intake-input-box textarea{flex:1;min-height:40px;max-height:140px;resize:vertical;padding:var(--input-padding-y) var(--input-padding-x);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);font:inherit;box-sizing:border-box}.intake-input-box .primary-action{flex:none}.intake-temporary-trigger{justify-self:start}.intake-history-collapsed{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-bg-surface-subtle)}.intake-history-collapsed>div{display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.intake-history-collapsed>div svg{color:var(--color-text-subtle)}.intake-history-collapsed>button{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-primary);background:none;border:0;padding:4px 8px;cursor:pointer;letter-spacing:.04em;border-radius:var(--radius-sm)}.intake-history-collapsed>button:hover{background:var(--color-primary-surface)}.restart-confirm-modal{display:grid;gap:14px;max-width:440px}.restart-confirm-modal h3{margin:0;color:var(--color-text-primary);font-size:var(--font-size-xl)}.restart-confirm-modal p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.section-label{display:block;margin-bottom:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.04em}.task-status{min-height:var(--badge-height);display:inline-flex;align-items:center;padding:var(--badge-padding);border-radius:var(--radius-sm);border:1px solid var(--color-border-default);background:var(--color-bg-surface-subtle);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);white-space:nowrap}.task-status.active{border-color:var(--color-primary-border);background:var(--color-primary-surface);color:var(--color-primary-active)}.overview-stage-conflict{padding:16px 18px;border:1px solid var(--color-warning);border-radius:var(--radius-md);background:var(--color-warning-light)}.overview-stage-conflict p,.overview-stage-conflict small{display:block;margin:5px 0 0;color:var(--color-text-secondary);overflow-wrap:anywhere}.overview-pending{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-warning-light)}.overview-pending h2{font-size:var(--font-size-lg)}.overview-pending p{margin-top:4px;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.overview-dashboard{--overview-card-border: var(--color-border-default);--overview-card-gap: var(--space-5);--overview-card-padding: var(--space-5);--overview-card-radius: var(--radius-lg);width:100%;max-width:var(--page-content-max-width);margin:0 auto;display:grid;gap:var(--overview-card-gap)}.overview-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(360px,1fr);gap:var(--overview-card-gap);align-items:start}.overview-primary-column,.overview-side-column{min-width:0;display:grid;gap:var(--overview-card-gap)}.demand-planner,.carry-forward-panel,.resource-panel{display:grid;gap:var(--space-3);padding:var(--overview-card-padding)}.demand-planner header h2,.carry-forward-panel header h2,.resource-panel header h2{margin:0;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.carry-forward-panel header small{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.demand-entry input,.resource-github-entry input,.proposal-revise-box textarea{min-width:0;padding:var(--input-padding-y) var(--input-padding-x);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);font:inherit;font-size:var(--font-size-sm)}.demand-entry input:focus,.resource-github-entry input:focus,.proposal-revise-box textarea:focus{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.proposal-revise-box textarea{resize:vertical}.demand-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.plan-proposal-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--color-border-default)}.plan-proposal-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--color-primary-surface);color:var(--color-primary)}.plan-proposal-body{min-width:0;display:grid;gap:4px}.plan-proposal-body strong{color:var(--color-text-primary);font-size:var(--font-size-sm)}.plan-proposal-body p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.plan-proposal-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.proposal-error{color:var(--color-danger, #b42318)!important}.proposal-change-list{margin:2px 0 0;padding-left:18px;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.proposal-change-list li{margin:0}.proposal-card-wrap{display:grid}.proposal-revise-box{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-default);background:var(--color-bg-surface-subtle)}.proposal-revise-actions{display:flex;gap:8px;flex-wrap:wrap}.proposal-revise-actions .primary-action,.proposal-revise-actions .secondary-action{margin:0}.carry-candidate-list{margin:0;padding:0;list-style:none;display:grid}.carry-candidate{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:var(--space-4) 0;border-bottom:1px solid var(--color-border-default)}.carry-candidate-list li:last-child .carry-candidate{border-bottom:0;padding-bottom:0}.carry-candidate-info{min-width:0;display:grid;gap:4px}.carry-candidate-info strong{color:var(--color-text-primary);font-size:var(--font-size-sm);overflow-wrap:anywhere}.carry-candidate-info p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-xs);overflow-wrap:anywhere}.carry-candidate-info small{color:var(--color-text-tertiary, var(--color-text-secondary));font-size:var(--font-size-xs)}.carry-candidate-actions{display:flex;gap:8px;flex:none}.resource-entry{display:grid;gap:6px;justify-items:start}.resource-entry-buttons{display:flex;gap:8px;flex-wrap:wrap}.resource-github-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;align-items:center}.resource-entry small{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.resource-snapshot-list{margin:0;padding:0;list-style:none;display:grid}.resource-snapshot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:var(--space-4) 0;border-bottom:1px solid var(--color-border-default)}.resource-snapshot-list li:last-child .resource-snapshot{border-bottom:0;padding-bottom:0}.resource-snapshot-info{min-width:0;display:grid;gap:4px}.resource-snapshot-info strong{color:var(--color-text-primary);font-size:var(--font-size-sm);overflow-wrap:anywhere}.resource-snapshot-info small{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.resource-truncate-note{color:var(--color-warning, #b54708)!important}.overview-reference-card{min-width:0;border:1px solid var(--overview-card-border);border-radius:var(--overview-card-radius);background:var(--color-bg-surface);box-shadow:none}.overview-task-card{display:grid;gap:var(--space-4);padding:var(--overview-card-padding)}.overview-task-heading{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.overview-task-heading h2{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-compact)}.overview-task-topline,.overview-task-main,.overview-route-card>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.overview-task-topline,.overview-route-card>header{min-height:var(--badge-height)}.overview-task-topline{align-items:flex-start}.overview-goal-reference{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.overview-goal-reference span,.overview-goal-reference i,.overview-goal-reference strong{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-style:normal;font-weight:var(--font-weight-medium)}.overview-goal-reference i{color:var(--color-border-strong)}.overview-goal-reference strong{color:var(--color-text-primary)}.overview-task-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-5)}.overview-task-main>div{min-width:0;display:grid;gap:var(--space-2)}.overview-task-main .section-label{margin:0}.overview-task-main h2{margin:0;overflow-wrap:anywhere;color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:-.02em;line-height:var(--line-height-compact)}.overview-task-main p{max-width:68ch;margin:0;color:var(--color-text-secondary);font-size:var(--font-size-md);line-height:var(--line-height-normal)}.overview-task-primary{grid-area:action;flex:0 0 auto;width:auto;min-height:var(--control-height-lg);font-weight:var(--font-weight-semibold)}.overview-task-objective{max-width:68ch;margin:0;color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}.overview-actions-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.overview-actions-block{display:grid;gap:var(--space-3);margin-top:var(--space-2)}.overview-actions-header strong{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.overview-actions-header span{color:var(--color-text-secondary);font-size:var(--font-size-xs);white-space:nowrap}.overview-action-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.overview-action-list li{min-width:0;max-width:100%;color:var(--color-text-subtle)}.overview-action-entry{min-height:36px;display:inline-grid;grid-template-columns:18px minmax(0,auto) auto;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--overview-card-border);border-radius:var(--radius-md);background:var(--color-bg-surface-subtle);color:inherit;font:inherit;text-align:left}button.overview-action-entry{cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.overview-action-title{min-width:0;color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-action-list small{color:currentColor;font-size:var(--font-size-xs);white-space:nowrap}.overview-action-list li.done{color:var(--color-success)}.overview-action-list li.skipped{color:var(--color-text-subtle)}.overview-action-list li.current{color:var(--color-primary)}.overview-action-list li.current button:hover{border-color:var(--color-primary-border);background:var(--color-primary-surface)}.overview-action-list li.done button:hover{border-color:var(--color-success);background:var(--color-success-light)}.overview-action-list li.skipped button:hover{border-color:var(--color-border-strong);background:var(--color-bg-surface-muted)}button.overview-action-entry:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.overview-action-marker{display:grid;place-items:center}.overview-task-footer{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"details";align-items:start;gap:var(--space-3);padding-top:var(--space-2)}.overview-task-details{grid-area:details;min-width:0}.overview-task-details summary{width:fit-content;min-height:var(--control-height-md);display:inline-flex;align-items:center;gap:var(--space-2);padding:0;border:0;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;list-style:none}.overview-task-details summary svg:last-child{margin-left:0}.overview-task-details summary::-webkit-details-marker{display:none}.overview-task-details summary svg:last-child{transition:transform .15s ease}.overview-task-details[open] summary svg:last-child{transform:rotate(90deg)}.overview-task-details>div{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);padding:var(--space-3) 0 var(--space-2)}.overview-task-details section{min-width:0;display:grid;gap:7px;padding:0}.overview-task-details section:last-child{grid-column:auto;border:0}.overview-task-details h3,.overview-task-details p,.overview-task-details ul{margin:0}.overview-task-details h3{font-size:var(--font-size-sm)}.overview-task-details p,.overview-task-details li{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.overview-task-details ul{padding-left:20px}.overview-route-card{padding:var(--overview-card-padding)}.overview-route-card>header h2{margin:0;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.overview-route-card>header>span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.overview-route-steps{display:grid;gap:0;margin-top:var(--space-5)}.overview-route-steps article{min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:var(--space-2);padding-bottom:var(--space-5)}.overview-route-marker{padding-top:1px;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.45}.overview-route-steps article.done>.overview-route-marker{color:var(--color-text-muted)}.overview-route-steps article.review>.overview-route-marker{color:var(--color-text-secondary)}.overview-route-steps article.current-unit>.overview-route-marker{color:var(--color-primary);font-weight:var(--font-weight-bold)}.overview-route-steps article>div{min-width:0;display:grid;gap:4px}.overview-route-steps strong{min-width:0;overflow-wrap:anywhere;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.45}.overview-route-steps article.pending:not(.current-unit) strong,.overview-route-steps article.pending:not(.current-unit) .overview-route-items li{color:var(--color-text-secondary)}.overview-route-steps article.current-unit strong,.overview-route-steps article.current-unit .overview-route-items li{color:var(--color-primary)}.overview-route-steps article.done strong,.overview-route-steps article.done .overview-route-items li{color:var(--color-text-muted);text-decoration:line-through;text-decoration-thickness:1px}.overview-empty-task{display:grid;gap:var(--space-2);padding:var(--overview-card-padding)}.overview-empty-task p{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.overview-primary-column>.overview-manage{overflow:hidden;border:1px solid var(--overview-card-border)}.overview-primary-column>.overview-manage summary{min-height:var(--control-height-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0 var(--overview-card-padding);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;list-style:none}.overview-manage summary::-webkit-details-marker{display:none}.overview-manage summary svg{flex:0 0 auto;transition:transform .15s ease}.overview-manage[open] summary svg{transform:rotate(90deg)}.overview-manage-content{display:grid;gap:var(--space-4);padding:var(--space-4) var(--overview-card-padding) var(--overview-card-padding);border:0}.overview-manage-content p{max-width:68ch;margin:0;color:var(--color-text-subtle);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.overview-manage-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.temporary-disposition{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.temporary-disposition select{min-width:min(100%,240px)}.goal-progress-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.goal-progress-chip.on_schedule{background:var(--color-success-light);color:var(--color-success)}.goal-progress-chip.schedule_unset{background:var(--color-bg-surface-muted);color:var(--color-text-secondary)}.goal-progress-chip.checkpoint_missed{background:var(--color-warning-light);color:var(--color-warning)}.goal-progress-chip.goal_due{background:var(--color-error-light);color:var(--color-error)}.goal-progress-chip.completed{background:var(--color-success-light);color:var(--color-success)}.overview-route-summary{display:grid;gap:8px;margin:0 0 var(--space-3)}.overview-route-direction{margin:0;color:var(--color-text-subtle);font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.overview-route-items{list-style:none;margin:var(--space-2) 0 0;padding:0;display:grid;gap:2px}.overview-route-items li{display:flex;align-items:flex-start;gap:6px;font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);line-height:var(--line-height-normal);overflow-wrap:anywhere;white-space:normal}.overview-route-items li.active,.overview-route-items li.current:not(.completed){color:var(--color-primary)}.overview-route-items li.completed{color:var(--color-text-muted);text-decoration:line-through;text-decoration-thickness:1px}.study-layout{width:100%;max-width:var(--page-content-max-width);margin:0 auto;display:grid;gap:24px;padding-bottom:112px}.study-main{display:grid;gap:24px}.study-page-header{display:flex;align-items:flex-end;justify-content:flex-end;gap:24px}.page-kicker,.focus-eyebrow{display:block;color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.04em}.study-header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.focus-state-pill{min-height:var(--badge-height);display:inline-flex;align-items:center;padding:var(--badge-padding);border-radius:var(--radius-sm);background:var(--color-bg-surface-muted);color:var(--color-text-subtle);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.focus-state-pill.active{color:var(--color-primary);background:var(--color-primary-surface)}.focus-state-pill.paused{color:var(--color-warning);background:var(--color-warning-light)}.focus-state-pill.completed{color:var(--color-success);background:var(--color-success-light)}.session-pause-button{min-height:var(--control-height-md);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--button-padding-sm);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer}.session-pause-button:hover{background:var(--color-bg-surface-subtle)}.study-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px}.study-current-step-panel,.study-progress-card{border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-soft)}.study-current-step-panel{min-height:480px;display:flex;flex-direction:column;gap:24px;padding:28px 30px}.current-step-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.current-step-title-block{display:grid;gap:7px;min-width:0}.current-step-title-block h2{margin:0;color:var(--color-text-primary);font-size:23px;font-weight:var(--font-weight-bold);line-height:1.35}.focus-work-list{display:grid}.focus-work-item{display:grid;gap:10px;padding:20px 0;border-bottom:1px solid var(--color-border-default)}.focus-work-item:first-child{padding-top:0}.focus-work-item:last-child{padding-bottom:0;border-bottom:0}.focus-work-item strong{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.focus-work-item .message-content{color:var(--color-text-secondary);font-size:var(--font-size-md);line-height:var(--line-height-normal)}.focus-work-item.primary{margin:0 -14px;padding:20px 14px;border:0;border-radius:var(--radius-md);background:var(--color-primary-surface-soft)}.focus-work-item.primary .message-content{color:var(--color-text-primary)}.action-note-input{width:min(320px,100%);min-height:var(--control-height-md);padding:0 var(--input-padding-x);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);font:inherit;font-size:var(--font-size-sm)}.action-note-input:focus{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.focus-help-row{border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface-subtle)}.focus-help-row summary{min-height:46px;display:flex;align-items:center;gap:10px;padding:0 14px;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;list-style:none}.focus-help-row summary::-webkit-details-marker{display:none}.focus-help-row summary svg:last-child{margin-left:auto;transition:transform .15s}.focus-help-row[open] summary svg:last-child{transform:rotate(90deg)}.focus-help-row>.message-content{padding:0 14px 14px 42px;color:var(--color-text-secondary)}.assistant-message-system{padding:16px;border:1px solid var(--color-primary-border);border-radius:var(--radius-md);background:var(--color-primary-surface-soft)}.assistant-message-system strong{display:block;margin-bottom:6px;font-size:var(--font-size-sm)}.study-side-column{display:grid}.study-progress-card{padding:20px}.study-progress-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--color-border-default)}.study-progress-card>header strong{color:var(--color-text-primary);font-size:var(--font-size-lg)}.study-progress-card>header span{color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:nowrap}.study-action-list{display:grid;margin:0;padding:0;list-style:none}.study-action-list li{min-height:58px;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--color-border-default)}.study-action-list li:last-child{border-bottom:0}.study-action-list li>span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--color-bg-surface-muted);color:var(--color-text-subtle);font-size:11px;font-weight:var(--font-weight-semibold)}.study-action-list li>div{min-width:0;display:grid;gap:2px}.study-action-list li strong{overflow:hidden;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap}.study-action-list li small{color:var(--color-text-subtle);font-size:11px}.study-action-list li.done>span{background:var(--color-success-light);color:var(--color-success)}.study-action-list li.active>span{background:var(--color-primary);color:var(--color-text-inverse)}.study-action-list li.active strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.study-action-list li.active small{color:var(--color-primary)}.study-action-list li.reviewing{margin:4px -8px;padding-right:8px;padding-left:8px;border-bottom-color:transparent;border-radius:var(--radius-md);background:var(--color-success-light)}.study-action-list li.reviewing strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.study-fixed-action-bar{position:sticky;bottom:16px;z-index:10;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:#fffffff5;box-shadow:0 -8px 24px #2a26240f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bar-left,.bar-right,.bar-right-group{display:flex;align-items:center;gap:10px}.bar-left{min-height:32px}.bar-right{min-width:0;flex:1;justify-content:flex-end;margin-left:auto}.bar-right-group{width:100%;justify-content:flex-end;min-width:0}.study-submit-inline{width:min(760px,100%);display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.study-submit-summary{width:100%;display:grid;gap:6px;padding:12px 14px;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface-subtle)}.study-submit-summary>strong{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.study-submit-summary ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.study-submit-summary li{display:grid;gap:2px;font-size:var(--font-size-sm)}.study-submit-summary li span{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.study-submit-summary li em{font-style:normal;color:var(--color-text-secondary);line-height:var(--line-height-normal)}.study-submit-summary li em.empty{color:var(--color-text-subtle)}.study-submit-summary li.skipped em{color:var(--color-warning)}.study-submit-inline textarea{flex:1;min-height:64px;max-height:140px;resize:vertical;padding:var(--input-padding-y) var(--input-padding-x);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);font:inherit}.study-teacher-drawer-trigger{display:none}@media (max-width: 1279px){.study-teacher-drawer-trigger{display:inline-flex}}.records-page{width:100%;max-width:var(--page-content-max-width);margin:0 auto;display:grid;gap:var(--space-5);padding-bottom:32px}.records-view-toolbar{min-height:42px;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);align-items:end;gap:var(--space-5)}.records-loading{display:inline-flex;align-items:center;gap:8px;color:var(--color-text-subtle);font-size:var(--font-size-sm)}.records-goal-filter{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.records-goal-filter select{width:100%;min-width:0;padding:9px 34px 9px 12px;border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-surface);color:var(--color-text-primary);font:inherit;font-size:var(--font-size-sm)}.records-history-readonly{color:var(--color-text-subtle);font-size:var(--font-size-sm)}.records-history-recovery{display:grid;gap:12px;padding:16px 20px;border:1px solid var(--color-primary-border);border-radius:var(--radius-lg);background:var(--color-primary-surface)}.records-history-recovery>div:first-child{display:grid;gap:4px}.records-history-recovery p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.records-history-recovery-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid var(--color-primary-border);color:var(--color-text-primary);font-size:var(--font-size-sm)}.records-history-recovery-row small{color:var(--color-text-subtle)}.records-pending{display:grid;gap:0;overflow:hidden;border:1px solid var(--color-primary-border);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-soft)}.records-pending>header{padding:20px 24px 14px}.records-pending h2{margin:5px 0 0;color:var(--color-text-primary);font-size:var(--font-size-lg)}.records-pending-row{min-height:78px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 24px;border-top:1px solid var(--color-border-default)}.records-pending-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--color-primary-surface);color:var(--color-primary)}.records-pending-row>div:not(.records-pending-buttons){display:grid;gap:4px}.records-pending-row strong{color:var(--color-text-primary);font-size:var(--font-size-sm)}.records-pending-row p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.records-pending-buttons{display:flex;gap:8px}.proposal-change-list{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:2px}.proposal-change-list li{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.records-pending-hint{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.records-tabs{width:fit-content;min-height:40px;display:flex;align-items:center;gap:3px;padding:3px;border-radius:11px 11px 0 0;background:var(--color-bg-surface-muted)}.records-tabs button{min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--color-text-subtle);font:inherit;font-size:var(--font-size-xs);cursor:pointer}.records-tabs button small{min-width:18px;height:18px;display:inline-grid;place-items:center;padding:0 5px;border-radius:var(--radius-pill);background:var(--color-bg-surface);color:var(--color-text-subtle);font-size:10px}.records-tabs button.active{background:var(--color-bg-surface);color:var(--color-text-primary);font-weight:var(--font-weight-medium);box-shadow:0 1px 2px #241f1b14}.records-tabs button.active small{background:var(--color-primary-surface);color:var(--color-primary)}.records-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);gap:var(--space-5);align-items:start}.records-view-toolbar+.records-dashboard-grid{margin-top:calc(-1 * var(--space-5))}.records-reference-card{min-width:0;border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:none}.record-index{min-width:0;margin-top:var(--space-5);overflow:hidden}.record-detail{border-top-left-radius:0}.record-index>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-3)}.record-index>header h2{margin:0;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.record-index>header span{color:var(--color-text-subtle);font-size:var(--font-size-sm)}.record-list{min-width:0;display:grid;gap:4px;padding:0 8px 8px}.record-row{width:100%;min-height:82px;display:grid;gap:6px;padding:14px 12px;border:0;border-radius:var(--radius-md);background:transparent;text-align:left;cursor:pointer}.record-row-heading{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.record-row-heading strong{min-width:0;overflow:hidden;color:var(--color-text-primary);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap}.record-row-heading span{flex:none;color:var(--color-text-subtle);font-size:var(--font-size-xs)}.record-row small,.record-row em{color:var(--color-text-subtle);font-size:var(--font-size-xs);font-style:normal}.record-row.active{background:var(--color-primary-surface-soft)}.record-row.active .record-row-heading span{color:var(--color-primary)}.record-row:hover{background:var(--color-bg-surface-subtle)}.record-row.active:hover{background:var(--color-primary-surface-soft)}.record-detail{min-width:0;display:grid;align-content:start;padding:var(--space-5)}.record-detail h2{max-width:760px;margin:0;color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-compact)}.record-detail>p{max-width:760px;margin:0;color:var(--color-text-secondary);line-height:var(--line-height-relaxed);white-space:pre-wrap}.record-detail-header>div{display:grid;gap:var(--space-2)}.record-detail-header .section-label{margin:0}.record-detail-header p{margin:0;color:var(--color-text-subtle);font-size:var(--font-size-xs)}.record-overview{display:flex;gap:6px 20px;flex-wrap:wrap;margin-top:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.record-overview span{display:inline-flex;align-items:baseline;gap:5px}.record-overview strong{color:var(--color-text-primary);font-size:inherit}.record-detail-section{display:grid;gap:12px;margin-top:28px}.record-detail-section+.record-detail-section{margin-top:28px}.record-detail-section h3,.record-detail-section p{margin:0}.record-detail-section h3{color:var(--color-text-primary);font-size:var(--font-size-md)}.record-detail-section>p,.record-section-empty{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);white-space:pre-wrap}.record-section-empty{color:var(--color-text-subtle)}.record-action-list{display:grid;gap:10px}.record-action{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:start;gap:12px}.record-action>span{padding-top:2px;color:var(--color-text-subtle);font-size:var(--font-size-xs)}.record-action.done>span{color:var(--color-success)}.record-action.skipped>span{color:var(--color-warning)}.record-action>div{display:grid;gap:3px}.record-action strong{color:var(--color-text-primary);font-size:var(--font-size-sm)}.record-action p{color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.record-evidence,.record-question{display:grid;gap:8px;padding:14px 16px;border-radius:var(--radius-md);background:var(--color-bg-surface-subtle)}.record-evidence>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.record-evidence strong,.record-question strong{color:var(--color-text-primary);font-size:var(--font-size-sm)}.record-evidence time{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.record-evidence p,.record-question p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);white-space:pre-wrap}.record-evaluation-result{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px}.record-evaluation-result>span{color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.record-evaluation-result p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);white-space:pre-wrap}.record-detail-section>small{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.record-completion-note{margin-top:28px!important;padding:12px 14px;border-radius:var(--radius-md);background:var(--color-bg-surface-subtle);color:var(--color-text-secondary)!important;font-size:var(--font-size-sm);line-height:var(--line-height-normal)!important}.records-empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:32px;color:var(--color-text-subtle);text-align:center}.records-empty strong{color:var(--color-text-primary)}.records-empty span{max-width:420px;font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.review-result{display:grid;gap:14px;margin-top:28px;padding-top:24px;border-top:1px solid var(--color-border-default)}.review-result h3,.review-result p,.review-result ul{margin:0}.review-result ul{padding-left:20px}.proposal-note{display:flex;align-items:center;gap:8px;padding:12px;border-radius:var(--radius-md);background:var(--color-info-light);color:var(--color-info);font-size:var(--font-size-sm)}.record-proposal{display:grid;gap:5px;padding:16px;border:1px dashed var(--color-primary-border);border-radius:var(--radius-md)}.record-proposal span,.record-proposal small{color:var(--color-text-secondary)}.knowledge-records{min-height:420px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:16px;padding:24px}.knowledge-records article{display:grid;gap:8px;padding:20px;border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-surface-subtle)}.knowledge-records h3,.knowledge-records p{margin:0}.knowledge-records p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.knowledge-records article>span,.knowledge-records small{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.version-records{min-height:420px;display:grid;align-content:start;padding:8px 24px 24px}.version-records article{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:18px 0;border-bottom:1px solid var(--color-border-default)}.version-records article>span{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.version-records h3,.version-records p{margin:0}.version-records p,.version-records small{color:var(--color-text-subtle);font-size:var(--font-size-sm)}.records-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.records-review-action{justify-self:start}@media (max-width: 900px){.records-view-toolbar{display:flex;align-items:stretch;flex-direction:column-reverse}.records-goal-filter{justify-content:flex-start}.records-goal-filter select{width:100%}.records-dashboard-grid{grid-template-columns:1fr}.records-view-toolbar+.records-dashboard-grid{margin-top:0}.record-index{grid-row:1}}.settings-layout{width:100%;max-width:var(--page-content-max-width);margin:0 auto;display:grid;gap:24px;padding-bottom:96px}.settings-layout .page-title-block{display:grid;gap:0}.settings-layout .page-title-block p{max-width:680px;margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px}.settings-card{min-width:0;display:grid;gap:16px;padding:24px;border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-soft)}.settings-ai{order:1;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-preferences{order:2}.settings-data{order:3}.settings-context{order:4;grid-column:1 / -1}.settings-diagnostics{order:5;grid-column:1 / -1}.settings-card-title{display:flex;align-items:center;gap:12px}.settings-card-title>div{min-width:0;display:grid;gap:3px}.settings-card-title h3{margin:0;color:var(--color-text-primary);font-size:var(--font-size-lg)}.settings-card-title p{margin:0;color:var(--color-text-subtle);font-size:var(--font-size-xs);line-height:1.45}.settings-card-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:12px;background:var(--color-primary-surface);color:var(--color-primary)}.settings-ai .settings-card-title,.settings-ai>.settings-row,.settings-ai>.settings-connection-detail,.settings-ai>.settings-field:first-of-type{grid-column:1 / -1}.settings-ai>.settings-row{min-height:var(--control-height-lg);padding:0 var(--space-1)}.settings-field{display:grid;align-content:start;gap:8px;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.settings-field input,.settings-card select{width:100%;min-height:var(--control-height-md);padding:0 var(--input-padding-x);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);font:inherit;transition:border-color .15s,box-shadow .15s}.settings-field input:focus,.settings-card select:focus{border-color:var(--color-primary);outline:0;box-shadow:0 0 0 3px var(--color-primary-surface)}.settings-field input::placeholder{color:var(--color-text-subtle)}.settings-row{min-height:var(--control-height-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--color-border-default);color:var(--color-text-primary);font-size:var(--font-size-sm)}.settings-row:last-child{border-bottom:0}.settings-row.small{min-height:48px}.settings-row.small>span:first-child{min-width:0;overflow-wrap:anywhere}.settings-row.small>span:last-child{display:flex;align-items:center;gap:8px;flex:0 0 auto}.settings-hint,.settings-card>.muted{margin:0;color:var(--color-text-subtle);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.settings-context>.settings-hint{padding:12px 14px;border-radius:var(--radius-md);background:var(--color-primary-surface-soft);color:var(--color-text-secondary)}.status-badge{min-height:var(--badge-height);display:inline-flex;align-items:center;padding:var(--badge-padding);border-radius:var(--radius-sm);background:var(--color-warning-light);color:var(--color-warning);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.status-badge.success{background:var(--color-success-light);color:var(--color-success)}.status-badge.failed{background:var(--color-error-light);color:var(--color-error)}.settings-connection-detail{margin:-8px 4px 0;color:var(--color-text-subtle);font-size:var(--font-size-xs);line-height:1.5}.settings-connection-detail.failed{color:var(--color-error)}.token-cost-table{display:grid;overflow:hidden;border:1px solid var(--color-border-default);border-radius:var(--radius-md)}.token-cost-table>.settings-hint{padding:12px 14px;background:var(--color-bg-surface-subtle)}.token-cost-table .settings-row{padding:0 14px}.settings-data .settings-hint{min-height:64px}.settings-data .secondary-action{margin-top:auto}.settings-save-bar{position:sticky;bottom:-32px;z-index:10;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:#fffffff5;box-shadow:0 -8px 24px #2a26240f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.save-status{display:inline-flex;align-items:center;gap:8px;color:var(--color-text-subtle);font-size:var(--font-size-sm)}.save-status.failed{color:var(--color-error)}.save-status.saved{color:var(--color-success)}.app-frame{height:100dvh;display:grid;grid-template-rows:var(--titlebar-height) minmax(0,1fr);overflow:hidden;background:var(--color-bg-shell)}.app-titlebar{width:env(titlebar-area-width,calc(100% - 144px));min-width:0;height:var(--titlebar-height);display:grid;grid-template-columns:var(--activity-bar-width) minmax(0,1fr);align-items:center;background:var(--color-bg-shell);color:var(--color-text-primary);-webkit-app-region:drag;-webkit-user-select:none;user-select:none}.app-titlebar-section{min-width:0;overflow:hidden;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);text-align:center;text-overflow:ellipsis;white-space:nowrap}.app-titlebar-title{min-width:0;margin:0;padding:0 var(--space-3);overflow:hidden;color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:1;text-overflow:ellipsis;white-space:nowrap}.shell-v2{display:flex;min-height:0;overflow:hidden;background:var(--color-bg-shell)}.activity-bar{width:var(--activity-bar-width);background:var(--color-bg-shell);display:flex;flex-direction:column;align-items:center;padding:var(--space-2) 0 var(--space-3);flex-shrink:0}.ab-icon{width:var(--activity-hit-size);height:var(--activity-hit-size);border-radius:var(--activity-item-radius);display:grid;place-items:center;cursor:pointer;margin-bottom:var(--space-1);font-size:var(--font-size-md);color:var(--color-text-secondary);border:0;background:transparent;transition:color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.ab-icon:active{transform:translateY(1px)}.ab-icon.active{background:var(--color-primary-surface);color:var(--color-primary)}@media (hover: hover) and (pointer: fine){.ab-icon:hover:not(.active){background:var(--color-bg-surface-subtle);color:var(--color-text-primary)}}.ab-spacer{flex:1}.ab-status{width:7px;height:7px;border-radius:50%;background:var(--color-success);box-shadow:0 0 5px #5b8a5b80;margin-bottom:4px}.ab-session-status{position:relative;width:var(--activity-hit-size);height:var(--activity-hit-size);display:grid;place-items:center;border:1px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-primary);background:var(--color-primary-surface);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.ab-session-status:active{transform:translateY(1px)}.ab-session-dot{position:absolute;right:4px;bottom:4px;width:7px;height:7px;border:2px solid var(--color-bg-surface);border-radius:50%;background:var(--color-success)}.roadmap{width:220px;background:var(--color-bg-surface);border-right:1px solid var(--color-border-default);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;transition:width .25s ease;position:relative}.roadmap-tree{flex:1;overflow-y:auto;padding:8px;min-width:220px}.tree-stage-hdr{display:flex;align-items:center;gap:6px;padding:5px 8px;font-size:11px;font-weight:600;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.tree-stage-hdr .chevron{font-size:9px;transition:transform .15s}.tree-stage-hdr.open .chevron{transform:rotate(90deg)}.tree-node{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;cursor:default;font-size:13px;color:var(--color-text-muted);position:relative}.tree-node .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.tree-node .dot.done{background:var(--color-success)}.tree-node .dot.active{background:var(--color-primary)}.tree-node .dot.pending{background:var(--color-border-strong)}.tree-node .label{flex:1}.tree-children{padding-left:16px}.canvas{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg-shell);min-width:0}.canvas-body{flex:1;overflow-y:auto;padding:var(--page-padding-block) var(--page-padding-inline);display:flex;flex-direction:column;gap:24px}.teacher{width:300px;background:var(--color-bg-surface);border-left:1px solid var(--color-border-default);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;transition:width .25s ease}.teacher-tabs{display:flex;border-bottom:1px solid var(--color-border-default);flex-shrink:0;position:relative}.teacher-tab{flex:1;padding:10px 8px;border:none;background:transparent;color:var(--color-text-subtle);font-size:12px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;font-family:inherit}.teacher-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.teacher-tab-collapse{position:absolute;left:var(--space-2);top:10px;z-index:5;width:var(--control-height-xs);height:var(--control-height-xs);border-radius:var(--radius-sm);border:none;background:var(--color-bg-surface-muted);cursor:pointer;display:grid;place-items:center;color:var(--color-text-subtle);font-size:var(--font-size-xs)}.teacher-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.teacher-input{padding:12px 16px;border-top:1px solid var(--color-border-default);flex-shrink:0}.teacher-input-box{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--color-border-strong);border-radius:18px;background:var(--color-bg-page)}.teacher-input-box input{flex:1;border:none;background:transparent;outline:none;font-size:13px;font-family:inherit;color:var(--color-text-primary)}.teaching-feedback-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-surface)}.teaching-feedback-card p{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.teaching-feedback-card ul{margin:0;padding-left:18px;font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.teaching-feedback-card-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-subtle)}.teaching-feedback-apply{align-self:flex-start}.panel-expand-btn{position:fixed;z-index:100;width:var(--control-height-xs);height:var(--control-height-lg);border-radius:0 var(--radius-sm) var(--radius-sm) 0;border:1px solid var(--color-border-default);background:var(--color-bg-surface);cursor:pointer;display:none;place-items:center;font-size:var(--font-size-xs);color:var(--color-text-muted)}.panel-expand-btn.right{right:0;border-radius:6px 0 0 6px}.panel-expand-btn.visible{display:grid}@media (max-width: 1279px){.teacher{display:none}}@media (prefers-reduced-motion: reduce){.ab-icon,.ab-session-status{transition-duration:0ms}}.drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:none;justify-content:flex-end;background:#2a262447}.drawer-layer.is-open{display:flex}.drawer-panel{width:min(360px,calc(100vw - 48px));height:100%;display:flex;flex-direction:column;background:var(--color-bg-surface);box-shadow:-12px 0 36px #2a262429}.drawer-panel>header{min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4);border-bottom:1px solid var(--color-border)}.drawer-content{flex:1;min-height:0;overflow:hidden}.drawer-content .roadmap,.drawer-content .teacher{display:flex;width:100%;height:100%;border:0}.drawer-content .teacher-tab-collapse{display:none}.teacher-context-line{margin:0;overflow:hidden;color:var(--color-text-subtle);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.knowledge-page{display:flex;flex-direction:column;gap:var(--space-4);max-width:var(--page-content-max-width);margin:0 auto;padding:var(--page-padding-block) var(--page-padding-inline);min-height:0;width:100%;box-sizing:border-box}.knowledge-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.knowledge-filters{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.knowledge-filter-control{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-height-sm);padding:0 var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-secondary)}.knowledge-filter-control select,.knowledge-filter-control input{border:none;outline:none;background:transparent;color:var(--color-text-primary);font:inherit;font-size:var(--font-size-sm);min-width:0}.knowledge-filter-control:focus-within{border-color:var(--color-primary);outline:2px solid var(--color-primary-border);outline-offset:1px}.knowledge-filter-icon{display:inline-flex;color:var(--color-text-subtle)}.knowledge-search input{width:220px}.knowledge-filter-toggle{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.knowledge-notice{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:var(--line-height-compact)}.knowledge-notice svg{flex:none;margin-top:1px}.knowledge-notice-muted{background:var(--color-bg-surface-muted);color:var(--color-text-secondary)}.knowledge-notice-warn{background:var(--color-warning-light);color:var(--color-text-primary)}.knowledge-notice-ok{background:var(--color-success-light);color:var(--color-text-primary)}.knowledge-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-4);align-items:start;min-height:0}@media (max-width: 1100px){.knowledge-grid{grid-template-columns:1fr}}.knowledge-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:var(--space-5);min-width:0}.knowledge-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.knowledge-card-header h2{display:inline-flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.knowledge-card-header>span{font-size:var(--font-size-sm);color:var(--color-text-subtle)}.knowledge-cluster-list,.knowledge-directory-list{display:flex;flex-direction:column;gap:var(--space-3);max-height:70vh;overflow:auto;padding-right:var(--space-1)}.knowledge-cluster-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface-subtle);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.knowledge-cluster-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;background:none;border:none;padding:0;cursor:pointer;text-align:left;color:var(--color-text-primary)}.knowledge-cluster-title{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md)}.knowledge-cluster-meta{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.knowledge-cluster-meta small{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.knowledge-cluster-summary{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-compact)}.knowledge-cluster-detail{border-top:1px dashed var(--color-border-strong);padding-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.knowledge-reason strong,.knowledge-suggestions strong{display:block;margin-bottom:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.knowledge-reason p,.knowledge-suggestions p{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-compact);color:var(--color-text-primary)}.knowledge-related-clusters{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.knowledge-related-clusters li{display:flex;flex-direction:column;gap:2px}.knowledge-related-clusters li>span{display:flex;align-items:baseline;gap:4px;font-size:var(--font-size-sm)}.knowledge-related-clusters small{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.knowledge-related-cluster-title{font-weight:var(--font-weight-semibold)}.knowledge-members{display:flex;flex-direction:column;gap:var(--space-2)}.knowledge-member{display:flex;flex-direction:column;gap:var(--space-1)}.knowledge-member-toggle{display:inline-flex;align-items:center;gap:var(--space-2);background:none;border:none;padding:var(--space-1) 0;cursor:pointer;text-align:left;color:var(--color-text-primary);font-size:var(--font-size-sm);width:100%}.knowledge-member-toggle small{color:var(--color-text-subtle)}.knowledge-member-evidence{margin-left:var(--space-4);padding:var(--space-2) var(--space-3);border-left:2px solid var(--color-border-strong);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.knowledge-member-evidence p{margin:var(--space-1) 0;line-height:var(--line-height-compact)}.knowledge-member-evidence ul{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-2) 0 0;padding:0;list-style:none}.knowledge-member-evidence li{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface)}.knowledge-member-evidence li p{margin:0}.knowledge-member-evidence li small{color:var(--color-text-subtle)}.knowledge-member-detail{color:var(--color-text-secondary)}.knowledge-badge{display:inline-flex;align-items:center;height:var(--badge-height);padding:var(--badge-padding);border-radius:var(--radius-pill);background:var(--color-bg-surface-muted);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-xs);white-space:nowrap}.knowledge-badge-correction{background:var(--color-primary-surface);border-color:var(--color-primary-border);color:var(--color-primary)}.knowledge-badge-clustered{background:var(--color-success-light);border-color:transparent;color:var(--color-success)}.knowledge-directory-entry{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface-subtle);padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.knowledge-directory-main{display:flex;flex-direction:column;gap:2px;min-width:0}.knowledge-directory-main small{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.knowledge-directory-evidence{margin-left:var(--space-3)}.knowledge-loading-mini{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.knowledge-member-sources{margin-left:auto;color:var(--color-text-subtle);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular)}.knowledge-related-sources{margin-top:var(--space-3);border-top:1px dashed var(--color-border-strong);padding-top:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1)}.knowledge-related-sources>strong{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.knowledge-related-sources ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-1)}.knowledge-related-sources li{display:flex;flex-direction:column;gap:2px;font-size:var(--font-size-sm)}.knowledge-related-sources li small{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.knowledge-plan-label{color:var(--color-text-subtle);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-top:var(--space-1)}.knowledge-home{display:flex;flex-direction:column;gap:var(--space-4)}.knowledge-home-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.knowledge-home-header h1{margin:0;font-size:var(--font-size-lg)}.knowledge-home-overview{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.knowledge-home-actions{flex-shrink:0}.knowledge-empty-block{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-lg, 10px);color:var(--color-text-secondary)}.knowledge-empty-block span{color:var(--color-text-subtle);font-size:var(--font-size-sm)}.knowledge-domain{display:flex;flex-direction:column;gap:var(--space-2)}.knowledge-domain-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-1);border-bottom:1px solid var(--color-border)}.knowledge-domain-head h2{margin:0;font-size:var(--font-size-md, 15px);color:var(--color-text-primary)}.knowledge-domain-head small{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.knowledge-topic-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-3)}.knowledge-topic-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg, 10px);background:var(--color-bg-surface-subtle, transparent)}.knowledge-topic-open{display:flex;flex-direction:column;gap:2px;padding:0;text-align:left;background:none;border:none;cursor:pointer}.knowledge-topic-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary-active, var(--color-text-primary));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-topic-open:hover .knowledge-topic-title{text-decoration:underline;text-underline-offset:3px}.knowledge-topic-meta{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.knowledge-takeaways{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px}.knowledge-takeaway{display:flex;gap:6px;font-size:var(--font-size-xs);line-height:var(--line-height-compact);color:var(--color-text-secondary)}.knowledge-takeaway i{flex-shrink:0;font-style:normal;font-weight:var(--font-weight-bold)}.knowledge-takeaway-understood i{color:#16a34a}.knowledge-takeaway-corrected i{color:#7c3aed}.knowledge-takeaway-gap i{color:#d97706}.knowledge-takeaway-understood span{color:var(--color-text-primary)}.knowledge-topic-fallback{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-compact)}.knowledge-home-footer{display:flex;justify-content:center}.knowledge-topic-detail{display:flex;flex-direction:column;gap:var(--space-3);max-width:860px}.knowledge-topic-detail-head{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.knowledge-topic-detail-header{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg, 10px);background:var(--color-bg-surface-subtle, transparent)}.knowledge-topic-detail-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.knowledge-topic-detail-meta small{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.knowledge-topic-detail-header h1{margin:0;font-size:var(--font-size-lg, 18px);color:var(--color-text-primary)}.knowledge-topic-detail-summary{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-compact)}.knowledge-topic-detail-block{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg, 10px);background:var(--color-bg-surface-subtle, transparent)}.knowledge-topic-detail-block h2{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.knowledge-reason-text{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-compact)}.knowledge-badge-domain{background:var(--color-info-light);border-color:#4a7c8a3d;color:var(--color-info)}.knowledge-topic-derived-note{font-size:var(--font-size-xs);color:var(--color-text-subtle)}.knowledge-home-progress{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg, 10px);background:var(--color-bg-surface-subtle, transparent)}.knowledge-home-progress small{color:var(--color-text-subtle);font-size:var(--font-size-xs);margin-left:auto}.knowledge-home-progress-item{display:inline-flex;align-items:center;gap:5px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.knowledge-home-progress-item i{font-style:normal;font-weight:var(--font-weight-bold)}.knowledge-home-progress-understood i{color:#16a34a}.knowledge-home-progress-corrected i{color:#7c3aed}.knowledge-home-progress-gap i{color:#d97706}.knowledge-topic-status{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-1);padding-top:var(--space-2);border-top:1px dashed var(--color-border-strong)}.knowledge-status-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.knowledge-status-chip i{font-style:normal;font-weight:var(--font-weight-bold)}.knowledge-status-chip-understood{background:#e8f0e6;color:#4a7a4a}.knowledge-status-chip-corrected{background:#efe9f7;color:#6d4a9e}.knowledge-status-chip-gap{background:#fcf3e3;color:#b07a1e}.knowledge-mastery-bar{flex:1 1 160px;min-width:160px;height:6px;border-radius:var(--radius-pill);background:var(--color-bg-surface-muted);overflow:hidden}.knowledge-mastery-fill{display:block;height:100%;border-radius:var(--radius-pill);background:var(--color-success, #5B8A5B);transition:width .3s ease}.knowledge-mastery-label{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.knowledge-topic-suggestions{margin:0;padding:0;padding-left:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-compact)}.knowledge-topic-untouched{flex-direction:row;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.knowledge-sources-toggle{display:inline-flex;align-items:center;gap:var(--space-2);padding:0;background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:left}.knowledge-sources-toggle:hover{color:var(--color-primary)}.knowledge-sources-body{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-2);border-top:1px dashed var(--color-border-strong)}.knowledge-source-note{display:flex;flex-direction:column;gap:4px}.knowledge-source-note strong{font-size:var(--font-size-xs);color:var(--color-text-subtle);font-weight:var(--font-weight-semibold)}.knowledge-source-note p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-compact)}.knowledge-framework-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-3)}.knowledge-framework-card{border:1px solid var(--color-border);border-radius:var(--radius-lg, 10px);background:var(--color-bg-surface-subtle, transparent);transition:border-color .15s ease,box-shadow .15s ease}.knowledge-framework-card:hover{border-color:var(--color-primary-border);box-shadow:0 2px 8px #0000000f}.knowledge-framework-open{display:flex;flex-direction:column;gap:var(--space-2);width:100%;padding:var(--space-3);background:none;border:none;cursor:pointer;text-align:left;color:var(--color-text-primary)}.knowledge-framework-title{font-size:var(--font-size-md, 15px);font-weight:var(--font-weight-semibold);color:var(--color-primary-active, var(--color-text-primary))}.knowledge-framework-open:hover .knowledge-framework-title{text-decoration:underline;text-underline-offset:3px}.knowledge-framework-meta{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.knowledge-framework-mastery{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.knowledge-framework-mastery small{color:var(--color-text-subtle);font-size:var(--font-size-xs);margin-left:4px}.knowledge-mastery-cell{display:inline-block;width:14px;height:8px;border-radius:2px;background:var(--color-bg-surface-muted);border:1px solid var(--color-border)}.knowledge-mastery-cell.on{background:var(--color-success, #5B8A5B);border-color:transparent}.knowledge-framework-modules{display:flex;gap:6px;flex-wrap:wrap}.knowledge-framework-module{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-pill);border:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.knowledge-module-ok .knowledge-framework-module,.knowledge-framework-module.knowledge-module-ok{background:#e8f0e6;border-color:transparent;color:#4a7a4a}.knowledge-module-issue .knowledge-framework-module,.knowledge-framework-module.knowledge-module-issue{background:#fcf3e3;border-color:transparent;color:#b07a1e}.knowledge-framework-module.knowledge-module-empty{background:var(--color-bg-surface-muted);color:var(--color-text-subtle)}.knowledge-framework-stats{display:flex;gap:var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.knowledge-framework-stats i{font-style:normal;font-weight:var(--font-weight-bold)}.knowledge-home-progress-untouched i{color:var(--color-text-subtle)}.knowledge-framework-links{display:flex;flex-direction:column;gap:2px;font-size:var(--font-size-xs);color:var(--color-info)}.knowledge-framework-view{display:flex;flex-direction:column;gap:var(--space-3);max-width:860px}.knowledge-framework-view-meta{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.knowledge-framework-modules-list{display:flex;flex-direction:column;gap:var(--space-3)}.knowledge-framework-module-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg, 10px);background:var(--color-bg-surface-subtle, transparent)}.knowledge-framework-module-card.knowledge-module-issue{border-color:#c4913c59}.knowledge-framework-module-open{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);padding:0;background:none;border:none;cursor:pointer;text-align:left}.knowledge-framework-module-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary-active, var(--color-text-primary))}.knowledge-framework-module-open:hover .knowledge-framework-module-title{text-decoration:underline;text-underline-offset:3px}.knowledge-framework-module-open small{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.knowledge-node-wall{display:flex;flex-wrap:wrap;gap:6px}.knowledge-node{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-pill);border:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.knowledge-node i{font-style:normal;font-weight:var(--font-weight-bold)}.knowledge-node small{color:var(--color-text-subtle);font-weight:400}.knowledge-node-mastered{background:#e8f0e6;border-color:transparent;color:#4a7a4a}.knowledge-node-mastered i{color:#16a34a}.knowledge-node-issue{background:#fcf3e3;border-color:transparent;color:#b07a1e}.knowledge-node-issue i{color:#d97706}.knowledge-node-untouched{background:var(--color-bg-surface-muted);border-style:dashed;color:var(--color-text-secondary)}.knowledge-node-untouched i{color:var(--color-text-subtle)}.knowledge-node-empty{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.knowledge-framework-links-panel{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg, 10px)}.knowledge-framework-links-panel h2{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.knowledge-framework-links-panel ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.knowledge-framework-links-panel li{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--font-size-sm)}.knowledge-framework-links-panel li small{color:var(--color-text-secondary)}.knowledge-page{width:100%;max-width:var(--page-content-max-width);min-height:100%;margin:0 auto;padding:var(--page-padding-block) var(--page-padding-inline) var(--space-8);overflow:auto;color:var(--color-text-primary);background:transparent;font-family:var(--font-family-base)}.knowledge-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);padding-bottom:var(--space-5)}.knowledge-header h1{margin:0 0 var(--space-2);color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-compact);letter-spacing:-.02em}.knowledge-header p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.knowledge-tabs{display:inline-flex;flex:none;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface-muted)}.knowledge-tabs button{min-height:var(--control-height-sm);padding:var(--button-padding-sm);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out)}.knowledge-tabs button:hover{color:var(--color-text-primary)}.knowledge-tabs button.active{background:var(--color-bg-surface);color:var(--color-primary-active);box-shadow:var(--shadow-soft)}.knowledge-tabs button:focus-visible,.knowledge-node-card:focus-visible,.knowledge-panel-close:focus-visible,.knowledge-all input:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.knowledge-sync-note,.knowledge-sync-error,.knowledge-info{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-info);border-radius:var(--radius-md);background:var(--color-info-light);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.knowledge-sync-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-color:var(--color-error);background:var(--color-error-light)}.knowledge-sync-error button{min-height:var(--control-height-xs);padding:var(--button-padding-xs);border:1px solid var(--color-primary-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-primary-active);font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer}.knowledge-home{display:grid;gap:var(--space-5)}.knowledge-metrics{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:var(--space-4)}.knowledge-metric{display:grid;gap:var(--space-2);min-width:0;padding:var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-surface)}.knowledge-metric strong{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.knowledge-metric span{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.knowledge-node-section{display:grid;gap:var(--space-3)}.knowledge-node-section h2{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.knowledge-node-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3)}.knowledge-node-card{min-height:138px;padding:var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-surface);color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out)}.knowledge-node-card:hover{border-color:var(--color-primary-border);background:var(--color-primary-surface-soft)}.knowledge-node-card strong,.knowledge-node-card span{display:block}.knowledge-node-card strong{margin:var(--space-3) 0 var(--space-2);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.knowledge-node-card>span:not(.knowledge-node-type){color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-compact)}.knowledge-node-card small{display:block;margin-top:var(--space-3);color:var(--color-text-subtle);font-size:var(--font-size-xs)}.knowledge-node-type{color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.knowledge-node-card.state-needs_attention{border-color:var(--color-warning)}.knowledge-node-card.state-corrected{border-color:var(--color-info)}.knowledge-node-card.state-understood{border-color:var(--color-success)}.knowledge-graph-layout{display:grid;grid-template-columns:minmax(0,1fr);min-height:620px;overflow:hidden;border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-surface)}.knowledge-graph-layout.has-selection{grid-template-columns:minmax(0,1fr) minmax(300px,36%)}.knowledge-graph-shell{position:relative;min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--color-border-default)}.knowledge-graph-toolbar{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-default);background:var(--color-bg-surface)}.knowledge-graph-toolbar>div{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.knowledge-graph-toolbar strong{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.knowledge-graph-toolbar span{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.knowledge-graph-toolbar .knowledge-graph-bridge-stat{padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--color-primary-surface-soft);color:var(--color-primary-active);font-weight:var(--font-weight-medium)}.knowledge-graph-toolbar button{min-height:var(--control-height-xs);flex:none;padding:var(--button-padding-xs);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;cursor:pointer}.knowledge-graph-toolbar button:hover:not(:disabled){border-color:var(--color-primary-border);color:var(--color-primary-active)}.knowledge-graph-toolbar button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.knowledge-graph-toolbar button:disabled{opacity:var(--disabled-opacity);cursor:default}.knowledge-graph-canvas{width:100%;flex:1;min-height:560px;outline:none;background-color:var(--color-bg-surface);background-image:radial-gradient(var(--color-border-strong) .7px,transparent .7px);background-size:18px 18px}.knowledge-graph-canvas:focus-visible{box-shadow:inset 0 0 0 2px var(--color-primary)}.knowledge-graph-help{position:absolute;left:var(--space-3);bottom:var(--space-3);max-width:calc(100% - var(--space-6));margin:0;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--font-size-xs)}.knowledge-graph-empty{display:grid;min-height:480px;place-items:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.knowledge-concept-panel{position:relative;max-height:620px;overflow:auto;padding:var(--space-5)}.knowledge-concept-panel.empty{display:grid;place-items:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center}.knowledge-panel-close{position:absolute;top:var(--space-3);right:var(--space-3);width:var(--control-height-xs);height:var(--control-height-xs);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-xl);cursor:pointer}.knowledge-panel-close:hover{background:var(--color-bg-surface-muted);color:var(--color-text-primary)}.knowledge-concept-panel h2{margin:var(--space-3) var(--space-6) var(--space-2) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-compact)}.knowledge-concept-panel>p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.knowledge-neighbors{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-surface-subtle)}.knowledge-concept-items{display:grid;gap:var(--space-3);margin-top:var(--space-5)}.knowledge-concept-items article{padding:var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface-subtle)}.knowledge-concept-items h3{margin:0 0 var(--space-2);font-size:var(--font-size-md)}.knowledge-concept-items article>p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-compact)}.knowledge-concept-items dl{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);font-size:var(--font-size-xs)}.knowledge-concept-items dl div{display:flex;gap:var(--space-2)}.knowledge-concept-items dt{color:var(--color-text-subtle)}.knowledge-concept-items dd{margin:0;color:var(--color-text-primary)}.knowledge-evidence-list{padding-left:var(--space-5);color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.knowledge-evidence-disclosure{margin-top:var(--space-3);border-top:1px solid var(--color-border-default)}.knowledge-evidence-disclosure summary{min-height:var(--control-height-sm);display:flex;align-items:center;color:var(--color-primary-active);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer}.knowledge-evidence-disclosure .knowledge-evidence-list{margin:0 0 var(--space-1)}.knowledge-all{display:grid;gap:var(--space-5)}.knowledge-all label{display:grid;gap:var(--space-2);max-width:520px;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.knowledge-all input{min-height:var(--control-height-md);padding:0 var(--input-padding-x);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);font:inherit;font-size:var(--font-size-sm)}.knowledge-ledger{display:grid;overflow:hidden;border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-surface)}.knowledge-ledger article{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-default)}.knowledge-ledger article:last-child{border-bottom:0}.knowledge-ledger article p{margin:var(--space-2) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.knowledge-ledger article small{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.knowledge-empty,.knowledge-error{margin:0;padding:var(--space-6);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center}.knowledge-error{color:var(--color-error)}@media (max-width: 960px){.knowledge-header{align-items:stretch;flex-direction:column}.knowledge-tabs{align-self:flex-start}.knowledge-metrics{grid-template-columns:1fr 1fr}.knowledge-graph-layout,.knowledge-graph-layout.has-selection{grid-template-columns:1fr}.knowledge-graph-shell{border-right:0;border-bottom:1px solid var(--color-border-default)}.knowledge-graph-canvas{min-height:440px}.knowledge-concept-panel{max-height:none}}@media (max-width: 600px){.knowledge-page{padding-inline:var(--space-4)}.knowledge-tabs{width:100%}.knowledge-tabs button{flex:1;padding-inline:var(--space-2)}.knowledge-metrics{grid-template-columns:1fr 1fr}.knowledge-node-grid{grid-template-columns:1fr}}.login-page{min-height:calc(100vh - var(--titlebar-height, 40px));display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:radial-gradient(1200px 500px at 15% -10%,oklch(94% .04 40 / .35),transparent 60%),radial-gradient(1000px 460px at 110% 110%,oklch(93% .03 90 / .4),transparent 55%),var(--color-bg-page)}.login-card{width:min(380px,100%);display:grid;gap:var(--space-5);padding:var(--space-7) var(--space-6);background:var(--color-bg-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:0 12px 40px #362c2414}.login-brand{display:grid;justify-items:center;gap:var(--space-2);text-align:center}.login-brand-icon{width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xl);background:var(--color-primary-surface-soft);color:var(--color-primary)}.login-brand h1{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.login-brand p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.login-field{display:grid;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.login-field>span{display:inline-flex;align-items:center;gap:var(--space-1)}.login-field input{width:100%;height:var(--control-height-lg, 40px);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-page);color:var(--color-text-primary);font-size:var(--font-size-md);outline:none}.login-field input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f0908040}.login-error{margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-error-light, #FDEBE8);color:var(--color-error, #B3402F);font-size:var(--font-size-sm)}.login-submit{width:100%;justify-content:center}.login-submit:disabled{opacity:.55;cursor:not-allowed}.settings-server-note{grid-column:1 / -1;margin:0;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg-surface-muted);color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.settings-server-value{max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.login-card.landing-card{width:min(420px,100%);gap:var(--space-4)}.login-trial-button{width:100%;justify-content:center;gap:var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);padding-block:calc(var(--control-height-lg, 40px) * .5)}.login-trial-note{margin:0;text-align:center;font-size:var(--font-size-xs);color:var(--color-text-subtle)}.login-divider{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-subtle);font-size:var(--font-size-xs)}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--color-border-strong)}.login-admin-toggle{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-2);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:transparent;color:var(--color-text-subtle);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer}.login-admin-toggle:hover{color:var(--color-primary);border-color:var(--color-primary)}.login-admin-form{display:grid;gap:var(--space-3)}.login-admin-button{width:100%;justify-content:center;gap:var(--space-2)}.login-admin-note{margin:0;font-size:var(--font-size-xs);color:var(--color-text-subtle);line-height:var(--line-height-normal)}.login-footer{display:grid;gap:6px;margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border-default);text-align:center;font-size:var(--font-size-xs);color:var(--color-text-subtle)}.login-footer a{color:var(--color-primary);font-weight:var(--font-weight-semibold);text-decoration:none}.login-footer a:hover{text-decoration:underline}.trial-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border:1px solid oklch(88% .05 60 / .6);border-radius:var(--radius-md);background:linear-gradient(90deg,#ffefdde6,#fbf4e6e6);color:var(--color-text-secondary);font-size:var(--font-size-xs);flex-wrap:wrap}.trial-banner-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;font-weight:var(--font-weight-semibold)}.trial-banner-quota{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium);color:var(--color-text-primary)}*{box-sizing:border-box}.muted{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.boot{min-height:0;display:grid;place-items:center;gap:10px;color:var(--color-text-muted)}.boot-error{width:min(520px,calc(100vw - 48px));display:grid;gap:10px;padding:14px;border:1px solid var(--color-danger-border);border-radius:var(--radius-md);background:#fff7f7;color:var(--color-danger)}.boot-error p{color:#7d3b3b;font-size:var(--font-size-sm)}.typing-dots{display:inline-flex;align-items:center;gap:4px}.typing-dots span{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.4;animation:typingDotPulse 1.2s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.16s}.typing-dots span:nth-child(3){animation-delay:.32s}@keyframes typingDotPulse{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
