:root{font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;color:#132d43;background:#e8f0f6;font-synthesis:none;--bg: #e8f0f6;--surface: #fbfdff;--surface-muted: #dce9f3;--text: #132d43;--muted: #536d82;--line: #9eb8cf;--line-strong: #315d85;--navy: #173f63;--blue-panel: #dcecff;--blue-soft: #eef7ff;--teal: #1f7b72;--teal-dark: #175f59;--cobalt: #315fa8;--amber: #bd7c28;--coral: #c75f53;--violet: #746b8c;--shadow: 0 10px 28px rgba(27, 64, 96, .13)}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100%}body{background:var(--bg)}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}textarea{resize:vertical}.app-loading,.classroom-loading{min-height:100dvh;display:grid;place-items:center}.state-message{min-height:180px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted)}.state-message.error,.form-error{color:var(--coral)}.empty-state{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;color:var(--muted)}.empty-state h2{margin-bottom:8px;color:var(--text);font-size:18px}.empty-state p{max-width:480px;line-height:1.7}.render-fallback{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;color:var(--coral);text-align:center}.render-fallback h2{margin:12px 0 6px;color:var(--text);font-size:19px}.render-fallback p{max-width:460px;margin:0 0 18px;color:var(--muted);line-height:1.65}.render-fallback>div{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.spin{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.primary-button,.secondary-button,.sidebar-create{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;border-radius:6px;font-weight:650;white-space:nowrap}.primary-button{background:var(--teal);border:1px solid #155f58;color:#fff}.primary-button:hover{background:var(--teal-dark)}.secondary-button{background:var(--surface);color:var(--navy);border:1px solid var(--line)}.secondary-button:hover{border-color:var(--line-strong)}.reply-retry-button{display:inline-flex;align-items:center;gap:6px;width:fit-content;margin-top:8px;border:1px solid var(--line-strong);border-radius:6px;padding:6px 9px;background:var(--surface-soft);color:var(--text-secondary);font-size:12px;cursor:pointer}.reply-retry-button:disabled{cursor:default;opacity:.55}.icon-button{width:34px;height:34px;flex:0 0 34px;display:inline-grid;place-items:center;padding:0;border-radius:6px;background:transparent;color:var(--muted)}.icon-button:hover{background:var(--surface-muted);color:var(--text)}.eyebrow{margin-bottom:5px;color:var(--teal);font-size:12px;font-weight:750;text-transform:uppercase}.status-pill{display:inline-flex;align-items:center;padding:3px 8px;border:1px solid #b9d4d0;border-radius:999px;color:var(--teal-dark);background:#edf8f6;font-size:12px}.auth-page{min-height:100dvh;background:var(--bg)}.auth-topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,64px);background:#174a64;border-bottom:3px solid #0f3448;color:#fff}.auth-topbar>span{color:#d7e5e9;font-size:13px}.auth-brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:780}.auth-brand img{padding:3px;background:#f7faf9;border:1px solid rgba(255,255,255,.75)}.auth-brand img{width:34px;height:34px;object-fit:contain;border-radius:6px}.brand img{width:58px;height:58px;flex:0 0 58px;object-fit:contain;border-radius:8px}.auth-workspace{width:min(1500px,100%);min-height:calc(100dvh - 76px);display:grid;grid-template-columns:minmax(620px,1fr) 430px;align-items:stretch;gap:28px;margin:0 auto;padding:clamp(24px,4vh,46px) clamp(24px,4vw,58px)}.auth-showcase{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:#eef3f2;border:1px solid var(--line-strong);border-radius:5px}.bulletin-header{min-height:96px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:19px 24px;background:#f8faf9;border-bottom:1px solid var(--line-strong)}.bulletin-header small{color:var(--teal-dark);font-size:11px;font-weight:750}.bulletin-header h1{margin:5px 0 0;overflow-wrap:anywhere;font-size:21px}.bulletin-header nav{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.bulletin-header nav button{min-width:76px;height:34px;padding:0 10px;background:transparent;color:var(--muted);font-size:11px}.bulletin-header nav button+button{border-left:1px solid var(--line)}.bulletin-header nav button.active{background:var(--navy);color:#fff}.bulletin-board{min-height:520px;padding:clamp(26px,4vw,48px)}.flow-board{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:28px}.flow-route{display:flex;align-items:center;justify-content:center}.flow-route-part{min-width:0;display:flex;align-items:center}.flow-route-part article{width:116px;min-height:154px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:17px 10px;background:#f8faf9;border:1px solid var(--line-strong);text-align:center}.flow-route-part article>span{width:43px;height:43px;display:grid;place-items:center;margin-bottom:12px;background:#dceae7;border:1px solid #9dbbb6;color:var(--teal-dark)}.flow-route-part strong{font-size:13px}.flow-route-part small{margin-top:7px;color:var(--muted);font-size:9px;line-height:1.45}.flow-arrow{flex:0 0 auto;margin:0 7px;color:var(--cobalt)}.flow-facts{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line-strong);background:#f8faf9}.flow-facts span{min-height:72px;display:flex;align-items:center;gap:9px;padding:13px;border-right:1px solid var(--line);color:#314b5a;font-size:11px;line-height:1.5}.flow-facts span:last-child{border-right:0}.flow-facts svg{flex:0 0 auto;color:var(--teal)}.architecture-board{display:grid;align-content:center}.architecture-part{display:grid;justify-items:center}.architecture-part>section{width:min(100%,760px);min-height:78px;display:grid;grid-template-columns:150px minmax(0,1fr);border:1px solid var(--line-strong);background:#f8faf9}.architecture-part header{display:flex;align-items:center;gap:9px;padding:16px;background:#dfe9e7;border-right:1px solid var(--line);color:var(--teal-dark);font-size:12px}.architecture-part section>div{display:grid;grid-template-columns:repeat(4,1fr);align-items:stretch}.architecture-part section span{display:grid;place-items:center;padding:10px;border-right:1px solid var(--line);color:#304957;font-size:11px;text-align:center}.architecture-part section span:last-child{border-right:0}.architecture-part>svg{margin:6px 0;color:var(--cobalt)}.auth-panel{width:100%;align-self:center;background:var(--surface);border:1px solid var(--line-strong);border-top:4px solid var(--teal);padding:32px 34px 36px;box-shadow:var(--shadow);border-radius:5px}.auth-heading{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:12px;margin-bottom:24px}.auth-heading small{color:var(--teal-dark);font-size:10px;font-weight:700}.auth-heading h2{margin:4px 0 5px;font-size:22px}.auth-heading p{margin:0;color:var(--muted);font-size:12px}.auth-mark{width:42px;height:42px;display:grid;place-items:center;color:var(--teal);background:#dceae7;border:1px solid #9dbbb6;border-radius:4px}.segmented{display:grid;grid-template-columns:1fr 1fr;margin-bottom:24px;padding:3px;background:var(--surface-muted);border:1px solid var(--line);border-radius:4px}.segmented button{height:34px;background:transparent;border-radius:2px;color:var(--muted)}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:inset 0 -2px var(--teal)}form label,.course-form label{display:grid;gap:7px;margin-bottom:17px;color:var(--navy);font-size:13px;font-weight:650}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:6px;background:var(--surface);outline:none}input,select{height:42px;padding:0 12px}textarea{padding:11px 12px;line-height:1.55}input:focus,textarea:focus,select:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px #315fa81a}.password-field{position:relative}.password-field input{padding-right:42px}.password-field .icon-button{position:absolute;right:4px;top:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.auth-submit{width:100%;min-height:44px;margin-top:8px}.app-frame{min-height:100dvh;display:grid;grid-template-columns:292px minmax(0,1fr);transition:grid-template-columns .18s ease}.app-frame.sidebar-collapsed{grid-template-columns:82px minmax(0,1fr)}.global-sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:18px 16px;overflow:hidden;background:#d9e9f5;border-right:2px solid var(--line-strong);transition:padding .18s ease}.sidebar-brand-row{min-height:72px;display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:8px}.brand{min-width:0;height:68px;display:flex;align-items:center;gap:13px;padding:0 4px;color:#153f67;font-size:22px;font-weight:780}.brand span{overflow:hidden;white-space:nowrap}.sidebar-toggle{border:1px solid #7c9fbe;background:#ffffff85;color:#254f75}.global-sidebar nav{display:grid;gap:4px;margin-top:25px}.nav-item{width:100%;height:42px;display:flex;align-items:center;gap:11px;padding:0 12px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);text-align:left}.nav-item:hover{border-color:#85a7c4;background:#edf6fd;color:var(--text)}.nav-item.active{border-color:#47749c;background:#c6def1;box-shadow:inset 4px 0 #1f6e91;color:#164e70;font-weight:700}.sidebar-companion{min-height:86px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:10px;margin-top:auto;padding:13px 12px;border:2px solid #7298b9;border-radius:7px;background:#edf6fd}.sidebar-companion>span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#236b8e}.sidebar-companion p{margin:2px 0 0;color:#294b65;font-size:12px;line-height:1.55}.account-block{margin-top:12px;display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:9px;padding:12px 6px 2px;border-top:2px solid #8ba9c1}.account-block .avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-weight:750}.account-block strong,.account-block span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-block strong{font-size:13px}.account-block span{margin-top:2px;color:var(--muted);font-size:11px}.app-main{min-width:0;padding:0 34px 50px;background:var(--bg)}.page-header{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:2px solid var(--line-strong)}.page-header h1{margin:0;font-size:25px}.header-actions{display:flex;gap:10px}.global-sidebar.collapsed{padding-inline:12px}.global-sidebar.collapsed .sidebar-brand-row{min-height:116px;display:flex;flex-direction:column;gap:8px}.global-sidebar.collapsed .brand{height:64px;padding:0}.global-sidebar.collapsed .brand span,.global-sidebar.collapsed .nav-item span,.global-sidebar.collapsed .sidebar-companion p,.global-sidebar.collapsed .account-block>div:nth-child(2){display:none}.global-sidebar.collapsed nav{margin-top:12px}.global-sidebar.collapsed .nav-item{justify-content:center;padding:0}.global-sidebar.collapsed .nav-item.active{box-shadow:inset 0 -3px #1f6e91}.global-sidebar.collapsed .sidebar-companion{min-height:54px;display:grid;grid-template-columns:1fr;place-items:center;padding:8px}.global-sidebar.collapsed .account-block{grid-template-columns:1fr;justify-items:center;gap:5px;padding-inline:0}.toolbar,.library-toolbar,.profile-toolbar{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px}.search-field{width:min(100%,360px);height:40px;display:flex;align-items:center;gap:8px;padding:0 11px;background:var(--surface);border:1px solid var(--line);border-radius:6px;color:var(--muted)}.search-field input{height:auto;padding:0;border:0;box-shadow:none;background:transparent}.course-dashboard{display:grid;gap:38px;padding:4px 0 24px}.course-group{min-width:0}.course-group-heading{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px;border-bottom:2px solid var(--line-strong)}.course-group-heading>div{display:flex;align-items:center;gap:10px}.course-group-heading h2{margin:0;font-size:18px}.course-group-heading>div>span{min-width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#315f87;font-size:11px;font-weight:750}.course-group-heading p{margin:0;color:var(--muted);font-size:12px}.course-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.course-card{min-width:0;min-height:238px;display:grid;grid-template-rows:68px minmax(0,1fr) 48px;overflow:hidden;border:2px solid #406d94;border-radius:7px;background:var(--surface);box-shadow:0 5px 14px #1f426014;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.course-card:hover{transform:translateY(-3px);border-color:#174e7c;box-shadow:0 12px 24px #1f426026}.course-card-visual{display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:2px solid currentColor;color:#245e8c;background:#dbeeff}.course-card-visual span{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700}.course-accent-1 .course-card-visual{color:#237066;background:#dff1ec}.course-accent-2 .course-card-visual{color:#9a6421;background:#fff0d3}.course-accent-3 .course-card-visual{color:#8b4e57;background:#f9e5e8}.course-card-body{min-width:0;padding:20px 18px 14px}.course-card-body h3{margin-bottom:10px;overflow-wrap:anywhere;font-size:18px}.course-card-body p{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-size:13px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:3}.course-card footer{display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 18px;border-top:1px solid var(--line);color:var(--muted)}.course-card footer>span:first-child{display:flex;align-items:center;gap:6px;font-size:12px}.course-open-icon{width:32px;height:32px;display:grid;place-items:center;border:1px solid #88a7c1;border-radius:50%;color:#1f567f;background:#eef7ff}.course-group-ended .course-group-heading{border-color:#7d8fa0}.course-group-ended .course-group-heading>div>span{background:#718494}.ended-course-empty{min-height:92px;display:flex;align-items:center;justify-content:center;gap:9px;border:2px dashed #9db0c0;border-radius:7px;color:#657b8c;background:#f8fbfd94;font-size:13px}.creation-shell{width:min(900px,100%);margin:28px auto 0;overflow:hidden;background:var(--surface);border:1px solid var(--line-strong);border-radius:6px;box-shadow:0 5px 16px #1937440f}.stepper{width:100%;margin:0;display:grid;grid-template-columns:repeat(3,1fr);padding:18px 32px;background:#dfe7e5;border-bottom:1px solid var(--line-strong)}.stepper div{position:relative;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.stepper div:after{content:"";height:1px;flex:1;background:#9eaeae}.stepper div:last-child:after{display:none}.stepper span{width:26px;height:26px;display:grid;place-items:center;flex:0 0 26px;border:1px solid var(--line-strong);border-radius:50%}.stepper .active{color:var(--teal-dark);font-weight:650}.stepper .active span{border-color:var(--teal);background:var(--teal);color:#fff}.flow-panel{width:100%;min-height:500px;margin:0;padding:34px 42px;background:var(--surface);border:0;border-radius:0}.course-form>h2,.upload-step>h2{margin-bottom:7px;font-size:20px}.course-form>p,.upload-step>p{margin-bottom:25px;color:var(--muted)}.course-name-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:26px}.course-name-entry label{margin:0}.ai-prefill-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:2px solid #356990;border-radius:6px;color:#174f76;background:#dcecff;font-weight:700;white-space:nowrap}.ai-prefill-button:hover{background:#c9e2f8}.prefill-success{margin:10px 0 0;color:#237066;font-size:12px;font-weight:650}.optional-course-fields{margin-top:18px;border:2px solid #9bb7cf;border-radius:6px;background:#eef7ff}.optional-course-fields summary{padding:13px 15px;color:#294f70;cursor:pointer;font-size:13px;font-weight:700}.optional-course-fields[open] summary{border-bottom:1px solid #a9bfd3}.optional-course-fields label{margin:14px 15px}.flow-actions{display:flex;justify-content:space-between;gap:12px;margin-top:25px;padding-top:18px;border-top:1px solid var(--line)}.file-drop{height:180px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed #8fb4b0;border-radius:7px;color:var(--teal-dark);background:#f4f9f8;cursor:pointer}.file-drop span{color:var(--muted);font-size:12px}.file-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-list{display:grid;gap:5px;margin-top:15px}.file-list>div{min-height:42px;display:grid;grid-template-columns:1fr auto 34px;align-items:center;gap:8px;padding:3px 5px 3px 12px;border:1px solid var(--line);border-radius:5px}.file-list small{color:var(--muted)}.processing-state{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.processing-state p{max-width:500px;color:var(--muted);line-height:1.7}.outline-processing-card{width:min(100%,680px);display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px 14px;margin:18px 0;padding:18px;border:2px solid #96b7d8;border-radius:7px;background:#eef7ff;text-align:left}.outline-processing-mark{width:40px;height:40px;display:grid;place-items:center;grid-row:span 2;border:1px solid #87a9cf;border-radius:6px;color:#225a91;background:#dcecff}.outline-processing-mark.failed{border-color:#d79b94;color:#9d3d34;background:#fff0ed}.outline-processing-copy strong,.outline-processing-copy span{display:block}.outline-processing-copy strong{font-size:14px}.outline-processing-copy span{margin-top:5px;color:var(--muted);font-size:12px}.outline-progress-track{height:7px;overflow:hidden;border:1px solid #aec7df;border-radius:4px;background:#fff}.outline-progress-track span{height:100%;display:block;background:#377db6;transition:width .3s ease}.outline-file-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px}.outline-file-grid>div{min-width:0;padding:8px 10px;border:1px solid #b9cee3;border-radius:5px;background:#ffffffc7}.outline-file-grid span,.outline-file-grid small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outline-file-grid span{font-size:11px}.outline-file-grid small{margin-top:4px;color:#466681;font-size:10px}.outline-file-grid p{margin:5px 0 0;color:var(--coral);font-size:10px}.outline-processing-card>.secondary-button{grid-column:1 / -1;justify-self:start}.success-mark{width:58px;height:58px;display:grid;place-items:center;margin-bottom:18px;border-radius:50%;background:#def1ed;color:var(--teal)}.creation-status-list{width:min(100%,520px);display:grid;gap:5px;margin:0 0 14px;text-align:left}.creation-status-list span{display:flex;justify-content:space-between;padding:8px 10px;border:1px solid var(--line);border-radius:5px;font-size:12px}.creation-status-list small{color:var(--muted)}.outline-review{width:min(100%,680px);margin:2px 0 18px;overflow:hidden;border:1px solid #c9d8d6;border-left:3px solid var(--teal);border-radius:6px;background:var(--surface);text-align:left}.outline-review>header{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid var(--line)}.outline-review-icon,.tree-empty-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid #b7d0cc;border-radius:6px;color:var(--teal-dark);background:#edf6f4}.outline-review header strong,.outline-review header span{display:block}.outline-review header div>span{margin-top:3px;color:var(--muted);font-size:11px}.validation-badge{padding:4px 7px;border:1px solid #b9d4cd;border-radius:4px;color:#25695e;background:#edf7f4;font-size:10px;font-weight:700}.validation-badge.invalid{border-color:#e2b8b2;color:#a33f35;background:#fff2f0}.outline-review-preview{max-height:250px;overflow:auto;padding:10px 15px;background:#fbfcfc}.outline-review-preview>div{min-height:28px;display:flex;align-items:center;gap:8px;color:var(--text);font-size:12px}.outline-review-preview>div>span{width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:#799b97}.outline-review-preview>div>div{min-width:0;display:flex;align-items:baseline;gap:8px}.outline-review-preview>div small{color:var(--muted);font-size:10px}.outline-review-changes{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:9px 15px;border-bottom:1px solid var(--line);background:#f1f6fb;font-size:11px}.outline-review-changes>span{color:var(--muted)}.outline-review-warning{margin:0;padding:9px 15px;border-bottom:1px solid #e4c5a8;color:#86531f;background:#fff8ed;font-size:11px}.outline-review-preview>small{display:block;padding:6px 0 2px;color:var(--muted)}.outline-review>footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 15px;border-top:1px solid var(--line)}.outline-review>footer p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.outline-review>footer .primary-button{flex:0 0 auto}.outline-review-preview>div>.icon-button{width:26px;height:26px;margin-left:auto;opacity:0}.outline-review-preview>div>.outline-source-button{opacity:1;color:#315f8c}.outline-low-confidence{color:#a15d19!important}.outline-review-preview>div:hover>.icon-button,.outline-review-preview>div:focus-within>.icon-button{opacity:1}.outline-candidate-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.8fr) 110px;gap:10px;padding:12px 15px;border-top:1px solid var(--line);background:#f5f8fb}.outline-candidate-editor>header,.outline-candidate-add,.outline-candidate-editor-actions{grid-column:1 / -1}.outline-candidate-editor>header,.outline-candidate-editor-actions,.outline-candidate-add{display:flex;align-items:center;gap:8px}.outline-candidate-editor>header{justify-content:space-between}.outline-candidate-editor label{display:grid;gap:5px;color:var(--muted);font-size:11px}.outline-candidate-editor input,.outline-candidate-editor select{width:100%}.outline-candidate-add input{flex:1}.outline-source-modal{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:24px;background:#12222f80}.outline-source-modal>div{width:min(920px,94vw);max-height:90vh;overflow:auto;border:2px solid #416a91;border-radius:6px;background:var(--surface)}.outline-source-modal header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface)}.outline-source-modal img{display:block;width:100%;height:auto}.outline-source-modal p{padding:36px;text-align:center}.modal-backdrop{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:20px;background:#14283359}.upload-dialog{width:min(100%,620px);max-height:min(760px,calc(100dvh - 40px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 18px 60px #0f232e38}.upload-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--line)}.upload-dialog h2{margin-bottom:5px;font-size:19px}.upload-dialog header p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.upload-dialog .file-drop{margin:20px 20px 10px}.file-drop.compact{height:150px}.dialog-file-list,.upload-progress-list{min-height:0;overflow:auto;padding:0 20px 16px}.dialog-file-list>div{display:flex;justify-content:space-between;gap:15px;padding:9px 3px;border-bottom:1px solid var(--line);font-size:12px}.dialog-file-list select{min-width:108px;padding:6px 28px 6px 9px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:4px;font:inherit}.dialog-file-list small{color:var(--muted)}.upload-progress-list{padding-top:12px}.upload-progress-item{border-bottom:1px solid var(--line)}.upload-progress-main{min-height:60px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px}.upload-state{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e7f2f0;color:var(--teal)}.upload-state.needs_review{background:#fff2df;color:var(--amber)}.upload-state.failed{background:#fdebe8;color:var(--coral)}.upload-progress-list strong,.upload-progress-list small{display:block}.upload-progress-list strong{font-size:12px}.upload-progress-list small{margin-top:4px;color:var(--muted);font-size:10px}.upload-progress-main p{margin:4px 0 0;color:var(--coral);font-size:10px}.upload-progress-main p.upload-warning{color:#9a6412}.upload-progress-main p.upload-quality-outcome{color:#815d1c;font-weight:650}.upload-stage-progress{position:relative;height:5px;margin-top:8px;overflow:visible;border-radius:3px;background:#dfe7eb}.upload-stage-progress>span{display:block;height:100%;border-radius:inherit;background:var(--teal);transition:width .18s ease}.upload-stage-progress>small{position:absolute;top:-14px;right:0;margin:0;color:var(--muted);font-size:8px;font-variant-numeric:tabular-nums}.video-review-loading,.video-review-error,.video-review-resolved{margin:0 0 13px 40px;font-size:10px}.video-review-loading{display:flex;align-items:center;gap:7px;color:var(--muted)}.video-review-error{color:var(--coral)}.video-review-resolved{color:var(--teal-dark)}.video-review-detail{margin:0 0 14px 40px;padding:11px 0 2px;border-top:1px solid var(--line)}.video-review-detail>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;border:0}.video-review-detail>header strong,.video-review-detail>header span{display:block}.video-review-detail>header span{color:var(--muted);font-size:9px}.video-review-detail h4{margin:10px 0 5px;font-size:12px}.video-review-detail>p{margin:7px 0;color:var(--muted);font-size:10px;line-height:1.55}.video-review-detail>.secondary-button{margin-top:10px}.subtitle-cue-list{max-height:170px;overflow-y:auto;margin-top:9px;border-top:1px solid var(--line)}.subtitle-cue-list>div{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:10px;line-height:1.5}.subtitle-cue-list time{color:var(--cobalt);font-variant-numeric:tabular-nums}.done-icon{color:var(--teal)}.upload-dialog>.form-error{margin:0 20px 12px}.upload-dialog>footer{display:flex;justify-content:flex-end;gap:8px;padding:13px 20px;border-top:1px solid var(--line);background:#fafcfb}.course-workspace{height:100dvh;display:grid;grid-template-columns:330px minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden;background:var(--bg)}.knowledge-panel{min-width:0;min-height:0;display:flex;flex-direction:column;background:#f9fbfa;border-right:1px solid var(--line)}.knowledge-panel>header{padding:19px 18px 16px;border-bottom:1px solid var(--line)}.brand-mini{display:inline-flex;gap:10px;align-items:center;color:#173f70;font-size:18px;font-weight:700}.brand-mini:hover{color:#0b67a6}.knowledge-panel h1{margin:18px 0 4px;font-size:20px}.knowledge-panel p{margin:0;color:var(--muted);font-size:12px}.tree-scroll{min-height:0;flex:1;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:10px 8px 24px;scrollbar-color:#7598b3 #e8f0f5;scrollbar-width:thin}.tree-empty-status{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;color:var(--text);text-align:center}.tree-empty-status>span:last-child{max-width:210px;color:var(--muted);font-size:11px;line-height:1.55}.tree-empty-status .async-state{min-height:150px}.tree-row{height:38px;display:flex;align-items:center;border-radius:5px}.tree-row:hover{background:var(--surface-muted)}.tree-row.selected{color:var(--cobalt);background:#e7edf8}.tree-toggle{width:24px;height:30px;display:grid;place-items:center;flex:0 0 24px;background:transparent;color:var(--muted)}.tree-label{min-width:0;flex:1;height:34px;display:flex;align-items:center;gap:8px;padding:0 5px;background:transparent;text-align:left}.tree-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.knowledge-detail{min-width:0;overflow:auto}.lesson-plan-renderer{width:min(100%,760px);margin:0 auto;padding:32px 34px 40px}.lesson-plan-renderer>header{padding-bottom:22px;border-bottom:1px solid var(--line)}.lesson-plan-renderer>header small{color:var(--teal-dark);font-size:11px;font-weight:700}.lesson-plan-renderer>header h2{margin:7px 0 9px;font-size:24px}.lesson-plan-renderer>header p{margin:0;color:var(--muted);line-height:1.65}.lesson-plan-renderer ol{display:grid;gap:0;margin:0;padding:18px 0 0;list-style:none}.lesson-plan-renderer li{min-height:74px;display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:10px 0}.lesson-plan-renderer li>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid #a9c5c0;border-radius:50%;color:var(--teal-dark);background:#edf6f4;font-size:11px;font-weight:700}.lesson-plan-renderer li strong{display:block;margin:3px 0 5px;font-size:14px}.lesson-plan-renderer li p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.outline-setup-state{min-height:calc(100dvh - 76px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px}.outline-setup-progress{width:min(100%,680px);display:flex;flex-direction:column;align-items:flex-start}.outline-setup-progress .outline-processing-card{margin-top:0}.outline-setup-heading{width:min(100%,680px);margin-bottom:18px;text-align:left}.outline-setup-heading h2{margin:5px 0 8px;font-size:22px}.outline-setup-heading>p:last-child{margin:0;color:var(--muted);line-height:1.6}.workspace-topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#ffffffb3;border-bottom:1px solid var(--line)}.workspace-topbar span{color:var(--muted);font-size:12px}.workspace-topbar h2{margin:4px 0 0;font-size:19px}.node-content{padding:28px}.node-intro{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:start;gap:15px;padding-bottom:26px;border-bottom:1px solid var(--line)}.node-intro h2{margin-bottom:8px;font-size:23px}.node-intro p:last-child{margin:0;color:var(--muted);line-height:1.6}.node-type{width:46px;height:46px;display:grid;place-items:center;border:1px solid #b6ccc9;border-radius:7px;color:var(--teal);background:#edf6f4}.section-block{padding:28px 0}.section-heading h3{margin-bottom:5px;font-size:17px}.section-heading p{color:var(--muted);font-size:13px}.session-list{border-top:1px solid var(--line)}.session-list>button{width:100%;min-height:66px;display:grid;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:14px;padding:10px 8px;background:transparent;border-bottom:1px solid var(--line);text-align:left}.session-list>button:hover{background:#ffffffb3}.session-list strong{display:block;margin-bottom:6px}.session-list div span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.node-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:7px;background:var(--surface)}.node-stats div{padding:18px;border-right:1px solid var(--line)}.node-stats div:last-child{border:0}.node-stats strong,.node-stats span{display:block}.node-stats strong{font-size:21px}.node-stats span{margin-top:4px;color:var(--muted);font-size:12px}.outline-edit-panel{padding-top:12px}.outline-edit-heading{align-items:flex-start}.outline-edit-heading h3{display:inline-flex;align-items:center;gap:8px}.outline-edit-heading>div:first-child{min-width:0}.outline-edit-heading>div:first-child p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.outline-edit-toggle{white-space:nowrap}.outline-edit-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.outline-edit-summary div{padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:#f7fbfd}.outline-edit-summary span{display:block;margin-bottom:5px;color:var(--muted);font-size:11px;font-weight:650}.outline-edit-summary strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.outline-edit-form{display:grid;gap:14px;margin-top:16px}.outline-span-2{grid-column:1 / -1}.outline-edit-form label{display:grid;gap:6px}.outline-edit-form span{color:var(--muted);font-size:12px;font-weight:650}.outline-edit-form input,.outline-edit-form textarea,.outline-edit-form select{width:100%}.outline-edit-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.outline-edit-create{align-items:end}.outline-edit-actions{display:flex;flex-wrap:wrap;gap:10px}.outline-edit-actions .secondary-button,.outline-edit-actions .primary-button{min-width:114px}.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border:1px solid #b94a48;border-radius:5px;background:#fff7f7;color:#9d302f;font:inherit;font-weight:700;cursor:pointer}.danger-button:disabled{cursor:not-allowed;opacity:.55}.quick-learning-layout{min-height:calc(100dvh - 126px);display:grid;grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);gap:24px;align-items:stretch}.quick-topic-form{display:flex;flex-direction:column;gap:15px;padding:22px;border:1px solid var(--line-strong);border-radius:5px;background:var(--surface)}.quick-topic-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:7px;background:#e7f2f0;color:var(--teal)}.quick-topic-form h2,.quick-topic-history h2{margin:0;font-size:18px}.quick-topic-form p,.quick-topic-history p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.quick-topic-form label{display:grid;gap:7px;font-size:12px}.quick-topic-form .primary-button{margin-top:auto;justify-self:end;align-self:flex-end}.quick-topic-history{min-height:100%;overflow:auto;background:#f8faf973;border:1px solid var(--line-strong);border-radius:5px}.quick-topic-history>header{padding:21px 20px;background:var(--surface);border-bottom:1px solid var(--line-strong)}.quick-topic-history>button{width:100%;min-height:66px;display:flex;align-items:center;justify-content:space-between;padding:11px 20px;background:transparent;border-bottom:1px solid var(--line);text-align:left}.quick-topic-history>button:hover{background:#ffffffb3}.quick-topic-history strong,.quick-topic-history small{display:block}.quick-topic-history small{margin-top:6px;color:var(--muted)}.quick-topic-history small svg{margin-right:5px;vertical-align:-2px}.course-picker{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.course-picker>div{position:relative}.course-picker select{min-width:200px;padding-right:34px;appearance:none}.course-picker svg{position:absolute;right:10px;top:13px;pointer-events:none}.library-toolbar .search-field{margin-left:auto}.library-kind-tabs{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);background:var(--surface-muted)}.library-kind-tabs button{min-height:32px;padding:0 11px;border:0;background:transparent;color:var(--muted);font-size:12px}.library-kind-tabs button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #1a344d24}.library-layout{height:calc(100dvh - 184px);min-height:500px;display:grid;grid-template-columns:minmax(350px,.9fr) minmax(360px,1.1fr);border:1px solid var(--line);background:var(--surface);overflow:hidden}.resource-list{overflow:auto;border-right:1px solid var(--line)}.resource-list>button{width:100%;min-height:68px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 13px;border-bottom:1px solid var(--line);background:transparent;text-align:left}.resource-list>button.selected{background:#edf3fa;box-shadow:inset 3px 0 var(--cobalt)}.resource-list strong,.resource-list span{display:block}.resource-list div span{margin-top:5px;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-list small{color:var(--teal)}.resource-kind{width:36px;height:36px;display:grid;place-items:center;border-radius:6px;background:#e8f3f1;color:var(--teal)}.resource-kind.video{background:#eaf0f8;color:var(--cobalt)}.resource-detail{overflow:auto;padding:25px}.resource-detail>header{display:flex;gap:13px;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--line)}.resource-detail h2{margin:0;font-size:20px}.detail-section{padding:20px 0 5px}.detail-section h3{font-size:13px}.detail-section p{color:var(--muted);line-height:1.65}.tag-list{display:flex;flex-wrap:wrap;gap:7px}.tag-list span{padding:5px 8px;background:var(--surface-muted);border-radius:4px;font-size:11px}.metadata-list{margin:22px 0;border-top:1px solid var(--line)}.metadata-list div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.metadata-list dt{color:var(--muted)}.portrait-dashboard{display:grid;gap:18px}.situation-profile-grid{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(420px,1.5fr) minmax(240px,.8fr);gap:16px;align-items:stretch}.learning-situation-layout{height:max(620px,calc(100vh - 216px));min-height:0;display:grid;grid-template-columns:minmax(0,1.62fr) minmax(300px,1fr);overflow:hidden;border:1px solid var(--line-strong);background:var(--surface)}.learning-situation-stage{border-top-color:var(--cobalt)}.learning-situation-stage-header>div{min-width:0;display:flex;align-items:center;gap:7px;color:#315f87}.learning-situation-stage-header>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.learning-situation-stage-header .profile-tabs{margin:0;border:0;background:transparent}.learning-situation-stage-content{min-height:0;overflow:auto;padding:16px}.learning-situation-profile-stack{grid-template-columns:minmax(0,1fr)}.learning-situation-profile-stack .situation-planning-column{min-height:360px}.learning-situation-profile-stack .situation-statistics-column{min-height:470px}.learning-situation-profile-stack .situation-preference-column{min-height:220px}.learning-situation-conversation{width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;border-left:1px solid var(--line-strong);grid-template-rows:54px minmax(0,1fr) auto}.learning-situation-conversation .message-scroll{overflow-y:scroll;scrollbar-gutter:stable}.learning-situation-conversation .composer-wrap{min-height:64px}.composer-error{margin:0 0 7px;color:#9f2f2f;font-size:11px;line-height:1.4}.learning-situation-stage .mastery-visual-overview{grid-template-columns:160px minmax(260px,1fr)}.learning-situation-stage .mastery-landscape{border-right:0}.situation-planning-column,.situation-statistics-column,.situation-preference-column{min-width:0;min-height:470px;position:relative;padding-bottom:66px;border:2px solid #315f87;border-radius:7px;background:var(--surface)}.situation-planning-column>header,.situation-statistics-column>header{min-height:56px;display:flex;align-items:center;gap:9px;padding:0 18px;border-bottom:2px solid var(--line);color:#275f84}.situation-planning-column h2,.situation-statistics-column h2{margin:0;font-size:16px}.situation-fact,.active-learning-plan{margin:0 18px;padding:18px 0;border-bottom:1px solid var(--line)}.situation-fact>strong,.active-learning-plan>span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.active-learning-plan>strong{display:block;margin-top:12px;font-size:14px}.active-learning-plan p{margin:7px 0;color:var(--muted);font-size:11px;line-height:1.6}.active-learning-plan time{color:#315f87;font-size:10px}.situation-column-action,.situation-detail-link{position:absolute;right:18px;bottom:16px}.learning-status-statistics{display:grid;grid-template-columns:190px minmax(170px,1fr);gap:18px;padding:26px 24px 76px}.learning-status-pie{width:176px;height:176px;display:grid;place-items:center;border-radius:50%;box-shadow:inset 0 0 0 2px #315f872e;animation:learning-status-pie-enter .65s ease-out both}.learning-status-pie>div{width:104px;height:104px;display:grid;place-items:center;align-content:center;border-radius:50%;background:var(--surface)}.learning-status-pie strong{font-size:28px}.learning-status-pie span{margin-top:4px;color:var(--muted);font-size:10px}@keyframes learning-status-pie-enter{0%{opacity:0;transform:rotate(-18deg) scale(.92)}}.learning-status-legend{display:grid;align-content:center;gap:10px}.learning-status-legend>div{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:11px}.learning-status-legend i{width:9px;height:9px;border-radius:50%}.learning-status-facts{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:4px 0 0;border:1px solid var(--line)}.learning-status-facts>div{padding:13px}.learning-status-facts>div+div{border-left:1px solid var(--line)}.learning-status-facts dt{color:var(--muted);font-size:10px}.learning-status-facts dd{margin:6px 0 0;font-size:13px;font-weight:700}.scope-learning-summary{grid-column:1 / -1;padding:14px;border:1px solid #91aec3;background:#eef6fb}.scope-learning-summary>strong{font-size:12px}.scope-learning-summary>p{margin:5px 0 10px;color:var(--muted);font-size:10px;line-height:1.5}.scope-learning-summary>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--line);font-size:10px}.scope-learning-summary small{color:var(--muted)}.situation-detail-link{display:flex;align-items:center;gap:4px;background:transparent;color:var(--cobalt);font-size:11px;font-weight:700}.situation-preference-column.preference-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:20px 24px;padding:22px 24px}.situation-preference-column .preference-title{min-width:0;margin:0;padding:0;border:0}.situation-preference-column .preference-groups{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.situation-preference-column .preference-edit-button{position:static;grid-column:2;grid-row:1;justify-self:end;white-space:nowrap}.plan-date-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portrait-overview-band{min-height:190px;display:grid;grid-template-columns:minmax(190px,.7fr) 190px minmax(360px,1.4fr);align-items:center;gap:24px;padding:24px;border:2px solid #315f87;border-radius:7px;background:#dcecff;box-shadow:0 8px 20px #1d4b711a}.portrait-overview-copy{display:flex;align-items:center;gap:13px}.portrait-overview-icon{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border:2px solid #2d688d;border-radius:50%;background:#f8fcff;color:#1f678c}.portrait-overview-copy h2,.learning-plan-context h2,.learning-focus-map h2,.portrait-mastery-preview h2,.preference-strip h2{margin:0;font-size:16px}.portrait-overview-copy p,.preference-title p{margin:5px 0 0;color:var(--muted);font-size:11px}.portrait-rings{display:flex;justify-content:center;gap:14px}.portrait-ring{position:relative;width:80px;height:92px;display:grid;place-items:center;align-content:start}.portrait-ring svg{width:72px;height:72px;overflow:visible;transform:rotate(-90deg)}.portrait-ring circle{fill:none;stroke:#b6ccdc;stroke-width:4}.portrait-ring circle:last-child{stroke:#1f7286;stroke-linecap:round;animation:portrait-ring-enter .8s ease-out both}.portrait-ring strong{position:absolute;top:25px;font-size:15px}.portrait-ring span{margin-top:3px;color:var(--muted);font-size:10px}@keyframes portrait-ring-enter{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.dimension-signal-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 15px}.dimension-signal-map>div{min-width:0;display:grid;grid-template-columns:7px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;padding:8px 0}.dimension-signal-map>div>span{position:relative;grid-row:1 / 3;width:7px;height:36px;overflow:hidden;border-radius:4px;background:#b9cad7}.dimension-signal-map>div>span:after{position:absolute;right:0;bottom:0;left:0;height:calc(var(--signal) * 100%);border-radius:inherit;background:#277486;content:"";animation:portrait-signal-enter .65s ease-out both}@keyframes portrait-signal-enter{0%{transform:translateY(100%)}}.dimension-signal-map strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.dimension-signal-map small{margin-top:4px;color:var(--muted);font-size:9px}.dimension-signal-map .signal-unknown>span:after{min-height:2px;background:#7d92a1}.learning-plan-context,.learning-focus-map,.portrait-mastery-preview{border:2px solid var(--line-strong);border-radius:7px;background:var(--surface)}.learning-plan-context>header,.learning-focus-map>header,.portrait-mastery-preview>header{min-height:52px;display:flex;align-items:center;gap:9px;padding:0 18px;border-bottom:2px solid var(--line);color:#275f84}.plan-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.plan-context-grid article{min-height:112px;padding:18px}.plan-context-grid article+article{border-left:2px solid var(--line)}.plan-context-grid article>span{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;font-weight:700}.portrait-tag-cloud{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.portrait-tag-cloud span{padding:7px 10px;border:1px solid #6e94b3;border-radius:5px;background:#e8f4fc;color:#244d6c;font-size:11px;line-height:1.35}.portrait-empty-value{margin:13px 0 0;color:#718494;font-size:11px}.portrait-insight-grid{display:grid;grid-template-columns:minmax(430px,1.35fr) minmax(290px,.85fr);gap:18px}.learning-focus-map,.portrait-mastery-preview{min-height:230px}.focus-orbit{position:relative;min-height:174px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:22px;padding:24px 20px;overflow:hidden}.focus-orbit:before{position:absolute;top:50%;right:15%;left:15%;height:2px;background:#9bb8cc;content:""}.focus-cluster{position:relative;z-index:1;min-width:0;text-align:center;animation:focus-cluster-enter .5s ease-out both}.focus-cluster:nth-child(2){animation-delay:.1s}.focus-cluster:nth-child(3){animation-delay:.18s}@keyframes focus-cluster-enter{0%{opacity:0;transform:translateY(8px)}}.focus-cluster>strong{width:70px;height:70px;display:inline-grid;place-items:center;border:2px solid #5682a5;border-radius:50%;background:#e7f3fb;color:#275978;font-size:11px}.focus-cluster.current>strong{width:84px;height:84px;border-color:#1d746d;background:#dcefeb;color:#185e58}.focus-cluster.weak>strong{border-color:#b77367;background:#f8e9e6;color:#9d4e43}.focus-cluster>div{min-height:42px;margin-top:9px}.focus-cluster span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9px;line-height:1.55}.portrait-mastery-preview>header button{display:flex;align-items:center;gap:3px;margin-left:auto;background:transparent;color:var(--cobalt);font-size:11px;font-weight:700}.portrait-mastery-strip{display:grid;align-content:center;min-height:174px;padding:24px}.mastery-segments{height:20px;display:flex;gap:3px;overflow:hidden;border:2px solid #7f9db5;border-radius:5px;background:#dce5eb}.mastery-segments span{min-width:7px;animation:mastery-segment-enter .65s ease-out both}@keyframes mastery-segment-enter{0%{transform:scaleX(0)}}.mastery-segments .weak,.mastery-segment-legend .weak i{background:#c96b5d}.mastery-landscape-bar .stable,.mastery-landscape-legend .stable i{background:#26766f}.mastery-landscape-bar .unlearned,.mastery-landscape-legend .unlearned i{background:#9aaab6}.mastery-landscape-bar .unassessed,.mastery-landscape-legend .unassessed i{background:#5d8eae}.mastery-segments .developing,.mastery-segment-legend .developing i{background:#d59a3c}.mastery-segments .proficient,.mastery-segment-legend .proficient i{background:#3d8ba0}.mastery-segments .strong,.mastery-segment-legend .strong i{background:#26766f}.mastery-segments .unknown,.mastery-segment-legend .unknown i{background:#899aa7}.mastery-segment-legend{display:flex;flex-wrap:wrap;gap:9px 13px;margin-top:18px}.mastery-segment-legend span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px}.mastery-segment-legend i{width:7px;height:7px;border-radius:50%}.preference-strip{min-height:112px;display:grid;grid-template-columns:210px minmax(0,1fr) auto;align-items:center;gap:22px;padding:18px 20px;border:2px solid #315f87;border-radius:7px;background:#d8eaf8}.preference-title{display:flex;align-items:center;gap:12px}.preference-title>span{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:6px;background:#275f84;color:#fff}.preference-groups{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.preference-groups>div{min-width:0;padding-left:13px;border-left:2px solid #8aabc5}.preference-groups strong,.preference-groups span{display:block}.preference-groups strong{color:#2d5878;font-size:10px}.preference-groups span{margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:11px}.preference-edit-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;border:2px solid #214e75;border-radius:6px;background:#2e6794;color:#fff;font-size:14px;font-weight:750}.preference-dialog{width:min(520px,calc(100vw - 28px));display:grid;gap:14px;padding:20px;border-radius:7px;background:var(--surface);box-shadow:var(--shadow)}.preference-dialog>header,.preference-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.preference-dialog h2{margin:0;font-size:18px}.preference-dialog header p{margin:5px 0 0;color:var(--muted);font-size:11px}.preference-dialog label{display:grid;gap:6px;font-size:12px}.preference-dialog footer{justify-content:flex-end;padding-top:6px}.profile-candidates{margin-top:22px;border-top:1px solid var(--line)}.profile-candidates>header{padding:20px 0 12px}.profile-candidates h2{margin:0;font-size:17px}.profile-candidates header p{margin:5px 0 0;color:var(--muted);font-size:12px}.profile-candidates article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 4px;border-top:1px solid var(--line)}.profile-candidates article strong{font-size:13px}.profile-candidates article p{margin:5px 0 0;color:var(--muted);font-size:11px}.profile-candidates article>div:last-child{display:flex;gap:8px;flex:0 0 auto}.profile-tabs{display:inline-grid;grid-template-columns:repeat(3,auto);gap:3px;margin-bottom:18px;padding:3px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.profile-toolbar{justify-content:flex-start}.profile-toolbar .profile-tabs{margin-bottom:0}.profile-tabs button{min-height:34px;padding:0 13px;background:transparent;color:var(--muted);font-size:11px}.profile-tabs button.active{background:var(--surface-muted);color:var(--teal-dark);font-weight:700}.mastery-view,.learning-path-view{display:grid;gap:16px}.mastery-visual-overview{min-height:226px;display:grid;grid-template-columns:190px minmax(310px,1fr) 300px;align-items:stretch;overflow:hidden;border:2px solid #315f87;border-radius:7px;background:#dcecff}.mastery-gauge{position:relative;display:grid;place-items:center;align-content:center;border-right:2px solid #8aabc5}.mastery-gauge svg{width:142px;height:142px;transform:rotate(-90deg)}.mastery-gauge circle{fill:none;stroke:#b3c9d9;stroke-width:8}.mastery-gauge circle:last-child{stroke:#217b79;stroke-linecap:round;animation:portrait-ring-enter .85s ease-out both}.mastery-gauge>div{position:absolute;top:78px;display:grid;text-align:center}.mastery-gauge>div strong{font-size:36px;line-height:1}.mastery-gauge>div span,.mastery-gauge small{color:var(--muted);font-size:9px}.mastery-gauge small{margin-top:5px;padding:4px 8px;border:1px solid #638eaa;border-radius:4px;background:#ffffff80}.mastery-landscape{display:grid;align-content:center;padding:26px;border-right:2px solid #8aabc5}.mastery-landscape>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.mastery-landscape>header strong{font-size:14px}.mastery-landscape>header span{color:var(--muted);font-size:10px}.mastery-landscape-bar{height:30px;display:flex;gap:3px;overflow:hidden;padding:3px;border:2px solid #6f93ae;border-radius:6px;background:#f6fbff}.mastery-landscape-bar>span{min-width:8px;border-radius:2px;transform-origin:left;animation:mastery-segment-enter .65s ease-out both}.mastery-landscape-bar .weak,.mastery-landscape-legend .weak i{background:#c96b5d}.mastery-landscape-bar .developing,.mastery-landscape-legend .developing i{background:#d59a3c}.mastery-landscape-bar .proficient,.mastery-landscape-legend .proficient i{background:#3d8ba0}.mastery-landscape-bar .strong,.mastery-landscape-legend .strong i{background:#26766f}.mastery-landscape-bar .unknown,.mastery-landscape-legend .unknown i{background:#899aa7}.mastery-landscape-legend{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:17px}.mastery-landscape-legend>div{min-width:0;display:grid;grid-template-columns:7px minmax(0,1fr);align-items:center;gap:6px}.mastery-landscape-legend i{width:7px;height:7px;grid-row:1 / 3;border-radius:50%}.mastery-landscape-legend span{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px}.mastery-landscape-legend strong{font-size:15px}.review-priorities,.diagnosis-report,.path-proposals{padding:18px;border:2px solid var(--line-strong);border-radius:7px;background:var(--surface)}.review-priorities>header,.diagnosis-report>header,.path-proposals>header{padding-bottom:13px;border-bottom:1px solid var(--line)}.review-priorities h2,.diagnosis-report h2,.path-proposals h2{display:flex;align-items:center;gap:7px;margin:0;font-size:15px}.path-proposals header p{margin:4px 0 0;color:var(--muted);font-size:10px}.review-priority-list{display:grid;padding-top:8px}.review-priority-card{position:relative;min-width:0;display:grid;grid-template-columns:36px minmax(220px,.9fr) minmax(260px,1.3fr) minmax(160px,.7fr);align-items:center;gap:16px;padding:13px 6px;border-bottom:1px solid #a9bfd0;background:transparent}.review-priority-card:last-child{border-bottom:0}.review-rank{width:28px;height:28px;display:grid;place-items:center;border:2px solid #7394ae;border-radius:50%;color:#315f87;font-size:11px}.review-priority-card>header{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px}.review-risk-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#d9eaf5;color:#315f87}.review-priority-card header strong,.review-priority-card header span{display:block}.review-priority-card header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.review-priority-card header span,.review-priority-card header small,.review-priority-card footer{color:var(--muted);font-size:9px}.review-priority-card header span{margin-top:3px}.review-priority-card header small{color:var(--text);font-size:15px;font-weight:750}.forgetting-curve-wrap{min-width:0;display:grid;grid-template-columns:minmax(140px,1fr) auto;align-items:center;gap:10px}.forgetting-curve-wrap>span{color:var(--muted);font-size:9px;white-space:nowrap}.forgetting-curve{display:block;width:100%;height:48px;overflow:visible}.forgetting-curve path,.forgetting-curve circle{vector-effect:non-scaling-stroke}.forgetting-curve .curve-grid,.forgetting-curve.empty path{fill:none;stroke:#a9bdcb;stroke-width:1}.forgetting-curve .curve-area{fill:#2e7b8b1f}.forgetting-curve .curve-line{fill:none;stroke:#2e7b8b;stroke-linecap:round;stroke-width:2}.forgetting-curve circle{fill:#f7fbff;stroke:#2e7b8b;stroke-width:2}.review-priority-card footer{display:block;text-align:right}.review-priority-card footer span{display:block}.review-priority-card footer span+span{margin-top:4px}.review-priority-card.risk-high,.review-priority-card.risk-overdue{background:linear-gradient(90deg,rgb(255 241 238 / 70%),transparent 55%)}.review-priority-card.risk-high .review-risk-icon,.review-priority-card.risk-overdue .review-risk-icon{background:#f4dcd7;color:#a34e43}.diagnosis-report header{display:flex;align-items:center;justify-content:space-between}.diagnosis-report header span{color:var(--muted);font-size:9px}.diagnosis-narrative{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:11px;margin:16px 0;padding:15px;border-left:4px solid #2d738b;background:#eaf4fb;color:#2d617b}.diagnosis-narrative p{margin:0;color:#40535e;line-height:1.7}.diagnosis-report li{margin-bottom:7px;color:#40535e;font-size:12px;line-height:1.55}.diagnosis-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:15px 0}.diagnosis-details>section{padding:12px;border:1px solid var(--line);background:var(--surface-muted)}.diagnosis-details h3,.diagnosis-recommendations h3{margin:0 0 9px;font-size:11px}.diagnosis-details article{padding:8px 0;border-top:1px solid var(--line)}.diagnosis-details article strong,.diagnosis-details article span{display:block}.diagnosis-details article strong{font-size:11px}.diagnosis-details article span{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.45}.diagnosis-recommendations{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.muted-copy{color:var(--muted)!important}.course-learning-map{overflow:visible;border:2px solid #315f87;border-radius:7px;background:#edf6ff}.course-learning-map>header{min-height:104px;display:grid;grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:24px;padding:18px 20px;border-bottom:2px solid #8aabc5;border-radius:5px 5px 0 0;background:#dcecff}.learning-map-heading{min-width:0;display:flex;align-items:center;gap:12px}.learning-map-heading>span{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border:2px solid #6e96b5;border-radius:50%;background:#f4f9ff;color:#315f87}.learning-map-heading small,.learning-map-heading h2{display:block}.learning-map-heading small{margin-bottom:3px;color:#476a82;font-size:9px;font-weight:700}.learning-map-heading h2{margin:0;color:#1f4058;font-size:16px;line-height:1.35;letter-spacing:0}.learning-map-progress{min-width:0;display:grid;justify-items:end}.learning-map-progress strong{color:#245d83;font-size:24px}.learning-map-progress span{color:#526d80;font-size:9px}.learning-map-breadcrumb{min-height:44px;display:flex;align-items:center;gap:0;overflow-x:auto;padding:0 18px;border-bottom:1px solid #b5ccdc;scrollbar-width:thin}.learning-map-breadcrumb button{flex:0 0 auto;padding:7px 10px;border:0;background:transparent;color:#476a82;font-size:10px}.learning-map-breadcrumb button:not(:last-child):after{margin-left:12px;color:#88a3b6;content:"/"}.learning-map-breadcrumb button:last-child{color:#1f536e;font-weight:750}.learning-map-route-shell{position:relative;overflow:hidden;background:#f4f9fd}.learning-map-route-toolbar{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 20px;border-bottom:1px solid #c0d3e0;color:#5d7483;font-size:9px}.learning-map-route-toolbar>div{display:flex;gap:5px}.learning-map-route-toolbar .icon-button{border:1px solid #8eacc0;background:#f8fcff;color:#315f87}.learning-map-viewport{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:x proximity;touch-action:pan-x;scrollbar-color:#6791ad #d9e7f0;scrollbar-width:thin}.learning-map-viewport:focus-visible{outline:3px solid rgb(43 101 146 / 25%);outline-offset:-3px}.learning-map-route{position:relative;min-width:100%;background-color:#f4f9fd}.learning-map-connectors{position:absolute;inset:0;overflow:visible;pointer-events:none}.learning-map-connectors>path{fill:none;stroke:#88a9bd;stroke-dasharray:7 8;stroke-linecap:round;stroke-width:4}.learning-map-connectors>path.learned{stroke:#25857d;stroke-dasharray:none;stroke-width:6}.learning-map-connectors marker path{fill:#789bb1}.learning-map-connectors marker.learned-marker path{fill:#25857d}.learning-map-node{position:absolute;z-index:3;width:198px;height:68px;scroll-snap-align:center;animation:learning-map-node-enter .42s ease-out both}.learning-map-node-main{width:198px;height:68px;display:grid;grid-template-columns:68px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:0;border:0;background:transparent;color:#355569;text-align:left}.learning-map-node-main[aria-disabled=true]{cursor:default;opacity:1}.learning-map-node-main>i{position:relative;width:68px;height:68px;display:grid;place-items:center;border:4px solid #7e9fb5;border-radius:50%;background:#fbfdff;color:#55778d;box-shadow:0 0 0 7px #ffffffd1,0 7px 18px #2d4f6429;transition:transform .18s ease,box-shadow .18s ease}.learning-map-node-main>i>span{font-size:17px;font-style:normal;font-weight:800}.learning-map-node-main>i>svg{position:absolute;right:-3px;bottom:-2px;padding:3px;border:2px solid #7e9fb5;border-radius:50%;background:#f4f9fd;box-sizing:content-box}.learning-map-node-main>strong{display:-webkit-box;overflow:hidden;text-wrap:balance;font-size:11px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}.learning-map-node-main .drill-icon{color:#54758a}.learning-map-node-main:not([aria-disabled=true]):hover>i,.learning-map-node-main:not([aria-disabled=true]):focus-visible>i{transform:translateY(-3px) scale(1.04);box-shadow:0 0 0 9px #315f8724,0 10px 22px #2d4f6433}.learning-map-node.learned .learning-map-node-main>i{border-color:#26766f;background:#d8f1eb;color:#176a64;box-shadow:0 0 0 8px #37898029,0 8px 20px #236b6530}.learning-map-node.learned .learning-map-node-main>i>svg{border-color:#26766f;background:#e7f7f3}.learning-map-node.current .learning-map-node-main>i{border-color:#176f9e;background:#dceeff;color:#17658f;box-shadow:0 0 0 8px #257eb12e,0 0 0 14px #257eb114,0 8px 20px #205f8433;animation:learning-map-current-pulse 2.4s ease-in-out infinite}.learning-node-tooltip{position:absolute;z-index:15;top:78px;left:34px;width:250px;padding:13px;border:2px solid #315f87;border-radius:6px;background:#f9fcff;box-shadow:0 12px 28px #223f5233;opacity:0;pointer-events:none;transform:translate(-34px,-5px);transition:opacity .15s ease,transform .15s ease}.learning-map-node:hover .learning-node-tooltip,.learning-map-node:focus-within .learning-node-tooltip{opacity:1;transform:translate(-34px)}.learning-node-tooltip>header,.learning-node-tooltip>small,.learning-node-tooltip dl>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.learning-node-tooltip>header{padding-bottom:9px;border-bottom:1px solid #b7cbd9}.learning-node-tooltip>header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.learning-node-tooltip>header span{color:#226d68;font-size:9px;font-weight:750}.learning-node-tooltip dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:11px 0}.learning-node-tooltip dt,.learning-node-tooltip dd{margin:0;font-size:9px}.learning-node-tooltip dt{color:var(--muted)}.learning-node-tooltip dd{color:#294c61;font-weight:750}.learning-node-tooltip>small{justify-content:flex-start;color:var(--muted);font-size:8px}.course-learning-map>footer{min-height:42px;display:flex;align-items:center;gap:18px;padding:0 18px;border-top:1px solid #b5ccdc;border-radius:0 0 5px 5px;background:#edf6ff;color:#5d7483;font-size:9px}.course-learning-map>footer span{display:flex;align-items:center;gap:6px}.course-learning-map>footer i{width:9px;height:9px;display:inline-block;border:2px solid #8ca8bb;border-radius:50%;background:#f7fbfe}.course-learning-map>footer i.learned{border-color:#26766f;background:#79b7ad}.course-learning-map>footer i.current{border-color:#176f9e;background:#72b8df}.course-learning-map>footer small{margin-left:auto}.learning-map-empty{margin:0;padding:32px 20px;color:var(--muted);text-align:center}@keyframes learning-map-node-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes learning-map-current-pulse{0%,to{box-shadow:0 0 0 8px #257eb12e,0 0 0 14px #257eb114,0 8px 20px #205f8433}50%{box-shadow:0 0 0 10px #257eb133,0 0 0 18px #257eb10d,0 10px 24px #205f843b}}.path-proposals>summary{cursor:pointer;color:#294e65;font-size:12px;font-weight:750}.path-proposals[open]>summary{padding-bottom:13px;border-bottom:1px solid var(--line)}.path-proposals>article{display:grid;grid-template-columns:1fr auto;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.path-proposals article section+section{margin-top:10px}.path-proposals article strong{font-size:12px}.path-proposals article p{margin:4px 0;color:var(--muted);font-size:11px}.path-proposals article small{color:var(--amber)}.path-proposals footer{display:flex;align-items:center;gap:7px}.classroom-page{height:100dvh;display:grid;grid-template-rows:56px auto minmax(0,1fr);overflow:hidden;background:var(--bg)}.classroom-pane-tabs{display:none}.classroom-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 10px;background:var(--surface);border-bottom:1px solid var(--line)}.classroom-topbar>div{display:flex;align-items:center;gap:9px}.classroom-topbar small{display:block;color:var(--muted);font-size:10px}.classroom-topbar h1{margin:2px 0 0;max-width:55vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.classroom-back-link{min-height:42px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:2px solid #527a9b;border-radius:6px;background:#e4f1fa;color:#244f70;font-size:13px;font-weight:750;white-space:nowrap}.classroom-back-link:hover{border-color:#245d83;background:#d5e9f7}.classroom-status{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.classroom-status-group{display:flex;align-items:center;gap:8px}.session-upload-activity{min-height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 9px;border:1px solid #7ba5c2;border-radius:5px;background:#e8f3fa;color:#245d83;font-size:11px;font-weight:700}.session-upload-activity.review{border-color:#d7a54c;background:#fff4df;color:#805e1d}.session-upload-activity.failed{border-color:#c9776d;background:#fff0ed;color:#984237}.session-upload-activity.completed{border-color:#74a99e;background:#e9f4f1;color:#24675b}.online-dot{width:7px;height:7px;border-radius:50%;background:var(--teal)}.connection-banner{min-height:34px;display:flex;align-items:center;gap:7px;padding:6px 14px;background:#fff2ef;color:#9c4037;font-size:12px}.connection-banner button{margin-left:auto;color:inherit;background:transparent}.classroom-split{min-height:0;grid-row:3;display:grid;grid-template-columns:minmax(560px,1.62fr) minmax(360px,1fr)}.resource-stage{min-width:0;min-height:0;position:relative;display:grid;grid-template-rows:54px minmax(0,1fr);background:#eef2f1;border-right:1px solid var(--line-strong);border-top:2px solid var(--teal)}.resource-stage.type-video{border-top-color:var(--cobalt)}.resource-stage.type-question_set,.resource-stage.type-practice{border-top-color:var(--amber)}.resource-stage.type-summary{border-top-color:var(--violet)}.stage-header{display:flex;align-items:center;justify-content:space-between;padding:0 13px;background:#ffffffe6;border-bottom:1px solid var(--line)}.stage-header>div{min-width:0;display:flex;align-items:center;gap:9px}.stage-kind{width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;border-radius:5px;background:#e4f0ee;color:var(--teal)}.stage-header small,.stage-header strong{display:block}.stage-header small{color:var(--muted);font-size:9px}.stage-header strong{max-width:42vw;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.stage-tools{display:flex;gap:2px}.stage-body{min-height:0;overflow:hidden}.resource-history{width:280px;max-height:420px;position:absolute;z-index:8;top:48px;right:50px;overflow:auto;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow)}.resource-history-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.resource-history h3{padding:5px 7px 9px;margin:0;font-size:12px}.resource-history .resource-history-entry{width:100%;display:flex;align-items:center;gap:8px;padding:9px 7px;background:transparent;border-radius:4px;text-align:left;font-size:12px}.resource-history .resource-history-entry:hover{background:var(--surface-muted)}.ppt-renderer{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 48px}.slide-canvas{min-height:0;display:grid;place-items:center;padding:18px;overflow:hidden;background:#dfe5e4}.slide-canvas img{display:block;max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 8px 25px #182b3629}.slide-controls{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:12px;padding:0 12px;background:var(--surface);border-top:1px solid var(--line);font-size:12px}.ppt-guidance-button{width:max-content;min-width:104px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;border:1px solid #6c94b2;border-radius:5px;background:#edf6fd;color:#285d7b;font-size:11px;font-weight:700}.ppt-guidance-button:hover:not(:disabled){border-color:var(--cobalt);background:#e1effa}.slide-pagination{display:flex;align-items:center;justify-content:center;gap:12px;font-variant-numeric:tabular-nums}.ppt-guidance-navigation{min-width:0;display:grid;grid-template-columns:minmax(90px,1fr) max-content;align-items:center;gap:10px}.ppt-guidance-track-viewport{min-width:0;overflow-x:auto;scrollbar-width:none}.ppt-guidance-track-viewport::-webkit-scrollbar{display:none}.ppt-guidance-track{height:18px;display:grid;align-items:center;gap:3px}.ppt-guidance-segment{width:100%;height:6px;padding:0;border:0;border-radius:2px;background:#ccd5dc;cursor:pointer;transition:height .12s ease,background .12s ease,box-shadow .12s ease}.ppt-guidance-segment:hover,.ppt-guidance-segment.current{height:12px;background:#6c94b2}.ppt-guidance-segment.pending{background:#d7ad57}.ppt-guidance-segment.explained{background:var(--teal)}.ppt-guidance-segment.current{box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--navy)}.ppt-guidance-state{justify-self:end;color:var(--muted);font-size:10px}.ppt-guidance-state.active{color:var(--teal-dark);font-weight:700}.video-learning-view{height:100%;display:grid;grid-template-columns:minmax(0,1fr) 250px;background:#142129;transition:grid-template-columns .18s ease}.video-learning-view.chapters-collapsed{grid-template-columns:minmax(0,1fr) 46px}.video-preparation-state{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:28px;background:#142129;color:#edf4f5;text-align:center}.video-preparation-state>span{width:52px;height:52px;display:grid;place-items:center;border:1px solid #51727d;border-radius:50%;background:#1d3039;color:#9bc8c3}.video-preparation-state strong{font-size:15px}.video-preparation-state small{max-width:360px;color:#aebfc5;font-size:11px;line-height:1.6}.video-preparation-state.failed>span{border-color:#9b665f;color:#efada2}.video-preparation-state .secondary-button{margin-top:5px;border-color:#7095a2;background:#1d3039;color:#edf4f5}.video-player-area{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;padding:16px}.video-frame{min-height:0;display:grid;place-items:center}.video-frame video{width:100%;max-height:100%;background:#000}.video-now{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#d9e4e7;font-size:11px}.video-now span{display:flex;align-items:center;gap:6px;color:#9bc8c3}.video-now strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.current-subtitle{min-height:42px;display:flex;align-items:flex-start;gap:8px;margin:0;padding:9px 11px;background:#22323a;color:#f2f5f4;font-size:12px;line-height:1.55}.current-subtitle svg{flex:0 0 auto;color:#9bc8c3}.current-subtitle.empty{color:#adbec3}.video-chapters{min-width:0;overflow:auto;background:#f8faf9;border-left:1px solid var(--line)}.video-chapters.collapsed{overflow:hidden}.video-chapters>header{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--line);font-size:12px}.video-chapters.collapsed>header{justify-content:center;padding:0}.video-chapters-heading{min-width:0;display:flex;align-items:center;justify-content:space-between;flex:1}.video-chapters-heading span{color:var(--muted)}.video-chapters>button{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr);gap:8px;padding:10px 9px;border-bottom:1px solid var(--line);background:transparent;text-align:left}.video-chapters>button.active{background:#e7f2f0;box-shadow:inset 3px 0 var(--teal)}.video-chapters time{color:var(--teal);font-size:10px}.video-chapters strong,.video-chapters small{display:block}.video-chapters strong{font-size:11px}.video-chapters small{display:-webkit-box;margin-top:4px;overflow:hidden;color:var(--muted);font-size:9px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.video-chapters-empty{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:24px;color:var(--muted);text-align:center}.video-chapters-empty svg{color:var(--teal)}.video-chapters-empty strong{color:var(--ink);font-size:11px}.video-chapters-empty small{font-size:9px;line-height:1.5}.practice-renderer{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 58px;background:var(--surface)}.practice-empty-state{height:100%;display:grid;place-content:center;justify-items:center;padding:28px;text-align:center;background:var(--surface)}.practice-empty-state>span{width:46px;height:46px;display:grid;place-items:center;border:1px solid #8aabc5;border-radius:50%;background:#e7f1f8;color:#285f80}.practice-empty-state h2{margin:14px 0 7px;font-size:16px}.practice-empty-state p{max-width:380px;margin:0 0 16px;color:var(--muted);font-size:11px;line-height:1.6}.question-scroll{min-height:0;overflow:auto;padding:22px clamp(18px,4vw,55px)}.question-item{max-width:760px;margin:0 auto 28px;padding-bottom:26px;border-bottom:1px solid var(--line)}.question-item header{display:flex;align-items:center;gap:8px}.question-item header span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#f6ebdc;color:var(--amber);font-weight:750}.question-item header small{color:var(--muted)}.question-item h3{margin:13px 0 15px;font-size:15px;line-height:1.55}.option-list{display:grid;gap:8px}.option-list label{display:flex;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:5px;cursor:pointer}.option-list label:has(input:checked){border-color:var(--cobalt);background:#eef3fb}.option-list input{width:16px;height:16px;flex:0 0 16px;box-shadow:none}.answer-result{margin-top:10px;color:var(--amber);font-size:12px}.answer-result.correct{color:var(--teal)}.practice-submit{display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-top:1px solid var(--line);background:#fafcfb}.practice-submit span{color:var(--muted);font-size:12px}.practice-submit .practice-submit-error{flex:1;margin:0 16px;color:#b42318;text-align:right}.svg-renderer,.game-renderer{height:100%;padding:15px}.svg-renderer iframe,.game-renderer iframe{width:100%;height:100%;border:0;background:#fff}.game-learning-view{height:100%;display:grid;grid-template-rows:52px minmax(0,1fr) auto;background:var(--surface)}.game-learning-view>header{display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--line)}.game-learning-view>header>div{display:flex;align-items:center;gap:9px;color:var(--amber)}.game-learning-view header strong,.game-learning-view header small{display:block}.game-learning-view header strong{color:var(--text);font-size:12px}.game-learning-view header small{margin-top:3px;color:var(--muted);font-size:9px}.game-frame-wrap{min-height:0;position:relative;padding:14px;background:#edf1f0}.game-frame-wrap iframe{width:100%;height:100%;border:0;background:#fff}.game-busy{position:absolute;inset:14px;display:flex;align-items:center;justify-content:center;gap:8px;background:#ffffffd1;color:var(--teal);font-size:12px}.game-result{height:100%;display:grid;place-content:center;justify-items:center;text-align:center;background:var(--surface)}.game-result>svg{color:var(--amber)}.game-result.passed>svg{color:var(--teal)}.game-result h2{margin:12px 0 4px;font-size:20px}.game-result>strong{color:var(--cobalt);font-size:26px}.game-result p{margin:6px 0 18px;color:var(--muted);font-size:12px}.game-learning-view>.form-error{margin:0;padding:8px 14px;border-top:1px solid #efc9c2}.document-renderer{height:100%;overflow:auto;padding:clamp(24px,5vw,60px);background:var(--surface)}.document-renderer>h2{font-size:23px}.prose,.structured-content p{white-space:pre-wrap;line-height:1.75;color:#304654}.structured-content section{padding:15px 0;border-bottom:1px solid var(--line)}.structured-content h3{font-size:14px}.notes-hub,.summary-renderer{height:100%;overflow:auto;padding:clamp(22px,4vw,48px);background:var(--surface)}.notes-hub-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:2px solid #b9d4e4}.notes-hub-header small,.summary-renderer small{color:var(--muted);font-size:10px}.notes-hub-header h2,.summary-renderer h2{display:flex;align-items:center;gap:8px;margin:4px 0 0;font-size:21px}.notes-tabs{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));min-height:38px;padding:3px;border:1px solid #9dbfd3;border-radius:6px;background:#eaf4f9}.notes-tabs button{border:0;border-radius:4px;background:transparent;color:#38586b;font-size:12px;font-weight:700}.notes-tabs button.active{background:#fff;color:#185f86;box-shadow:0 1px 4px #28506824}.notes-tabs span{display:inline-grid;min-width:19px;height:19px;margin-left:4px;place-items:center;border-radius:50%;background:#d3e8f3;font-size:10px}.notes-list{display:grid;gap:14px;max-width:900px;margin:18px auto 0}.note-card{display:grid;gap:10px;padding:16px;border:1px solid #9dbfd3;border-left-width:4px;border-radius:6px;background:#fff}.note-card.candidate{border-left-color:#d39b32;background:#fffdf8}.note-card.formal{border-left-color:#258975}.note-card>header,.note-card>footer{display:flex;align-items:center}.note-card>header{justify-content:space-between}.note-card>header span{color:#31586d;font-size:11px;font-weight:800}.note-card>header small{color:var(--muted);font-size:10px}.note-card>input,.note-card>textarea{width:100%;border:1px solid #bfd3df;border-radius:5px;background:#fbfdfe;color:#263f4d}.note-card>input{min-height:38px;padding:8px 10px;font-size:14px;font-weight:750}.note-card>textarea{min-height:112px;padding:10px;resize:vertical;line-height:1.65}.note-card>footer{justify-content:flex-end;gap:8px}@media(max-width:720px){.notes-hub-header{align-items:stretch;flex-direction:column}}.summary-renderer{max-width:920px;margin:auto}.summary-renderer>header{display:flex;align-items:center;gap:11px;padding-bottom:20px;border-bottom:1px solid var(--line);color:var(--teal)}.summary-lead{margin:22px 0;color:#304654;line-height:1.75}.summary-renderer section{padding:17px 0;border-top:1px solid var(--line)}.summary-renderer section h3{display:flex;align-items:center;gap:8px;margin:0 0 11px;font-size:14px}.summary-renderer ul{display:grid;gap:8px;margin:0;padding-left:21px;color:#40535e;line-height:1.6}.conversation-panel{min-width:0;min-height:0;display:grid;grid-template-rows:54px minmax(0,1fr) auto;background:var(--surface)}.conversation-header{display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--line)}.conversation-header>div{display:flex;align-items:center;gap:8px}.conversation-header strong,.conversation-header small{display:block}.conversation-header strong{font-size:12px}.conversation-header small{color:var(--muted);font-size:9px}.ai-presence{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e2f0ee;color:var(--teal)}.message-scroll{min-height:0;overflow-y:auto;padding:16px 14px 26px;scroll-behavior:smooth}.conversation-empty{min-height:60%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--muted)}.conversation-empty h2{margin:12px 0 6px;font-size:16px;color:var(--text)}.message{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;margin-bottom:17px;border-radius:6px;transition:background .16s ease,box-shadow .16s ease}.message.history-focused{background:#e8f4fb;box-shadow:0 0 0 3px #315fa829}.message.user{margin-left:13%;grid-template-columns:minmax(0,1fr) 28px}.message-avatar{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#e4f1ef;color:var(--teal)}.message.user .message-avatar{grid-column:2;grid-row:1;background:#e8edf4;color:var(--navy)}.message-body{min-width:0}.message.user .message-body{grid-column:1;grid-row:1}.message-body>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.message.user .message-body>header{flex-direction:row-reverse}.message-body header strong{font-size:11px}.message-body time{color:var(--muted);font-size:9px}.message-content{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.message.user .message-content{padding:9px 11px;border-radius:7px 2px 7px 7px;background:#edf1f5;white-space:pre-wrap}.message.provisional .message-content{color:var(--muted)}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content blockquote,.markdown-content pre,.markdown-content .markdown-table-wrap{margin:0 0 10px}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{margin:14px 0 7px;color:var(--text);font-weight:750;line-height:1.35;letter-spacing:0}.markdown-content h1{font-size:17px}.markdown-content h2{font-size:15px}.markdown-content h3,.markdown-content h4{font-size:14px}.markdown-content ul,.markdown-content ol{padding-left:21px}.markdown-content li+li{margin-top:3px}.markdown-content li>p{margin:0}.markdown-content blockquote{padding:6px 10px;border-left:3px solid #6f9db7;background:#edf5fa;color:#3c5c70}.markdown-content code{padding:1px 4px;border:1px solid #ccd9df;border-radius:3px;background:#eef3f5;color:#1f5264;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9em}.markdown-content pre{max-width:100%;overflow-x:auto;padding:10px 12px;border:1px solid #314c5b;border-radius:5px;background:#172832;color:#e7f0f3;white-space:pre}.markdown-content pre code{padding:0;border:0;background:transparent;color:inherit;font-size:11px}.markdown-content a{color:#1e6793;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.markdown-content hr{margin:12px 0;border:0;border-top:1px solid var(--line-strong)}.markdown-table-wrap{max-width:100%;overflow-x:auto}.markdown-content table{width:max-content;min-width:100%;border-collapse:collapse;font-size:11px}.markdown-content th,.markdown-content td{padding:6px 8px;border:1px solid #b8cbd5;text-align:left;vertical-align:top}.markdown-content th{background:#e4eff5;color:#244d64}.markdown-content input[type=checkbox]{margin:0 5px 0 0;accent-color:var(--teal)}.source-count{margin-top:7px;color:var(--muted);font-size:10px}.typing{display:inline-flex;gap:4px;padding:8px 0}.typing i{width:5px;height:5px;border-radius:50%;background:var(--teal);animation:pulse 1s infinite alternate}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes pulse{to{opacity:.25;transform:translateY(-2px)}}.inline-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin-top:10px}.inline-actions button{width:100%;min-height:34px;display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;padding:0 10px;border:1px solid #aac9c5;border-radius:5px;background:#f4f9f8;color:var(--teal-dark);font-size:11px}.inline-actions button:hover{border-color:var(--teal)}.inline-actions button.reusable{border-color:#6c94b2;background:#edf6fd;color:#285f80}.inline-actions button.done{color:#4e6f6b}.inline-actions button.failed{border-color:#c88276;background:#fff1ee;color:#a44e43}.inline-actions button.failed:disabled{opacity:1;cursor:not-allowed}.activity-row{min-height:34px;margin:5px 0 10px 36px;padding:7px 9px;border-left:2px solid var(--teal);background:var(--surface-muted);color:var(--muted);font-size:10px}.activity-row.status-failed{border-left-color:var(--coral);background:#fff1ee}.activity-row.status-completed{border-left-color:var(--teal)}.activity-row.status-queued,.activity-row.status-retry_wait{border-left-color:var(--amber);background:#fff4dd}.activity-row.status-processing{border-left-color:var(--cobalt);background:#e9f1fb}.activity-row.status-waiting_confirmation{border-left-color:var(--amber);background:#fff8e8}.activity-row.status-cancelled{border-left-color:#81909d;background:#eef2f4}.activity-row>.activity-summary{display:grid;grid-template-columns:18px minmax(0,1fr) 26px;align-items:center;gap:6px}.activity-row>.activity-summary>span strong{display:block;margin-bottom:2px;color:var(--text);font-size:10px}.activity-row>dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 0 24px;padding-top:7px;border-top:1px solid var(--line)}.activity-row>dl div{min-width:0}.activity-row dt{color:var(--muted)}.activity-row dd{margin:2px 0 0;overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.activity-detail-list{display:grid;gap:0;margin-top:7px;border-top:1px solid var(--line)}.activity-detail-list>div{display:grid;grid-template-columns:90px minmax(0,1fr) auto minmax(0,auto);gap:8px;padding:7px 0;border-bottom:1px solid var(--line);align-items:center}.activity-detail-list strong,.activity-detail-list span,.activity-detail-list small{min-width:0;font-size:9px}.activity-detail-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-detail-list small{color:var(--muted)}.activity-controls{display:inline-flex;justify-content:flex-end;gap:5px}.activity-controls button{min-height:26px;display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border:1px solid var(--line-strong);border-radius:5px;background:var(--surface);color:var(--text);font-size:9px;cursor:pointer}.activity-controls button:hover:not(:disabled){border-color:var(--cobalt);color:var(--cobalt)}.activity-controls button:disabled{cursor:wait;opacity:.6}.activity-operation-error{grid-column:1 / -1;color:var(--coral)}.composer-wrap{position:relative;padding:9px 11px 8px;background:var(--surface);border-top:1px solid var(--line)}.composer{min-height:44px;display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:end;gap:4px;padding:4px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface)}.composer:focus-within{border-color:var(--cobalt);box-shadow:0 0 0 3px #315fa814}.composer textarea{min-height:34px;max-height:120px;padding:7px 4px;resize:none;border:0;box-shadow:none}.send-button{width:34px;height:34px;display:grid;place-items:center;border-radius:5px;background:var(--teal);color:#fff}.composer.learning-situation-composer{grid-template-columns:minmax(0,1fr) 42px}.composer.learning-situation-composer textarea{grid-column:1;height:34px;overflow-y:auto}.composer.learning-situation-composer .send-button{grid-column:2;justify-self:end}.composer-menu{position:absolute;z-index:10;bottom:70px;left:10px;width:270px;max-height:330px;overflow:auto;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow)}.composer-menu header{display:flex;align-items:center;justify-content:space-between;padding:3px 4px 7px;font-size:11px}.composer-menu>button{width:100%;display:flex;align-items:center;gap:7px;padding:9px 7px;background:transparent;border-radius:4px;text-align:left;font-size:11px}.composer-menu>button:hover{background:var(--surface-muted)}.composer-menu p{padding:10px 6px;color:var(--muted);font-size:11px}@media(max-width:1099px){.learning-situation-layout{height:auto;grid-template-columns:1fr;overflow:visible}.learning-situation-stage{min-height:620px}.learning-situation-conversation{min-height:520px;border-top:1px solid var(--line-strong);border-left:0}.auth-workspace{grid-template-columns:1fr}.auth-panel{width:min(100%,520px);grid-row:1;justify-self:center}.auth-showcase{grid-row:2}.classroom-page{grid-template-rows:56px auto 42px minmax(0,1fr)}.classroom-pane-tabs{grid-row:3;display:grid;grid-template-columns:1fr 1fr;padding:5px;border-bottom:1px solid var(--line);background:var(--surface)}.classroom-pane-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;background:transparent;color:var(--muted);font-size:11px}.classroom-pane-tabs button.active{background:var(--surface-muted);color:var(--teal-dark)}.classroom-split{grid-row:4;grid-template-columns:1fr}.classroom-split.mobile-stage .conversation-panel,.classroom-split.mobile-conversation .resource-stage{display:none}.conversation-panel,.resource-stage{width:100%}.library-layout{grid-template-columns:1fr;height:auto}.resource-detail{display:none}.quick-learning-layout{min-height:0;grid-template-columns:1fr}.quick-topic-form,.quick-topic-history{min-height:520px}.portrait-overview-band{grid-template-columns:minmax(0,1fr) 190px}.dimension-signal-map{grid-column:1 / -1}.portrait-insight-grid{grid-template-columns:1fr}.situation-profile-grid{grid-template-columns:minmax(260px,.9fr) minmax(400px,1.3fr)}.learning-situation-profile-stack{grid-template-columns:minmax(0,1fr)}.situation-preference-column{grid-column:1 / -1;min-height:260px}.preference-strip{grid-template-columns:190px minmax(0,1fr)}.preference-edit-button{grid-column:1 / -1;justify-self:end}.mastery-visual-overview{grid-template-columns:180px minmax(300px,1fr)}.mastery-landscape{border-right:0}.course-learning-map>header{grid-template-columns:minmax(0,1fr) 190px}}@media(max-width:767px){.app-frame{display:block}.situation-profile-grid,.learning-status-statistics,.learning-status-facts,.plan-date-fields{grid-template-columns:1fr}.situation-planning-column,.situation-statistics-column,.situation-preference-column{min-height:0}.learning-situation-layout{border-right:0;border-left:0}.learning-situation-stage{min-height:0}.learning-situation-stage-header{height:auto;min-height:54px;align-items:stretch;flex-direction:column;gap:4px;padding:7px 10px}.learning-situation-stage-header .profile-tabs{width:100%;grid-template-columns:repeat(3,1fr)}.learning-situation-stage-content{padding:10px}.learning-status-pie{margin:0 auto}.learning-status-facts>div+div{border-left:0;border-top:1px solid var(--line)}.global-sidebar{position:relative;width:100%;height:82px;display:flex;align-items:center;padding:10px 12px}.sidebar-brand-row{width:100%;min-height:58px;display:block}.brand{height:58px;font-size:19px}.brand img{width:48px;height:48px;flex-basis:48px}.global-sidebar.collapsed{padding:10px 12px}.global-sidebar.collapsed .sidebar-brand-row{min-height:58px;display:block}.global-sidebar.collapsed .brand span{display:inline}.sidebar-toggle,.sidebar-companion{display:none}.global-sidebar nav,.global-sidebar.collapsed nav{position:fixed;z-index:80;right:0;bottom:0;left:0;height:calc(64px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:4px 8px env(safe-area-inset-bottom);border-top:2px solid #456f91;background:#e7f1f8}.global-sidebar nav .nav-item,.global-sidebar.collapsed nav .nav-item{height:56px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;padding:0 3px;border:0;border-radius:4px;box-shadow:none;text-align:center}.global-sidebar nav .nav-item.active,.global-sidebar.collapsed nav .nav-item.active{background:#c8def0;box-shadow:inset 0 3px #1f6e91}.global-sidebar nav .nav-item span,.global-sidebar.collapsed nav .nav-item span{display:block;max-width:100%;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.account-block,.global-sidebar.collapsed .account-block{position:absolute;top:18px;right:12px;display:grid;grid-template-columns:34px 34px;gap:4px;margin:0;padding:0;border:0}.account-block>div:nth-child(2),.global-sidebar.collapsed .account-block>div:nth-child(2){display:none}.app-main{padding:0 16px calc(88px + env(safe-area-inset-bottom))}.slide-controls{grid-template-columns:max-content minmax(0,1fr);gap:7px;padding:0 8px}.ppt-guidance-button{min-width:96px}.ppt-guidance-state{display:none}.ppt-guidance-navigation{grid-template-columns:minmax(70px,1fr) max-content;gap:5px}.slide-pagination{gap:4px}.page-header{min-height:78px}.page-header h1{font-size:21px}.course-name-entry{grid-template-columns:1fr}.ai-prefill-button{width:100%}.auth-panel{padding:25px 20px}.auth-topbar{height:66px;padding:0 18px}.auth-topbar>span{display:none}.auth-brand{font-size:17px}.auth-workspace{min-height:calc(100dvh - 66px);padding:16px}.bulletin-header{display:flex;align-items:flex-start;flex-direction:column}.bulletin-board{min-height:440px;padding:20px 14px}.flow-route{display:grid;grid-template-columns:1fr 1fr;gap:8px}.flow-route-part{display:block}.flow-route-part:last-child{grid-column:1 / -1}.flow-route-part article{width:100%;min-height:128px}.flow-arrow{display:none}.flow-facts{grid-template-columns:1fr}.flow-facts span{min-height:52px;border-right:0;border-bottom:1px solid var(--line)}.flow-facts span:last-child{border-bottom:0}.architecture-part>section{grid-template-columns:1fr}.architecture-part header{min-height:46px;border-right:0;border-bottom:1px solid var(--line)}.architecture-part section>div{grid-template-columns:1fr 1fr}.architecture-part section span:nth-child(2){border-right:0}.architecture-part section span:nth-child(-n+2){border-bottom:1px solid var(--line)}.form-row{grid-template-columns:1fr}.course-meta span{display:none}.course-row{grid-template-columns:42px minmax(0,1fr) auto}.toolbar,.library-toolbar,.profile-toolbar{align-items:stretch;flex-direction:column;padding:14px 0}.search-field{width:100%}.course-picker{justify-content:space-between}.course-workspace{height:auto;min-height:100dvh;grid-template-columns:1fr;grid-template-rows:auto auto;overflow:visible}.knowledge-panel{max-height:48dvh}.knowledge-detail{overflow:visible}.workspace-topbar,.node-content{padding-left:16px;padding-right:16px}.node-intro{grid-template-columns:42px 1fr}.node-intro .primary-button{grid-column:1 / -1}.node-stats{grid-template-columns:1fr}.node-stats div{border-right:0;border-bottom:1px solid var(--line)}.outline-edit-summary,.outline-edit-row{grid-template-columns:1fr}.flow-panel{padding:22px 16px}.outline-review>header{grid-template-columns:38px minmax(0,1fr)}.validation-badge{grid-column:2;width:max-content}.outline-review>footer{align-items:stretch;flex-direction:column}.outline-setup-state{min-height:420px;padding:24px 16px}.creation-shell{margin-top:18px}.stepper{padding:14px 16px}.stepper div{font-size:0}.classroom-topbar h1{max-width:55vw}.classroom-status{font-size:0}.classroom-status svg,.online-dot{display:block}.message.user{margin-left:4%}.video-learning-view{grid-template-columns:1fr}.video-chapters{display:none}.profile-tabs{width:100%;grid-template-columns:repeat(3,1fr)}.profile-tabs button{padding:0 5px}.portrait-overview-band{grid-template-columns:1fr;gap:18px;padding:18px}.portrait-rings{justify-content:flex-start}.dimension-signal-map{grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.plan-context-grid{grid-template-columns:1fr}.plan-context-grid article+article{border-top:2px solid var(--line);border-left:0}.focus-orbit{gap:7px;padding:22px 10px}.focus-cluster>strong{width:62px;height:62px}.focus-cluster.current>strong{width:70px;height:70px}.preference-strip{grid-template-columns:1fr;gap:16px}.learning-situation-profile-stack .situation-preference-column.preference-strip{grid-template-columns:minmax(0,1fr);min-height:300px}.preference-groups{grid-template-columns:1fr;gap:9px}.learning-situation-profile-stack .situation-preference-column .preference-groups{grid-template-columns:minmax(0,1fr)}.preference-edit-button{grid-column:auto;justify-self:stretch}.learning-situation-profile-stack .situation-preference-column .preference-edit-button{grid-column:1;grid-row:auto;justify-self:stretch}.profile-candidates article{align-items:stretch;flex-direction:column}.mastery-visual-overview{grid-template-columns:1fr}.mastery-gauge{min-height:210px;border-right:0;border-bottom:2px solid #8aabc5}.mastery-landscape{padding:22px 18px;border-bottom:2px solid #8aabc5}.mastery-landscape-legend{grid-template-columns:repeat(3,minmax(0,1fr))}.review-priority-card{grid-template-columns:30px minmax(0,1fr);gap:12px}.review-priority-card>header{grid-column:2}.forgetting-curve-wrap,.review-priority-card>footer{grid-column:1 / -1}.review-priority-card>footer{text-align:left}.course-learning-map>header{grid-template-columns:1fr;gap:14px;padding:16px}.learning-map-heading{align-items:flex-start}.learning-map-progress{width:100%;justify-items:start}.learning-map-breadcrumb{padding:0 8px}.learning-node-tooltip{width:230px}.course-learning-map>footer{align-items:flex-start;flex-wrap:wrap;padding:12px 14px}.course-learning-map>footer small{width:100%;margin-left:0}.path-proposals>article{grid-template-columns:1fr}.path-proposals footer{justify-content:flex-end}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
