.profile-modal-actions{display:flex;align-items:center;gap:10px}.profile-action-spacer{flex:1}.danger-action{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 12px;border:1px solid #fecaca;border-radius:6px;background:#fff;color:#dc2626;font:inherit;font-weight:700;cursor:pointer}.danger-action:hover{border-color:#fca5a5;background:#fef2f2}:root{color:#172033;background:#f6f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button{font:inherit}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.left-nav{position:sticky;top:0;display:grid;grid-template-rows:auto 1fr auto;gap:22px;height:100vh;padding:18px 14px;border-right:1px solid #e0e5ed;background:#fff}.side-brand{min-height:44px;padding:0 10px}.side-nav-list,.side-nav-footer{display:grid;align-content:start;gap:6px}.side-nav-item{display:flex;align-items:center;gap:10px;min-height:42px;width:100%;padding:0 12px;border-radius:8px;color:#40516c;font-weight:700;text-align:left}.side-nav-item:hover,.side-nav-item.router-link-active{background:#eff6ff;color:#1d4ed8}.side-nav-footer{padding-top:14px;border-top:1px solid #edf0f5}.app-content{min-width:0}.mobile-brand,.mobile-nav-actions{display:none}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 clamp(16px,4vw,42px);border-bottom:1px solid #e3e7ee;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand,.nav-actions,.meta-row,.tag-row,.tool-row,.back-link,.pack-title-row,.stat-tile,.ranking-row,.progress-line{display:flex;align-items:center}.brand{gap:10px;font-weight:800}.brand-logo{width:28px;height:28px;border-radius:7px;object-fit:cover;flex:0 0 auto}.nav-actions{gap:10px}main{padding:clamp(18px,4vw,42px)}.immersive-shell{display:block;min-height:100vh}.immersive-main{height:100dvh;min-height:100vh;padding:0;overflow:hidden}.icon-button,.button-reset{border:0;background:transparent;color:#172033;cursor:pointer}.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:8px}.icon-button:hover{background:#eef2f7}.icon-button.bordered{border:1px solid #d8dee8;background:#fff}.icon-button.bordered.active{border-color:#f59e0b;background:#fffbeb;color:#b45309}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;max-width:1180px;margin:0 auto}.home-workbench{display:grid;gap:18px;max-width:1180px;margin:0 auto}.home-hero-panel,.home-section-panel,.home-metric{border:1px solid #e0e5ed;border-radius:8px;background:#fff}.home-hero-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:clamp(20px,4vw,34px)}.home-hero-panel p:not(.eyebrow){max-width:620px;margin:10px 0 0;color:#596579}.hero-action{gap:8px;min-height:46px}.home-metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.home-metric{display:flex;align-items:center;gap:12px;min-height:74px;padding:14px}.home-metric.clickable:hover,.notebook-action-card:hover,.home-pack-card:hover{border-color:#a7b4c8}.home-metric svg{color:#2563eb}.home-metric strong,.home-metric span{display:block}.home-metric span{color:#64748b;font-size:13px}.home-layout-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.home-main-column,.home-side-column{display:grid;align-content:start;gap:18px}.home-section-panel{padding:clamp(16px,3vw,24px)}.compact-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.notebook-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.notebook-action-card{display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:82px;padding:14px;border:1px solid #e1e6ef;border-radius:8px;background:#fff}.notebook-action-card svg:first-child{color:#2563eb}.notebook-action-card.danger svg:first-child{color:#dc2626}.notebook-action-card.warning svg:first-child{color:#d97706}.notebook-action-card.success svg:first-child{color:#059669}.notebook-action-card strong,.notebook-action-card span{display:block}.notebook-action-card strong{font-size:22px;line-height:1}.notebook-action-card span{margin-top:5px;color:#536176;font-size:13px}.home-pack-card{border-color:#d8dee8}.task-list{display:grid;gap:10px}.task-list div{padding:12px;border:1px solid #e1e6ef;border-radius:8px;background:#f8fafc}.task-list strong,.task-list span{display:block}.task-list span{margin-top:4px;color:#64748b;font-size:13px}.home-ranking-panel{overflow:hidden}.home-ranking-compare{display:grid;gap:14px}.home-ranking-podium{display:grid;grid-template-columns:.9fr 1.1fr .9fr;align-items:end;gap:10px}.home-podium-card{display:grid;justify-items:center;gap:8px;padding:14px 10px 16px;border:1px solid #e1e6ef;border-radius:8px;background:#f8fafc;text-align:center}.home-podium-card.first{min-height:176px;background:linear-gradient(180deg,#fef3c7,#fff)}.home-podium-card.second{min-height:150px}.home-podium-card.third{min-height:138px}.home-podium-rank{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#0f172a;color:#fff;font-size:13px;font-weight:800}.home-avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:999px;color:#fff;font-size:15px;font-weight:800}.home-avatar.small{width:42px;height:42px;font-size:13px}.home-podium-card strong,.home-podium-card em{display:block}.home-podium-card strong{max-width:100%;font-size:14px}.home-podium-card em{color:#0f766e;font-style:normal;font-weight:800}.home-ranking-list{display:grid;gap:8px}.home-ranking-row{display:grid;grid-template-columns:34px 42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e1e6ef;border-radius:8px;background:#fff}.home-ranking-row span{color:#64748b;font-weight:800}.home-ranking-row strong,.home-ranking-row p,.home-ranking-row em{display:block}.home-ranking-row p{margin:2px 0 0;color:#64748b;font-size:12px}.home-ranking-row em{color:#0f766e;font-style:normal;font-weight:800}.home-ranking-page-style{display:grid;gap:10px}.home-ranking-page-style .ranking-user-row{padding:10px 12px}.profile-modal{width:min(460px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;padding:22px;border:1px solid #dbe2ec;border-radius:10px;background:#fff;box-shadow:0 20px 60px #0f172a2e}.profile-modal-header,.profile-modal-actions,.profile-preview{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-modal-header{margin-bottom:18px}.profile-preview{justify-content:flex-start;padding:14px;border:1px solid #e1e6ef;border-radius:8px;background:#f8fafc}.profile-preview-avatar,.nav-user-avatar{display:grid;place-items:center;flex:0 0 auto;border-radius:999px;color:#fff;font-weight:800}.profile-preview-avatar{width:54px;height:54px}.profile-preview .profile-preview-avatar{display:grid;place-items:center;margin-top:0;color:#fff;font-size:16px;line-height:1;text-align:center}.profile-preview strong,.profile-preview span{display:block}.profile-preview span{margin-top:4px;color:#64748b;font-size:13px}.profile-field{display:grid;gap:7px;margin-top:14px;color:#475569;font-size:13px;font-weight:700}.profile-field input{width:100%;min-height:40px;padding:8px 10px;border:1px solid #d8dee8;border-radius:6px;background:#fff;color:#0f172a;font:inherit;font-weight:500}.profile-field input:disabled{background:#f1f5f9;color:#64748b}.profile-color-options{display:flex;flex-wrap:wrap;gap:10px}.profile-color-swatch{width:30px;height:30px;padding:0;border:3px solid #fff;border-radius:999px;box-shadow:0 0 0 1px #d8dee8;cursor:pointer}.profile-color-swatch.selected{box-shadow:0 0 0 2px #0f172a}.profile-modal-actions{justify-content:flex-end;margin-top:22px}.nav-user-avatar{width:24px;height:24px;margin:0;padding:0;font-size:10px;line-height:1;text-align:center}.ranking-page{display:grid;gap:18px;max-width:960px;margin:0 auto}.ranking-page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 24px;border:1px solid #e0e5ed;border-radius:8px;background:#fff}.ranking-page-header h1{font-size:28px}.ranking-board{display:grid;gap:10px}.ranking-user-row{display:grid;grid-template-columns:34px 48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;border:1px solid #e1e6ef;border-radius:8px;background:#fff}.ranking-rank{color:#64748b;font-weight:800}.ranking-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:999px;color:#fff;font-size:15px;font-weight:800}.ranking-user-info strong,.ranking-user-info span,.ranking-time span{display:block}.ranking-user-info span{margin-top:3px;color:#64748b;font-size:13px}.ranking-time{display:flex;align-items:center;gap:6px;color:#0f766e;font-weight:800}.ranking-time svg{flex:0 0 auto}.textbook-plaza{display:grid;gap:18px;max-width:1360px;margin:0 auto}.word-list-panel{display:grid;gap:18px;margin-top:28px;padding:24px;border:1px solid #d8dee8;border-radius:8px;background:#fff}.word-list-panel .compact-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.word-token-grid{display:flex;flex-wrap:wrap;gap:10px}.word-token{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid #d8dee8;border-radius:6px;background:#f8fafc;color:#172033;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-weight:700}.word-book-card{cursor:pointer}.word-book-card:focus-within,.word-book-card:hover{border-color:#2563eb}.word-warehouse-page{display:grid;gap:46px;max-width:2344px;margin:0 auto;padding:0 0 28px}.word-level-tabs{display:flex;align-items:center;gap:clamp(32px,4.8vw,96px);min-height:54px;padding:0 8px;border-bottom:0}.word-level-tab{position:relative;min-height:44px;border:0;background:transparent;color:#111827;font-size:24px;font-weight:800;cursor:pointer}.word-level-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;border-radius:999px;background:#111827}.word-publisher-grid{display:grid;grid-template-columns:repeat(10,max-content);justify-content:start;gap:30px 26px;padding:50px 32px 10px;overflow-x:auto}.word-publisher-pill{min-height:34px;min-width:max-content;padding:0;border:0;background:transparent;color:#111827;font-size:15px;font-weight:800;line-height:1.25;cursor:pointer;text-align:left;white-space:nowrap}.word-publisher-pill.active,.word-publisher-pill:hover{color:#2563eb}.word-publisher-pill.active{text-decoration:underline;text-underline-offset:5px}.word-book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:44px;padding:8px 32px 0}.word-book-card{display:grid;gap:12px;min-width:0;background:#fff}.word-book-cover{position:relative;display:grid;align-content:space-between;aspect-ratio:430 / 244;min-height:0;padding:18px;overflow:hidden;border-radius:4px;background:linear-gradient(135deg,color-mix(in srgb,var(--book-color),#ffffff 16%),var(--book-color)),var(--book-color);color:#fff}.word-book-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#ffffff1f,#0000002e)}.word-book-cover span,.word-book-cover strong,.word-book-cover small{position:relative;z-index:1}.word-book-cover span,.word-book-cover small{font-size:13px;font-weight:900;letter-spacing:0}.word-book-cover strong{align-self:end;font-size:46px;line-height:1}.word-book-card h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:24px}.word-book-card p{min-height:28px;margin:-2px 0 12px;overflow:hidden;color:#6b7280;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.word-book-card>strong{display:block;color:#111827;font-size:18px;font-weight:800}.word-empty-state{display:grid;place-items:center;min-height:180px;margin:0 32px;color:#6b7280;font-size:18px;font-weight:800}.plaza-header,.plaza-toolbar{border:1px solid #e0e5ed;border-radius:8px;background:#fff}.plaza-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:clamp(18px,3vw,26px)}.plaza-summary,.plaza-filter-row,.plaza-search{display:flex;align-items:center;gap:10px}.plaza-summary{flex-wrap:wrap;justify-content:flex-end}.plaza-summary span{padding:6px 10px;border-radius:8px;background:#eef2f7;color:#40516c;font-size:13px;font-weight:800}.plaza-toolbar{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:12px;padding:12px}.plaza-search{min-height:42px;padding:0 12px;border:1px solid #d8dee8;border-radius:8px;background:#f8fafc}.plaza-search input{width:100%;min-width:0;border:0;background:transparent;color:#172033;font:inherit}.plaza-search input:focus{outline:0}.plaza-filter-row{flex-wrap:wrap}.filter-pill{min-height:34px;padding:0 12px;border:1px solid #d8dee8;border-radius:8px;background:#fff;color:#40516c;cursor:pointer}.filter-pill.active,.filter-pill:hover{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;font-weight:800}.textbook-shelf-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.textbook-cover-card{display:grid;gap:10px;min-width:0}.textbook-cover-art{position:relative;display:grid;align-content:space-between;min-height:0;aspect-ratio:366 / 614;padding:14px;overflow:hidden;border-radius:8px;color:#fff;box-shadow:0 12px 28px #0f172a24}.textbook-cover-image,.pack-cover-image{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:contain;object-position:center}.textbook-cover-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f172a14,#0f172a70);pointer-events:none}.textbook-cover-art>*{position:relative;z-index:1}.cover-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;color:#ffffffe6;font-size:12px;font-weight:800}.course-type-badge,.popularity-badge{display:inline-flex;align-items:center;gap:4px;min-width:0;padding:4px 7px;border-radius:6px;background:#0f172a47;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.course-type-badge{max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popularity-badge{flex:0 0 auto}.textbook-cover-art svg{align-self:center;justify-self:center;color:#ffffffe0}.textbook-cover-art strong{align-self:end;font-size:clamp(15px,1.2vw,18px);line-height:1.2}.textbook-cover-art small{display:block;margin-top:6px;color:#ffffffd6;line-height:1.35}.textbook-cover-info{display:grid;gap:4px}.textbook-cover-info strong,.textbook-cover-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.textbook-cover-info strong{font-size:14px}.textbook-cover-info span{color:#64748b;font-size:13px}.textbook-cover-card:hover .textbook-cover-art{transform:translateY(-2px)}.main-panel,.side-panel,.practice-card,.result-panel{border:1px solid #e0e5ed;border-radius:8px;background:#fff}.main-panel{padding:clamp(18px,3vw,30px)}.side-panel{padding:18px;align-self:start}.section-heading{margin-bottom:20px}.eyebrow{margin:0 0 4px;color:#64748b;font-size:13px;font-weight:700}h1{margin:0;font-size:clamp(28px,4vw,42px);line-height:1.12;letter-spacing:0}h2{margin:0;font-size:18px;letter-spacing:0}.muted{color:#687386}.error{color:#b42318}.pack-grid{display:grid;gap:14px}.pack-card{display:grid;grid-template-columns:94px minmax(0,1fr);gap:16px;padding:14px;border:1px solid #e1e6ef;border-radius:8px;background:#fff}.pack-card:hover{border-color:#a7b4c8}.pack-cover{position:relative;display:grid;place-items:center;width:94px;min-height:104px;border-radius:8px;color:#fff;overflow:hidden}.pack-cover.large{width:112px;height:128px;min-height:128px}.pack-title-row{justify-content:space-between;gap:12px}.pack-content p,.lesson-row p,.pack-hero p{margin:8px 0 0;color:#596579}.meta-row,.tag-row{gap:8px;flex-wrap:wrap;margin-top:12px}.meta-row span,.tag-row span{padding:4px 8px;border-radius:6px;background:#eef2f7;color:#43516a;font-size:13px}.tag-row span{background:#ecfdf5;color:#047857}.stat-tile{gap:12px;padding:14px;border:1px solid #e1e6ef;border-radius:8px}.stat-tile strong{display:block}.stat-tile span{color:#64748b;font-size:13px}.ranking-list{margin-top:18px}.ranking-list h2{margin-bottom:10px}.ranking-row{gap:10px;padding:10px 0;border-top:1px solid #edf0f5}.ranking-row span{width:26px;color:#64748b}.ranking-row strong{flex:1}.ranking-row em{color:#0f766e;font-style:normal;font-weight:700}.notebook-entry{display:grid;gap:4px;margin-top:18px;padding:14px;border:1px solid #d8dee8;border-radius:8px;background:#f8fafc}.notebook-entry div{display:flex;align-items:center;gap:10px}.notebook-entry span{color:#64748b;font-size:13px}.notebook-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.notebook-mini-grid div{padding:10px;border:1px solid #e1e6ef;border-radius:8px;background:#fff}.notebook-mini-grid strong,.notebook-mini-grid span{display:block}.notebook-mini-grid span{color:#64748b;font-size:12px}.notebook-page{display:grid;gap:18px;max-width:1360px;margin:0 auto}.notebook-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:clamp(18px,3vw,28px);border:1px solid #e0e5ed;border-radius:8px;background:#fff}.notebook-header p:not(.eyebrow){margin:8px 0 0;color:#596579}.notebook-summary-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.notebook-summary-row>div{padding:14px 16px;border:1px solid #e0e5ed;border-radius:8px;background:#fff}.notebook-summary-row strong,.notebook-summary-row span{display:block}.notebook-summary-row strong{font-size:24px;line-height:1}.notebook-summary-row span{margin-top:6px;color:#64748b;font-size:13px}.notebook-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px;border:1px solid #d8dee8;border-radius:8px;background:#eef2f7}.notebook-tab{display:flex;align-items:center;gap:9px;min-height:52px;padding:0 14px;border:1px solid transparent;border-radius:8px;background:transparent;color:#536176;font-weight:800;text-align:left;cursor:pointer}.notebook-tab span{flex:1}.notebook-tab strong{color:#64748b}.notebook-tab:hover,.notebook-tab.active{border-color:#d8dee8;background:#fff;color:#1d4ed8}.notebook-tab.active strong{color:#2563eb}.notebook-content-panel{min-height:390px;padding:20px;border:1px solid #e0e5ed;border-radius:8px;background:#fff}.notebook-content-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid #edf0f5}.notebook-content-head h2{margin-top:2px}.notebook-content-head>span{color:#64748b;font-size:13px}.notebook-content-list{display:grid}.notebook-content-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid #edf0f5}.notebook-content-row p{margin:5px 0 0;color:#536176}.notebook-content-row>span{flex:0 0 auto;color:#94a3b8;font-size:12px}.notebook-empty-state{display:grid;justify-items:center;gap:8px;padding:72px 20px;color:#64748b;text-align:center}.notebook-empty-state svg{color:#94a3b8}.notebook-empty-state p{margin:0;font-size:13px}.notebook-board{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:12px;border:1px solid #d8dee8;border-radius:8px;background:#eef2f7}.notebook-column{min-width:0;min-height:360px;padding:14px;border:1px solid #e0e5ed;border-radius:8px;background:#fff}.notebook-column-head{display:flex;align-items:center;gap:9px;min-height:38px;padding-bottom:12px;border-bottom:1px solid #edf0f5}.notebook-column-head svg{color:#2563eb}.notebook-column-head h2{flex:1;font-size:16px}.notebook-column-head strong{color:#2563eb}.notebook-row{padding:13px 0;border-bottom:1px solid #edf0f5}.notebook-row:last-child{border-bottom:0}.notebook-row strong,.notebook-row p,.notebook-row span{display:block;overflow:hidden;text-overflow:ellipsis}.notebook-row strong,.notebook-row p{white-space:nowrap}.notebook-row p{margin:4px 0 0;color:#536176;font-size:13px}.notebook-row span{margin-top:7px;color:#94a3b8;font-size:12px}.content-section,.practice-layout{max-width:900px;margin:0 auto}.immersive-practice{display:grid;grid-template-rows:72px 6px minmax(0,1fr) 116px;height:100dvh;min-height:100vh;max-height:100dvh;max-width:none;margin:0;overflow:hidden;background:#f6f7f9}.practice-topbar{display:grid;grid-template-columns:auto minmax(220px,1fr) auto auto;align-items:center;gap:14px;min-height:72px;padding:12px clamp(18px,3vw,36px);border-bottom:1px solid #e0e5ed;background:#fff}.practice-ghost-button,.practice-status-strip,.practice-mode-row,.practice-bottom-bar,.practice-play-button,.practice-answer-panel{display:flex;align-items:center}.practice-ghost-button{gap:8px;min-height:40px;padding:0 12px;border:1px solid #d8dee8;border-radius:8px;background:#fff;color:#283449;cursor:pointer}.practice-title-block{min-width:0}.practice-title-block p{margin:0 0 3px;color:#64748b;font-size:13px;font-weight:700}.practice-title-block h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px}.practice-status-strip{gap:8px;flex-wrap:wrap;justify-content:flex-end}.practice-status-strip span{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:0 10px;border:1px solid #e1e6ef;border-radius:8px;background:#f8fafc;color:#40516c;font-size:13px;font-weight:800}.practice-progress-bar{height:6px;overflow:hidden;background:#e6ebf2}.practice-progress-bar i{display:block;height:100%;background:#2563eb}.practice-stage{display:grid;place-items:stretch center;min-height:0;overflow:hidden;padding:clamp(14px,2.4vw,32px)}.practice-focus-panel{display:grid;grid-template-rows:auto auto auto auto minmax(92px,1fr) auto;justify-items:center;align-content:center;gap:clamp(12px,2vh,20px);width:min(1040px,100%);min-height:0;max-height:100%;padding:clamp(16px,2.8vw,34px);overflow:hidden;border:1px solid #e0e5ed;border-radius:8px;background:#fff}.practice-mode-row{gap:8px;justify-content:center}.practice-mode-row span,.practice-mode-row em,.practice-mode-row strong{padding:5px 10px;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-size:13px;font-style:normal;font-weight:800}.practice-mode-row em,.practice-mode-row strong{background:#f1f5f9;color:#475569}.practice-play-button{justify-content:center;gap:10px;min-width:150px;min-height:56px;padding:0 22px;border:0;border-radius:8px;background:#172033;color:#fff;font-weight:800;cursor:pointer}.practice-play-button:disabled{opacity:.72;cursor:wait}.practice-translation{display:-webkit-box;max-width:860px;max-height:2.55em;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#172033;font-size:clamp(22px,2.8vw,36px);font-weight:800;line-height:1.25;text-align:center}.practice-explanation{max-width:780px;margin:-10px 0 0;color:#64748b;font-size:15px;font-weight:700;text-align:center}.practice-answer-panel{align-items:flex-start;gap:12px;width:100%;min-height:92px;max-height:100%;padding:clamp(14px,2vw,22px);overflow:hidden;border:1px solid #d8dee8;border-radius:8px;background:#f8fafc}.practice-answer-panel svg{flex:0 0 auto;margin-top:6px;color:#2563eb}.practice-answer-reference{display:grid;gap:6px;width:100%;padding:10px 14px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff}.practice-answer-reference-label{color:#2563eb;font-size:13px;font-weight:800}.practice-answer-reference.submitted-answer{border-color:#bbf7d0;background:#f0fdf4}.practice-answer-reference.submitted-answer .practice-answer-reference-label{color:#15803d}.practice-reference-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;color:#172033;font-size:20px;line-height:1.4}.reference-word{padding:0;border:0;border-bottom:1px dashed #2563eb;border-radius:0;background:transparent;color:#172033;font:inherit;cursor:pointer}.reference-word:hover,.reference-word:focus-visible{color:#2563eb;outline:0}.practice-word-line{justify-content:center;max-height:100%;overflow:hidden}.practice-feedback{width:100%;max-height:128px;margin-top:0;overflow:hidden}.practice-bottom-bar{display:grid;place-items:center;min-height:116px;padding:0;border-top:0;background:#000}.practice-dock-grid{display:grid;grid-template-columns:140fr 205fr 161fr 165fr 187fr 137fr 132fr 202fr 140fr;gap:23px;align-items:center;width:min(1652px,calc(100vw - 72px))}.practice-dock-button{display:grid;grid-template-rows:17px 22px;align-content:center;justify-items:center;gap:2px;min-width:0;min-height:56px;padding:6px 10px;border:1px solid #2a2a2a;border-radius:4px;background:#131313;color:#fff;cursor:pointer}.practice-dock-button span,.practice-dock-button strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1}.practice-dock-button span{min-height:17px;color:#9ca3af;font-size:13px;font-weight:800}.practice-dock-button strong{color:#f8fafc;font-size:18px;font-weight:900}.practice-dock-button:hover,.practice-dock-button.active{border-color:#3b82f6;background:#172554}.practice-dock-button:disabled{border-color:#1f1f1f;background:#0b0b0b;cursor:not-allowed}.practice-dock-button:disabled span,.practice-dock-button:disabled strong{color:#4b5563}.practice-submit-action{min-width:108px;justify-content:center}.practice-result-screen{display:grid;place-items:center;gap:12px;min-height:100vh;padding:42px 20px;text-align:center}.practice-result-screen svg{color:#16a34a}.back-link{gap:8px;margin-bottom:18px;color:#40516c}.back-link.compact{margin-bottom:0}.pack-hero{display:flex;gap:18px;align-items:center;margin-bottom:24px}.lesson-list{display:grid;gap:12px}.lesson-row{display:grid;grid-template-columns:42px minmax(0,1fr) 34px;align-items:center;gap:14px;padding:16px;border:1px solid #e0e5ed;border-radius:8px;background:#fff}.lesson-order{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#172033;color:#fff;font-weight:800}.notebook-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.notebook-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.notebook-panel{min-height:260px;padding:16px;border:1px solid #e0e5ed;border-radius:8px;background:#fff}.notebook-panel-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.notebook-panel-head h2{flex:1}.notebook-panel-head strong{color:#2563eb}.notebook-item,.empty-row{padding:12px 0;border-top:1px solid #edf0f5}.notebook-item strong{display:block}.notebook-item p{margin:5px 0 0;color:#536176}.notebook-item span,.empty-row{color:#64748b;font-size:13px}.notebook-item span{display:block;margin-top:6px}.practice-card{padding:clamp(18px,4vw,30px)}.listening-card{display:grid;gap:20px}.learning-topline{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px}.learning-status{display:flex;align-items:center;justify-content:center;gap:10px;color:#40516c}.learning-status span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learning-status strong,.score-chip{flex:0 0 auto;color:#172033;font-weight:800}.score-chip{padding:6px 10px;border:1px solid #d8dee8;border-radius:8px;background:#f8fafc;font-size:13px}.learning-mode-label{display:flex;align-items:center;justify-content:center;gap:8px}.learning-mode-label span,.learning-mode-label em{padding:5px 10px;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-size:13px;font-style:normal;font-weight:800}.learning-mode-label em{background:#f1f5f9;color:#475569}.listening-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.listen-button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:0;border-radius:8px;background:#2563eb;color:#fff;font-weight:800;cursor:pointer}.listen-button:disabled{opacity:.72;cursor:wait}.translation-line{margin:0;color:#172033;font-size:clamp(20px,3vw,30px);font-weight:800;line-height:1.3}.soundmark-line{margin:-10px 0 0;color:#64748b;font-size:15px;font-weight:700}.dialogue-box{display:flex;align-items:center;gap:12px;min-height:78px;padding:18px;border:1px solid #d8dee8;border-radius:8px;background:#f8fafc}.dialogue-box svg{flex:0 0 auto;color:#2563eb}.dialogue-box.dictation-box{align-items:flex-start}.word-line{display:flex;flex:1;flex-wrap:wrap;align-items:baseline;gap:12px 14px}.word-input{min-width:1ch;height:36px;padding:0;border:0;border-bottom:2px solid #172033;border-radius:0;background:transparent;color:#172033;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:clamp(20px,3vw,28px);line-height:1;letter-spacing:0;text-align:center}.word-input:focus{outline:0;border-bottom-color:#2563eb;background:#eff6ff}.word-input.correct{border-bottom-color:#16a34a;color:#065f46}.word-input.wrong{border-bottom-color:#dc2626;color:#991b1b}.punctuation{margin-left:-4px;color:#172033;font-size:clamp(20px,3vw,28px);font-weight:800}.progress-line{gap:12px;margin-bottom:4px}.progress-line span{width:54px;color:#64748b;font-size:13px}.progress-line div{flex:1;height:8px;overflow:hidden;border-radius:999px;background:#e6ebf2}.progress-line i{display:block;height:100%;background:#2563eb}.answer-box{min-height:72px;margin:22px 0;padding:18px;border:1px dashed #aeb9c9;border-radius:8px;background:#f8fafc}.answer-box span{color:#64748b}.answer-box.success{border-color:#16a34a;background:#f0fdf4}.answer-box.danger{border-color:#dc2626;background:#fff1f2}.token-grid{display:flex;flex-wrap:wrap;gap:10px}.token-grid button{min-height:42px;padding:0 14px;border:1px solid #ccd5e3;border-radius:8px;background:#fff;cursor:pointer}.token-grid button:hover{border-color:#64748b}.feedback{margin-top:18px;padding:14px;border-radius:8px;background:#fff7ed;color:#7c2d12}.feedback.ok{background:#ecfdf5;color:#065f46}.feedback span{display:block;margin-top:4px;font-weight:700}.feedback p{margin:6px 0 0}.tool-row{justify-content:flex-end;gap:10px;margin-top:20px}.tool-row.learning-actions{justify-content:center}.primary-action,.secondary-action{min-height:40px;padding:0 16px;border-radius:8px;border:1px solid transparent;cursor:pointer}.primary-action{display:inline-flex;align-items:center;background:#172033;color:#fff;font-weight:700}.secondary-action{background:#fff;border-color:#d8dee8;color:#283449}.result-panel{display:grid;justify-items:center;gap:12px;padding:42px 20px;text-align:center}.result-panel svg{color:#16a34a}.auth-shell{display:block;min-height:100vh}.auth-main{min-height:100vh;padding:0}.auth-page{display:grid;place-items:center;min-height:100vh;padding:24px;background:#f6f7f9}.auth-panel{display:grid;gap:18px;width:min(440px,100%);padding:28px;border:1px solid #e0e5ed;border-radius:8px;background:#fff;box-shadow:0 18px 48px #0f172a14}.auth-heading{display:flex;align-items:center;gap:12px}.auth-heading svg{color:#2563eb}.auth-heading h1{font-size:26px}.auth-switch,.auth-step-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;border-radius:8px;background:#eef2f7}.auth-switch button,.auth-step-row span{display:grid;place-items:center;min-height:38px;border:0;border-radius:6px;background:transparent;color:#536176;font-weight:800}.auth-switch button{cursor:pointer}.auth-switch button.active,.auth-step-row span.active{background:#fff;color:#1d4ed8;box-shadow:0 1px 3px #0f172a14}.auth-field{display:grid;gap:8px}.auth-field span{color:#40516c;font-size:13px;font-weight:800}.auth-field input{width:100%;min-height:44px;padding:0 12px;border:1px solid #d8dee8;border-radius:8px;background:#fff;color:#172033;font:inherit}.auth-field input:focus{outline:0;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.auth-code-row{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:8px}.auth-dev-code{margin:-4px 0 0;padding:9px 10px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-size:13px;font-weight:800}.auth-submit{justify-content:center;gap:8px;min-height:44px}.auth-submit:disabled,.auth-code-row button:disabled{opacity:.68;cursor:wait}.auth-alt{margin:0;color:#64748b;text-align:center}.auth-alt a{color:#1d4ed8;font-weight:800}.practice-toast{position:fixed;top:82px;right:clamp(16px,3vw,42px);z-index:30;max-width:min(360px,calc(100vw - 32px));padding:12px 16px;border:1px solid #bbf7d0;border-radius:8px;background:#f0fdf4;box-shadow:0 12px 28px #0f172a24;color:#166534;font-weight:800}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:18px;background:#0f172a61}.confirm-modal{width:min(420px,100%);padding:22px;border:1px solid #d8dee8;border-radius:8px;background:#fff;box-shadow:0 22px 70px #0f172a38}.confirm-modal h2{font-size:22px}.confirm-modal p{margin:10px 0 0;color:#536176}.word-modal h2{word-break:break-word}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}@media(max-width:820px){.left-nav{display:none}.shell{display:block}.mobile-brand,.mobile-nav-actions{display:flex}.textbook-shelf-grid,.word-book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.word-publisher-grid{grid-template-columns:repeat(4,max-content);gap:14px 22px}.word-level-tabs{overflow-x:auto}.plaza-header,.plaza-toolbar{grid-template-columns:1fr}.plaza-header{display:grid}.notebook-tabs{grid-template-columns:1fr 1fr}.notebook-content-panel{min-height:300px}.notebook-tab{padding:0 10px}.notebook-header,.notebook-board,.notebook-summary-row{grid-template-columns:1fr}.notebook-header{display:grid}.notebook-board{padding:10px}.notebook-column{min-height:0}.practice-topbar{grid-template-columns:1fr auto;min-height:104px}.immersive-practice{grid-template-rows:104px 6px minmax(0,1fr) 176px}.practice-title-block,.practice-status-strip{grid-column:1 / -1}.practice-stage{padding:18px}.practice-focus-panel{min-height:0}.practice-translation{font-size:24px}.practice-bottom-bar{min-height:176px}.practice-dock-grid{width:min(720px,calc(100vw - 28px));grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.practice-dock-button{min-height:42px;padding:4px 8px}.practice-dock-button span{font-size:11px}.practice-dock-button strong{font-size:14px}.dashboard-grid,.notebook-grid,.home-layout-grid,.home-metric-row,.notebook-action-grid,.home-ranking-podium,.ranking-user-row,.home-ranking-row{grid-template-columns:1fr}.ranking-user-row,.home-ranking-row{justify-items:start}.ranking-time{justify-self:start}.home-side-column,.side-panel{order:-1}.pack-card{grid-template-columns:76px minmax(0,1fr)}.pack-cover{width:76px;min-height:96px}.pack-hero{align-items:flex-start}}@media(max-width:560px){main{padding:16px}.topbar{padding:0 14px}.brand span{font-size:15px}.pack-card,.lesson-row,.notebook-heading{grid-template-columns:1fr}.notebook-heading{display:grid;justify-items:start}.pack-cover{width:100%;min-height:78px}.pack-cover.large{width:82px;height:96px;min-height:96px}.practice-word-line{column-gap:10px}.tool-row{justify-content:flex-start;flex-wrap:wrap}.listening-header{display:grid}.listen-button{width:100%;justify-content:center}.learning-topline{grid-template-columns:1fr;justify-items:stretch}.home-hero-panel,.compact-heading,.notebook-header{display:grid;justify-items:start}.notebook-tabs{grid-template-columns:1fr}.notebook-content-row{display:grid;gap:8px}.textbook-shelf-grid,.word-book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.word-publisher-grid{grid-template-columns:repeat(2,max-content)}.word-book-card{gap:10px}.word-book-card h2{font-size:18px}.word-book-card p,.word-book-card>strong,.word-publisher-pill{font-size:14px}.plaza-summary{justify-content:flex-start}.immersive-practice{grid-template-rows:118px 6px minmax(0,1fr) 196px}.practice-topbar,.practice-bottom-bar{padding-left:10px;padding-right:10px}.practice-status-strip{justify-content:flex-start}.practice-answer-panel{padding:16px}.practice-bottom-bar{min-height:196px}.practice-dock-grid{width:calc(100vw - 20px);grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.practice-dock-button{min-height:40px}.practice-submit-action{width:100%}.learning-status{justify-content:space-between}.score-chip{justify-self:start}.modal-actions{display:grid}}
