:root{color:#1b1b1f;background:linear-gradient(180deg,#dbe9fb,#edf5ff 220px,#fff 520px,#fff);font-family:Segoe UI Variable Text,Segoe UI,PingFang SC,Microsoft YaHei UI,sans-serif;line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--page-bg: linear-gradient(180deg, #dbe9fb 0px, #edf5ff 220px, #ffffff 520px, #ffffff 100%);--text-main: #1b1b1f;--text-secondary: #4b5567;--text-soft: #667082;--line-soft: rgba(255, 255, 255, .72);--line-dark: rgba(19, 27, 46, .08);--card-fill: rgba(255, 255, 255, .68);--card-fill-strong: rgba(255, 255, 255, .82);--card-fill-soft: rgba(248, 251, 255, .58);--card-fill-primary: rgba(255, 255, 255, .74);--card-fill-secondary: rgba(255, 255, 255, .58);--shadow-lg: 0 28px 64px rgba(38, 70, 120, .14);--shadow-md: 0 18px 36px rgba(43, 76, 128, .12);--shadow-sm: 0 10px 22px rgba(49, 81, 128, .09);--accent: #0f6cbd;--accent-strong: #084f97;--accent-soft: rgba(15, 108, 189, .12);--accent-soft-strong: rgba(15, 108, 189, .18);--ok-fill: rgba(16, 124, 16, .14);--ok-text: #106c10;--warning-fill: rgba(255, 170, 0, .16);--warning-text: #946200;--danger-fill: rgba(209, 52, 56, .14);--danger-text: #b42318;--state-neutral-fill: rgba(90, 98, 112, .08);--state-neutral-border: rgba(90, 98, 112, .12);--state-neutral-text: #5f6572;--state-warm-fill: rgba(196, 150, 84, .12);--state-warm-border: rgba(196, 150, 84, .16);--state-warm-text: #8a6b3d;--state-danger-fill: rgba(209, 52, 56, .14);--state-danger-border: rgba(209, 52, 56, .22);--state-danger-text: #ab2428;--option-ok: rgba(16, 124, 16, .12);--option-ok-line: rgba(16, 124, 16, .24);--control-fill: rgba(255, 255, 255, .74);--control-fill-hover: rgba(255, 255, 255, .92);--field-fill: rgba(250, 252, 255, .84);--field-fill-hover: rgba(255, 255, 255, .94);--field-line: rgba(144, 174, 214, .2);--field-focus: rgba(15, 108, 189, .22);--control-height: 38px;--control-height-sm: 34px;--control-radius: 11px;--radius-xl: 28px;--radius-lg: 22px;--radius-md: 18px;--radius-pill: 999px;--motion: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;min-height:100vh;color:var(--text-main);background:var(--page-bg);overflow-x:hidden}body:before,body:after{display:none}button,input,select{font:inherit}button{border:0}input,select{outline:none}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.page-shell{width:min(1320px,calc(100vw - 40px));margin:0 auto;padding:24px 0 56px}.card,.toast-card{position:relative;overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius-xl);background:var(--card-fill);box-shadow:var(--shadow-lg);backdrop-filter:blur(28px) saturate(145%);-webkit-backdrop-filter:blur(28px) saturate(145%)}.card:before,.toast-card:before,.question-card:before,.course-row:before,.remote-course-row:before,.chapter-nav-panel:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.92),transparent);pointer-events:none}.card{padding:20px}.toast-card{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;align-items:center;gap:12px;width:min(420px,calc(100vw - 24px));padding:14px 18px;border-radius:18px;background:#fbfdffcc;box-shadow:none}.import-log-popup{position:fixed;right:24px;bottom:24px;z-index:38;display:flex;flex-direction:column;width:min(420px,calc(100vw - 24px));max-width:calc(100vw - 24px);min-width:320px;max-height:min(56vh,520px);padding:16px 16px 14px;background:#f8fbffc7;box-shadow:none;overflow:hidden}.import-log-popup.has-toast{bottom:106px}.import-log-popup .card-head{margin-bottom:10px;flex:0 0 auto}.import-log-popup .card-head h2{font-size:1.08rem}.import-log-popup .card-head p{margin-top:3px;font-size:12px;color:var(--text-soft)}.import-log-popup .log-text-scroll{flex:1 1 auto;min-height:0;overflow-y:scroll;overflow-x:hidden;padding:2px 12px 0 0;font-size:13px;line-height:1.55}.import-log-popup .log-line{padding:7px 0;border-bottom:1px solid rgba(160,183,214,.12)}.import-log-popup .log-line:last-child{border-bottom:0}.import-log-popup .log-line-main{color:var(--text-main);overflow-wrap:anywhere}.import-log-popup .log-line-meta{margin-top:2px;color:var(--text-soft);font-size:12px;overflow-wrap:anywhere}.toast-dot{width:10px;height:10px;border-radius:999px;background:linear-gradient(180deg,#4aa1ff,#0f6cbd);box-shadow:0 0 0 6px #0f6cbd1f;flex:0 0 auto}.app-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px;overflow:visible;z-index:18}.course-topbar{padding:18px 22px;gap:16px;align-items:center}.topbar-main h1,.card-head h2,.course-row-title h3,.chapter-block-head h3,.question-title,.chapter-nav-head h3{margin:0;letter-spacing:-.02em}.topbar-main h1{font-size:clamp(2rem,4vw,2.8rem);line-height:1.04}.course-topbar .topbar-main h1{position:relative;display:inline-block;font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.02}.route-course .course-topbar .topbar-main h1:after{content:"";display:block;width:40px;height:3px;margin-top:8px;border-radius:999px;background:#0f6cbd}.route-wrong .topbar-main h1{position:relative;display:inline-block}.route-wrong .topbar-main h1:after{content:"";display:block;width:40px;height:3px;margin-top:8px;border-radius:999px;background:#0f6cbd}.topbar-main p,.card-head p,.chapter-nav-head p,.question-note,.question-context{margin:0;color:var(--text-secondary)}.topbar-main p{margin-top:8px;max-width:62ch;font-size:14px}.course-topbar .section-kicker{margin-bottom:6px}.topbar-meta{margin-top:10px}.course-topbar .topbar-meta{margin-top:10px;gap:8px}.course-topbar .inline-pill{min-height:28px;padding:0 10px}.course-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.course-title-meta{display:grid;justify-items:start;margin-left:auto;gap:8px;text-align:left}.teacher-inline{color:var(--text-secondary);font-size:14px;font-weight:600;white-space:nowrap;padding-left:10px}.course-stats-inline{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap}.section-kicker{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:10px;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.section-kicker:before{content:"";width:18px;height:4px;border-radius:999px;background:#0f6cbdb8;order:2}.topbar-actions,.stack-inline,.hero-metrics,.card-head,.question-meta,.question-actions,.panel-footer,.test-toolbar,.remote-course-actions,.course-row-meta,.topbar-stats{display:flex;gap:12px;flex-wrap:wrap}.topbar-stats{justify-content:flex-end}.topbar-actions-row{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.mini-stat,.inline-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 12px;border-radius:var(--radius-pill);background:#ffffffb8;border:1px solid rgba(160,183,214,.18);color:var(--text-secondary);font-size:12px;font-weight:600}.mini-stat{min-height:auto;padding:0;background:transparent;border:0;color:var(--text-soft);font-weight:500}.user-menu{position:relative}.user-menu[open]{z-index:20}.user-menu summary{list-style:none}.user-menu summary::-webkit-details-marker{display:none}.user-menu-trigger{display:inline-flex;align-items:center;gap:8px;min-height:var(--control-height);padding:0 12px;border-radius:var(--control-radius);background:#ffffffc2;border:1px solid rgba(160,183,214,.22);color:var(--text-main);font-weight:650;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .18s var(--motion),border-color .18s var(--motion),color .18s var(--motion)}.user-menu-trigger:hover{background:#fffffff0;border-color:#a0b7d652;color:var(--text-main)}.user-menu-caret{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-1px) rotate(45deg);opacity:.72}.user-menu-panel{position:absolute;top:calc(100% + 10px);right:0;min-width:180px;padding:8px;display:grid;gap:4px;background:#fff;border:1px solid rgba(125,137,153,.18);box-shadow:var(--shadow-md);z-index:30;overflow:visible;backdrop-filter:none;-webkit-backdrop-filter:none}.user-menu-item{display:flex;align-items:center;width:100%;min-height:var(--control-height);padding:0 12px;border:0;border-radius:var(--control-radius);background:transparent;color:var(--text-main);font:inherit;text-align:left;cursor:pointer;transition:background .18s var(--motion),color .18s var(--motion)}.user-menu-item:hover{background:#6e88ab14}.user-menu-item.danger{color:#7f4b56}.user-menu-item.danger:hover{background:#b461721a}.inline-pill.ok,.import-status-pill{background:var(--state-neutral-fill);color:var(--state-neutral-text);border-color:var(--state-neutral-border)}.inline-pill.warning{background:var(--state-warm-fill);color:var(--state-warm-text);border-color:var(--state-warm-border)}.inline-pill.danger{background:var(--state-danger-fill);color:var(--state-danger-text);border-color:var(--state-danger-border)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height);padding:0 14px;border-radius:var(--control-radius);border:1px solid transparent;cursor:pointer;font-size:14px;font-weight:600;line-height:1;transition:background .22s var(--motion),border-color .22s var(--motion),transform .22s var(--motion),color .22s var(--motion),opacity .22s var(--motion)}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.48;cursor:not-allowed;transform:none}.button-primary{color:var(--text-main);background:#ffffffc7;border-color:#a0b7d633}.button-primary:hover{background:#ffffffeb;border-color:#a0b7d647}.button-fluent-action{color:var(--text-main);background:#ffffffc7;border-color:#a0b7d633;box-shadow:none}.button-fluent-action:hover{background:#ffffffeb;border-color:#a0b7d647}.button-import{color:var(--text-main);background:#ffffffc7;border-color:#a0b7d633}.button-import:hover{background:#ffffffeb;border-color:#a0b7d647}.button-secondary,.button-subtle,.tab-button,.chapter-link{color:var(--text-main);background:#ffffffc7;border:1px solid rgba(160,183,214,.2)}.button-secondary:hover,.button-subtle:hover,.tab-button:hover,.chapter-link:hover{background:#ffffffeb;border-color:#a0b7d647}.button-sm{min-height:var(--control-height-sm);padding:0 12px;border-radius:10px;font-size:13px}.button-subtle.is-current,.tab-button.is-active,.chapter-link.is-active{color:var(--accent-strong);background:#0f6cbd14;border-color:#0f6cbd24}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr);gap:16px;align-items:start}.dashboard-main,.dashboard-side,.course-layout,.wrong-manager-layout{display:grid;gap:16px}.auth-shell{min-height:calc(100vh - 80px);display:grid;place-items:center}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:60;padding:24px}.auth-overlay-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#141c2847}.auth-overlay .auth-shell{min-height:auto;position:relative;z-index:1;width:100%}.auth-card{width:min(520px,100%);background:#fff;border-color:#7d899933}.auth-head{margin-bottom:12px}.auth-tabs{margin-bottom:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;width:100%;padding:4px;border-radius:14px;background:#f7fafee6;border:1px solid rgba(160,183,214,.14)}.auth-tabs .tab-button{width:100%;min-height:var(--control-height);justify-content:center;border-radius:10px;background:transparent;border-color:transparent}.auth-tabs .tab-button:hover{background:#ffffffb8;border-color:transparent}.auth-form{display:grid;gap:14px}.admin-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);gap:16px}.wrong-manager-card{background:var(--card-fill-primary)}.wrong-manager-split{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:14px;align-items:start}.wrong-course-sidebar,.wrong-course-detail{border-radius:var(--radius-lg);background:#ffffffad;border:1px solid rgba(255,255,255,.78)}.wrong-course-sidebar{position:sticky;top:20px;display:grid;gap:12px;max-height:calc(100vh - 96px);padding:14px;overflow:hidden}.wrong-course-sidebar-head h3{margin:0;letter-spacing:-.02em}.wrong-course-sidebar-head p{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.wrong-course-nav{display:grid;gap:8px;min-height:0;overflow:auto;padding-right:4px}.wrong-course-nav-item{display:grid;gap:3px;width:100%;min-height:52px;padding:9px 12px;border:1px solid rgba(160,183,214,.14);border-radius:var(--control-radius);background:#ffffffa3;color:var(--text-main);text-align:left;cursor:pointer;transition:background .18s var(--motion),border-color .18s var(--motion)}.wrong-course-nav-item:hover,.wrong-course-nav-item.is-active{background:#fffffff0;border-color:#0f6cbd29}.wrong-course-nav-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.wrong-course-nav-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-size:12px}.wrong-course-detail{display:grid;gap:14px;min-width:0;padding:14px}.wrong-course-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.wrong-course-head h3{margin:0;letter-spacing:-.02em}.wrong-course-head p{margin:4px 0 0;color:var(--text-secondary);font-size:14px}.wrong-course-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-card{background:var(--card-fill-primary)}.admin-side-card{background:var(--card-fill-secondary);box-shadow:none;overflow:visible}.admin-pending-card{grid-column:1 / -1}.admin-list,.admin-user-list{display:grid;gap:12px;overflow:visible}.admin-row{align-items:center}.admin-user-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border-radius:16px;background:#ffffffa8;border:1px solid rgba(255,255,255,.78)}.admin-user-main{display:grid;gap:3px;min-width:0}.admin-user-main span{color:var(--text-secondary)}.admin-user-menu{flex:0 0 auto}.admin-user-menu-trigger{gap:8px}.course-panel-shell{padding:14px 16px 18px}.dashboard-grid:not(:has(.dashboard-side)){grid-template-columns:1fr}.card-head{align-items:flex-start;justify-content:space-between;margin-bottom:14px}.card-head-actions-only{justify-content:flex-end;margin-bottom:12px}.card-head h2{font-size:clamp(1.36rem,2.2vw,1.78rem);line-height:1.08}.card-head p{margin-top:6px;max-width:64ch;font-size:14px}.app-topbar,.course-panel-shell,.library-card{background:var(--card-fill-primary);border-color:#fffc}.import-cta-row{display:flex;justify-content:flex-start;margin-top:12px}.import-layout{display:grid;grid-template-columns:1fr;gap:14px}.import-main{min-width:0}.import-layout.has-side-panel{grid-template-columns:minmax(520px,720px) minmax(240px,1fr);align-items:center}.import-layout.has-side-panel .import-main{display:flex;align-items:center;min-height:100%}.import-layout.has-side-panel .card-head{width:100%;margin-bottom:0}.import-points{display:grid;gap:8px;margin-top:10px}.import-point{color:var(--text-secondary);font-size:14px}.import-point:before{content:"•";display:inline-block;margin-right:8px;color:#8b93a1}.field{display:grid;gap:8px}.field.compact{width:110px}.field span{color:var(--text-soft);font-size:13px;font-weight:600}.field input,.field select{width:100%;min-height:var(--control-height);padding:0 13px;border:1px solid transparent;border-radius:var(--control-radius);background:var(--field-fill);box-shadow:inset 0 0 0 1px var(--field-line);color:var(--text-main);transition:border-color .18s var(--motion),box-shadow .18s var(--motion),background .18s var(--motion)}.field input:focus,.field select:focus{background:var(--field-fill-hover);box-shadow:inset 0 0 0 1px #0f6cbd24,0 0 0 4px var(--field-focus)}.field input:hover,.field select:hover,.display-mode-select:hover{background:var(--field-fill-hover)}.library-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap}.library-search-field{flex:1 1 320px}.display-mode-field{width:190px}.display-mode-field.field{gap:6px}.display-mode-select{width:100%;min-width:0;min-height:var(--control-height);padding:0 13px;border:1px solid transparent;border-radius:var(--control-radius);background:var(--field-fill);box-shadow:inset 0 0 0 1px var(--field-line);color:var(--text-main);-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color .18s var(--motion),box-shadow .18s var(--motion),background .18s var(--motion)}.display-mode-select:focus{background:var(--field-fill-hover);box-shadow:inset 0 0 0 1px #0f6cbd24,0 0 0 4px var(--field-focus)}.library-list,.remote-course-list,.question-stack,.log-timeline{display:grid;gap:12px}.library-list-spaced{margin-top:18px}.library-list.is-grid,.remote-course-list.is-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.remote-library-toolbar{display:block;margin-bottom:12px;width:100%}.remote-search-field{width:100%;min-width:0;flex:none}.remote-library-summary{display:flex;align-items:center;gap:8px;min-height:var(--control-height)}.compact-select-field{width:150px}.import-card,.library-card{border-color:#ffffffc7}.import-card .section-kicker,.library-card .section-kicker{color:#5f7ea8}.import-card,.dashboard-side>.card{background:var(--card-fill-secondary);box-shadow:none}.course-row,.remote-course-row,.question-card,.log-entry,.chapter-nav-panel{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:var(--card-fill-strong);border:1px solid rgba(255,255,255,.78);box-shadow:var(--shadow-sm)}.question-card,.chapter-nav-panel{background:#fffc}.course-row,.remote-course-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 16px;transition:transform .2s var(--motion),box-shadow .2s var(--motion)}.course-row:hover,.remote-course-row:hover,.question-card:hover,.log-entry:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.course-row-title,.remote-course-copy{display:grid;gap:2px;min-width:0}.course-row-title span,.remote-course-copy span,.remote-course-copy small{color:var(--text-secondary)}.course-row-main{display:grid;gap:8px;min-width:0}.course-row-meta{color:var(--text-soft);font-size:13px}.meta-item{display:inline-flex;align-items:center;gap:6px;min-height:auto;padding:0;border-radius:0;background:transparent;border:0}.meta-item-strong{background:transparent;border-color:transparent}.meta-label{color:var(--text-soft)}.meta-value{color:var(--text-secondary);font-weight:500}.course-row-grid{align-items:flex-start;flex-direction:column}.course-row-grid .course-row-main,.course-row-grid .card-actions{width:100%}.course-row-grid .card-actions{justify-content:flex-start}.route-dashboard{width:min(1220px,calc(100vw - 48px))}.route-dashboard .app-topbar{padding:8px 2px 14px;margin-bottom:10px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.route-dashboard .app-topbar:before{display:none}.route-dashboard .topbar-main .section-kicker{display:none}.route-dashboard .topbar-main h1{position:relative;font-size:2rem;line-height:1.1;letter-spacing:-.03em}.route-dashboard .topbar-main h1:after{content:"";display:block;width:44px;height:3px;margin-top:8px;border-radius:999px;background:#0f6cbd}.route-dashboard .topbar-main p{margin-top:4px;color:#5f6572}.route-dashboard .dashboard-grid{grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}.route-dashboard .dashboard-main,.route-dashboard .dashboard-side{gap:14px}.route-dashboard .dashboard-side{position:sticky;top:18px}.route-dashboard .import-card,.route-dashboard .library-card{border-radius:14px;border:1px solid rgba(125,137,153,.16);background:#ffffffb8;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.route-dashboard .import-card{border-color:#7d899929;background:#ffffffb8}.route-dashboard .import-card:before,.route-dashboard .library-card:before,.route-dashboard .course-row:before,.route-dashboard .remote-course-row:before{display:none}.route-dashboard .import-card .section-kicker,.route-dashboard .library-card .section-kicker{display:none}.route-dashboard .card-head{margin-bottom:12px}.route-dashboard .card-head h2{font-size:1.12rem;line-height:1.2;font-weight:600}.route-dashboard .import-points{display:grid;gap:6px;margin-top:8px}.route-dashboard .import-point{font-size:12px}.route-dashboard .library-toolbar{padding-bottom:12px;border-bottom:1px solid rgba(125,137,153,.12)}.route-dashboard .library-list-spaced{margin-top:10px}.route-dashboard .library-list,.route-dashboard .remote-course-list{gap:8px}.route-dashboard .library-list.is-grid,.route-dashboard .remote-course-list.is-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.route-dashboard .course-row,.route-dashboard .remote-course-row{border-radius:12px;border:1px solid rgba(125,137,153,.14);background:#ffffffd1;box-shadow:none;padding:12px 14px}.route-dashboard .course-row:hover,.route-dashboard .remote-course-row:hover{transform:none;background:#fffffff5;border-color:#0f6cbd2e;box-shadow:none}.route-dashboard .course-row-grid{min-height:138px}.route-dashboard .course-row-title h3{font-size:1rem;font-weight:600}.route-dashboard .course-row-title span{font-size:13px}.route-dashboard .course-row-meta{gap:10px}.route-dashboard .meta-label,.route-dashboard .meta-value{font-size:12px}.route-dashboard .button,.route-dashboard .display-mode-select,.route-dashboard .field input,.route-dashboard .field select{border-radius:9px}.route-dashboard .button-secondary,.route-dashboard .button-subtle,.route-dashboard .button-import{background:#fff;border-color:#7d899938}.route-dashboard .button-secondary:hover,.route-dashboard .button-subtle:hover,.route-dashboard .button-import:hover{background:#f7f9fc;border-color:#7d899947}.route-dashboard .button-import{border-color:#7d899938;background:#fff;color:var(--text-main)}.route-dashboard .qr-box{width:188px;height:188px;padding:12px;border-radius:12px;background:#ffffffad;border-color:#7d899929}.route-dashboard .qr-box img{width:min(100%,162px);border-radius:9px}.route-dashboard .import-layout.has-side-panel{grid-template-columns:1fr;gap:12px;align-content:center;align-items:center;min-height:100%}.route-dashboard .import-layout.has-side-panel .import-main{display:grid;place-items:center;min-height:0;padding:0}.route-dashboard .import-layout.has-side-panel .card-head{width:100%}.route-dashboard .qr-side-panel{justify-self:center;align-self:center;display:grid;place-items:center;max-width:none;min-height:auto;padding-top:12px;border-top:1px solid rgba(125,137,153,.12);border-left:0}.route-dashboard .import-cta-row{margin-top:10px}.route-dashboard .qr-copy{min-height:24px}.route-dashboard .qr-copy h3{font-size:12px}.route-dashboard .qr-copy p{font-size:11px}.qr-side-panel{display:grid;gap:14px;align-content:center;justify-items:center;align-self:center;justify-self:center;width:100%;max-width:260px;padding:0;background:transparent;border:0;box-shadow:none}.qr-box{display:flex;align-items:center;justify-content:center;width:208px;height:208px;padding:14px;border-radius:18px;background:#fff6;border:1px dashed rgba(160,183,214,.28);box-shadow:none}.qr-box.is-active{background:#fffffff0;border-style:solid;border-color:#ffffffc2;box-shadow:var(--shadow-sm)}.qr-box img{width:min(100%,180px);border-radius:12px}.qr-copy h3{margin:0;font-size:.9rem;line-height:1.2;letter-spacing:-.02em}.qr-copy p{margin:2px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.3}.qr-copy{min-height:34px}.qr-copy.is-placeholder{visibility:hidden}.log-entry{padding:14px 16px}.log-entry-main{display:grid;gap:4px}.log-entry span{color:var(--text-secondary);font-size:13px}.hero-metrics{gap:10px}.course-panel-tabs{margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid rgba(160,183,214,.14)}.tab-strip{display:flex;gap:10px;flex-wrap:wrap;padding:0;border-radius:0;background:transparent;border:0}.tab-button{min-height:var(--control-height);padding:0 14px;border-radius:var(--control-radius);cursor:pointer;font-weight:600;font-size:14px;transition:background .2s var(--motion),box-shadow .2s var(--motion),transform .2s var(--motion),color .2s var(--motion)}.course-panel-content,.question-content,.chapter-block,.result-shell{display:grid;gap:14px}.course-panel-content{min-width:0}.bank-view .card-head,.review-shell .card-head,.test-shell .card-head{margin-bottom:18px}.bank-view .card-head{margin-bottom:10px}.bank-view .card-head h2{font-size:1.26rem;line-height:1.06}.bank-view .card-head p{margin-top:3px;font-size:13px}.bank-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap}.bank-search-field{flex:1 1 320px}.bank-page-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.bank-page-status,.bank-page-range{color:var(--text-soft);font-size:12px;white-space:nowrap}.bank-page-status{color:var(--text-main);font-weight:600}.bank-page-actions{display:flex;align-items:center;gap:12px}.bank-page-jump{display:flex;align-items:center;gap:6px;min-width:auto}.bank-page-jump span{font-size:12px;color:var(--text-soft);white-space:nowrap}.bank-page-jump input{width:72px;min-height:var(--control-height-sm);text-align:center}.remote-pagination-bar{display:inline-flex;align-items:center;justify-content:flex-start;gap:0;margin:8px 0 2px;flex-wrap:nowrap;width:fit-content;max-width:100%;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.remote-pagination-status,.remote-pagination-range{flex:0 0 auto;color:var(--text-soft);font-size:11px;line-height:1.2}.remote-pagination-status{color:var(--text-main);font-weight:600}.remote-pagination-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.remote-pagination-actions .button{min-height:30px;padding:0 10px;font-size:12px}.remote-page-jump{display:flex;align-items:center;gap:4px;width:auto;flex:0 0 auto;min-width:auto;margin:0}.remote-page-jump span{color:var(--text-soft);font-size:11px;white-space:nowrap}.remote-page-jump input{width:48px;min-height:30px;padding:0 6px;text-align:center;font-size:12px}.route-dashboard .remote-library-toolbar{gap:8px}.route-dashboard .compact-select-field{width:132px}.bank-view>.field,.bank-search-field{gap:4px}.bank-view>.field span,.bank-search-field span{font-size:12px}.bank-view>.field input,.bank-search-field input{min-height:var(--control-height)}.test-toolbar{align-items:end;margin-top:0;padding:14px;border-radius:16px;background:#ffffffc7;border:1px solid rgba(125,137,153,.14);border-top:1px solid rgba(125,137,153,.14)}.review-shell .card-head,.test-shell .card-head{margin-bottom:10px}.review-shell .card-head h2,.test-shell .card-head h2{font-size:1.26rem;line-height:1.06}.review-shell .card-head p,.test-shell .card-head p{margin-top:3px;font-size:13px}.review-shell .question-context,.test-shell .question-context{margin-bottom:4px;font-size:11px}.review-shell .question-title,.test-shell .question-title{font-size:.98rem}.review-shell .question-note,.test-shell .question-note{margin-top:6px;font-size:13px}.review-shell .question-form,.test-shell .question-form{margin-top:2px}.review-shell .option-list,.test-shell .option-list{gap:7px;margin-top:10px}.review-shell .option-row,.test-shell .option-row{padding:10px 12px}.review-shell .question-card,.test-shell .question-card,.result-card{padding:14px}.review-shell .question-meta,.test-shell .question-meta{margin-bottom:8px}.review-shell .question-actions,.test-shell .panel-footer{margin-top:10px;padding-top:8px}.test-toolbar{gap:10px;margin-top:8px;padding:12px}.test-toolbar .field.compact{width:96px}.test-toolbar .field span{font-size:12px}.test-toolbar .field input{min-height:var(--control-height)}.result-banner{padding:13px 14px}.question-layout{display:grid;grid-template-columns:minmax(360px,420px) minmax(0,1fr);gap:16px;align-items:start;margin-top:14px}.chapter-nav-panel{position:sticky;top:20px;display:flex;flex-direction:column;gap:12px;padding:16px;max-height:calc(100vh - 40px);min-height:0;border-radius:20px;background:#ffffffc7;border:1px solid rgba(160,183,214,.14);box-shadow:var(--shadow-sm)}.chapter-nav-head{display:grid;gap:10px;padding-bottom:10px;border-bottom:1px solid rgba(160,183,214,.16);flex:0 0 auto}.chapter-nav-head p{margin-top:6px}.chapter-nav-list{display:grid;gap:8px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:12px;padding-bottom:2px;overscroll-behavior:contain;scrollbar-gutter:stable}.chapter-link{display:flex;align-items:center;width:100%;min-height:var(--control-height);padding:8px 11px;border-radius:var(--control-radius);cursor:pointer;justify-content:space-between;text-align:left;transition:background .18s var(--motion),border-color .18s var(--motion),transform .18s var(--motion)}.chapter-link-copy{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.chapter-link-count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 8px;flex:0 0 auto;border-radius:var(--radius-pill);background:#5a627014;color:var(--text-secondary);font-size:12px;font-weight:700}.chapter-link.is-active{background:#daeafffa;border-color:#0f6cbd52;color:#084f97;box-shadow:inset 0 0 0 1px #0f6cbd1f}.chapter-link.is-active .chapter-link-count{background:#0f6cbd38;color:#084f97}.question-content{gap:14px;min-width:0}.chapter-block{padding:16px;min-width:0;border-radius:20px;background:#ffffffb8;border:1px solid rgba(160,183,214,.14);box-shadow:var(--shadow-sm)}.chapter-block-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(160,183,214,.16)}.question-card{padding:16px;border-radius:18px;background:#ffffffdb;border:1px solid rgba(160,183,214,.12)}.question-meta{margin-bottom:10px;gap:8px}.question-meta-action{margin-left:auto}.question-context{margin-bottom:6px;color:var(--text-soft);font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.question-title{font-size:1.02rem;line-height:1.5}.question-note{margin-top:8px;font-size:14px;color:var(--text-secondary)}.option-list{display:grid;gap:8px;margin-top:12px}.question-form{margin-top:4px}.option-row{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:14px;background:#f7f8faf5;border:1px solid rgba(153,183,222,.12);transition:background .18s var(--motion),border-color .18s var(--motion),box-shadow .18s var(--motion)}.option-row.is-interactive{cursor:pointer}.option-row.is-interactive:hover{background:#fffffff5;border-color:#a0b7d638;box-shadow:0 8px 18px #37547e14}.option-row.is-selected{background:#e9f3fffa;border-color:#0f6cbd3d;box-shadow:inset 0 0 0 1px #0f6cbd1a}.option-row.is-selected .option-bullet{background:#0f6cbd24;color:#0b5cab;box-shadow:inset 0 0 0 1px #0f6cbd2e}.option-row.is-selected .option-text{color:#0b5cab;font-weight:600}.option-row.is-correct{background:#f0f7fffa;border-color:#0f6cbd2e;box-shadow:inset 0 0 0 1px #0f6cbd0f}.option-row.is-user-answer:not(.is-correct){background:#fdf1f2fa;border-color:#d1343838;box-shadow:inset 0 0 0 1px #d1343814}.option-row.is-user-answer:not(.is-correct) .option-bullet{background:#d1343824;color:#ab2428;box-shadow:inset 0 0 0 1px #d134382e}.option-row.is-user-answer:not(.is-correct) .option-text{color:#922126;font-weight:600}.option-row.is-user-answer:not(.is-correct) .option-state{color:#ab2428;font-weight:700}.option-row.is-user-answer.is-correct{border-color:#0f6cbd47}.option-row.is-correct .option-bullet{background:#0f6cbd24;color:#0b5cab;box-shadow:inset 0 0 0 1px #0f6cbd24}.option-row.is-correct .option-text{color:#0b4f93;font-weight:600}.option-row.is-correct .option-state{color:#0b5cab;font-weight:700}.option-row input{margin-top:0;accent-color:var(--accent);flex:0 0 auto}.option-bullet{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:8px;background:#ffffffe6;color:var(--text-secondary);font-size:13px;font-weight:700;line-height:1;box-shadow:inset 0 0 0 1px #7d89991f;flex:0 0 auto}.option-text{color:var(--text-main);line-height:1.45;flex:1 1 auto}.option-state{margin-left:auto;color:var(--text-soft);font-size:12px;font-weight:600;white-space:nowrap}.result-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-radius:16px;background:#ffffffd6;border:1px solid rgba(125,137,153,.14);box-shadow:var(--shadow-sm)}.result-banner strong{font-size:1.12rem;letter-spacing:-.02em}.result-banner span{color:var(--text-secondary);font-weight:600}.review-shell .question-stack,.test-shell .question-stack{gap:12px}.question-actions,.panel-footer{margin-top:12px;padding-top:10px;border-top:1px solid rgba(160,183,214,.14)}.result-shell{gap:14px}.result-card{background:#fafcffeb}.empty-state{padding:18px 16px;border-radius:18px;background:#fafcffb3;border:1px dashed rgba(92,122,168,.2);color:var(--text-secondary)}.empty-state.compact{padding:16px 14px}@keyframes drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(1.2rem,-1rem,0) scale(1.03)}}@media (max-width: 1180px){.dashboard-grid{grid-template-columns:1fr}.dashboard-side{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-layout{grid-template-columns:1fr}}@media (max-width: 960px){.app-topbar{flex-direction:column}.topbar-actions-row{width:100%;justify-content:space-between}.course-title-row{flex-direction:column;align-items:flex-start}.course-title-meta{justify-items:start}.course-stats-inline{justify-content:flex-start}.dashboard-side{grid-template-columns:1fr}.wrong-course-head{flex-direction:column}.wrong-manager-split{grid-template-columns:1fr}.wrong-course-sidebar{position:static;max-height:none}.question-layout,.import-layout.has-side-panel{grid-template-columns:1fr}.chapter-nav-panel{position:static;max-height:none}}@media (max-width: 720px){.page-shell{width:min(100vw - 20px,1320px);padding-top:16px}.card,.toast-card{border-radius:22px}.toast-card{right:10px;bottom:10px;width:calc(100vw - 20px)}.import-log-popup{right:10px;width:calc(100vw - 20px);max-width:calc(100vw - 20px);min-width:0;max-height:min(52vh,460px)}.import-log-popup.has-toast{bottom:88px}.card{padding:18px}.course-panel-shell{padding:14px}.course-row,.remote-course-row{flex-direction:column;align-items:stretch}.remote-course-actions,.course-row-meta,.topbar-stats{justify-content:flex-start}.topbar-actions-row{flex-direction:column;align-items:flex-start}.user-menu-panel{right:auto;left:0}.result-banner{flex-direction:column;align-items:flex-start}}body{background:linear-gradient(180deg,#dbe9fb,#edf5ff 220px,#fff 520px,#fff)}.page-shell{width:min(1220px,calc(100vw - 48px))}.card,.toast-card,.course-row,.remote-course-row,.question-card,.chapter-nav-panel,.chapter-block,.wrong-course-sidebar,.wrong-course-detail,.admin-user-row,.result-banner,.empty-state{border-color:#7d899929;border-radius:14px;background:#ffffffc2;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.card:before,.toast-card:before,.question-card:before,.course-row:before,.remote-course-row:before,.chapter-nav-panel:before{display:none}.app-topbar{padding:8px 2px 14px;margin-bottom:10px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.app-topbar .section-kicker{display:none}.topbar-main h1{font-size:clamp(1.8rem,3vw,2.25rem);line-height:1.1;letter-spacing:-.03em}.topbar-main p{margin-top:4px;color:#5f6572}.course-topbar{padding:8px 2px 14px}.course-topbar .topbar-main h1{font-size:clamp(1.75rem,2.5vw,2.2rem)}.course-panel-shell,.library-card,.import-card,.admin-card,.wrong-manager-card,.auth-card{background:#ffffffc2;border-color:#7d899929}.route-course .course-panel-shell,.route-admin .admin-card,.route-wrong .wrong-manager-card,.auth-card{border-color:#7d899929;background:#ffffffc2}.auth-overlay .auth-card{background:#fff;border-color:#7d899938;box-shadow:0 18px 40px #141c281f;backdrop-filter:none;-webkit-backdrop-filter:none}.auth-overlay .auth-card:before{display:none}.user-menu-panel{background:#fff;border-color:#7d899933;box-shadow:0 16px 32px #141c281f;backdrop-filter:none;-webkit-backdrop-filter:none}.user-menu-panel:before{display:none}.route-course .option-row{background:#ffffffd1}.card-head h2{font-size:clamp(1.1rem,1.8vw,1.32rem);font-weight:600}.section-kicker{color:var(--accent)}.button,.tab-button,.chapter-link,.display-mode-select,.field input,.field select,.user-menu-trigger{border-radius:9px}.button,.button-primary,.button-secondary,.button-subtle,.button-fluent-action,.button-import,.tab-button,.chapter-link{color:var(--text-main);background:#fff;border-color:#7d899938;box-shadow:none}.button:hover,.button-primary:hover,.button-secondary:hover,.button-subtle:hover,.button-fluent-action:hover,.button-import:hover,.tab-button:hover,.chapter-link:hover{transform:none;background:#f7f9fc;border-color:#7d899952;box-shadow:none}.button-subtle.is-current,.tab-button.is-active,.chapter-link.is-active,.wrong-course-nav-item.is-active{color:var(--accent-strong);background:#fffffff5;border-color:#0f6cbd29}.field input,.field select,.display-mode-select{background:#ffffffd1;box-shadow:inset 0 0 0 1px #7d899929}.field input:hover,.field select:hover,.display-mode-select:hover,.field input:focus,.field select:focus,.display-mode-select:focus{background:#fff}.course-row,.remote-course-row,.question-card{border-radius:12px;background:#ffffffd6;border-color:#7d899924}.course-row:hover,.remote-course-row:hover,.question-card:hover,.log-entry:hover{transform:none;background:#fffffff5;border-color:#7d899938;box-shadow:none}.chapter-block{border-radius:14px;background:#ffffffb3;box-shadow:none}.chapter-nav-panel,.wrong-course-sidebar,.wrong-course-detail{border-radius:14px;background:#ffffffb8}.wrong-course-nav-item{border-radius:10px;background:#ffffffb8}.option-row{border-radius:10px;background:#ffffffc7}.option-bullet{border-radius:7px}.route-course .chapter-nav-panel,.route-course .chapter-block,.route-course .question-card,.route-course .test-toolbar,.route-course .result-banner{border-color:#7d899924;background:#ffffffc7}.route-course .question-card:hover{background:#ffffffe6;border-color:#7d89992e}.route-course .option-row{background:#ffffffd1;border-color:#7d89991f}.route-course .option-row.is-correct{background:#f0f7fffa;border-color:#0f6cbd2e;box-shadow:inset 0 0 0 1px #0f6cbd0f}.route-course .option-row.is-user-answer:not(.is-correct){background:#fbf6f7d6;border-color:#bc767e1a}.route-course .course-panel-shell{border-color:#7d899929;background:#ffffffc2}.route-course .chapter-block-head{border-bottom-color:#7d89991f}.toast-card,.import-log-popup{background:#ffffffe6;border-color:#7d89992e}@media (max-width: 720px){.page-shell{width:min(100vw - 20px,1220px)}.card,.toast-card{border-radius:14px}}
