.course-card-heading[data-v-8c45e81b]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 0}.course-card-labels[data-v-8c45e81b]{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.course-card-heading .favorite-button[data-v-8c45e81b]{position:static;flex-shrink:0;background:var(--surface-2);color:var(--muted);border:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none}.course-card-heading .favorite-button.selected[data-v-8c45e81b]{background:var(--primary);color:#fff}.course-card-labels .badge[data-v-8c45e81b]{line-height:1.4;min-height:24px;font-size:11px}.course-card-body[data-v-8c45e81b]{padding:14px 20px 20px;min-width:0}.course-card h3[data-v-8c45e81b]{white-space:normal;line-height:1.65;overflow-wrap:anywhere;font-size:17px;margin:8px 0}.course-card p[data-v-8c45e81b]{line-height:1.9}.course-category[data-v-8c45e81b]{display:block;line-height:1.6}.card-meta[data-v-8c45e81b]{flex-wrap:wrap;gap:8px}.card-matches[data-v-8c45e81b]{display:block;min-height:0;margin:10px 0 0;color:var(--primary);font-size:12px;font-weight:650;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-line-clamp:unset}.badge.assignment-badge{background:#4f46e5;color:#fff;font-size:.72rem;font-weight:600;padding:.2rem .55rem;border-radius:6px;letter-spacing:.02em}.countdown-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;font-weight:600;color:#0369a1;background:#e0f2fee6;padding:.2rem .55rem;border-radius:6px;border:1px solid rgba(186,230,253,.8)}.countdown-badge.is-overdue{color:#b91c1c;background:#fee2e2e6;border-color:#fecacae6}.badge.overdue-badge{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5;font-size:.72rem;font-weight:600;padding:.15rem .45rem;border-radius:4px}.badge.ontime-badge{background:#dcfce7;color:#15803d;border:1px solid #86efac;font-size:.72rem;font-weight:600;padding:.15rem .45rem;border-radius:4px}.batch-mode-toggle-btn:hover{color:var(--ink);border-color:var(--primary)}.batch-mode-toggle-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.batch-btn.primary{background:#2563eb;color:#fff;border-color:#1d4ed8}@keyframes modalPop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.t-chip:hover{color:var(--ink)}.t-chip.active{background:var(--ink);color:var(--surface);border-color:var(--ink)}.student-dashboard-hero{padding:2.25rem 0 3rem;background:linear-gradient(180deg,rgba(8,127,120,.04) 0%,transparent 100%);border-bottom:1px solid var(--line);margin-bottom:2rem}.dashboard-goal-banner{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.15rem 1.5rem;margin-bottom:1.5rem;box-shadow:0 4px 16px #00000005;flex-wrap:wrap;gap:1rem}.goal-left{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.goal-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;background:linear-gradient(135deg,#087f78,#0d9488);color:#fff;border-radius:999px;font-size:.76rem;font-weight:700;letter-spacing:.02em}.goal-summary-text{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.goal-summary-text h3{margin:0;font-size:1.15rem;font-weight:700;color:var(--ink)}.goal-summary-text h3 b{color:var(--primary);font-size:1.25rem}.countdown-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;background:#fef3c7;color:#b45309;border-radius:6px;font-size:.78rem;font-weight:600}.countdown-badge b{font-size:.88rem;font-weight:800}.countdown-badge.muted{background:var(--surface-2);color:var(--muted)}.goal-edit-form{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.goal-edit-form label{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--ink)}.goal-edit-form select,.goal-edit-form input{padding:.3rem .5rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:.82rem}.mini-save-goal-btn{padding:.35rem .75rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:700;cursor:pointer}.goal-edit-toggle-btn{display:inline-flex;align-items:center;gap:.3rem;background:none;border:1px solid var(--line);border-radius:6px;padding:.35rem .7rem;font-size:.78rem;color:var(--muted);cursor:pointer;transition:all .15s ease}.goal-edit-toggle-btn:hover{color:var(--ink);border-color:var(--primary)}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:1.5rem}@media(max-width:900px){.dashboard-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.dashboard-kpi-grid{grid-template-columns:1fr}}.kpi-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.25rem 1.35rem;box-shadow:0 2px 10px #00000005;transition:all .2s ease;display:flex;flex-direction:column;justify-content:space-between}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000000d}.kpi-card.highlight{border-color:#087f7866;background:linear-gradient(135deg,var(--surface) 0%,rgba(8,127,120,.04) 100%)}.kpi-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.kpi-title{font-size:.8rem;font-weight:700;color:var(--muted);letter-spacing:.02em}.kpi-icon.gold{color:#d97706}.kpi-icon.blue{color:#2563eb}.kpi-icon.red{color:#e11d48}.kpi-icon.purple{color:#7c3aed}.kpi-main-stat{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.6rem}.kpi-num{font-size:2.1rem;font-weight:900;line-height:1;color:var(--ink);letter-spacing:-.03em}.kpi-main-stat small{font-size:.82rem;font-weight:600;color:var(--muted)}.kpi-foot-note{font-size:.74rem;color:var(--muted);line-height:1.4;border-top:1px dashed var(--line);padding-top:.5rem}.kpi-foot-note b{color:#059669}.dashboard-hub-row{display:grid;grid-template-columns:minmax(320px,1fr) 1.5fr;gap:1.25rem}@media(max-width:900px){.dashboard-hub-row{grid-template-columns:1fr}}.hub-recommendation-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.25rem 1.4rem;display:flex;flex-direction:column;justify-content:space-between;gap:.85rem;box-shadow:0 2px 10px #00000005}.hub-recommendation-card.assignment-alert{border-color:#fca5a5;background:linear-gradient(135deg,#fff5f5,#fff)}.rec-card-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#087f781a;color:var(--primary)}.assignment-alert .rec-card-icon{background:#fee2e2;color:#dc2626}.rec-tag-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.rec-tag{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase}.countdown-tag{font-size:.72rem;color:#b91c1c;font-weight:700}.hub-recommendation-card h4{margin:.2rem 0 .3rem;font-size:1.05rem;font-weight:800;color:var(--ink)}.hub-recommendation-card p{margin:0;font-size:.82rem;color:var(--muted);line-height:1.45}.rec-action-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--surface-2);color:var(--ink);border-radius:8px;font-size:.82rem;font-weight:700;align-self:flex-start;transition:all .15s ease}.rec-action-btn:hover{background:var(--surface-3);color:var(--primary)}.rec-action-btn.primary{background:#dc2626;color:#fff}.rec-action-btn.primary:hover{background:#b91c1c}.fast-launch-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem}@media(max-width:500px){.fast-launch-grid{grid-template-columns:1fr}}.fast-tile{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1rem 1.15rem;display:flex;align-items:center;gap:.85rem;color:var(--ink);transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #00000005}.fast-tile:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000000d}.fast-tile b{display:block;font-size:.92rem;font-weight:700;color:var(--ink);margin-bottom:.15rem}.fast-tile small{display:block;font-size:.74rem;color:var(--muted)}.fast-tile.mock-tile{border-left:4px solid #2563eb}.fast-tile.mock-tile svg{color:#2563eb}.fast-tile.submit-tile{border-left:4px solid #087f78}.fast-tile.submit-tile svg{color:#087f78}.fast-tile.flashcard-tile{border-left:4px solid #7c3aed}.fast-tile.flashcard-tile svg{color:#7c3aed}.fast-tile.training-tile{border-left:4px solid #d97706}.fast-tile.training-tile svg{color:#d97706}.chart-vision-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 20px #00000008;transition:all .2s ease}.chart-vision-card.compact{padding:1rem;margin-bottom:1.25rem}.vision-header{margin-bottom:1.25rem}.vision-title-group{display:flex;align-items:center;gap:.75rem;margin-bottom:.35rem}.vision-badge{display:inline-flex;align-items:center;gap:.35rem;background:linear-gradient(135deg,#6366f126,#a855f726);color:#6366f1;font-size:.75rem;font-weight:700;padding:.25rem .65rem;border-radius:999px;border:1px solid rgba(165,180,252,.4)}.vision-title-group h3{margin:0;font-size:1.25rem;font-weight:800;color:var(--ink);letter-spacing:-.02em}.vision-subtitle{margin:0;font-size:.88rem;line-height:1.5;color:var(--muted)}.vision-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}@media(max-width:900px){.vision-upload-grid{grid-template-columns:1fr}}.chart-drop-zone{border:2px dashed rgba(99,102,241,.35);background:color-mix(in srgb,#6366f1 3%,var(--bg));border-radius:12px;padding:2rem 1.5rem;text-align:center;cursor:pointer;transition:all .2s ease;position:relative}.chart-drop-zone:hover,.chart-drop-zone.is-dragging{border-color:#6366f1;background:color-mix(in srgb,#6366f1 8%,var(--bg))}.file-hidden-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.drop-zone-label{display:flex;flex-direction:column;align-items:center;gap:.6rem;cursor:pointer}.drop-icon-circle{width:52px;height:52px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:#6366f1;box-shadow:0 2px 8px #6366f11f}.drop-zone-label strong{font-size:.98rem;color:var(--ink)}.drop-zone-label span{font-size:.78rem;color:var(--muted);max-width:320px;line-height:1.4}.chart-preview-container{display:flex;flex-direction:column;gap:.75rem}.preview-img-wrap{position:relative;background:#f8fafc;border:1px solid var(--line);border-radius:12px;overflow:hidden;max-height:320px;display:flex;align-items:center;justify-content:center}.chart-preview-img{max-width:100%;max-height:320px;object-fit:contain;display:block}.btn-remove-chart{position:absolute;top:10px;right:10px;background:#0f172ad9;color:#fff;border:none;border-radius:6px;font-size:.78rem;font-weight:600;padding:.4rem .75rem;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s ease}.btn-remove-chart:hover{background:#ef4444}.vision-controls-box{display:flex;flex-direction:column;gap:1.1rem}.control-field{display:flex;flex-direction:column;gap:.45rem}.control-label{display:flex;justify-content:space-between;align-items:center}.control-label span{font-size:.82rem;font-weight:700;color:var(--ink)}.control-label small{font-size:.72rem;color:var(--muted)}.chart-type-chips{display:flex;flex-wrap:wrap;gap:.45rem}.type-chip-btn{display:inline-flex;align-items:center;gap:.35rem;background:var(--bg);border:1px solid var(--line);color:var(--ink);font-size:.78rem;font-weight:600;padding:.35rem .65rem;border-radius:8px;cursor:pointer;transition:all .15s ease}.type-chip-btn:hover{border-color:#6366f1;color:#6366f1}.type-chip-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}.chart-prompt-input{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:.65rem .85rem;font-size:.85rem;color:var(--ink);outline:none;transition:border-color .15s ease}.chart-prompt-input:focus{border-color:#6366f1}.vision-error-bar{display:flex;align-items:center;gap:.5rem;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;font-size:.8rem;padding:.6rem .85rem;border-radius:8px}.btn-trigger-vision{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;border-radius:10px;padding:.85rem 1.5rem;font-size:.95rem;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #6366f14d;transition:all .2s ease}.btn-trigger-vision:hover:not(:disabled){opacity:.95;transform:translateY(-1px)}.btn-trigger-vision:disabled{opacity:.5;cursor:not-allowed;transform:none}.vision-result-board{margin-top:1.75rem;padding-top:1.75rem;border-top:1px solid var(--line);animation:fadeIn .25s ease-out}.result-board-top{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.meta-tag-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.meta-pill{font-size:.76rem;padding:.25rem .65rem;border-radius:6px;display:inline-flex;align-items:center;gap:.35rem}.chart-type-pill{background:#ede9fe;color:#5b21b6;font-weight:700}.timeframe-pill{background:#e0f2fe;color:#0369a1}.unit-pill{background:#f1f5f9;color:#475569}.provider-pill{background:#fef3c7;color:#92400e;font-size:.7rem}.chart-main-title{display:flex;align-items:center;justify-content:space-between;gap:1rem}.chart-main-title h4{margin:0;font-size:1.15rem;font-weight:800;color:var(--ink)}.btn-apply-prompt{white-space:nowrap;font-size:.8rem;font-weight:600;background:#f8fafc;border:1px solid var(--line);color:#4338ca;padding:.35rem .75rem;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:all .15s ease}.btn-apply-prompt:hover{background:#eef2ff;border-color:#c7d2fe}.analysis-sections-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem}@media(max-width:900px){.analysis-sections-grid{grid-template-columns:1fr}}.analysis-card{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:1.1rem;display:flex;flex-direction:column;gap:.85rem}.card-head h5{margin:0 0 .2rem;font-size:.95rem;font-weight:800;color:var(--ink)}.card-head small{font-size:.72rem;color:var(--muted)}.feature-item-list{display:flex;flex-direction:column;gap:.75rem}.feature-item{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.75rem .9rem}.feat-badge-name{display:flex;align-items:center;gap:.45rem;margin-bottom:.3rem}.idx-dot{width:18px;height:18px;border-radius:50%;background:#4f46e5;color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center}.feat-badge-name strong{font-size:.88rem;color:var(--ink)}.feat-detail{margin:0 0 .35rem;font-size:.82rem;line-height:1.45;color:#334155}.feat-significance{font-size:.74rem;color:#0d9488;background:#0d948814;padding:.25rem .5rem;border-radius:4px}.baseline-item-list{display:flex;flex-direction:column;gap:.65rem}.baseline-item{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.65rem .85rem}.baseline-group-label{font-size:.78rem;font-weight:700;color:#4338ca;margin-bottom:.25rem}.baseline-obs{margin:0;font-size:.82rem;line-height:1.45;color:var(--ink)}.overview-box{background:linear-gradient(135deg,#eef2ffe6,#f5f3ffe6);border:1px solid rgba(165,180,252,.5);border-radius:8px;padding:.85rem 1rem;margin-top:.4rem}.overview-head{display:flex;align-items:center;gap:.4rem;color:#4f46e5;font-size:.78rem;font-weight:700;margin-bottom:.35rem}.overview-quote{margin:0 0 .4rem;font-size:.84rem;font-style:italic;line-height:1.5;color:#1e1b4b;font-weight:500}.overview-box small{display:block;font-size:.7rem;color:#6366f1}.academic-vocab-section{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:.85rem 1.1rem}.vocab-title{font-size:.8rem;font-weight:700;color:var(--ink);margin-bottom:.5rem}.vocab-pill-wrap{display:flex;flex-wrap:wrap;gap:.5rem}.vocab-pill{display:inline-flex;align-items:center;gap:.35rem;background:var(--surface);border:1px solid var(--line);color:var(--ink);font-size:.78rem;font-weight:600;padding:.3rem .65rem;border-radius:6px;cursor:pointer;transition:all .15s ease}.vocab-pill:hover{border-color:#6366f1;color:#6366f1;background:#6366f10d}.vocab-pill.copied{background:#10b981;border-color:#10b981;color:#fff}.chart-attachment-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 2px 10px #00000005}.chart-attachment-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.chart-attachment-head h4{margin:0;font-size:1.05rem;font-weight:800;display:flex;align-items:center;gap:.5rem;color:var(--ink)}.chart-attachment-body{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:1.25rem}@media(max-width:850px){.chart-attachment-body{grid-template-columns:1fr}}.chart-attachment-img-wrap{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#f8fafc;display:flex;align-items:center;justify-content:center;max-height:280px}.chart-attachment-img-wrap img{max-width:100%;max-height:280px;object-fit:contain}.chart-attachment-analysis{display:flex;flex-direction:column;gap:.75rem}.category-chip{padding:.35rem .75rem;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;font-size:.8rem;font-weight:600;color:var(--muted);cursor:pointer;transition:all .15s ease}.category-chip:hover{background:var(--surface-3);color:var(--ink)}.category-chip.active{background:var(--ink);color:var(--surface);border-color:var(--ink)}.category-chip.active.gra{background:#ea580c;border-color:#ea580c;color:#fff}.category-chip.active.lr{background:#0891b2;border-color:#0891b2;color:#fff}.category-chip.active.tr{background:#dc2626;border-color:#dc2626;color:#fff}.tag-original{background:#f1f5f9;color:#475569}.tag-band6{background:#dbeafe;color:#1e40af}.tag-band7{background:#dcfce7;color:#166534}.tag-band8{background:#f3e8ff;color:#6b21a8}.colloc-add-btn{display:inline-flex;align-items:center;gap:3px;border:none;background:#e0f2fe;color:#0369a1;border-radius:4px;padding:1px 5px;font-size:.68rem;font-weight:600;cursor:pointer;transition:all .15s ease}.colloc-add-btn:hover{background:#bae6fd}.colloc-add-btn.is-saved{background:#dcfce7;color:#15803d}@keyframes modalPopIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.status-level-badge.exam_ready{background:#dcfce7;color:#15803d}.status-level-badge.ready{background:#e0f2fe;color:#0369a1}.status-level-badge.progressing{background:#fef3c7;color:#b45309}.status-level-badge.developing{background:#f1f5f9;color:#475569}.readiness-goal-pill{display:flex;align-items:center;gap:8px;padding:4px 12px;background:#fff;border:1px solid #d4e7e1;border-radius:999px;box-shadow:0 2px 6px #087f780f;cursor:pointer}.readiness-goal-pill b{color:#087f78}.readiness-goal-pill small{font-size:.72rem;color:var(--muted)}.fast-tile.challenge-tile{border-left:4px solid #059669}.fast-tile.challenge-tile svg{color:#059669}.fast-tile.drills-tile{border-left:4px solid #ea580c}.fast-tile.drills-tile svg{color:#ea580c}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#102a43;background:#f3f7f4;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f3f7f4;--surface: #ffffff;--surface-2: #eaf1ed;--surface-3: #dce8e1;--ink: #102a43;--muted: #637782;--line: #d6e1dc;--line-strong: #173b4a;--primary: #087f78;--primary-dark: #075f5b;--primary-soft: #dff5ed;--lime: #b8f36b;--lime-soft: #efffd9;--green: #4b9b69;--blue: #3477a6;--amber: #dda43b;--danger: #d34f57;--shadow: 0 18px 45px rgba(16, 42, 67, .1);--hard-shadow: 0 20px 55px rgba(16, 42, 67, .18);--header-height: 66px}:root[data-theme=dark]{color:#f3f8f5;background:#081b2a;--bg: #081b2a;--surface: #102a3b;--surface-2: #173848;--surface-3: #224756;--ink: #f3f8f5;--muted: #a9bec4;--line: #294957;--line-strong: #dff5ed;--primary: #63d6c4;--primary-dark: #8de4d5;--primary-soft: #143f42;--lime: #b8f36b;--lime-soft: #253f29;--green: #74c991;--blue: #70b5df;--amber: #efc465;--danger: #ff7c82;--shadow: 0 16px 32px rgba(0, 0, 0, .24);--hard-shadow: 0 22px 58px rgba(0, 0, 0, .34)}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--ink)}button,input,select{color:inherit;font:inherit}button,a,input,textarea,select{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}.app-shell,.app-main{min-height:100vh;min-height:100dvh}.app-main{min-height:calc(100vh - var(--header-height) - env(safe-area-inset-top));min-height:calc(100dvh - var(--header-height) - env(safe-area-inset-top))}.site-header{position:sticky;z-index:50;top:0;height:calc(var(--header-height) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);border-bottom:1px solid color-mix(in srgb,var(--line),transparent 25%);background:color-mix(in srgb,var(--surface),transparent 12%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.header-inner{display:flex;width:min(1480px,100%);height:100%;margin:0 auto;padding:0 18px;align-items:center;justify-content:space-between;gap:18px}.brand{display:inline-flex;flex:none;align-items:center;gap:8px}.brand-mark{display:grid;width:32px;height:32px;border:2px solid var(--line-strong);border-radius:10px 6px;color:#fff;background:var(--primary);box-shadow:2px 2px 0 var(--line-strong);place-items:center;transform:rotate(-3deg)}.brand-word{font-size:20px;font-weight:900;letter-spacing:-.5px}.brand-word b{color:var(--primary)}.main-nav,.header-actions,.nav-link,.icon-action{display:flex;align-items:center}.main-nav{gap:2px}.nav-link{height:36px;padding:0 11px;border-radius:9px;gap:6px;color:var(--muted);background:transparent;font-size:14px;font-weight:800}.nav-link:hover:not(:disabled),.nav-link.active{color:var(--primary);background:var(--primary-soft)}.nav-link:disabled{opacity:.48}.nav-divider{margin:0 5px;color:var(--line)}.header-actions{gap:4px}.icon-action{height:34px;padding:0 8px;border-radius:9px;gap:4px;background:transparent;font-size:11px;font-weight:800}.icon-action:hover{color:var(--primary);background:var(--surface-2)}.pro-button,.login-button{height:34px;border-radius:9px;font-size:12px;font-weight:900}.pro-button{display:inline-flex;padding:0 11px;align-items:center;gap:5px;color:#4e3210;background:linear-gradient(135deg,#ffce64,#eca63b);box-shadow:0 4px 10px #c9862033}.login-button{padding:0 15px;color:#fff;background:var(--primary)}.mobile-menu-button{display:none;width:34px;height:34px;border-radius:9px;background:var(--surface-2);place-items:center}.mobile-nav{position:absolute;z-index:10;top:calc(var(--header-height) - 1px);right:12px;left:12px;display:grid;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);gap:4px}.mobile-nav a,.mobile-nav button{display:flex;padding:11px 12px;border-radius:8px;align-items:center;gap:9px;background:transparent;font-size:14px;font-weight:800;text-align:left}.mobile-nav a{color:var(--primary);background:var(--primary-soft)}.mobile-nav button{color:var(--muted);opacity:.6}.primary-button,.secondary-button,.danger-button{display:inline-flex;min-height:40px;padding:0 17px;border-radius:10px;align-items:center;justify-content:center;gap:7px;font-size:14px;font-weight:900;transition:.16s ease}.primary-button{color:#fff;background:var(--primary);box-shadow:0 8px 18px color-mix(in srgb,var(--primary),transparent 72%)}.primary-button:hover{background:var(--primary-dark);transform:translateY(-2px)}.secondary-button{border:1.5px solid var(--line);background:var(--surface)}.secondary-button:hover{border-color:var(--ink);transform:translateY(-1px)}.primary-button.large,.secondary-button.large{min-height:48px;padding:0 23px;border-radius:12px;font-size:15px}.skeleton{overflow:hidden;position:relative;border-radius:8px;background:var(--surface-3)}.skeleton:after{position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,white,transparent 45%),transparent);content:"";animation:shimmer 1.25s infinite;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.line{width:100%;height:17px;margin-bottom:12px}.line.short{width:38%}.line.small{width:68%;height:12px}.line.heading{height:38px}.library-page{display:flex;min-height:calc(100vh - var(--header-height));flex-direction:column;background:var(--surface)}.filter-label,.select-field>span,.search-field>span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase}.sidebar-intro>span,.eyebrow,.hero-kicker{color:var(--primary);font-size:10px;font-weight:900;letter-spacing:1.7px}.category-item:hover{background:var(--surface)}.category-item.active{border-color:var(--category-color);background:var(--surface);box-shadow:0 7px 16px color-mix(in srgb,var(--category-color),transparent 88%);transform:translateY(-1px)}.mobile-categories button.active{border-color:var(--primary);color:#fff;background:var(--primary)}.course-card{overflow:hidden;min-width:0;border:1.5px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 5px 15px #3d32230a;cursor:pointer;transition:.18s ease}.course-card:hover{border-color:var(--line-strong);box-shadow:var(--hard-shadow);transform:translate(-2px,-3px)}.card-cover-wrap{position:relative;padding:10px 10px 0}.cover-grid{position:absolute;z-index:-2;inset:0;opacity:.13;background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:22px 22px}.cover-orbit{position:absolute;z-index:-1;border:2px solid rgba(255,255,255,.22);border-radius:50%}.orbit-one{width:190px;height:190px;top:-62px;right:-61px}.orbit-two{width:120px;height:120px;right:22px;bottom:-55px}.cover-kicker{margin-bottom:9px;font-family:SFMono-Regular,monospace;font-size:9px;font-weight:700;letter-spacing:1.8px;opacity:.75}.compact .cover-copy strong{display:-webkit-box;overflow:hidden;max-width:92%;font-size:clamp(15px,1.45vw,22px);-webkit-box-orient:vertical;-webkit-line-clamp:2}.cover-copy>span:last-child{margin-top:8px;font-size:10px;font-weight:700;opacity:.76}.card-badges{display:flex;position:absolute;z-index:2;top:17px;left:17px;flex-wrap:wrap;gap:4px}.badge{display:inline-flex;min-height:22px;padding:3px 8px;border-radius:999px;align-items:center;gap:4px;color:#fff;font-size:9px;font-weight:900;line-height:1;letter-spacing:.25px}.badge.pro{color:#4e3210;background:#ffc85a}.badge.free{background:#649273}.badge.feature{background:#aa7962}.badge.new{background:#e85d3e}.favorite-button{display:grid;position:absolute;z-index:2;top:17px;right:17px;width:31px;height:31px;border:1px solid rgba(255,255,255,.7);border-radius:50%;color:#fff;background:#1e1c194d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:center}.favorite-button:hover,.favorite-button.selected{color:#fff;background:var(--primary)}.course-card-body{padding:14px 15px 15px}.course-category{color:var(--primary);font-size:9px;font-weight:900;letter-spacing:1.1px;text-transform:uppercase}.course-card h3{overflow:hidden;margin:4px 0 6px;font-size:16px;font-weight:900;letter-spacing:-.25px;text-overflow:ellipsis;white-space:nowrap}.course-card p{display:-webkit-box;overflow:hidden;min-height:32px;margin:0;color:var(--muted);font-size:11px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.tag-row{display:flex;min-height:22px;margin-top:10px;gap:5px}.tag-row span,.detail-tags span{padding:4px 7px;border-radius:6px;color:var(--muted);background:var(--surface-2);font-size:9px;font-weight:800}.card-meta{display:flex;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line);align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;font-weight:700}.card-meta span{display:inline-flex;align-items:center;gap:5px}.empty-state{display:flex;min-height:330px;padding:50px 20px;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);text-align:center}.empty-state svg{color:var(--primary)}.empty-state h2,.empty-state h1{margin:14px 0 5px;color:var(--ink);font-size:21px}.empty-state p{margin:0 0 18px;font-size:13px}.detail-page{min-height:calc(100vh - var(--header-height));background:var(--surface)}.detail-hero{overflow:hidden;position:relative;border-bottom:1.5px solid var(--line);background:var(--surface)}.back-link,.practice-back{display:inline-flex;padding:5px 0;color:var(--muted);align-items:center;gap:7px;background:transparent;font-size:12px;font-weight:800}.back-link:hover,.practice-back:hover{color:var(--primary)}.section-heading{display:flex;margin-bottom:20px;align-items:center;justify-content:space-between}.section-heading>div{display:flex;align-items:center;gap:10px}.section-heading>div>span{width:6px;height:28px;border-radius:99px;background:var(--primary)}.section-heading h2{margin:0;font-size:24px;font-weight:900}.section-heading p{margin:0;color:var(--muted);font-size:12px}.detail-loading{display:grid;width:min(1080px,calc(100% - 40px));min-height:420px;margin:0 auto;grid-template-columns:210px 1fr;align-items:center;gap:60px}.live-stats .info{color:var(--blue)}.live-stats .primary{color:var(--primary)}.live-stats .success{color:var(--green)}.chapter-list button.active{border-radius:9px;color:#fff;background:var(--primary)}.joined-buttons button.active{color:#fff;background:var(--primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,white,transparent 80%)}.reference-toggle:hover,.reference-toggle.active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.font-small .typing-text{font-size:16px}.font-large .typing-text{font-size:22px;line-height:1.85}.typing-char.correct{color:var(--ink)}.typing-char.incorrect{color:#fff;background:var(--danger);text-decoration:underline;text-decoration-thickness:2px}.typing-char.current{color:var(--primary);background:var(--primary-soft);scroll-margin:96px 0 28px}.typing-char.current:after{position:absolute;right:0;bottom:-3px;left:0;height:2px;background:var(--primary);content:"";animation:caretBlink 1s steps(2) infinite}@keyframes caretBlink{50%{opacity:0}}kbd{padding:3px 6px;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;color:var(--ink);background:var(--surface);font-family:SFMono-Regular,monospace;font-size:8px}.modal-layer{display:grid;position:fixed;z-index:100;inset:0;padding:20px;place-items:center}.modal-scrim{position:absolute;inset:0;background:#1412109e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.result-modal,.leave-modal{position:relative;width:min(460px,100%);padding:26px;border:2px solid var(--line-strong);border-radius:17px;background:var(--surface);box-shadow:8px 8px #141210b3;text-align:center;animation:modalIn .18s ease-out}@keyframes modalIn{0%{opacity:0;transform:translateY(12px) scale(.97)}}.modal-actions{display:flex;margin-top:21px;justify-content:flex-end;flex-wrap:wrap;gap:8px}.leave-modal>svg{color:var(--amber)}.leave-modal h2{margin:12px 0 6px}.leave-modal p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}@keyframes keyPress{to{transform:translateY(4px);box-shadow:1px 0 0 var(--line-strong)}}@media(min-width:1600px){:root{--header-height: 62px}.header-inner{padding:0 28px}}@media(max-width:1220px){.wide-action span{display:none}.main-nav .nav-link{padding-right:8px;padding-left:8px}}@media(max-width:1000px){.main-nav{display:none}.mobile-menu-button{display:grid}.settings-action,.wide-action{display:none}}@media(max-width:760px){.header-inner{padding:0 11px}.brand-word{font-size:18px}.pro-button{display:none}.login-button{height:32px;padding:0 11px}.card-cover-wrap{padding:7px 7px 0}.course-card-body{padding:11px}.course-card h3{font-size:14px}.course-card p{font-size:10px}.card-meta{align-items:flex-start;flex-direction:column;gap:5px}.card-badges{top:13px;left:13px}.favorite-button{top:12px;right:12px;width:28px;height:28px}.badge.feature{display:none}.section-heading{align-items:flex-start;flex-direction:column;gap:5px}.practice-reference-mobile-tabs button.active{color:var(--primary);background:var(--primary-soft)}.font-small .typing-text{font-size:14px}.font-large .typing-text{font-size:18px}.result-modal,.leave-modal{padding:22px 17px}.modal-actions{justify-content:center}}@media(max-width:450px){.compact .cover-copy strong{font-size:20px}.course-card p{min-height:auto}.card-meta{flex-direction:row}.icon-action{display:none}.detail-loading{grid-template-columns:1fr;gap:20px;padding:30px 0}}.account-menu{position:relative}.account-button{display:flex;height:36px;padding:0 9px 0 5px;border:1px solid var(--line);border-radius:10px;align-items:center;gap:7px;background:var(--surface);font-size:11px;font-weight:800}.account-button>span,.account-dropdown>div>span,.mobile-user>span{display:grid;width:27px;height:27px;border-radius:9px;color:#fff;background:linear-gradient(145deg,var(--primary),#bd4533);box-shadow:1px 2px 0 var(--line-strong);place-items:center;font-weight:900}.account-button>b{overflow:hidden;max-width:72px;text-overflow:ellipsis;white-space:nowrap}.account-dropdown{position:absolute;z-index:80;top:calc(100% + 9px);right:0;width:235px;padding:8px;border:1.5px solid var(--line-strong);border-radius:13px;background:var(--surface);box-shadow:var(--hard-shadow)}.account-dropdown:before{position:absolute;top:-6px;right:18px;width:10px;height:10px;border-top:1.5px solid var(--line-strong);border-left:1.5px solid var(--line-strong);background:var(--surface);content:"";transform:rotate(45deg)}.account-dropdown>div{display:flex;padding:9px 8px 12px;border-bottom:1px dashed var(--line);align-items:center;gap:10px}.account-dropdown>div>span{width:34px;height:34px}.account-dropdown p{display:grid;min-width:0;margin:0;flex:1}.account-dropdown p b,.account-dropdown p small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-dropdown p b{font-size:12px}.account-dropdown p small{color:var(--muted);font-size:9px}.account-dropdown>button{display:flex;width:100%;height:36px;padding:0 9px;border-radius:8px;align-items:center;gap:8px;background:transparent;font-size:11px;font-weight:800;text-align:left}.account-dropdown>button:hover{background:var(--surface-2)}.account-dropdown .logout-item{margin-top:2px;color:var(--danger)}.mobile-user{display:flex;padding:9px 12px;align-items:center;gap:9px}.mobile-user>span{width:30px;height:30px}.mobile-logout{color:var(--danger)!important;opacity:1!important}.mobile-auth-actions{display:grid;margin-top:5px;grid-template-columns:1fr 1fr;gap:7px}.mobile-auth-actions button{justify-content:center;border:1px solid var(--line);opacity:1}.mobile-auth-actions button:last-child{border-color:var(--primary);color:#fff;background:var(--primary)}.home-page{overflow:hidden;min-height:calc(100vh - var(--header-height));background:var(--surface)}.home-container{position:relative;width:min(1180px,calc(100% - 40px));margin:0 auto}.home-hero{overflow:hidden;position:relative;min-height:680px;padding:80px 0 85px;background:radial-gradient(circle at 14% 12%,color-mix(in srgb,var(--primary),transparent 86%) 0,transparent 23%),radial-gradient(circle at 91% 76%,rgba(81,139,154,.14) 0,transparent 24%),linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface-2),var(--surface) 58%))}.hero-dot-grid{position:absolute;width:235px;height:190px;right:3%;bottom:-25px;opacity:.28;background-image:radial-gradient(var(--muted) 1px,transparent 1px);background-size:14px 14px;-webkit-mask-image:linear-gradient(135deg,transparent,black);mask-image:linear-gradient(135deg,transparent,black)}.hero-doodle{display:grid;position:absolute;width:42px;height:42px;border:2px solid var(--line-strong);border-radius:9px;color:var(--muted);background:var(--surface);box-shadow:3px 4px 0 var(--line-strong);place-items:center;font-family:SFMono-Regular,monospace;font-weight:900}.doodle-one{top:50px;left:3%;transform:rotate(-11deg)}.doodle-two{right:3%;bottom:48px;transform:rotate(9deg)}.hero-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(470px,1.06fr);align-items:center;gap:clamp(48px,6vw,86px)}.home-announcement{display:inline-flex;height:30px;padding:0 7px 0 10px;border:1px solid color-mix(in srgb,var(--primary),var(--line) 45%);border-radius:999px;color:var(--primary);align-items:center;gap:7px;background:var(--primary-soft);font-size:10px;font-weight:900;letter-spacing:.3px}.home-announcement span{padding:3px 6px;border-radius:999px;color:#fff;background:var(--primary);font-size:7px;letter-spacing:1px}.home-hero-copy h1{position:relative;margin:20px 0 18px;font-size:clamp(46px,5.15vw,68px);font-weight:900;line-height:1.08;letter-spacing:-2.4px}.home-hero-copy h1 span{position:relative;z-index:1;color:var(--primary);white-space:nowrap}.home-hero-copy h1 i{position:absolute;z-index:0;width:255px;height:12px;right:16px;bottom:3px;opacity:.35;background:var(--primary);clip-path:polygon(0 30%,100% 0,96% 70%,4% 100%)}.home-hero-copy>p{max-width:520px;margin:0;color:var(--muted);font-size:15px;font-weight:600;line-height:1.75}.home-hero-actions{display:flex;margin-top:29px;flex-wrap:wrap;gap:11px}.home-primary-cta,.home-secondary-cta{display:inline-flex;min-height:49px;padding:0 19px;border-radius:12px;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:900;transition:.17s ease}.home-primary-cta{border:2px solid var(--line-strong);color:#fff;background:var(--primary);box-shadow:4px 5px 0 var(--line-strong)}.home-primary-cta:hover{transform:translate(-1px,-2px);box-shadow:6px 7px 0 var(--line-strong)}.home-secondary-cta{border:1.5px solid var(--line);background:var(--surface)}.home-secondary-cta:hover{border-color:var(--ink);transform:translateY(-2px)}.hero-trust{display:flex;margin-top:30px;align-items:center;gap:12px}.trust-avatars{display:flex;padding-left:8px}.trust-avatars span{display:grid;width:29px;height:29px;margin-left:-8px;border:2px solid var(--surface);border-radius:50%;color:#fff;background:#718f9f;place-items:center;font-size:9px;font-weight:900}.trust-avatars span:nth-child(2){background:#a67c68}.trust-avatars span:nth-child(3){background:#7f765f}.trust-avatars span:last-child{color:var(--ink);background:var(--surface-3)}.hero-trust p{display:grid;margin:0;color:var(--muted);font-size:10px}.hero-trust p b{color:var(--ink);font-size:11px}.hero-trust p small{display:inline-flex;margin-top:2px;align-items:center;gap:4px;font-size:9px}.hero-demo-wrap{position:relative;perspective:900px}.hero-demo{overflow:hidden;position:relative;width:100%;border:2px solid var(--line-strong);border-radius:17px;background:var(--surface-2);box-shadow:11px 13px color-mix(in srgb,var(--line-strong),transparent 4%),0 30px 55px #41302329;transform:rotateY(-2.2deg) rotateX(1.1deg)}.demo-window-bar{display:flex;height:38px;padding:0 13px;border-bottom:1px solid var(--line);align-items:center;gap:5px;background:var(--surface)}.demo-window-bar>span{width:8px;height:8px;border-radius:50%;background:#e86c59}.demo-window-bar>span:nth-child(2){background:#e2b34e}.demo-window-bar>span:nth-child(3){background:#6a9b72}.demo-window-bar b{margin-left:7px;color:var(--muted);font-size:8px;letter-spacing:.4px}.demo-toolbar{display:flex;height:62px;padding:8px 13px;border-bottom:1px solid var(--line);align-items:center;justify-content:space-between}.demo-toolbar>div:first-child{display:grid;gap:3px}.demo-toolbar small{color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.7px}.demo-toolbar>div:first-child>span{display:flex;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.demo-toolbar>div:first-child b,.demo-toolbar>div:first-child i{padding:5px 9px;border-right:1px solid var(--line);font-size:8px;font-style:normal}.demo-toolbar>div:first-child b{color:#fff;background:var(--primary)}.demo-stats{display:flex;height:40px;padding:4px 7px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.demo-stats span{display:grid;min-width:51px;padding:0 8px;border-right:1px solid var(--line);align-content:center;justify-items:center}.demo-stats span:last-child{border-right:0}.demo-stats b{margin-top:2px;color:var(--primary);font-family:SFMono-Regular,monospace;font-size:11px}.demo-stats span:nth-child(2) b{color:var(--green)}.demo-stats span:nth-child(3) b{color:var(--amber)}.demo-paper{position:relative;min-height:315px;margin:21px 25px 19px;padding:35px 33px 28px;border:1.5px solid var(--line-strong);border-radius:8px;background:repeating-linear-gradient(transparent,transparent 28px,color-mix(in srgb,var(--line),transparent 74%) 29px),var(--surface);box-shadow:5px 6px 0 var(--line-strong)}.demo-tape{position:absolute;width:85px;height:21px;top:-10px;left:calc(50% - 42px);opacity:.8;background:#d9d4c9;clip-path:polygon(2% 7%,100% 0,96% 95%,0 100%)}.demo-paper-head{display:flex;padding-bottom:8px;border-bottom:1px dashed var(--line);align-items:center;justify-content:space-between;color:var(--muted);font-size:8px}.demo-paper-head span{display:inline-flex;align-items:center;gap:5px}.demo-paper-head b{color:var(--primary);font-family:SFMono-Regular,monospace}.demo-question{margin:17px 0 12px;color:var(--muted);font-size:9px;font-style:italic;line-height:1.5}.demo-typing{font-family:SFMono-Regular,monospace;font-size:14px;line-height:1.9}.demo-typing .typed{color:var(--ink)}.demo-typing .mistyped{color:#fff;background:var(--danger)}.demo-typing .current{position:relative;color:var(--primary);background:var(--primary-soft)}.demo-typing .current:after{position:absolute;right:0;bottom:-3px;left:0;height:2px;background:var(--primary);content:"";animation:caretBlink 1s steps(2) infinite}.demo-typing .pending{color:color-mix(in srgb,var(--muted),transparent 45%)}.demo-translation{display:flex;margin-top:18px;padding:9px 10px;border-left:3px solid var(--blue);color:var(--muted);align-items:center;gap:7px;background:color-mix(in srgb,var(--blue),transparent 91%);font-size:9px}.demo-footer{display:flex;height:39px;padding:0 25px;border-top:1px solid var(--line);align-items:center;justify-content:flex-end;gap:18px;color:var(--muted);background:var(--surface);font-size:8px}.demo-footer span{display:inline-flex;align-items:center;gap:4px}.demo-float-note{display:grid;position:absolute;z-index:4;min-width:103px;padding:10px 12px;border:1.5px solid var(--line-strong);border-radius:11px;background:var(--surface);box-shadow:4px 5px 0 var(--line-strong);grid-template-columns:22px 1fr;align-items:center}.demo-float-note svg{grid-row:1 / 3;color:var(--primary)}.demo-float-note b{font-family:SFMono-Regular,monospace;font-size:10px}.demo-float-note small{color:var(--muted);font-size:7px}.note-wpm{right:-29px;bottom:81px;transform:rotate(3deg)}.note-streak{top:65px;left:-35px;transform:rotate(-4deg)}.note-streak svg{color:var(--amber)}.home-proof-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}.home-proof-strip .home-container{display:flex;min-height:84px;align-items:center;justify-content:space-between;gap:25px}.home-proof-strip .home-container>span{color:var(--primary);font-family:SFMono-Regular,monospace;font-size:8px;font-weight:800;letter-spacing:1.2px}.home-proof-strip .home-container>div{display:grid}.home-proof-strip b{font-family:SFMono-Regular,monospace;font-size:18px}.home-proof-strip small{color:var(--muted);font-size:9px}.home-proof-strip i{width:1px;height:30px;background:var(--line)}.home-section{padding:88px 0}.home-featured{background:var(--surface)}.home-section-heading{display:flex;margin-bottom:29px;align-items:end;justify-content:space-between}.home-section-heading>div>span,.mode-copy>span{color:var(--primary);font-size:9px;font-weight:900;letter-spacing:1.7px}.home-section-heading h2,.mode-copy h2{margin:5px 0 7px;font-size:clamp(30px,3.4vw,43px);font-weight:900;line-height:1.16;letter-spacing:-1.1px}.home-section-heading p{margin:0;color:var(--muted);font-size:12px}.home-section-heading>a,.mode-copy>a{display:inline-flex;padding:9px 12px;border-bottom:1.5px solid var(--primary);color:var(--primary);align-items:center;gap:6px;font-size:11px;font-weight:900}.home-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.home-course-grid .course-card h3{font-size:17px}.course-card[role=link]:focus-visible{outline:3px solid color-mix(in srgb,var(--primary),transparent 18%);outline-offset:4px}.home-course-skeletons{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.home-course-skeletons span{min-height:370px;border-radius:16px;background:var(--surface-2);animation:shimmerBg 1.2s infinite alternate}.home-course-error{display:flex;min-height:150px;padding:24px;border:1px dashed var(--line-strong);border-radius:16px;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--muted);background:var(--surface);text-align:center}.home-course-error p{margin:0}.home-course-error button{min-height:36px;padding:0 15px;border:1px solid var(--line-strong);border-radius:9px;color:var(--ink);background:var(--surface-2);font-weight:800}@keyframes shimmerBg{to{opacity:.55}}.mode-showcase{padding:105px 0;background:var(--surface)}.mode-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(370px,.92fr);align-items:center;gap:90px}.mode-visual{position:relative;min-height:430px}.mode-card-behind{position:absolute;width:83%;height:74%;top:34px;left:10%;border:2px solid var(--line-strong);border-radius:15px;background:var(--primary-soft);box-shadow:5px 6px 0 var(--line-strong);transform:rotate(-6deg)}.mode-card-main{position:absolute;z-index:2;top:42px;right:4%;left:3%;padding:25px 28px 22px;border:2px solid var(--line-strong);border-radius:15px;background:var(--surface);box-shadow:7px 9px 0 var(--line-strong);transform:rotate(1.8deg)}.mode-card-top{display:flex;padding-bottom:14px;border-bottom:1px dashed var(--line);align-items:center;justify-content:space-between;color:var(--primary);font-size:9px;font-weight:900}.mode-card-top span{display:inline-flex;align-items:center;gap:6px}.mode-card-top b{font-family:SFMono-Regular,monospace}.mode-card-main>p{margin:25px 0 18px;font-family:SFMono-Regular,monospace;font-size:clamp(15px,1.6vw,20px);line-height:1.85}.mode-card-main>div:not(.mode-card-top){padding:13px 15px;border-left:4px solid var(--blue);color:var(--muted);background:color-mix(in srgb,var(--blue),transparent 91%);font-size:12px;line-height:1.6}.mode-card-main footer{display:flex;margin-top:25px;padding-top:14px;border-top:1px solid var(--line);align-items:center;justify-content:space-between}.mode-dots{display:flex;gap:5px}.mode-dots i{width:6px;height:6px;border-radius:50%;background:var(--line)}.mode-dots i.active{width:19px;border-radius:99px;background:var(--primary)}.mode-card-main footer small{color:var(--muted);font-size:9px}.mode-key{display:grid;position:absolute;z-index:4;width:49px;height:49px;border:2px solid var(--line-strong);border-radius:10px;background:var(--surface);box-shadow:4px 5px 0 var(--line-strong);place-items:center;font-family:SFMono-Regular,monospace;font-weight:900}.key-one{right:-6px;bottom:44px;color:var(--primary);transform:rotate(8deg)}.key-two{bottom:16px;left:-7px;width:67px;color:var(--blue);transform:rotate(-8deg)}.mode-copy>p{margin:0;color:var(--muted);font-size:13px;line-height:1.75}.mode-copy ul{display:grid;margin:25px 0;padding:0;list-style:none;gap:15px}.mode-copy li{display:flex;gap:10px}.mode-copy li>svg{flex:none;margin-top:2px;color:var(--green)}.mode-copy li span{display:grid;gap:2px}.mode-copy li b{font-size:12px}.mode-copy li small{color:var(--muted);font-size:10px;line-height:1.5}.home-footer{border-top:1px solid var(--line);background:var(--surface-2)}.home-footer .home-container{display:flex;min-height:90px;align-items:center;justify-content:space-between;gap:20px}.home-footer p,.home-footer>div>span{color:var(--muted);font-size:9px}.auth-layer{display:grid;position:fixed;z-index:200;inset:0;padding:24px;place-items:center}.auth-backdrop{position:absolute;inset:0;background:#1e1a16a8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.auth-modal{overflow:hidden;display:grid;position:relative;width:min(880px,100%);max-height:min(720px,calc(100vh - 48px));border:2px solid var(--line-strong);border-radius:19px;grid-template-columns:40% 60%;background:var(--surface);box-shadow:11px 13px #181512c7;animation:authModalIn .21s ease-out}@keyframes authModalIn{0%{opacity:0;transform:translateY(14px) scale(.975)}}.auth-close{display:grid;position:absolute;z-index:5;top:13px;right:13px;width:33px;height:33px;border:1px solid var(--line);border-radius:50%;background:var(--surface);place-items:center}.auth-form-panel{overflow-y:auto;min-height:610px;padding:43px 53px 30px;scrollbar-width:thin}.auth-heading>span{color:var(--primary);font-size:8px;font-weight:900;letter-spacing:1.5px}.auth-heading h2{margin:5px 0 4px;font-size:28px;font-weight:900;letter-spacing:-.7px}.auth-heading p{margin:0;color:var(--muted);font-size:10px}.auth-tabs{display:grid;margin:22px 0 18px;padding:3px;border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr 1fr;background:var(--surface-2)}.auth-tabs button{height:32px;border-radius:7px;color:var(--muted);background:transparent;font-size:11px;font-weight:900}.auth-tabs button.active{color:var(--primary);background:var(--surface);box-shadow:0 2px 7px #3c2d1e14}.auth-form{display:grid;gap:13px}.auth-form>label{display:grid;gap:5px}.auth-form>label>span{font-size:10px;font-weight:900}.auth-input{display:flex;height:42px;padding:0 11px;border:1.5px solid var(--line);border-radius:10px;align-items:center;gap:8px;background:var(--surface);transition:border .14s ease,box-shadow .14s ease}.auth-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary),transparent 88%)}.auth-input>svg{flex:none;color:var(--muted)}.auth-input input{min-width:0;height:100%;border:0;outline:0;flex:1;background:transparent;font-size:11px}.auth-input>button{display:grid;width:28px;height:28px;border-radius:7px;color:var(--muted);background:transparent;place-items:center}.password-strength{display:flex;align-items:center;gap:4px}.password-strength>span{width:33px;height:3px;border-radius:99px;background:var(--surface-3)}.password-strength>span.filled{background:var(--green)}.password-strength small{margin-left:4px;color:var(--muted);font-size:8px}.auth-agreement{display:flex!important;align-items:flex-start;gap:7px!important}.auth-agreement input{width:14px;height:14px;margin:1px 0 0;accent-color:var(--primary)}.auth-agreement>span{color:var(--muted);font-size:9px!important;font-weight:600!important;line-height:1.5}.auth-agreement button{padding:0;color:var(--primary);background:transparent;font-size:inherit}.auth-modal.compact{max-width:420px;grid-template-columns:1fr}.auth-done{display:flex;padding:8px 10px;border:1px solid color-mix(in srgb,var(--accent),transparent 55%);border-radius:8px;align-items:center;gap:6px;color:var(--accent);background:color-mix(in srgb,var(--accent),transparent 92%);font-size:9px}.auth-error{padding:8px 10px;border:1px solid color-mix(in srgb,var(--danger),transparent 55%);border-radius:8px;color:var(--danger);background:color-mix(in srgb,var(--danger),transparent 92%);font-size:9px}.auth-submit{display:flex;min-height:44px;margin-top:2px;border:2px solid var(--line-strong);border-radius:10px;color:#fff;align-items:center;justify-content:center;gap:8px;background:var(--primary);box-shadow:3px 4px 0 var(--line-strong);font-size:11px;font-weight:900}.auth-submit:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:4px 5px 0 var(--line-strong)}.auth-submit:disabled{opacity:.65}.auth-spinner{width:17px;height:17px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-switch{margin:17px 0 0;color:var(--muted);font-size:9px;text-align:center}.auth-switch button{padding:0 3px;color:var(--primary);background:transparent;font-size:inherit;font-weight:900}@media(max-width:1050px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(420px,1fr);gap:42px}.home-hero-copy h1{font-size:52px}.home-hero-copy h1 i{width:215px}.note-wpm{right:-10px}.note-streak{left:-12px}.mode-grid{gap:55px}}@media(max-width:860px){.home-hero{padding:62px 0 72px}.hero-grid{grid-template-columns:1fr}.home-hero-copy{max-width:620px;text-align:center;margin:0 auto}.home-hero-copy>p{margin-right:auto;margin-left:auto}.home-hero-actions,.hero-trust{justify-content:center}.home-hero-copy h1 i{right:calc(50% - 220px)}.hero-demo-wrap{width:min(600px,95%);margin:15px auto 0}.home-proof-strip .home-container>span{display:none}.home-course-grid{grid-template-columns:repeat(2,1fr)}.home-course-grid>article:last-child{display:none}.mode-grid{grid-template-columns:1fr;gap:45px}.mode-visual{width:min(620px,100%);margin:0 auto}.mode-copy{max-width:600px;margin:0 auto}.auth-modal{grid-template-columns:35% 65%}.auth-form-panel{padding-right:39px;padding-left:39px}}@media(max-width:650px){.home-container{width:min(100% - 26px,1180px)}.home-hero{min-height:0;padding-top:46px}.hero-doodle{display:none}.home-announcement{font-size:9px}.home-hero-copy h1{margin-top:16px;font-size:40px;letter-spacing:-1.5px}.home-hero-copy h1 i{width:170px;right:calc(50% - 176px)}.home-hero-copy>p{font-size:13px}.home-hero-actions{display:grid}.home-primary-cta,.home-secondary-cta{width:100%}.hero-demo-wrap{width:100%;margin-top:15px}.hero-demo{box-shadow:6px 8px 0 var(--line-strong);transform:none}.demo-float-note{display:none}.demo-toolbar{height:56px}.demo-stats span{min-width:44px;padding:0 5px}.demo-paper{min-height:280px;margin:16px 12px 13px;padding:31px 19px 23px}.demo-typing{font-size:12px}.demo-footer{padding:0 14px;justify-content:space-between;gap:5px}.home-proof-strip .home-container{display:grid;padding:15px 0;grid-template-columns:repeat(2,1fr);gap:12px}.home-proof-strip .home-container>i{display:none}.home-proof-strip .home-container>div{padding:5px 10px;border-left:2px solid var(--primary)}.home-section{padding:64px 0}.home-section-heading{align-items:flex-start;flex-direction:column;gap:16px}.home-course-grid{grid-template-columns:1fr}.home-course-grid>article:nth-child(2){display:none}.mode-showcase{padding:72px 0}.mode-visual{min-height:370px}.mode-card-main{right:1%;left:1%;padding:21px 19px}.mode-card-main>p{font-size:14px}.mode-key{display:none}.home-footer .home-container{padding:24px 0;flex-direction:column;justify-content:center;gap:8px;text-align:center}.auth-layer{padding:12px}.auth-modal{max-height:calc(100vh - 24px);grid-template-columns:1fr}.auth-form-panel{min-height:0;padding:40px 24px 27px}.auth-close{top:10px;right:10px}.account-button>b{display:none}.account-button{padding-right:6px}.account-button>svg{display:none}}.materials-tabs button:hover,.materials-tabs button.active{color:var(--primary);background:var(--primary-soft)}:root{--bg: #f4f1e9;--surface: #fffefa;--surface-2: #ece8df;--surface-3: #dfd9ce;--ink: #1c2a3a;--muted: #68737c;--line: #dcd6ca;--line-strong: #263747;--primary: #d65843;--primary-dark: #aa3d2e;--primary-soft: #f8e6e1;--lime: #d7b56d;--green: #557a65;--blue: #35637b;--amber: #b8863e;--shadow: 0 16px 40px rgba(28, 42, 58, .09);--hard-shadow: 0 20px 55px rgba(28, 42, 58, .14);--header-height: 64px}:root[data-theme=dark]{--bg: #15212c;--surface: #1c2a36;--surface-2: #253541;--surface-3: #30424e;--ink: #f4f0e7;--muted: #abb5bb;--line: #364854;--line-strong: #e7e1d6;--primary: #ec7c68;--primary-dark: #f29482;--primary-soft: #452f30;--green: #7da18a;--blue: #78a6bd}.brand-logo{display:inline-flex;min-width:0;align-items:center;gap:9px}.brand-logo-type{display:grid;min-width:0;line-height:1;gap:3px}.brand-logo-type b{font-size:17px;font-weight:750;letter-spacing:.05em}.brand-logo-type small{color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:7px;letter-spacing:.7px}.brand-logo.inverse .brand-logo-type b{color:#fff}.brand-logo.inverse .brand-logo-type small{color:#ffffff9e}.site-header{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface),transparent 3%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-inner{width:min(1180px,100%);padding:0 20px}.main-nav{margin-left:28px;margin-right:auto;gap:6px}.nav-link{height:36px;padding:0 12px;border-radius:8px;font-size:13px;font-weight:650}.nav-link:hover:not(:disabled),.nav-link.active{color:var(--ink);background:var(--surface-2)}.nav-link.active{box-shadow:inset 0 -2px 0 var(--primary)}.icon-action{width:36px;height:36px;justify-content:center;border-radius:8px;color:var(--muted)}.login-button{padding:0 10px;color:var(--ink);background:transparent;font-size:12px}.login-button:hover{color:var(--primary)}.header-register-button{height:36px;padding:0 15px;border-radius:9px;color:#fff;background:var(--primary);font-size:12px;font-weight:700}.account-button{height:38px;border-radius:10px}.account-button>span,.account-dropdown>div>span,.mobile-user>span{border-radius:8px;color:#fff;background:var(--primary);box-shadow:none}.account-dropdown{border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.account-dropdown>a,.account-dropdown>button{display:flex;width:100%;height:36px;padding:0 9px;border-radius:8px;align-items:center;gap:8px;background:transparent;font-size:11px;font-weight:700}.account-dropdown>a:hover,.account-dropdown>button:hover{background:var(--surface-2)}.home-page{background:var(--bg)}.home-container{width:min(1120px,calc(100% - 40px))}.home-hero{min-height:0;padding:76px 0 82px;color:var(--ink);border-bottom:1px solid var(--line);background:repeating-linear-gradient(0deg,transparent 0,transparent 31px,color-mix(in srgb,var(--line),transparent 70%) 32px),var(--bg)}.home-hero:after,.hero-dot-grid,.hero-doodle{display:none}.hero-grid{grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr);gap:66px}.home-announcement{height:auto;padding:0;border:0;border-radius:0;color:var(--muted);background:transparent;font-size:11px;font-weight:650;letter-spacing:.1px}.home-announcement i{width:7px;height:7px;border-radius:50%;background:var(--primary)}.home-hero-copy h1{margin:21px 0 20px;color:var(--ink);font-size:clamp(47px,4.85vw,64px);line-height:1.12;letter-spacing:-2.8px}.home-hero-copy h1 span{color:var(--primary)}.home-hero-copy>p{max-width:500px;color:var(--muted);font-size:14px;font-weight:450;line-height:1.85}.home-hero-actions{margin-top:27px;gap:10px}.home-primary-cta,.home-secondary-cta{min-height:47px;border-radius:9px;font-size:12px}.home-primary-cta{border:0;color:#fff;background:var(--primary);box-shadow:none}.home-primary-cta:hover{background:var(--primary-dark);box-shadow:none;transform:translateY(-1px)}.home-secondary-cta{border:1px solid var(--line);color:var(--ink);background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.home-secondary-cta:hover{border-color:var(--ink)}.hero-assurances{display:flex;margin:24px 0 0;padding:0;flex-wrap:wrap;color:var(--muted);list-style:none;gap:8px 16px}.hero-assurances li{display:inline-flex;align-items:center;gap:5px;font-size:9px}.hero-assurances svg{color:var(--primary)}.hero-demo-wrap{perspective:none}.hero-demo{border:1px solid #cfc9bd;border-radius:14px;color:#1c2a3a;background:#ebe8e1;box-shadow:0 24px 55px #1c2a3a24;transform:none}.demo-window-bar{height:40px}.demo-window-bar>span{width:7px;height:7px;background:#c5bfb3}.demo-window-bar>span:nth-child(2),.demo-window-bar>span:nth-child(3){background:#c5bfb3}.demo-window-bar b{font-size:8px;font-weight:600}.demo-toolbar{height:60px}.hero-demo .demo-toolbar>div:first-child b{color:#fff;background:var(--primary)}.hero-demo .demo-paper{min-height:300px;margin:18px 22px;padding:30px 29px 25px;border:1px solid #ddd7cb;border-radius:7px;box-shadow:0 5px 14px #1c2a3a0f}.hero-demo .demo-translation{border-left-color:var(--blue);border-radius:0}.demo-stats b{color:var(--primary)}.hero-demo-caption{display:flex;margin:12px 2px 0;color:var(--muted);align-items:center;justify-content:flex-end;gap:7px;font-size:9px}.hero-demo-caption span{padding:3px 6px;border-radius:4px;color:var(--primary);background:var(--primary-soft);font-weight:700}.demo-float-note{display:none}.home-proof-strip{border-bottom:1px solid var(--line);color:var(--ink);background:var(--surface)}.home-proof-strip .home-container{display:grid;min-height:104px;grid-template-columns:1.3fr repeat(3,.75fr);gap:22px}.home-proof-strip .home-container>p{display:grid;margin:0;gap:3px}.home-proof-strip .home-container>p b{font-family:inherit;font-size:14px}.home-proof-strip .home-container>p span{color:var(--muted);font-size:9px}.home-proof-strip .home-container>div{display:flex;padding-left:20px;border-left:1px solid var(--line);align-items:center;gap:9px}.home-proof-strip .home-container>div>svg{color:var(--primary)}.home-proof-strip .home-container>div>span{display:grid;gap:2px}.home-proof-strip .home-container>div b{font-family:inherit;font-size:11px}.home-proof-strip .home-container>div small{color:var(--muted);font-size:8px}.home-section{padding:82px 0}.home-featured{background:var(--bg)}.home-section-heading>div>span,.mode-copy>span{color:var(--primary);font-size:10px;font-weight:700;letter-spacing:.15px}.home-section-heading h2,.mode-copy h2{margin-top:7px;font-size:clamp(29px,3.2vw,40px);letter-spacing:-1.4px}.home-section-heading p{font-size:11px}.home-section-heading>a,.mode-copy>a{padding:8px 0;border-bottom:1px solid currentColor;font-size:10px}.course-card{border:1px solid var(--line);border-radius:12px;box-shadow:none}.course-card:hover{border-color:#b9afa0;box-shadow:0 12px 26px #1c2a3a17;transform:translateY(-2px)}.cover-kicker{font-family:inherit;letter-spacing:.8px}.mode-showcase{padding:92px 0;color:#fff;background:#203747}.mode-copy>span{color:#efaa9d}.mode-copy>p,.mode-copy li small{color:#ffffffa8}.mode-copy li>svg{color:#efaa9d}.mode-copy>a{color:#fff}.mode-card-behind{border:0;border-radius:10px;background:#d65843;transform:rotate(-3deg)}.mode-card-main{border:0;border-radius:10px;color:#1c2a3a;box-shadow:0 22px 48px #00000040;transform:rotate(.8deg)}.mode-key{display:none}.home-footer{color:var(--ink);border-top:1px solid var(--line);background:var(--surface)}.home-footer .brand-logo-type b{color:var(--ink)}.home-footer .brand-logo-type small{color:var(--muted)}.home-footer p,.home-footer>div>a{color:var(--muted)}.auth-backdrop{background:#141c24ad;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.auth-modal{border:0;border-radius:16px;box-shadow:0 30px 80px #141c2459}.auth-heading>span{font-size:9px;letter-spacing:.1px}.auth-heading h2{font-size:27px}.auth-tabs{border:1px solid var(--line);border-radius:9px}.auth-tabs button{border-radius:7px}.auth-input{height:44px;border-width:1px;border-radius:8px}.auth-submit{min-height:46px;border:0;border-radius:9px;box-shadow:none}.auth-submit:hover:not(:disabled){box-shadow:0 9px 18px color-mix(in srgb,var(--primary),transparent 78%);transform:translateY(-1px)}@media(max-width:860px){.hero-grid{grid-template-columns:1fr}.home-hero-copy{max-width:620px}.home-proof-strip .home-container{grid-template-columns:repeat(3,1fr);padding:18px 0}.home-proof-strip .home-container>p{grid-column:1 / -1;padding-bottom:13px;border-bottom:1px solid var(--line);text-align:center}.home-proof-strip .home-container>div:first-of-type{border-left:0}}@media(max-width:760px){.login-button,.header-register-button{display:none}}@media(max-width:650px){:root{--header-height: 58px}.brand-logo-type b{font-size:14px}.home-container{width:min(100% - 28px,1120px)}.home-hero{padding:50px 0 62px}.home-hero-copy{text-align:left}.home-announcement{justify-content:flex-start;font-size:10px}.home-hero-copy h1{margin-top:18px;font-size:39px;line-height:1.16;letter-spacing:-1.9px}.home-hero-copy>p{font-size:12px}.home-hero-actions{display:grid}.hero-assurances{justify-content:flex-start;gap:7px 11px}.hero-demo-wrap{margin-top:21px}.hero-demo{border-radius:11px;box-shadow:0 17px 38px #1c2a3a24}.hero-demo .demo-paper{margin:14px 11px;padding:27px 18px 22px}.hero-demo-caption{justify-content:flex-start}.home-proof-strip .home-container{display:grid;grid-template-columns:1fr;gap:0}.home-proof-strip .home-container>p{text-align:left}.home-proof-strip .home-container>div{padding:12px 0;border-top:1px solid var(--line);border-left:0}.home-proof-strip .home-container>div:first-of-type{border-top:0}.home-section{padding:62px 0}.step-number{top:26px;right:5px}.mode-showcase{padding:68px 0}.mode-card-behind,.mode-card-main{border-radius:8px}.home-footer .brand-logo-type small{display:block}}.brand-logo-type{gap:5px}.brand-logo-type b{font-size:18px;font-weight:760;letter-spacing:.08em}.brand-logo-type>span{display:flex;align-items:center;gap:6px}.brand-logo-type i{padding:2px 5px;border-radius:3px;color:#fff;background:var(--primary);font-family:SFMono-Regular,Consolas,monospace;font-size:7px;font-style:normal;font-weight:700;letter-spacing:.2px}.brand-logo-type small{font-size:6px;letter-spacing:1px}.brand-logo.inverse .brand-logo-type>span small{color:#ffffff94}.compact .cover-copy strong{font-size:clamp(16px,1.4vw,21px)}.mode-preview-tabs{display:flex;position:absolute;z-index:5;top:0;left:3%;padding:3px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#08182361;gap:2px}.mode-preview-tabs button{height:30px;padding:0 12px;border-radius:5px;color:#ffffff9e;background:transparent;font-size:9px;font-weight:700}.mode-preview-tabs button.active{color:#203747;background:#fffefa}.mode-card-behind{top:56px}.mode-card-main{top:63px;transition:opacity .14s ease}.mode-card-main.is-full .mode-full-text{font-size:clamp(13px,1.35vw,17px);line-height:1.9}.home-footer .home-container{min-height:82px}.home-footer-links{display:flex;align-items:center;gap:16px}.home-footer-links a{color:var(--muted);font-size:9px}.home-footer-links a:hover{color:var(--primary)}.auth-modal{width:min(470px,100%);grid-template-columns:1fr}.auth-form-panel{min-height:0;padding:25px 38px 21px}.auth-brand{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.auth-heading h2{margin-top:6px}.auth-tabs{margin:16px 0 14px}.auth-form{gap:11px}.auth-switch{margin-top:13px}.auth-agreement a{color:var(--primary);font-size:inherit}.auth-agreement a:hover{text-decoration:underline}.nav-link:focus{outline:none}.nav-link:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid color-mix(in srgb,var(--primary),transparent 22%);outline-offset:2px}.library-page,.detail-page,.detail-hero{background:var(--bg)}.legal-page{min-height:calc(100vh - var(--header-height));padding:52px 20px 80px;background:var(--bg)}.legal-container{width:min(780px,100%);margin:0 auto}.legal-page header{padding-bottom:28px;border-bottom:1px solid var(--line)}.legal-page header>span{color:var(--primary);font-size:10px;font-weight:700}.legal-page h1{margin:8px 0 7px;font-size:clamp(34px,5vw,48px);letter-spacing:-1.8px}.legal-page header p{margin:0;color:var(--muted);font-size:10px}.legal-page article{padding:30px 0}.legal-page article section{display:grid;padding:24px 0;border-top:1px solid var(--line);grid-template-columns:45px 1fr;gap:13px}.legal-page article section>span{padding-top:3px;color:var(--primary);font-family:SFMono-Regular,Consolas,monospace;font-size:10px}.legal-page article h2{margin:0 0 8px;font-size:17px}.legal-page article section p{margin:0;color:var(--muted);font-size:12px;line-height:1.85}.legal-page footer{padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}@media(max-width:650px){.brand-logo-type b{font-size:15px}.brand-logo-type>span{gap:4px}.brand-logo-type small{font-size:5.5px}.mode-preview-tabs{left:1%}.mode-card-main{top:61px}.home-footer .home-container{align-items:flex-start}.home-footer-links{flex-wrap:wrap;justify-content:center}.auth-form-panel{padding:23px 23px 21px}.auth-brand{margin-bottom:16px}.legal-page{padding:38px 18px 60px}.legal-page article section{grid-template-columns:34px 1fr}}.review-page,.workspace-page{min-height:calc(100vh - var(--header-height));min-height:calc(100dvh - var(--header-height));padding:54px 20px calc(90px + env(safe-area-inset-bottom));background:var(--bg)}.review-container,.workspace-container{width:min(1220px,100%);margin:0 auto}.review-hero,.workspace-header{display:flex;padding-bottom:34px;border-bottom:1px solid var(--line);align-items:flex-end;justify-content:space-between;gap:30px}.review-hero h1,.workspace-header h1{max-width:760px;margin:9px 0 10px;color:var(--ink);font-size:clamp(32px,4vw,54px);line-height:1.1;letter-spacing:-2px}.review-hero p,.workspace-header p{max-width:650px;margin:0;color:var(--muted);font-size:13px;line-height:1.8}.review-hero-note,.workspace-header-mark{display:flex;min-width:130px;padding:14px;border:1px solid var(--line);border-radius:10px;color:var(--primary);align-items:center;gap:9px;background:var(--surface);font-family:SFMono-Regular,Consolas,monospace;font-size:8px;line-height:1.45}.review-hero-note b,.workspace-header-mark b{color:var(--ink);font-size:10px}.review-alert{display:flex;margin:20px 0 0;padding:11px 14px;border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;font-size:11px}.review-alert.error{color:var(--danger);border-color:color-mix(in srgb,var(--danger),var(--line) 55%);background:color-mix(in srgb,var(--danger),transparent 93%)}.review-alert.success{color:var(--green);border-color:color-mix(in srgb,var(--green),var(--line) 55%);background:color-mix(in srgb,var(--green),transparent 93%)}.review-main-column{display:grid;min-width:0;gap:24px}.review-main-column>*,.submission-history,.history-item,.teacher-review-panel{min-width:0}.draft-status{color:var(--muted);font-size:12px;line-height:1.7;margin:12px 0}.draft-status.error{color:var(--red, #b84032)}.draft-conflict-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.draft-conflict-actions button{min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--primary);font-size:12px;font-weight:750}.submission-form,.submission-detail-card,.submission-history,.teacher-queue,.teacher-review-panel,.admin-config-card,.admin-design-card{padding:25px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.section-heading.compact{display:flex;margin-bottom:20px;align-items:center;justify-content:space-between}.section-heading.compact>div{display:flex;align-items:center;gap:8px}.section-heading.compact>div>span{width:5px;height:20px;border-radius:99px}.section-heading.compact h2{font-size:18px;letter-spacing:-.5px}.section-heading.compact small{color:var(--muted);font-size:10px}.submission-form label,.admin-config-card label,.teacher-final-form label,.teacher-note-input{display:grid;gap:7px}.submission-form label>span,.admin-config-card label>span,.teacher-final-form label>span,.teacher-note-input>span{color:var(--muted);font-size:10px;font-weight:800}.submission-form input,.submission-form textarea,.admin-config-card input,.admin-config-card select,.teacher-final-form input,.teacher-final-form textarea,.teacher-note-input textarea,.teacher-score-grid input{width:100%;border:1px solid var(--line);border-radius:7px;outline:none;background:var(--bg);font-size:12px;transition:border-color .15s ease,box-shadow .15s ease}.submission-form input,.admin-config-card input,.admin-config-card select,.teacher-final-form input,.teacher-score-grid input{height:40px;padding:0 11px}.submission-form textarea,.teacher-final-form textarea,.teacher-note-input textarea{min-height:70px;padding:10px 11px;resize:vertical;line-height:1.65}.submission-form input:focus,.submission-form textarea:focus,.admin-config-card input:focus,.admin-config-card select:focus,.teacher-final-form input:focus,.teacher-final-form textarea:focus,.teacher-note-input textarea:focus,.teacher-score-grid input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary),transparent 86%)}.review-form-grid{display:grid;margin:15px 0;grid-template-columns:1fr 1fr;gap:15px}.submission-form-footer{display:flex;margin-top:16px;align-items:center;justify-content:space-between;gap:14px}.submission-form-footer .primary-button,.submission-actions .secondary-button,.teacher-head-actions .secondary-button,.teacher-final-form .primary-button,.admin-card-actions button{display:inline-flex;min-height:40px;align-items:center;gap:7px}.submission-detail-head,.teacher-submission-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.submission-detail-head>div,.teacher-submission-head>div{min-width:0;overflow-wrap:anywhere}.submission-detail-head h2,.teacher-submission-head h2{margin:7px 0 5px;font-size:23px;letter-spacing:-.8px}.paragraph-card-head{display:flex;margin-bottom:9px;color:var(--primary);align-items:center;justify-content:space-between;font-size:10px}.paragraph-card-head span{color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:9px}.revision-editor{padding:25px;border:1px solid color-mix(in srgb,var(--primary),var(--line) 55%);border-radius:12px;background:var(--surface)}.revision-original b,.revision-new>span,.revision-before b,.revision-after-label{color:var(--primary);font-size:10px;font-weight:800}.revision-original p,.revision-before p{margin:0;color:var(--ink);font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.revision-original small,.revision-before small{padding-left:8px;border-left:2px solid var(--amber);color:var(--muted);font-size:10px;line-height:1.6}.revision-comparison-note{display:flex;margin-top:15px;padding:9px 10px;border-radius:6px;color:var(--primary);align-items:center;gap:7px;background:var(--primary-soft);font-size:10px;line-height:1.5}.revision-before{display:grid;margin-bottom:13px;padding:11px;border-left:2px solid var(--line);gap:7px;background:var(--surface-2)}.revision-after-label{display:block;margin-bottom:7px}.paragraph-diff{margin:0 0 12px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.diff-added{background:color-mix(in srgb,var(--green),transparent 72%);border-radius:3px}.diff-removed{color:var(--muted);background:color-mix(in srgb,var(--danger),transparent 78%);text-decoration:line-through;border-radius:3px}.storage-warning{margin:0;padding:10px 16px;background:color-mix(in srgb,var(--danger),transparent 88%);color:var(--ink);font-size:13px;line-height:1.6}.remote-disclosure{max-width:460px;text-align:left}.remote-disclosure dl{display:grid;gap:8px;margin:14px 0}.remote-disclosure div{display:grid;grid-template-columns:72px 1fr;gap:8px;font-size:13px;line-height:1.6}.remote-disclosure dt{color:var(--muted)}.remote-disclosure-error{color:var(--danger);font-size:13px}.version-notice{display:flex;margin-top:15px;padding:12px;border:1px solid color-mix(in srgb,var(--amber),var(--line) 65%);border-radius:7px;color:var(--muted);align-items:center;justify-content:space-between;gap:12px;background:color-mix(in srgb,var(--amber),transparent 94%);font-size:11px;line-height:1.7}.version-notice button{flex:none;padding:7px 10px;border:1px solid var(--line);border-radius:5px;color:var(--primary);background:var(--surface);font-size:11px;font-weight:750}.detail-loading{display:flex;padding:25px;border:1px solid var(--line);border-radius:12px;color:var(--muted);align-items:center;gap:9px;background:var(--surface);font-size:12px}.review-summary>strong.mock-band,.mock-band{font-family:inherit;font-size:13px;line-height:1.45}.mini-sync-button{display:inline-flex;align-items:center;margin-left:8px;padding:2px 7px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2);color:var(--primary);font-size:11px;cursor:pointer}.mini-sync-button:hover{background:var(--primary-soft)}.submission-actions{display:flex;margin-top:18px;align-items:center;justify-content:space-between;gap:10px}.submission-history{position:sticky;top:calc(var(--header-height) + 20px)}.history-item{display:grid;width:100%;padding:13px 0;border-top:1px solid var(--line);color:var(--ink);text-align:left;gap:5px;background:transparent}.history-item:first-of-type{border-top:0}.history-item>span{color:var(--primary);font-size:9px;font-weight:800}.history-item>b{min-width:0;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.history-item>small{display:flex;color:var(--muted);align-items:center;gap:4px;font-size:9px}.history-item:hover,.history-item.active{color:var(--primary)}.history-empty{padding:25px 0;color:var(--muted);font-size:11px;line-height:1.7;text-align:center}.issue-tag.severity-high{background:color-mix(in srgb,var(--red),transparent 85%);color:var(--red)}.issue-tag.severity-medium{background:color-mix(in srgb,var(--amber),transparent 85%);color:var(--amber)}.issue-tag.severity-low{background:color-mix(in srgb,var(--primary),transparent 85%);color:var(--primary)}.workspace-header{align-items:flex-end}.teacher-queue{position:sticky;top:calc(var(--header-height) + 20px)}.teacher-queue-pagination{display:flex;margin-top:12px;padding-top:11px;border-top:1px solid var(--line);align-items:center;justify-content:space-between;gap:6px}.teacher-queue-pagination button{padding:5px 7px;border:1px solid var(--line);border-radius:5px;color:var(--muted);background:var(--bg);font-size:9px}.teacher-queue-pagination button:not(:disabled):hover{color:var(--primary);border-color:var(--primary)}.teacher-queue-pagination button:disabled{cursor:not-allowed;opacity:.45}.teacher-queue-pagination span{color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:9px}.admin-inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-users-card,.admin-audit-card{margin-top:18px;padding:25px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}@media(max-width:900px){.submission-history,.teacher-queue{position:static}}@media(max-width:650px){.review-page,.workspace-page{padding:35px 14px 60px}.review-hero,.workspace-header{display:grid;padding-bottom:24px;gap:18px}.review-hero h1,.workspace-header h1{font-size:34px;letter-spacing:-1.2px}.review-hero-note,.workspace-header-mark{width:max-content}.submission-form,.submission-detail-card,.revision-editor,.submission-history,.teacher-queue,.teacher-review-panel,.admin-config-card,.admin-design-card,.admin-audit-card,.admin-users-card{padding:17px}.review-form-grid,.admin-inline-fields{grid-template-columns:1fr}.submission-form-footer,.submission-actions,.teacher-submission-head,.version-notice{align-items:stretch;flex-direction:column}}.home-curriculum-link{display:inline-flex;align-items:center;gap:8px;margin-top:22px;color:var(--primary);font-size:13px;line-height:1.8}.imported-lesson-note{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:14px 18px;margin:16px 0;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:13px;line-height:1.8;background:var(--surface)}.imported-lesson-note a{color:var(--primary);font-weight:650}.brand,.header-actions,.header-actions>*,.main-nav .nav-link{flex:none;white-space:nowrap}.main-nav{min-width:0}.site-header.nav-collapsed .main-nav{position:absolute;visibility:hidden;pointer-events:none}.site-header.nav-collapsed .mobile-menu-button{display:grid}.feedback-notifications{position:relative;flex:none}.feedback-trigger{position:relative}.feedback-badge{position:absolute;top:-3px;right:-5px;display:grid;min-width:17px;height:17px;padding:0 4px;border:2px solid var(--surface);border-radius:10px;background:var(--primary);color:#fff;font-size:9px;font-weight:700;line-height:1;place-items:center}.feedback-unavailable{position:absolute;top:-3px;right:0;color:var(--primary);font-size:12px;font-weight:800}.feedback-inbox{position:absolute;top:calc(100% + 14px);right:-32px;width:min(390px,calc(100vw - 24px));overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.feedback-inbox-head{display:flex;padding:17px 18px 14px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.feedback-inbox-head>div{display:grid;gap:6px}.feedback-inbox-head b{font-size:15px}.feedback-inbox-head small{color:var(--muted);font-size:11px;line-height:1.5}.feedback-inbox-empty{display:flex;min-height:180px;padding:28px 20px;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted);text-align:center;font-size:12px;line-height:1.6}.feedback-inbox-empty>svg{color:var(--primary)}.feedback-inbox-empty>b{color:var(--ink);font-size:13px}.feedback-inbox-empty>a{color:var(--primary)}.feedback-inbox-list{max-height:min(480px,calc(100dvh - var(--header-height) - 160px));overflow-y:auto;overscroll-behavior:contain}.feedback-inbox-item{display:flex;min-width:0;padding:15px 16px;align-items:flex-start;gap:11px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none;transition:background .15s}.feedback-inbox-item:last-child{border-bottom:0}.feedback-inbox-item:hover,.feedback-inbox-item:focus-visible{background:var(--surface-2)}.feedback-inbox-item.unread{background:color-mix(in srgb,var(--primary),var(--surface) 96%)}.feedback-item-mark{display:grid;flex:none;width:32px;height:32px;border-radius:9px;color:var(--muted);background:var(--surface-2);place-items:center}.unread .feedback-item-mark{color:var(--primary)}.feedback-item-copy{display:grid;flex:1;min-width:0;gap:6px}.feedback-item-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.feedback-item-meta>b{color:var(--muted);font-size:10px;font-weight:600}.unread .feedback-item-meta>b{color:var(--primary)}.feedback-item-meta>time{color:var(--muted);font-size:10px}.feedback-item-copy>strong{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.feedback-item-copy>span:not(.feedback-item-meta),.feedback-item-copy>small{color:var(--muted);font-size:11px;line-height:1.5;overflow-wrap:anywhere}.feedback-item-copy>small{font-size:10px}.feedback-item-arrow{flex:none;margin-top:27px;color:var(--muted)}.feedback-inbox-footer{display:flex;padding:12px 17px;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.feedback-refresh,.feedback-inbox-error>button{display:inline-flex;flex:none;align-items:center;gap:5px;color:var(--primary);font-size:11px}.feedback-pagination{display:flex;align-items:center;gap:9px}.feedback-pagination>button{display:grid;width:26px;height:26px;border-radius:6px;color:var(--ink);background:var(--surface-2);place-items:center}.feedback-inbox-error{display:flex;padding:14px 17px;align-items:center;gap:10px;color:var(--primary);background:var(--surface-2);font-size:11px;line-height:1.6;overflow-wrap:anywhere}.feedback-inbox-error>span{flex:1;min-width:0}#submission-feedback{scroll-margin-top:calc(var(--header-height) + 16px)}@media(max-width:760px){.feedback-inbox{position:fixed;top:calc(var(--header-height) + 8px);left:12px;right:12px;width:auto}}
