.auth-page{--auth-bg:#f7f5f1;--auth-bg-alt:#ede9e3;--auth-text:#1e0e0c;--auth-text-soft:#7a3d38;--auth-text-mid:#9d5248;--auth-text-dim:#bfa8a6;--auth-border:#9d524826;--auth-border-hi:#9d524852;background:var(--auth-bg);min-height:100vh;color:var(--auth-text);font-family:var(--font-body);display:flex}.auth-brand-panel{background:var(--auth-bg-alt);border-right:1px solid var(--auth-border);justify-content:center;align-items:center;width:44%;min-height:100vh;padding:64px 56px;display:flex;position:relative;overflow:hidden}.auth-brand-panel:before{content:"";pointer-events:none;background:radial-gradient(circle,#9d524812 0%,#0000 65%);width:500px;height:500px;position:absolute;bottom:-20%;right:-30%}.auth-brand-inner{max-width:300px}.auth-logo{font-family:var(--font-display);color:var(--auth-text);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:12px;margin-bottom:28px;font-size:28px;font-style:normal;font-weight:300;line-height:1.1;display:flex}.auth-crest{object-fit:contain;flex-shrink:0;width:30px;height:30px}.auth-tagline{font-family:var(--font-display);color:var(--auth-text-soft);margin-bottom:32px;font-size:18px;font-style:italic;font-weight:300;line-height:1.5}.auth-divider{background:var(--auth-text-mid);opacity:.5;width:40px;height:1px;margin-bottom:28px}.auth-description{color:var(--auth-text-dim);font-size:13px;font-weight:300;line-height:1.85}.auth-form-panel{background:var(--auth-bg);flex:1;justify-content:center;align-items:center;padding:48px 40px;display:flex}.auth-form-container{width:100%;max-width:380px}.auth-heading{font-family:var(--font-display);color:var(--auth-text);letter-spacing:-.02em;margin-bottom:8px;font-size:40px;font-weight:300}.auth-subheading{color:var(--auth-text-dim);margin-bottom:40px;font-size:14px;font-weight:300;line-height:1.65}.auth-form{flex-direction:column;gap:20px;display:flex}.form-field{flex-direction:column;gap:8px;display:flex}.form-label{color:var(--auth-text-dim);text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:500}.form-input{background:var(--auth-bg-alt);border:1px solid var(--auth-border);color:var(--auth-text);font-size:14px;font-family:var(--font-body);border-radius:2px;outline:none;padding:14px 18px;font-weight:300;transition:border-color .2s,box-shadow .2s}.form-input::placeholder{color:var(--auth-text-dim)}.form-input:focus{border-color:var(--auth-border-hi);box-shadow:0 0 0 3px #9d524814}.auth-error{color:#a05050;background:#a050500f;border:1px solid #a0505033;border-radius:2px;padding:14px 18px;font-size:13px;font-weight:300;line-height:1.55}.auth-success{color:#477a4b;background:#5a8a5e0f;border:1px solid #5a8a5e33;border-radius:2px;padding:14px 18px;font-size:13px;font-weight:300;line-height:1.55}.auth-submit{background:var(--auth-text-mid);color:var(--auth-bg);letter-spacing:.18em;text-transform:uppercase;border-radius:2px;justify-content:center;align-items:center;min-height:50px;margin-top:4px;padding:15px 28px;font-size:11px;font-weight:500;transition:all .25s;display:flex}.auth-submit:hover:not(:disabled){background:var(--auth-text-soft);transform:translateY(-1px)}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.loading-spinner{border:1.5px solid #f7f5f14d;border-top-color:var(--auth-bg);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.auth-footer{text-align:center;color:var(--auth-text-dim);margin-top:28px;font-size:13px;font-weight:300}.link-btn{color:var(--auth-text-mid);font-size:13px;font-weight:500;transition:opacity .15s}.link-btn:hover{opacity:.75}@media (width<=768px){.auth-page{flex-direction:column}.auth-brand-panel{border-right:none;border-bottom:1px solid var(--auth-border);width:100%;min-height:auto;padding:48px 32px}.auth-brand-inner{text-align:center;max-width:100%}.auth-divider{margin:20px auto}.auth-tagline{margin-bottom:20px}.auth-description{display:none}}.focus-page{flex-direction:column;min-height:100vh;display:flex}.focus-progress-track{background:var(--border-subtle);z-index:50;height:1px;position:fixed;top:0;left:260px;right:0}.focus-progress-fill{background:var(--gold);height:100%;transition:width .7s var(--ease-luxury);opacity:.8}.focus-container{width:100%;max-width:680px;margin:0 auto;padding:clamp(48px,8vh,80px) clamp(24px,4vw,48px)}.focus-header{align-items:center;gap:16px;margin-bottom:clamp(36px,5vh,52px);display:flex}.focus-counter{color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:500}.focus-domain{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);font-size:11px;font-weight:500}.focus-difficulty{letter-spacing:3px;color:var(--text-dim);margin-left:auto;font-size:9px}.focus-question{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.01em;margin-bottom:clamp(36px,5vh,52px);font-size:26px;font-weight:300;line-height:1.6}.focus-choices{flex-direction:column;gap:10px;margin-bottom:28px;display:flex}.focus-choice{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);color:var(--text-secondary);text-align:left;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);cursor:pointer;align-items:center;gap:16px;padding:18px 22px;font-size:14px;font-weight:300;line-height:1.55;display:flex;position:relative}.focus-choice:hover:not(:disabled){border-color:var(--border-medium);background:var(--bg-elevated);box-shadow:var(--shadow-md);transform:translateY(-1px)}.focus-choice.selected{border-color:var(--border-gold);color:var(--text-primary);background:#b8976a14}.focus-choice.correct{color:var(--text-primary);background:#7d9e800f;border-color:#7d9e804d;animation:.8s ease-out correctFlash}.focus-choice.incorrect{color:var(--text-primary);background:#b070700f;border-color:#b070704d;animation:.45s ease-out incorrectShake}.choice-letter{border:1px solid var(--border-medium);width:28px;height:28px;transition:all var(--transition-fast);color:var(--text-dim);letter-spacing:0;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:500;display:flex}.focus-choice.selected .choice-letter{background:var(--gold);border-color:var(--gold);color:var(--bg-primary)}.focus-choice.correct .choice-letter{background:var(--success-dim);border-color:var(--success-dim);color:var(--bg-primary)}.focus-choice.incorrect .choice-letter{background:var(--accent-rose);border-color:var(--accent-rose);color:var(--bg-primary)}.choice-text{flex:1;line-height:1.55}.choice-badge{font-size:16px;font-weight:500}.correct-badge{color:var(--success-dim)}.incorrect-badge{color:var(--accent-rose)}.focus-submit{background:var(--gold);width:100%;color:var(--bg-primary);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-full);transition:all var(--transition-normal);margin-top:4px;padding:16px 28px;font-size:12px;font-weight:600}.focus-submit:hover{filter:brightness(1.12);transform:translateY(-1px)}.focus-submit:active{filter:brightness(.95);transform:translateY(0)}.confidence-panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);text-align:center;box-shadow:var(--shadow-sm);padding:48px 40px}.confidence-label{font-family:var(--font-display);color:var(--text-secondary);letter-spacing:-.01em;margin-bottom:36px;font-size:24px;font-weight:300}.confidence-dots{justify-content:center;gap:12px;margin-bottom:12px;display:flex}.confidence-dot{border:1px solid var(--border-medium);width:48px;height:48px;color:var(--text-dim);transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:400;display:flex}.confidence-dot:hover{border-color:var(--border-gold);color:var(--text-secondary);transform:scale(1.08)}.confidence-dot.active{border-color:var(--gold);background:var(--gold);color:var(--bg-primary);transform:scale(1.05)}.confidence-labels{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;margin-bottom:20px;padding:0 20px;font-size:11px;font-weight:500;display:flex}.focus-choice.eliminated{opacity:.35;pointer-events:none;text-decoration:line-through;border-color:var(--border-subtle)!important;background:0 0!important}.focus-choice.eliminated .choice-letter{color:var(--accent-rose);border-color:var(--accent-rose);opacity:.5}.socratic-panel{flex-direction:column;gap:20px;margin-top:16px;display:flex}.socratic-prompt{font-family:var(--font-display);color:var(--text-secondary);letter-spacing:-.01em;font-size:20px;font-style:italic;font-weight:300}.socratic-options{flex-direction:column;gap:10px;display:flex}.socratic-option{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:left;cursor:pointer;align-items:flex-start;gap:14px;padding:16px 20px;transition:border-color .2s,background .2s;display:flex}.socratic-option:hover{border-color:var(--border-medium);background:var(--bg-elevated)}.socratic-option.selected{border-color:var(--sapphire);background:var(--sapphire-glow)}.socratic-letter{border:1px solid var(--border-medium);width:24px;height:24px;color:var(--text-tertiary);letter-spacing:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:500;display:flex}.socratic-option.selected .socratic-letter{border-color:var(--sapphire);color:var(--sapphire-light);background:var(--sapphire-glow)}.socratic-text{color:var(--text-secondary);font-size:14px;font-weight:300;line-height:1.55}.explanation-panel{margin-top:16px}.result-banner{margin-bottom:20px}.result-text{font-family:var(--font-display);letter-spacing:-.01em;font-size:32px;font-weight:300}.result-text.correct{color:var(--success-dim)}.result-text.incorrect{color:var(--accent-rose)}.explanation-card{background:var(--bg-card);border-radius:var(--radius-lg);border-left:2px solid var(--border-medium);box-shadow:var(--shadow-sm);margin-bottom:28px;padding:32px}.explanation-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px;font-size:11px;font-weight:500}.explanation-body{color:var(--text-secondary);font-size:14px;font-weight:300;line-height:1.8}.keyboard-hint{text-align:center;color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;opacity:.6;min-height:16px;margin-top:clamp(28px,4vh,48px);font-size:11px;font-weight:500}.summary-page{justify-content:center;align-items:flex-start;min-height:100vh;padding:clamp(48px,8vh,80px) 24px;display:flex}.summary-container{width:100%;max-width:600px}.summary-title{font-family:var(--font-display);text-align:center;letter-spacing:-.02em;margin-bottom:clamp(32px,5vh,48px);font-size:clamp(40px,7vw,60px);font-weight:300}.score-ring-container{width:128px;height:128px;margin:0 auto clamp(32px,5vh,48px);position:relative}.score-ring{width:100%;height:100%;transform:rotate(-90deg)}.ring-bg{fill:none;stroke:var(--bg-elevated);stroke-width:4px}.ring-fill{fill:none;stroke-width:4px;stroke-linecap:round;transition:stroke-dasharray 1.2s var(--ease-luxury)}.score-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.score-number{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;font-size:32px;font-weight:300}.score-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:500}.summary-stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:36px;display:grid}.summary-stat{text-align:center;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);padding:24px 16px}.summary-stat:hover{border-color:var(--border-medium);transform:translateY(-1px)}.summary-stat-value{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;font-size:30px;font-weight:300;display:block}.summary-stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;margin-top:4px;font-size:11px;font-weight:500}.domain-breakdown{margin-bottom:36px}.breakdown-title{text-transform:uppercase;letter-spacing:.16em;color:var(--text-dim);margin-bottom:20px;font-size:11px;font-weight:500}.domain-row{align-items:center;gap:16px;margin-bottom:10px;display:flex}.domain-name{text-transform:uppercase;letter-spacing:.08em;width:72px;font-size:11px;font-weight:500}.domain-bar-track{background:var(--bg-elevated);border-radius:var(--radius-full);flex:1;height:2px;overflow:hidden}.domain-bar-fill{border-radius:var(--radius-full);height:100%;transition:width 1s var(--ease-luxury);opacity:.8}.domain-accuracy{text-align:right;width:36px;color:var(--text-secondary);font-size:13px;font-weight:500}.question-review{margin-bottom:36px}.review-item{border-radius:var(--radius-md);transition:background var(--transition-fast);border-left:2px solid #0000;align-items:center;gap:16px;margin-bottom:2px;padding:10px 14px;font-size:13px;display:flex}.review-item:hover{background:var(--glass)}.review-item.review-correct{border-left-color:var(--success-dim)}.review-item.review-incorrect{border-left-color:var(--accent-rose)}.review-number{color:var(--text-dim);width:24px;font-weight:500}.review-domain{text-transform:uppercase;letter-spacing:.06em;width:60px;font-size:11px;font-weight:500}.review-topic{color:var(--text-muted);flex:1;font-weight:300}.review-conf{color:var(--text-tertiary);letter-spacing:2px;opacity:.8;font-size:10px}.review-result{text-align:right;width:44px;font-size:11px;font-weight:500}.review-result.correct{color:var(--success-dim)}.review-result.incorrect{color:var(--accent-rose)}.summary-actions{justify-content:center;gap:14px;display:flex}@media (width<=768px){.focus-progress-track{left:56px}.focus-question{font-size:22px}.summary-stats{grid-template-columns:repeat(2,1fr)}.review-conf{display:none}.summary-actions{flex-direction:column}}.dashboard-page{max-width:1000px;margin:0 auto;padding:0 clamp(24px,5vw,64px) clamp(80px,12vh,128px)}.dash-above-fold{flex-direction:column;justify-content:center;min-height:80vh;padding-top:clamp(64px,9vh,96px);padding-bottom:clamp(48px,6vh,72px);display:flex;position:relative}@keyframes scrollBob{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(6px)}}.dash-header{justify-content:space-between;align-items:flex-end;margin-bottom:clamp(40px,6vh,56px);display:flex}.dash-title{font-family:var(--font-display);letter-spacing:-.025em;color:var(--text-primary);font-size:clamp(44px,7vw,64px);font-weight:300;line-height:1}.dash-subtitle{color:var(--text-muted);letter-spacing:.01em;margin-top:10px;font-size:14px;font-weight:300;line-height:1.6}.dash-summary{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:clamp(48px,7vh,72px);display:grid}.summary-card{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);flex-direction:column;gap:10px;padding:36px 28px;display:flex}.summary-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md);transform:translateY(-2px)}.summary-card-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:500}.summary-card-value{font-family:var(--font-display);letter-spacing:-.025em;color:var(--text-primary);font-size:48px;font-weight:300;line-height:1}.summary-card-sub{font-family:var(--font-body);color:var(--text-dim);font-size:13px;font-weight:300}.dash-section{margin-bottom:clamp(48px,7vh,72px)}.section-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);margin-bottom:8px;font-size:clamp(28px,4vw,36px);font-weight:300}.section-subtitle{color:var(--text-muted);max-width:560px;margin-bottom:36px;font-size:14px;font-weight:300;line-height:1.65}.section-rule{background:var(--border-medium);width:48px;height:1px;margin-bottom:36px}.alert-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.alert-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);padding:32px}.alert-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md);transform:translateY(-1px)}.alert-top{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.alert-domain{color:var(--text-dim);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:500}.alert-topic{letter-spacing:-.01em;color:var(--text-primary);font-size:15px;font-weight:500}.alert-metrics{align-items:flex-start;gap:28px;margin-bottom:20px;display:flex}.alert-metric{flex-direction:column;gap:4px;display:flex}.metric-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:500}.metric-value{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.01em;font-size:26px;font-weight:300}.metric-value.danger{color:var(--text-primary)}.alert-meter{flex-direction:column;flex:1;gap:8px;padding-top:18px;display:flex}.meter-track{background:var(--bg-elevated);border-radius:var(--radius-full);height:2px;overflow:hidden}.meter-confidence{background:var(--text-tertiary);border-radius:var(--radius-full);opacity:.55;height:100%}.meter-accuracy{background:var(--text-tertiary);border-radius:var(--radius-full);opacity:.8;height:100%}.alert-message{color:var(--text-muted);font-size:13px;font-weight:300;line-height:1.7}.matrix-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:12px;display:grid}.matrix-quadrant{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);min-height:160px;box-shadow:var(--shadow-sm);transition:all var(--transition-normal);display:flex;position:relative;overflow:hidden}.matrix-quadrant:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quadrant-accent{opacity:.5;flex-shrink:0;width:2px;position:absolute;top:0;bottom:0;left:0}.quadrant-inner{flex:1;padding:28px 28px 28px 32px}.quadrant-head{align-items:flex-start;gap:10px;margin-bottom:18px;display:flex}.quadrant-head svg{opacity:.7;flex-shrink:0;margin-top:3px}.quadrant-title{letter-spacing:-.005em;color:var(--text-primary);margin-bottom:3px;font-size:13px;font-weight:500}.quadrant-subtitle{color:var(--text-dim);font-size:11px;font-weight:300;line-height:1.5}.quadrant-items{flex-direction:column;gap:10px;display:flex}.quadrant-empty{color:var(--text-dim);font-size:13px;font-style:italic;font-weight:300}.quadrant-item{align-items:center;gap:var(--space-sm);display:flex}.qi-topic{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:none;min-width:0;max-width:44%;font-size:13px;font-weight:400;overflow:hidden}.qi-bar-track{background:var(--bg-elevated);border-radius:var(--radius-full);flex:1;height:2px;overflow:hidden}.qi-bar{border-radius:var(--radius-full);height:100%;transition:width .8s var(--ease-luxury);opacity:.75}.qi-stats{color:var(--text-dim);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.qi-trend{font-size:10px}.qi-trend.up{color:var(--accent-emerald)}.qi-trend.down{color:var(--accent-rose)}.matrix-axes{justify-content:space-between;padding:0 4px;display:flex}.axis-label{color:var(--text-dim);letter-spacing:.02em;opacity:.5;font-size:11px;font-style:italic;font-weight:300}.forecast-chart{justify-content:space-between;align-items:flex-end;gap:var(--space-sm);margin-bottom:var(--space-sm);padding:20px 0;display:flex}.forecast-col{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.forecast-bar-container{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);flex-direction:column;justify-content:flex-end;width:100%;height:120px;display:flex;position:relative;overflow:hidden}.forecast-bar{width:100%;transition:height .8s var(--ease-luxury);border-radius:3px 3px 0 0}.review-bar{background:var(--text-tertiary);opacity:.65}.new-bar{background:var(--text-tertiary);opacity:.45}.forecast-day-label{color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:500}.forecast-count{color:var(--text-secondary);font-size:13px;font-weight:400}.forecast-legend{color:var(--text-dim);justify-content:center;gap:40px;font-size:11px;display:flex}.legend-item{letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:7px;font-weight:500;display:flex}.legend-dot{border-radius:50%;width:6px;height:6px}.review-dot{background:var(--text-tertiary)}.new-dot{background:var(--text-dim)}.trends-table{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);overflow:hidden}.trends-header{background:var(--bg-elevated);text-transform:uppercase;letter-spacing:.14em;color:var(--text-dim);grid-template-columns:90px 1fr 1fr 1fr;gap:20px;padding:16px 28px;font-size:11px;font-weight:500;display:grid}.trends-row{border-top:1px solid var(--border-subtle);transition:background var(--transition-fast);grid-template-columns:90px 1fr 1fr 1fr;gap:20px;padding:16px 28px;display:grid}.trends-row:hover{background:var(--glass)}.trends-cell{align-items:center;gap:var(--space-sm);font-size:13px;display:flex}.trends-cell.date{color:var(--text-dim);letter-spacing:.03em;font-size:12px;font-weight:400}.trend-bar{border-radius:var(--radius-full);height:2px;transition:width .8s var(--ease-luxury);opacity:.8;max-width:55%}.trend-val{font-size:13px;font-weight:500}.growing-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.growing-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);flex-direction:column;gap:8px;padding:28px;display:flex}.growing-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md);transform:translateY(-2px)}.growing-topic{color:var(--text-primary);letter-spacing:-.01em;font-size:15px;font-weight:500}.growing-accuracy{color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:500}.growing-message{color:var(--text-muted);font-size:13px;font-weight:300;line-height:1.7}@media (width<=768px){.dash-header{flex-direction:column;align-items:flex-start;gap:16px}.dash-summary{grid-template-columns:repeat(2,1fr)}.alert-grid,.matrix-grid{grid-template-columns:1fr}.trends-header,.trends-row{grid-template-columns:70px 1fr 1fr 1fr}}.home-page{max-width:900px;margin:0 auto;padding:0 clamp(24px,5vw,64px)}.hero-section{justify-content:center;align-items:center;min-height:85vh;display:flex;position:relative}.hero{text-align:center;width:100%;padding:clamp(64px,8vh,100px) 0 clamp(48px,6vh,80px)}.hero-overline{letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:36px;font-size:11px;font-weight:500;display:inline-block}.hero-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.03em;margin-bottom:32px;font-size:clamp(64px,8vw,108px);font-weight:300;line-height:1.03}.hero-italic{color:var(--gold);font-style:italic;font-weight:300}.hero-subtitle{color:var(--text-muted);letter-spacing:.01em;max-width:520px;margin:0 auto 52px;font-size:17px;font-weight:300;line-height:1.75}.hero-actions{justify-content:center;gap:14px;display:flex}.scroll-hint{color:var(--text-muted);opacity:.4;pointer-events:none;z-index:2;transition:opacity .6s;animation:3s ease-in-out infinite scrollBob;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.scroll-hint.hidden{opacity:0}.section-divider{background:var(--border-medium);width:60px;height:1px;margin:80px auto}.pillars{padding:0}.pillars-overline{letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);text-align:center;margin-bottom:56px;font-size:11px;font-weight:500;display:block}.pillars-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.pillar{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);padding:40px}.pillar:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md);transform:translateY(-2px)}.pillar-number{font-family:var(--font-display);color:var(--text-tertiary);opacity:.7;margin-bottom:20px;font-size:40px;font-weight:300;line-height:1;display:block}.pillar-title{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:10px;font-size:15px;font-weight:500}.pillar-text{color:var(--text-muted);font-size:14px;font-weight:300;line-height:1.75}.stats-row{justify-content:center;align-items:center;gap:clamp(32px,5vw,64px);padding:clamp(64px,8vh,96px) 0 clamp(80px,10vh,120px);display:flex}.stat-item{text-align:center}.stat-number{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:8px;font-size:44px;font-weight:300;line-height:1;display:block}.stat-desc{color:var(--text-dim);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:500}.stat-separator{background:var(--border-subtle);width:1px;height:32px}@media (width<=768px){.hero-title{font-size:clamp(48px,12vw,64px)}.hero-actions{flex-direction:column;align-items:center}.pillars-grid{grid-template-columns:1fr}.stats-row{flex-wrap:wrap;gap:32px}.stat-separator{display:none}}.theory-page{max-width:780px;margin:0 auto;padding:clamp(64px,9vh,96px) clamp(24px,4vw,48px)}.theory-header{margin-bottom:48px}.theory-overline{letter-spacing:.18em;color:var(--gold-dim);text-transform:uppercase;margin-bottom:16px;font-size:11px;font-weight:500;display:block}.theory-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.025em;margin:0 0 12px;font-size:clamp(44px,7vw,60px);font-weight:300;line-height:1.03}.theory-subtitle{color:var(--text-muted);max-width:520px;margin:0;font-size:15px;font-weight:300;line-height:1.7}.theory-search-wrap{align-items:center;margin-bottom:40px;display:flex;position:relative}.search-icon{color:var(--text-dim);pointer-events:none;position:absolute;left:16px}.theory-search{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;color:var(--text-primary);font-size:14px;font-family:var(--font-body);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);box-shadow:var(--shadow-sm);padding:14px 44px;font-weight:300}.theory-search:focus{border-color:var(--gold-dim);box-shadow:0 0 0 3px var(--gold-glow), var(--shadow-sm);outline:none}.theory-search::placeholder{color:var(--text-dim)}.search-clear{color:var(--text-dim);border-radius:var(--radius-sm);transition:color var(--transition-fast);padding:4px 6px;font-size:12px;position:absolute;right:14px}.search-clear:hover{color:var(--text-secondary)}.theory-tabs{border-bottom:1px solid var(--border-subtle);gap:0;margin-bottom:48px;display:flex}.theory-tab{color:var(--text-dim);transition:all var(--transition-fast);letter-spacing:.01em;border-bottom:1px solid #0000;margin-bottom:-1px;padding:10px 24px;font-size:13px;font-weight:400}.theory-tab:hover{color:var(--text-secondary)}.theory-tab.active{color:var(--gold);border-bottom-color:var(--gold);font-weight:500}.theory-content{flex-direction:column;gap:40px;display:flex}.theory-section-title{letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);margin:0 0 20px;font-size:11px;font-weight:500}.concept-list{flex-direction:column;gap:4px;display:flex}.concept-card{text-align:left;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;transition:all var(--transition-fast);cursor:pointer;box-shadow:var(--shadow-sm);padding:18px 22px}.concept-card:hover{border-color:var(--border-medium);background:var(--bg-card-hover)}.concept-card.open{border-color:var(--border-gold);background:var(--bg-card-hover)}.concept-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.concept-term{color:var(--text-primary);letter-spacing:-.005em;font-size:14px;font-weight:400}.concept-chevron{color:var(--text-dim);transition:transform var(--transition-fast);flex-shrink:0;font-size:10px}.concept-def{color:var(--text-muted);border-top:1px solid var(--border-subtle);margin:14px 0 0;padding-top:14px;font-size:14px;font-weight:300;line-height:1.75}.search-results{flex-direction:column;gap:16px;display:flex}.no-results{color:var(--text-dim);text-align:center;font-size:14px;font-style:italic;font-weight:300;font-family:var(--font-display);padding:96px 0;font-size:20px}.search-result-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-fast);padding:24px 28px}.search-result-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md)}.result-meta{align-items:center;gap:8px;margin-bottom:6px;display:flex}.result-domain{letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:500}.result-section{color:var(--text-dim);font-size:11px}.result-term{color:var(--text-primary);margin:0 0 8px;font-size:14px;font-weight:500}.result-def{color:var(--text-muted);margin:0;font-size:13px;font-weight:300;line-height:1.7}.calc-panel{z-index:400;background:var(--bg-base);border:1px solid var(--border-medium);border-radius:var(--radius-xl);width:480px;box-shadow:var(--shadow-float);-webkit-user-select:none;user-select:none;font-family:var(--font-body);flex-direction:column;display:flex;position:fixed;overflow:hidden}.calc-titlebar{background:var(--bg-surface);cursor:grab;border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.calc-titlebar:active{cursor:grabbing}.calc-title{letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim);font-size:10px;font-weight:600}.calc-title-actions{align-items:center;gap:2px;display:flex}.calc-icon-btn{color:var(--text-dim);border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:4px 7px;transition:color .13s,background .13s;display:flex}.calc-icon-btn:hover{color:var(--text-secondary);background:var(--glass-strong)}.calc-close{color:var(--text-dim);border-radius:var(--radius-sm);padding:4px 8px;font-size:12px;line-height:1;transition:color .13s,background .13s}.calc-close:hover{color:var(--text-secondary);background:var(--glass-strong)}.calc-exprs{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-shrink:0;padding:3px 0}.calc-expr-row{cursor:text;border-left:2px solid #0000;align-items:center;gap:9px;padding:7px 14px;transition:background .12s;display:flex}.calc-expr-row.active{background:var(--glass);border-left-color:var(--border-medium)}.calc-expr-row.error{background:var(--accent-rose-glow)}.calc-expr-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:background .2s}.calc-expr-input{color:var(--text-primary);font-size:13px;font-family:var(--font-mono);caret-color:var(--gold);letter-spacing:.01em;background:0 0;border:none;outline:none;flex:1;min-width:0}.calc-expr-input::placeholder{color:var(--text-dim);font-family:var(--font-body);letter-spacing:0;font-size:11px;font-style:italic}.calc-expr-result{font-size:11px;font-family:var(--font-mono);opacity:.75;letter-spacing:.01em;flex-shrink:0}.calc-expr-wave{opacity:.65;flex-shrink:0;align-items:center;display:flex}.calc-expr-del{color:var(--text-dim);border-radius:var(--radius-sm);flex-shrink:0;margin-left:2px;padding:2px 5px;font-size:14px;line-height:1;transition:color .12s,background .12s}.calc-expr-del:hover{color:var(--accent-rose);background:var(--accent-rose-glow)}.calc-add-expr{width:100%;color:var(--text-dim);font-size:11px;font-family:var(--font-body);letter-spacing:.02em;text-align:left;align-items:center;gap:7px;padding:6px 14px;transition:color .12s;display:flex}.calc-add-expr:hover{color:var(--text-muted)}.calc-canvas-wrap{background:var(--bg-base);border-bottom:1px solid var(--border-subtle);flex-shrink:0;position:relative}.calc-canvas{cursor:grab;width:480px;height:280px;display:block}.calc-canvas:active{cursor:grabbing}.calc-canvas-hint{color:var(--text-dim);letter-spacing:.05em;pointer-events:none;font-size:9px;font-family:var(--font-body);text-transform:uppercase;opacity:.5;position:absolute;bottom:6px;right:10px}.calc-grid{background:var(--border-subtle);flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:1px;padding:1px;display:grid}.calc-btn{height:44px;color:var(--text-secondary);background:var(--bg-surface);font-size:13px;font-weight:500;font-family:var(--font-body);letter-spacing:.01em;justify-content:center;align-items:center;transition:background .11s,color .11s,transform 70ms;display:flex}.calc-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.calc-btn:active{background:var(--bg-active);transform:scale(.94)}.btn-x{font-size:15px;font-style:italic;font-weight:600;color:var(--gold)!important}.btn-x:hover{background:var(--gold-glow)!important;color:var(--gold-light)!important}.btn-fn{color:var(--domain-reading);opacity:.8;font-size:11.5px}.btn-fn:hover{color:var(--domain-reading);opacity:1;background:var(--domain-reading-glow)}.btn-op{color:var(--gold-dim)}.btn-op:hover{color:var(--gold);background:var(--gold-glow)}.btn-ctrl{color:var(--text-dim);font-size:12px}.btn-ctrl:hover{color:var(--text-secondary);background:var(--glass-strong)}.btn-ac{opacity:.75;color:var(--accent-rose)!important}.btn-ac:hover{opacity:1;color:var(--accent-rose)!important;background:var(--accent-rose-glow)!important}.btn-equals{font-size:16px;font-weight:600;background:var(--gold)!important;color:var(--bg-base)!important}.btn-equals:hover{filter:brightness(1.12)}.btn-equals:active{filter:brightness(.95);transform:scale(.96)}.mock-page,.mock-intro-page,.mock-break-page,.mock-results-page{background:var(--bg-primary);z-index:200;font-family:var(--font-body);position:fixed;inset:0;overflow:hidden}.mock-intro-page{justify-content:center;align-items:center;display:flex;overflow-y:auto}.mock-intro-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-3xl) var(--space-2xl);width:100%;max-width:520px;margin:var(--space-xl);text-align:center}.mock-intro-overline{font-size:var(--font-size-xs);letter-spacing:.14em;color:var(--gold-dim);text-transform:uppercase;margin-bottom:var(--space-sm);font-weight:600;display:block}.mock-intro-title{font-family:var(--font-display);color:var(--text-primary);margin:0 0 var(--space-xs);letter-spacing:-.025em;font-size:2.6rem;font-weight:300}.mock-intro-section-label{font-size:var(--font-size-sm);color:var(--text-dim);margin:0 0 var(--space-2xl)}.mock-intro-stats{justify-content:center;align-items:center;gap:var(--space-xl);padding:var(--space-lg) 0;margin-bottom:var(--space-2xl);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);display:flex}.mock-intro-stat{flex-direction:column;align-items:center;gap:4px;display:flex}.mock-intro-stat-val{font-family:var(--font-display);font-size:var(--font-size-2xl);color:var(--text-primary);letter-spacing:-.02em;font-weight:300;line-height:1}.mock-intro-stat-label{font-size:var(--font-size-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.mock-intro-stat-sep{background:var(--border-subtle);width:1px;height:40px}.mock-intro-tips{text-align:left;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-2xl)}.mock-intro-tips-title{font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 var(--space-sm);font-weight:600}.mock-intro-tips ul{padding-left:var(--space-lg);margin:0;list-style:outside}.mock-intro-tips li{font-size:var(--font-size-sm);color:var(--text-muted);line-height:1.7}.mock-start-btn{background:var(--gold);width:100%;color:var(--bg-primary);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-full);transition:all var(--transition-normal);margin-bottom:var(--space-md);padding:14px 24px;font-size:12px;font-weight:600}.mock-start-btn:hover{filter:brightness(1.12);transform:translateY(-1px)}.mock-back-link{font-size:var(--font-size-sm);color:var(--text-dim);transition:color var(--transition-fast)}.mock-back-link:hover{color:var(--text-muted)}.mock-break-page{justify-content:center;align-items:center;display:flex}.mock-break-card{text-align:center;width:100%;max-width:440px;padding:var(--space-xl)}.mock-break-badge{background:var(--gold-glow);border:1px solid var(--border-gold);border-radius:var(--radius-full);font-size:var(--font-size-xs);letter-spacing:.14em;color:var(--gold);text-transform:uppercase;margin-bottom:var(--space-lg);padding:4px 16px;font-weight:600;display:inline-block}.mock-break-title{font-family:var(--font-display);color:var(--text-primary);margin:0 0 var(--space-sm);font-size:2.8rem;font-weight:300}.mock-break-sub{font-size:var(--font-size-sm);color:var(--text-dim);margin:0 0 var(--space-2xl)}.mock-break-timer{color:var(--text-primary);letter-spacing:-.04em;font-size:4rem;font-weight:500;font-family:var(--font-mono);margin-bottom:4px}.mock-break-hint{font-size:var(--font-size-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;margin:0 0 var(--space-2xl)}.mock-results-page{justify-content:center;align-items:center;display:flex;overflow-y:auto}.mock-results-card{text-align:center;width:100%;max-width:520px;padding:var(--space-3xl) var(--space-xl);margin:var(--space-xl)}.mock-results-overline{font-size:var(--font-size-xs);letter-spacing:.14em;color:var(--gold-dim);text-transform:uppercase;margin-bottom:var(--space-sm);font-weight:600;display:block}.mock-results-title{font-family:var(--font-display);color:var(--text-primary);margin:0 0 var(--space-2xl);font-size:2.4rem;font-weight:300}.mock-score-ring-wrap{width:140px;height:140px;margin:0 auto var(--space-xl);position:relative}.mock-score-ring{width:100%;height:100%;transform:rotate(-90deg)}.mock-ring-bg{fill:none;stroke:var(--border-subtle);stroke-width:8px}.mock-ring-fill{fill:none;stroke-width:8px;stroke-linecap:round;transition:stroke-dasharray 1s var(--ease-luxury)}.mock-score-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.mock-score-number{font-size:var(--font-size-xl);color:var(--text-primary);font-weight:500;line-height:1}.mock-score-sublabel{font-size:var(--font-size-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.mock-estimated{padding:var(--space-lg) 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-xl);flex-direction:column;align-items:center;gap:4px;display:flex}.mock-estimated-label{font-size:var(--font-size-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-weight:600}.mock-estimated-score{color:var(--text-primary);letter-spacing:-.03em;font-size:3rem;font-weight:500;line-height:1}.mock-results-stats{gap:var(--space-xl);margin-bottom:var(--space-2xl);justify-content:center;display:flex}.mock-results-stat{flex-direction:column;align-items:center;gap:4px;display:flex}.mock-results-stat-val{font-size:var(--font-size-lg);color:var(--text-primary);font-weight:500}.mock-results-stat-label{font-size:var(--font-size-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.mock-results-actions{gap:var(--space-md);justify-content:center;display:flex}.mock-overview-page{background:var(--bg-primary);z-index:200;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.mock-overview-inner{width:100%;max-width:760px;padding:var(--space-3xl) var(--space-xl);align-items:center;gap:var(--space-2xl);flex-direction:column;display:flex}.mock-overview-header{text-align:center}.mock-overview-overline{letter-spacing:.24em;color:var(--gold-dim);text-transform:uppercase;margin-bottom:var(--space-md);opacity:.9;font-size:10px;font-weight:600;display:block}.mock-overview-title{font-family:var(--font-display);color:var(--text-primary);margin:0 0 var(--space-sm);letter-spacing:-.025em;font-size:clamp(40px,6vw,60px);font-weight:300;line-height:1}.mock-overview-sub{font-size:var(--font-size-sm);color:var(--text-dim);margin:0;line-height:1.65}.mock-overview-modules{gap:var(--space-lg);grid-template-columns:1fr 1fr;width:100%;display:grid}.mock-module-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-xl);text-align:left;align-items:flex-start;gap:var(--space-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition-normal);flex-direction:column;display:flex}.mock-module-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md);transform:translateY(-2px)}.mock-module-card-math{border-color:#8fa3d61f}.mock-module-card-math:hover{border-color:#8fa3d647}.mock-module-badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);letter-spacing:.1em;text-transform:uppercase;width:fit-content;padding:3px 10px;font-weight:600;display:inline-flex}.mock-module-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:1.6rem;font-weight:300}.mock-module-stats{align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--text-muted);display:flex}.mock-module-stats strong{color:var(--text-primary);font-weight:500}.mock-module-sep{color:var(--text-dim)}.mock-module-topics{padding-left:var(--space-md);flex:1;margin:0;list-style:outside}.mock-module-topics li{font-size:var(--font-size-sm);color:var(--text-dim);line-height:1.8}.mock-module-note{font-size:var(--font-size-xs);color:var(--text-dim);padding-top:var(--space-sm);border-top:1px solid var(--border-subtle)}.mock-module-note-calc{color:var(--domain-math);align-items:center;gap:6px;display:flex}.mock-overview-actions{align-items:center;gap:var(--space-md);flex-direction:column;width:100%;max-width:400px;display:flex}.mock-overview-start-full{background:var(--gold);width:100%;color:var(--bg-primary);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-full);transition:all var(--transition-normal);padding:15px 24px;font-size:12px;font-weight:600}.mock-overview-start-full:hover{filter:brightness(1.12);transform:translateY(-1px)}.mock-overview-start-math{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;color:var(--domain-math);font-size:var(--font-size-sm);letter-spacing:.04em;border-radius:var(--radius-lg);transition:all var(--transition-normal);background:#8fa3d60f;border:1px solid #8fa3d633;padding:13px 24px;font-weight:600;display:flex}.mock-overview-start-math:hover{background:#8fa3d61f;border-color:#8fa3d65c;transform:translateY(-1px);box-shadow:0 4px 16px #8fa3d61a}.mock-page{flex-direction:column;display:flex}.mock-topbar{padding:0 var(--space-xl);-webkit-backdrop-filter:blur(20px)saturate(140%);border-bottom:1px solid var(--border-subtle);align-items:center;gap:var(--space-md);z-index:10;background:#0c0b09e0;flex-shrink:0;grid-template-columns:1fr auto 1fr;height:54px;display:grid;position:sticky;top:0}.mock-topbar-left{align-items:center;display:flex}.mock-topbar-center{justify-content:center;display:flex}.mock-topbar-right{justify-content:flex-end;align-items:center;gap:var(--space-sm);display:flex}.mock-topbar-section{font-size:var(--font-size-sm);color:var(--text-muted);letter-spacing:.01em;font-weight:600}.mock-tool-btn{font-size:var(--font-size-xs);letter-spacing:.03em;color:var(--text-dim);border:1px solid var(--border-subtle);border-radius:var(--radius-full);transition:all var(--transition-fast);white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:5px 12px;font-weight:600;display:flex}.mock-tool-btn:hover{border-color:var(--border-medium);color:var(--text-muted)}.mock-tool-btn-active{border-color:var(--gold);color:var(--gold);background:var(--gold-glow)}.mock-qcount-btn{font-size:var(--font-size-sm);color:var(--text-primary);border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border-subtle);transition:border-color var(--transition-fast), background var(--transition-fast);align-items:center;padding:6px 14px;font-weight:500;display:flex}.mock-qcount-btn:hover{border-color:var(--border-medium);background:var(--bg-elevated)}.mock-timer{font-size:var(--font-size-sm);font-weight:500;font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.04em;transition:color var(--transition-fast)}.mock-timer-urgent{color:var(--accent-rose);animation:1s ease-in-out infinite timer-pulse}.mock-main{flex:1;display:flex;overflow:hidden}.mock-panel-left{padding:var(--space-2xl) var(--space-2xl) var(--space-2xl) var(--space-3xl);border-right:1px solid var(--border-subtle);flex:1;overflow-y:auto}.mock-panel-tag{font-size:var(--font-size-xs);letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--space-lg);font-weight:600}.mock-passage{font-size:var(--font-size-base);color:var(--text-primary);max-width:580px;line-height:1.8}.mock-panel-right{width:420px;padding:var(--space-2xl);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.mock-choose-label{font-size:var(--font-size-sm);color:var(--text-dim);margin:0 0 var(--space-lg);font-style:italic}.mock-choices{flex-direction:column;gap:10px;display:flex}.mock-choice{align-items:flex-start;gap:var(--space-md);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:left;transition:border-color var(--transition-fast), background var(--transition-fast);cursor:pointer;padding:14px 16px;display:flex}.mock-choice:hover{border-color:var(--border-medium);background:var(--bg-elevated)}.mock-choice-selected{border-color:var(--border-gold);background:#b8976a14}.mock-choice-letter{border:1.5px solid var(--border-medium);width:26px;height:26px;font-size:var(--font-size-xs);color:var(--text-muted);transition:border-color var(--transition-fast), color var(--transition-fast), background var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:500;display:flex}.mock-choice-selected .mock-choice-letter{border-color:var(--gold);color:var(--bg-primary);background:var(--gold)}.mock-choice-text{font-size:var(--font-size-sm);color:var(--text-primary);padding-top:3px;line-height:1.55}.mock-bottombar{padding:0 var(--space-xl);background:var(--bg-secondary);border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:var(--space-lg);flex-shrink:0;height:56px;display:flex}.mock-mark-btn{align-items:center;gap:var(--space-sm);font-size:var(--font-size-xs);letter-spacing:.04em;color:var(--text-dim);border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;flex-shrink:0;padding:6px 12px;font-weight:600;display:flex}.mock-mark-btn:hover{color:var(--text-muted);border-color:var(--border-subtle)}.mock-mark-active{color:var(--gold);border-color:var(--border-gold);background:var(--gold-glow)}.mock-qdots-bar{flex:1;justify-content:center;align-items:center;gap:4px;padding:4px 0;display:flex;overflow-x:auto}.mock-qdot{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-dim);border:1px solid var(--border-subtle);transition:all var(--transition-fast);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.mock-qdot:hover{border-color:var(--border-medium);color:var(--text-muted)}.mock-qdot-current{border-color:var(--text-primary);color:var(--text-primary);background:var(--bg-elevated)}.mock-qdot-answered{background:var(--glass-strong);border-color:var(--border-medium);color:var(--text-secondary)}.mock-qdot-marked{color:var(--domain-math);background:#8fa3d614;border-color:#8fa3d64d}.mock-nav-btns{gap:var(--space-sm);flex-shrink:0;display:flex}.mock-nav-btn{font-size:var(--font-size-xs);letter-spacing:.04em;border-radius:var(--radius-md);border:1px solid var(--border-subtle);color:var(--text-muted);transition:all var(--transition-fast);background:0 0;padding:8px 18px;font-weight:600}.mock-nav-btn:hover:not(:disabled){border-color:var(--border-medium);color:var(--text-primary)}.mock-nav-btn:disabled{opacity:.3;cursor:not-allowed}.mock-nav-next{background:var(--gold);border-color:var(--gold);color:var(--bg-primary)}.mock-nav-next:hover:not(:disabled){filter:brightness(1.12);border-color:var(--gold)!important;color:var(--bg-primary)!important}.mock-overlay-backdrop{z-index:300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0c0b0999;justify-content:center;align-items:flex-start;padding-top:60px;display:flex;position:fixed;inset:0}.mock-overlay-panel{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-xl);width:480px;max-width:calc(100vw - 48px);max-height:calc(100vh - 100px);box-shadow:var(--shadow-lg);overflow-y:auto}.mock-overlay-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.mock-overlay-header span{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:600}.mock-overlay-close{color:var(--text-dim);border-radius:var(--radius-sm);transition:color var(--transition-fast);padding:4px 8px;font-size:14px}.mock-overlay-close:hover{color:var(--text-primary)}.mock-overlay-legend{gap:var(--space-lg);margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--bg-card);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.mock-legend-item{font-size:var(--font-size-xs);color:var(--text-muted);align-items:center;gap:6px;display:flex}.mock-legend-dot{pointer-events:none;cursor:default!important;width:22px!important;height:22px!important;font-size:0!important}.mock-overlay-grid{flex-wrap:wrap;gap:6px;display:flex}.mock-ref-panel{background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-xl);width:300px;max-height:calc(100vh - 130px);box-shadow:var(--shadow-lg);z-index:400;flex-direction:column;display:flex;position:fixed;top:60px;left:24px;overflow:hidden}.mock-ref-header{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.mock-ref-title{font-size:var(--font-size-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-weight:600}.mock-ref-body{padding:var(--space-md);gap:var(--space-md);flex-direction:column;display:flex;overflow-y:auto}.mock-ref-group{flex-direction:column;gap:4px;display:flex}.mock-ref-group-title{font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--domain-math);margin-bottom:2px;font-weight:600}.mock-ref-item{color:var(--text-secondary);font-size:11.5px;font-family:var(--font-mono);border-bottom:1px solid var(--border-subtle);padding:2px 0;line-height:1.6}.mock-results-breakdown{gap:var(--space-sm);width:100%;margin-bottom:var(--space-xl);flex-direction:column;display:flex}.mock-breakdown-row{align-items:center;gap:var(--space-md);display:flex}.mock-breakdown-label{font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;width:120px;font-weight:600}.mock-breakdown-bar-track{background:var(--border-subtle);border-radius:var(--radius-full);flex:1;height:6px;overflow:hidden}.mock-breakdown-bar{border-radius:var(--radius-full);height:100%;transition:width .8s var(--ease-luxury)}.mock-breakdown-pct{font-size:var(--font-size-xs);color:var(--text-muted);text-align:right;flex-shrink:0;width:40px;font-weight:600}@media (width<=700px){.mock-overview-modules{grid-template-columns:1fr}.mock-panel-left{display:none}.mock-panel-right{width:100%}.mock-ref-panel{width:calc(100vw - 16px);left:8px}}.jm-loading-screen{justify-content:center;align-items:center;height:60vh;display:flex}.jm-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite jm-spin}@keyframes jm-spin{to{transform:rotate(360deg)}}.jm-hub{max-width:600px;margin:0 auto;padding:40px 20px 80px}.jm-hub-header{align-items:center;gap:10px;margin-bottom:24px;display:flex}.jm-hub-title{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:700}.jm-role-badge{letter-spacing:.1em;text-transform:uppercase;border-radius:20px;padding:3px 8px;font-size:.65rem;font-weight:700}.jm-role-badge.teacher{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b59}.jm-role-badge.student{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent)}.jm-panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}.jm-psection{border-bottom:1px solid var(--border);padding:16px 18px}.jm-psection:last-child{border-bottom:none}.jm-psection-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.jm-psection-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);flex:1;align-items:center;gap:6px;margin:0;font-size:.75rem;font-weight:700;display:flex}.jm-live-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.5s ease-out infinite jm-pulse}@keyframes jm-pulse{0%{box-shadow:0 0 #22c55e88}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}.jm-class-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;margin-bottom:6px;padding:10px 12px;transition:border-color .2s;display:flex}.jm-class-card:last-child{margin-bottom:0}.jm-class-card:hover{border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.jm-class-card--active{background:color-mix(in srgb, #22c55e 5%, var(--bg));border-color:#22c55e55}.jm-class-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.jm-class-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.jm-class-desc{color:var(--text-secondary);-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.775rem;display:-webkit-box;overflow:hidden}.jm-class-meta{color:var(--text-secondary);opacity:.85;flex-wrap:wrap;align-items:center;gap:4px;font-size:.72rem;display:flex}.jm-class-meta svg{flex-shrink:0}.jm-class-actions{flex-shrink:0;align-items:center;gap:5px;display:flex}.jm-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:5px;padding:7px 14px;font-size:.825rem;font-weight:600;transition:opacity .15s,transform .1s;display:inline-flex}.jm-btn:active{transform:scale(.97)}.jm-btn:disabled{opacity:.45;cursor:not-allowed}.jm-btn--sm{padding:5px 10px;font-size:.75rem}.jm-btn--primary{background:var(--accent);color:#fff}.jm-btn--primary:hover:not(:disabled){opacity:.88}.jm-btn--create{color:#fff;background:#7c3aed}.jm-btn--create:hover:not(:disabled){opacity:.88}.jm-btn--join{background:var(--accent);color:#fff}.jm-btn--join:hover:not(:disabled){opacity:.88}.jm-btn--start{color:#fff;background:#f59e0b}.jm-btn--start:hover:not(:disabled){background:#d97706}.jm-btn--enter{color:#fff;background:#22c55e}.jm-btn--enter:hover:not(:disabled){background:#16a34a}.jm-btn-icon{border:1px solid var(--border);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:7px;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:flex}.jm-btn-icon:hover{background:var(--border);color:var(--text-primary)}.jm-btn-icon--danger:hover{color:#ef4444;background:#ef44441f;border-color:#ef444455}.jm-btn-text{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:.825rem;transition:color .15s}.jm-btn-text:hover{color:var(--text-primary)}.jm-inline-form{align-items:center;gap:8px;display:flex}.jm-quick-actions{flex-wrap:wrap;gap:8px;display:flex}.jm-input{background:var(--bg);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;outline:none;flex:1;min-width:0;padding:8px 11px;font-size:.875rem;transition:border-color .2s}.jm-input:focus{border-color:var(--accent)}.jm-input--code{letter-spacing:.3em;text-align:center;text-transform:uppercase;flex:none;width:110px;font-size:.95rem;font-weight:700}.jm-textarea{resize:vertical;min-height:56px;font-family:inherit}.jm-label{color:var(--text-secondary);letter-spacing:.03em;margin-bottom:5px;font-size:.775rem;font-weight:600;display:block}.jm-empty-state{color:var(--text-secondary);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:20px;font-size:.85rem;display:flex}.jm-empty{text-align:center;color:var(--text-secondary);padding:14px 0;font-size:.85rem}.jm-error{color:#ef4444;background:#ef44441a;border:1px solid #ef444455;border-radius:8px;margin-bottom:14px;padding:9px 13px;font-size:.85rem}.jm-modal-overlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.jm-modal{background:var(--bg);border:1px solid var(--border);border-radius:14px;width:100%;max-width:440px;max-height:80vh;padding:24px;overflow-y:auto}.jm-modal-title{color:var(--text-primary);margin:0 0 4px;font-size:1.1rem;font-weight:700}.jm-modal-subtitle{color:var(--text-secondary);margin:0 0 18px;font-size:.85rem}.jm-modal-form{flex-direction:column;gap:10px;display:flex}.jm-modal-actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.jm-student-list{flex-direction:column;gap:5px;max-height:300px;margin:0 0 14px;padding:0;list-style:none;display:flex;overflow-y:auto}.jm-student-item{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;transition:border-color .15s;display:flex}.jm-student-item.enrolled{border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.jm-student-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.85rem;font-weight:600;overflow:hidden}.jm-student-email{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.73rem;overflow:hidden}.jm-toggle-btn{cursor:pointer;border:1px solid;border-radius:6px;flex-shrink:0;padding:3px 9px;font-size:.73rem;font-weight:600;transition:opacity .15s}.jm-toggle-btn--add{background:color-mix(in srgb, var(--accent) 12%, transparent);border-color:color-mix(in srgb, var(--accent) 45%, transparent);color:var(--accent)}.jm-toggle-btn--remove{color:#ef4444;background:#ef444414;border-color:#ef444455}.jm-toggle-btn:hover:not(:disabled){opacity:.7}.jm-toggle-btn:disabled{opacity:.4;cursor:wait}.jm-loading{text-align:center;color:var(--text-secondary);padding:16px 0;font-size:.85rem}@media (width<=600px){.jm-hub{padding:20px 12px 60px}.jm-class-card{flex-direction:column;align-items:flex-start;gap:8px}.jm-class-actions{justify-content:flex-end;width:100%}.jm-modal{padding:18px 16px}}.meeting-lobby{min-height:100vh;padding:var(--space-lg);justify-content:center;align-items:center;display:flex}.lobby-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:480px;padding:48px 40px}.lobby-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:8px;font-size:32px;font-weight:300}.lobby-subtitle{color:var(--text-tertiary);margin-bottom:32px;font-size:14px}.lobby-error{color:var(--error);border-radius:var(--radius-md);background:#b0707014;margin-bottom:16px;padding:10px 14px;font-size:13px}.lobby-actions{flex-direction:column;gap:12px;display:flex}.lobby-btn{border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);justify-content:center;align-items:center;gap:10px;padding:14px 20px;font-size:14px;font-weight:500;display:flex}.lobby-btn:hover:not(:disabled){border-color:var(--gold);background:var(--bg-hover)}.lobby-btn:disabled{opacity:.5;cursor:not-allowed}.lobby-btn--create{background:var(--gold);color:#080b14;border-color:var(--gold)}.lobby-btn--create:hover:not(:disabled){background:var(--gold-light);border-color:var(--gold-light)}.lobby-btn-text{color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:8px 0;font-size:13px}.lobby-btn-text:hover:not(:disabled){color:var(--text-secondary)}.lobby-form{flex-direction:column;gap:16px;display:flex}.lobby-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600}.lobby-input{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-base);width:100%;color:var(--text-primary);font-size:15px;font-family:var(--font-body);transition:border-color var(--transition-fast);outline:none;padding:12px 16px}.lobby-input:focus{border-color:var(--gold)}.lobby-input--code{font-family:var(--font-mono);padding:16px;font-size:22px}.lobby-form-actions{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.lobby-active-rooms{flex-direction:column;gap:8px;margin-top:32px;display:flex}.lobby-room-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-base);cursor:pointer;transition:all var(--transition-fast);text-align:left;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;display:flex}.lobby-room-card:hover:not(:disabled){border-color:var(--gold-dim);background:var(--bg-hover)}.lobby-room-info{flex-direction:column;gap:2px;display:flex}.lobby-room-name{color:var(--text-primary);font-size:14px;font-weight:500}.lobby-room-meta{color:var(--text-tertiary);font-size:12px}.lobby-room-code{font-family:var(--font-mono);color:var(--gold);letter-spacing:.1em;font-size:12px}.meeting-root{flex-direction:column;height:100vh;display:flex}.meeting-container{background:var(--bg-base);flex-direction:column;height:100%;display:flex;overflow:hidden}.meeting-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.meeting-header-left{align-items:center;gap:16px;display:flex}.meeting-room-name{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.01em;font-size:18px;font-weight:400}.meeting-code{color:var(--text-tertiary);font-size:12px;font-family:var(--font-mono);background:var(--bg-elevated);border-radius:var(--radius-sm);padding:4px 10px}.meeting-code strong{color:var(--gold);letter-spacing:.1em}.meeting-participant-count{color:var(--text-tertiary);font-size:13px}.meeting-strip{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);scrollbar-width:none;flex-shrink:0;gap:8px;padding:10px 20px;display:flex;overflow-x:auto}.meeting-strip::-webkit-scrollbar{display:none}.strip-tile{border-radius:var(--radius-md);cursor:pointer;width:96px;height:72px;transition:border-color var(--transition-fast);background:0 0;border:2px solid #0000;flex-shrink:0;position:relative;overflow:visible}.strip-tile:hover{border-color:var(--border-gold)}.strip-tile--active{border-color:var(--gold);box-shadow:0 0 0 1px #b8976a33}.strip-inner{border-radius:calc(var(--radius-md) - 2px);background:var(--bg-elevated);position:absolute;inset:0;overflow:hidden}.strip-video{object-fit:cover;width:100%;height:100%}.strip-avatar{width:100%;height:100%;font-family:var(--font-display);color:var(--text-secondary);background:var(--bg-elevated);justify-content:center;align-items:center;font-size:22px;display:flex}.strip-name{color:#fff;text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:0 0 calc(var(--radius-md) - 2px) calc(var(--radius-md) - 2px);z-index:1;background:linear-gradient(#0000,#000000b3);padding:2px 6px;font-size:10px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.strip-speaking{background:var(--success);width:8px;height:8px;box-shadow:0 0 6px var(--success);z-index:2;border-radius:50%;animation:1.5s ease-in-out infinite pulse;position:absolute;top:4px;right:4px}@keyframes tileReactionFloat{0%{opacity:0;transform:translateY(0)scale(.7)}8%{opacity:.72;transform:translateY(-8px)scale(1.15)}20%{opacity:.68;transform:translateY(-14px)scale(1)}80%{opacity:.65;transform:translateY(-20px)scale(1)}to{opacity:0;transform:translateY(-26px)scale(.88)}}.tile-reaction{pointer-events:none;z-index:10;filter:drop-shadow(0 0 6px var(--reaction-color));line-height:0;animation:6s cubic-bezier(.22,1,.36,1) forwards tileReactionFloat;position:absolute;bottom:10px}.stage-participant-wrap{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}@keyframes stageReactionFloat{0%{opacity:0;transform:translateY(0)scale(.7)}8%{opacity:.68;transform:translateY(-16px)scale(1.15)}20%{opacity:.65;transform:translateY(-28px)scale(1)}80%{opacity:.62;transform:translateY(-44px)scale(1)}to{opacity:0;transform:translateY(-56px)scale(.88)}}.stage-reaction{pointer-events:none;z-index:10;filter:drop-shadow(0 0 12px var(--reaction-color));line-height:0;animation:6s cubic-bezier(.22,1,.36,1) forwards stageReactionFloat;position:absolute;bottom:40px}.meeting-main{flex:1;min-height:0;display:flex;overflow:hidden}.meeting-main--chat-open .meeting-stage{flex:1}.meeting-stage{background:var(--bg-base);flex:1;justify-content:center;align-items:center;padding:16px;display:flex;position:relative}.stage-video{object-fit:contain;border-radius:var(--radius-lg);width:100%;height:100%;max-height:100%}.stage-placeholder{flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.stage-avatar{background:var(--bg-elevated);border:2px solid var(--border-subtle);width:96px;height:96px;font-family:var(--font-display);color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:40px;display:flex}.stage-name{color:var(--text-tertiary);font-size:16px}.meeting-chat{border-left:1px solid var(--border-subtle);background:var(--bg-surface);flex-direction:column;flex-shrink:0;width:320px;display:flex}.chat-header{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;padding:14px 16px;font-size:13px;font-weight:600;display:flex}.chat-close{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;padding:4px}.chat-close:hover{color:var(--text-secondary)}.chat-messages{scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent;flex-direction:column;flex:1;gap:12px;padding:12px 16px;display:flex;overflow-y:auto}.chat-empty{color:var(--text-dim);text-align:center;margin-top:40px;font-size:13px}.chat-msg{flex-direction:column;gap:2px;display:flex}.chat-sender{color:var(--gold-dim);font-size:11px;font-weight:600}.chat-msg--own .chat-sender{color:var(--text-tertiary)}.chat-text{color:var(--text-primary);word-break:break-word;font-size:13px;line-height:1.45}.chat-time{color:var(--text-dim);font-size:10px}.chat-input-wrap{border-top:1px solid var(--border-subtle);align-items:center;gap:8px;padding:12px;display:flex}.chat-input{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-base);color:var(--text-primary);font-size:13px;font-family:var(--font-body);transition:border-color var(--transition-fast);outline:none;flex:1;padding:10px 14px}.chat-input:focus{border-color:var(--gold-dim)}.chat-send{border-radius:var(--radius-md);background:var(--gold);color:#080b14;cursor:pointer;width:36px;height:36px;transition:opacity var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-send:disabled{opacity:.3;cursor:not-allowed}.chat-send:hover:not(:disabled){opacity:.85}.meeting-controls{border-top:1px solid var(--border-subtle);background:var(--bg-surface);flex-shrink:0;justify-content:center;align-items:center;gap:12px;padding:14px 20px;display:flex}.ctrl-btn{background:var(--bg-elevated);border:1px solid var(--border-subtle);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;gap:6px;display:flex}.ctrl-btn:hover{background:var(--bg-hover);border-color:var(--border-gold);color:var(--text-primary)}.ctrl-btn--off{color:var(--error);background:#b070701f;border-color:#b070704d}.ctrl-btn--off:hover{background:#b0707033}.ctrl-btn--active{border-color:var(--gold-dim);color:var(--gold);background:#b8976a26}.ctrl-btn--leave{border-radius:var(--radius-md);width:auto;color:var(--error);background:#b070701f;border-color:#b070704d;padding:0 20px}.ctrl-btn--leave:hover{background:var(--error);border-color:var(--error);color:#fff}.ctrl-label{font-size:13px;font-weight:500}.reaction-bar{align-items:center;gap:4px;display:flex}.reaction-btn{border-radius:var(--radius-md);cursor:pointer;opacity:.65;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;transition:all .15s;display:flex;position:relative}.reaction-btn:hover{background:color-mix(in srgb, var(--reaction-color) 14%, transparent);border-color:color-mix(in srgb, var(--reaction-color) 40%, transparent);opacity:1;transform:scale(1.2)}.reaction-btn:active{transform:scale(.9)}.ctrl-divider{background:var(--border-subtle);flex-shrink:0;width:1px;height:24px;margin:0 4px}.signals-panel{border-bottom:1px solid var(--border-subtle);padding:14px 16px 10px}.signals-title{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:11px;font-weight:600;display:block}.signals-grid{flex-wrap:wrap;gap:6px;display:flex}.signal-item{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--signal-color) 10%, transparent);border:1px solid color-mix(in srgb, var(--signal-color) 25%, transparent);align-items:center;gap:4px;padding:4px 8px;display:flex}.signal-emoji{font-size:14px;line-height:1}.signal-count{color:var(--signal-color);font-size:11px;font-weight:600;font-family:var(--font-mono);min-width:12px}@media (width<=768px){.lobby-card{padding:32px 24px}.meeting-chat{z-index:200;width:100%;max-width:360px;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 32px #0000004d}.meeting-header-left{gap:10px}.meeting-room-name{font-size:15px}.meeting-code{display:none}.strip-tile{width:72px;height:54px}.ctrl-btn{width:40px;height:40px}.ctrl-btn--leave{padding:0 14px}.ctrl-label{display:none}}.lp-root{--lp-bg:#f7f5f1;--lp-bg-alt:#ede9e3;--lp-text:#1e0e0c;--lp-text-mid:#9d5248;--lp-text-soft:#7a3d38;--lp-text-dim:#bfa8a6;--lp-border:#9d524826;--lp-border-hi:#9d524852;--ease:cubic-bezier(.22, 1, .36, 1);background:var(--lp-bg);color:var(--lp-text);font-family:var(--font-body);min-height:100vh;overflow-x:hidden}.lp-nav{background:var(--lp-bg);border-bottom:1px solid var(--lp-border);grid-template-columns:1fr auto 1fr;align-items:center;width:100%;height:88px;padding:0 clamp(32px,5vw,80px);display:grid;position:relative}.lp-nav-left{justify-content:flex-start;align-items:center;gap:clamp(24px,3vw,48px);display:flex}.lp-nav-center{-webkit-user-select:none;user-select:none;flex-direction:row;align-items:center;gap:10px;text-decoration:none;transition:opacity .3s;display:flex}.lp-nav-center:hover{opacity:.75}.lp-nav-crest{width:34px;height:auto;color:var(--lp-text)}.lp-nav-name{font-family:var(--font-display);letter-spacing:.28em;text-transform:uppercase;color:var(--lp-text-soft);font-size:13px;font-style:normal;font-weight:300;line-height:1}.lp-nav-right{justify-content:flex-end;align-items:center;gap:clamp(24px,3vw,48px);display:flex}.lp-nav-link{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--lp-text-soft);font-size:11px;font-weight:400;text-decoration:none;transition:color .3s}.lp-nav-link:hover{color:var(--lp-text)}.lp-hero{justify-content:center;align-items:center;width:100%;display:flex;position:relative}.lp-hero-img{filter:blur(18px)brightness(.95);opacity:0;width:100%;height:auto;transition:filter 1.4s var(--ease), opacity 1.4s var(--ease);display:block}.lp-hero-img.is-loaded{filter:blur()brightness();opacity:1}.lp-hero-overlay{display:none}.lp-hero-h1{z-index:2;font-family:var(--font-display);letter-spacing:.01em;color:#f7f5f1;white-space:nowrap;text-align:center;margin:0;font-size:clamp(42px,6vw,84px);font-style:italic;font-weight:300;position:absolute;top:10%;left:50%;transform:translate(-50%)}.lp-hero-body{z-index:2;text-align:center;-webkit-user-select:none;user-select:none;padding:0 24px;position:relative}.lp-hero-name{font-family:var(--font-display);letter-spacing:-.01em;color:#1e0e0c;margin:0 0 clamp(28px,4vh,52px);font-size:clamp(72px,13vw,168px);font-weight:300;line-height:.95}.lp-hero-line{font-family:var(--font-display);color:var(--lp-text-soft);letter-spacing:.01em;margin:0;font-size:clamp(14px,1.6vw,20px);font-style:italic;font-weight:300;line-height:1.75}.lp-scroll-cue{z-index:999;color:var(--lp-text-soft);opacity:1;pointer-events:none;transition:opacity 2s;position:fixed;bottom:44px;left:50%;transform:translate(-50%)}.lp-scroll-cue--hidden{opacity:0}.lp-scroll-cue-inner{animation:2.2s ease-in-out infinite lpCueBounce}@keyframes lpCueBounce{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(10px)}}.lp-statement{text-align:center;padding:clamp(120px,18vh,220px) clamp(32px,8vw,120px)}.lp-statement-text{font-family:var(--font-display);letter-spacing:-.02em;color:var(--lp-text);max-width:900px;margin:0 auto;font-size:clamp(36px,6vw,80px);font-weight:300;line-height:1.12}.lp-statement-text em{color:var(--lp-text-mid);font-style:italic}.lp-editorial{border-top:1px solid var(--lp-border);grid-template-columns:1fr 1fr;min-height:100svh;display:grid}.lp-editorial-img-col{background:var(--lp-bg-alt);overflow:hidden}.lp-editorial-img-wrap{width:100%;height:100%}.lp-editorial-img{object-fit:cover;object-position:center;filter:blur(16px)brightness(.85);opacity:0;width:100%;height:100%;transition:filter 1.2s var(--ease), opacity 1.2s var(--ease), transform .8s var(--ease);display:block}.lp-editorial-img.is-loaded{filter:brightness(.9)contrast(1.02)sepia(.08);opacity:1}.lp-editorial-img-wrap:hover .lp-editorial-img{transform:scale(1.02)}.lp-editorial-text-col{border-left:1px solid var(--lp-border);flex-direction:column;justify-content:center;padding:clamp(80px,12vw,160px) clamp(64px,9vw,140px);display:flex}.lp-eyebrow{letter-spacing:.24em;text-transform:uppercase;color:var(--lp-text-dim);margin-bottom:32px;font-size:10px;font-weight:500;display:block}.lp-editorial-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--lp-text);margin:0 0 clamp(40px,5vh,64px);font-size:clamp(40px,5.5vw,72px);font-weight:300;line-height:1.1}.lp-editorial-title em{color:var(--lp-text-mid);font-style:italic}.lp-editorial-body{color:var(--lp-text-soft);max-width:440px;margin:0 0 22px;font-size:15px;font-weight:300;line-height:1.8}.lp-method{background:var(--lp-bg-alt);border-top:1px solid var(--lp-border);border-bottom:1px solid var(--lp-border);padding:clamp(120px,17vh,200px) 0}.lp-method-header{text-align:center;margin-bottom:clamp(80px,12vh,140px);padding:0 clamp(32px,8vw,120px)}.lp-method-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--lp-text);margin:0;font-size:clamp(40px,6vw,80px);font-weight:300;line-height:1.1}.lp-method-title em{color:var(--lp-text-mid);font-style:italic}.lp-method-grid{border-top:1px solid var(--lp-border);border-left:1px solid var(--lp-border);grid-template-columns:repeat(3,1fr);display:grid}.lp-method-card{border-right:1px solid var(--lp-border);border-bottom:1px solid var(--lp-border);flex-direction:column;gap:28px;padding:clamp(64px,9vw,112px) clamp(52px,6vw,88px);transition:background .5s;display:flex}.lp-method-card:hover{background:#9d52480a}.lp-method-num{font-family:var(--font-display);letter-spacing:.28em;color:var(--lp-text-dim);text-transform:uppercase;font-size:10px;font-weight:400}.lp-method-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--lp-text);margin:0;font-size:clamp(20px,2.2vw,26px);font-weight:300;line-height:1.2}.lp-method-text{color:var(--lp-text-soft);margin:0;font-size:14px;font-weight:300;line-height:1.8}.lp-numbers{border-top:1px solid var(--lp-border);border-bottom:1px solid var(--lp-border);align-items:stretch;display:flex}.lp-number{flex-direction:column;flex:1;justify-content:center;gap:20px;padding:clamp(80px,14vh,160px) clamp(48px,7vw,100px);display:flex}.lp-number-rule{background:var(--lp-border);flex-shrink:0;width:1px}.lp-number-val{font-family:var(--font-display);letter-spacing:-.04em;color:var(--lp-text);font-size:clamp(64px,10vw,140px);font-weight:300;line-height:1}.lp-number-label{letter-spacing:.1em;text-transform:uppercase;color:var(--lp-text-soft);font-size:11px;font-weight:400;line-height:1.7}.lp-platform{max-width:1300px;margin:0 auto;padding:clamp(140px,20vh,240px) clamp(32px,7vw,120px)}.lp-platform-header{text-align:center;margin-bottom:clamp(64px,9vh,110px)}.lp-platform-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--lp-text);margin:0;font-size:clamp(40px,6vw,80px);font-weight:300;line-height:1.1}.lp-platform-title em{color:var(--lp-text-mid);font-style:italic}.lp-platform-img-wrap{border:1px solid var(--lp-border);overflow:hidden;box-shadow:0 40px 100px #9d52481f}.lp-platform-img{filter:blur(20px);opacity:0;width:100%;transition:filter 1.3s var(--ease), opacity 1.3s var(--ease);display:block}.lp-platform-img.is-loaded{filter:none;opacity:1}.lp-platform-note{color:var(--lp-text-soft);text-align:center;max-width:560px;margin:clamp(48px,7vh,80px) auto 0;font-size:14px;font-weight:300;line-height:1.8}.lp-close{text-align:center;background:var(--lp-bg-alt);border-top:1px solid var(--lp-border);flex-direction:column;justify-content:center;align-items:center;gap:clamp(52px,8vh,80px);min-height:80svh;padding:clamp(120px,18vh,200px) clamp(32px,8vw,120px);display:flex}.lp-close-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--lp-text);margin:0;font-size:clamp(36px,5.5vw,72px);font-weight:300;line-height:1.15}.lp-close-title em{color:var(--lp-text-mid);font-style:italic}.lp-begin{color:var(--lp-text-soft);font-family:var(--font-body);letter-spacing:.3em;text-transform:uppercase;border:1px solid var(--lp-border-hi);cursor:pointer;background:0 0;padding:18px 80px;font-size:11px;font-weight:500;transition:border-color .6s,color .6s;display:inline-block}.lp-begin:hover{color:var(--lp-text);border-color:#9d5248a6}.lp-footer{border-top:1px solid var(--lp-border);justify-content:center;align-items:center;padding:56px 80px;display:flex}.lp-footer-name{font-family:var(--font-display);letter-spacing:.36em;text-transform:uppercase;color:var(--lp-text-dim);font-size:11px;font-weight:300}.lp-reveal{opacity:0;transition:opacity 1s var(--ease), transform 1s var(--ease);transform:translateY(28px)}.lp-reveal.is-visible{opacity:1;transform:translateY(0)}.lp-reveal[data-delay="1"]{transition-delay:.12s}.lp-reveal[data-delay="2"]{transition-delay:.24s}.lp-reveal[data-delay="3"]{transition-delay:.36s}@media (width<=960px){.lp-editorial{grid-template-columns:1fr;min-height:auto}.lp-editorial-img-col{height:56vw;min-height:280px}.lp-editorial-text-col{border-left:none;border-top:1px solid var(--lp-border);padding:clamp(56px,9vw,100px) clamp(28px,6vw,80px)}.lp-method-grid{border-left:none;grid-template-columns:1fr}.lp-numbers{flex-direction:column}.lp-number-rule{width:100%;height:1px}}@media (width<=768px){.lp-nav{grid-template-columns:0 auto 0;height:68px;padding:0 24px}.lp-nav-left,.lp-nav-right{display:none}.lp-hero-h1{white-space:normal;width:90%;font-size:clamp(28px,7vw,48px);top:8%}.lp-statement{padding:80px 28px}.lp-number{padding:64px 40px}.lp-platform{padding:80px 28px}.lp-close{min-height:auto;padding:80px 28px}.lp-footer{padding:40px 24px}.lp-begin{width:100%;max-width:320px;padding:16px 48px}.about-root{padding-top:0}}@media (width<=480px){.lp-nav{height:60px;padding:0 20px}.lp-nav-name{letter-spacing:.18em;font-size:11px}.lp-nav-crest{width:26px}.lp-hero-h1{width:94%;font-size:clamp(22px,6.5vw,36px);top:6%}.lp-statement{padding:64px 20px}.lp-statement-text{font-size:clamp(28px,8vw,44px)}.lp-editorial-img-col{height:70vw}.lp-editorial-text-col{padding:48px 20px}.lp-editorial-title{font-size:clamp(32px,9vw,48px)}.lp-method{padding:64px 0}.lp-method-header{margin-bottom:48px;padding:0 20px}.lp-method-card{gap:20px;padding:40px 20px}.lp-number{padding:48px 20px}.lp-number-val{font-size:clamp(56px,18vw,96px)}.lp-platform{padding:64px 20px}.lp-close{gap:40px;padding:64px 20px}.lp-close-title{font-size:clamp(28px,8vw,44px)}.lp-begin{letter-spacing:.2em;width:100%;max-width:100%;padding:16px 32px}.lp-footer{padding:32px 20px}}.about-root{padding-top:64px}.about-hero{border-bottom:1px solid var(--lp-border);padding:clamp(100px,16vh,180px) clamp(40px,8vw,120px) clamp(60px,9vh,100px)}.about-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--lp-text);margin:12px 0 0;font-size:clamp(44px,7vw,96px);font-weight:300;line-height:1.08}.about-section{margin-bottom:clamp(64px,9vh,100px)}.about-section-title{font-family:var(--font-display);letter-spacing:.02em;color:var(--lp-text);margin:0 0 24px;font-size:clamp(18px,2vw,24px);font-weight:300}.about-text{color:var(--lp-text-soft);margin:0 0 20px;font-size:16px;font-weight:300;line-height:1.85}.about-divider{background:var(--lp-border);height:1px;margin-bottom:clamp(64px,9vh,100px)}.feat-root{min-height:100vh;padding-top:120px}.feat-hero{text-align:center;max-width:900px;margin:0 auto;padding:clamp(64px,10vw,120px) clamp(24px,5vw,80px) clamp(48px,8vw,96px)}.feat-title{font-family:var(--font-display);color:var(--lp-text);margin-top:16px;font-size:clamp(36px,6vw,72px);font-weight:400;line-height:1.1}.feat-title em{color:var(--lp-text-mid);font-style:italic}.feat-grid{border-top:1px solid var(--lp-border);border-left:1px solid var(--lp-border);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;max-width:1200px;margin:0 auto;display:grid}.feat-card{border-right:1px solid var(--lp-border);border-bottom:1px solid var(--lp-border);padding:clamp(32px,4vw,56px);transition:background .3s}.feat-card:hover{background:#d6c9a808}.feat-card-title{font-family:var(--font-display);color:var(--lp-text);margin-bottom:16px;font-size:20px;font-weight:400}.feat-card-body{font-family:var(--font-body);color:var(--lp-text-mid);font-size:15px;line-height:1.7}.pricing-root{min-height:100vh}.pricing-hero{text-align:center;border-bottom:1px solid var(--lp-border);padding:clamp(40px,5vh,64px) clamp(32px,8vw,120px) clamp(32px,4vh,52px)}.pricing-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--lp-text);margin:16px 0 0;font-size:clamp(40px,6vw,80px);font-weight:300;line-height:1.1}.pricing-title em{color:var(--lp-text-mid);font-style:italic}.pricing-single{justify-content:center;align-items:stretch;gap:0;max-width:900px;margin:clamp(60px,10vh,120px) auto;padding:0 clamp(32px,6vw,80px);display:flex}.pricing-card-single{border:1px solid var(--lp-border-hi);flex-direction:column;flex:1;padding:clamp(40px,5vw,64px);display:flex}.pricing-card-alt{border-right:none}.pricing-tier-label{letter-spacing:.24em;text-transform:uppercase;color:var(--lp-text-dim);margin-bottom:24px;font-size:10px;font-weight:500;display:block}.pricing-amount{align-items:baseline;gap:8px;margin-bottom:20px;display:flex}.pricing-price{font-family:var(--font-display);letter-spacing:-.03em;color:var(--lp-text);font-size:clamp(48px,6vw,80px);font-weight:300;line-height:1}.pricing-period{font-family:var(--font-display);color:var(--lp-text-soft);font-size:15px;font-weight:300}.pricing-desc{color:var(--lp-text-soft);margin:0 0 32px;font-size:14px;font-weight:300;line-height:1.75}.pricing-divider{background:var(--lp-border);height:1px;margin-bottom:32px}.pricing-features{flex-direction:column;flex:1;gap:14px;margin:0 0 40px;padding:0;list-style:none;display:flex}.pricing-feature{color:var(--lp-text-soft);align-items:baseline;gap:14px;font-size:13px;font-weight:300;line-height:1.5;display:flex}.pricing-check{color:var(--lp-text-mid);flex-shrink:0}.pricing-card-footer{flex-direction:column;gap:14px;margin-top:auto;display:flex}.pricing-note{letter-spacing:.06em;color:var(--lp-text-dim);text-align:center;margin:0;font-size:11px;font-weight:300}@media (width<=700px){.pricing-single{flex-direction:column;margin:48px auto;padding:0 20px}.pricing-card-alt{border-right:1px solid var(--lp-border-hi);border-bottom:none}.pricing-card-alt+.pricing-card-single{border-top:none}}@media (width<=480px){.pricing-single{margin:40px auto;padding:0 16px}.pricing-card-single{padding:36px 24px}}.about-root{min-height:100vh}.about-hero{text-align:center;max-width:900px;margin:0 auto;padding:clamp(120px,14vw,180px) clamp(24px,5vw,80px) clamp(48px,8vw,80px)}.about-title{font-family:var(--font-display);color:var(--lp-text);margin-top:16px;font-size:clamp(36px,6vw,72px);font-weight:400;line-height:1.1}.about-title em{color:var(--lp-text-mid);font-style:italic}.about-body{max-width:680px;margin:0 auto;padding:0 clamp(24px,5vw,80px) clamp(80px,10vw,140px)}.about-section{padding:clamp(40px,6vw,64px) 0}.about-section-title{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--lp-text-soft);margin-bottom:24px;font-size:11px;font-weight:400}.about-text{font-family:var(--font-body);color:var(--lp-text-mid);margin-bottom:20px;font-size:17px;line-height:1.8}.about-text:last-child{margin-bottom:0}.about-divider{background:var(--lp-border);width:100%;height:1px}.about-portrait-wrap{max-width:380px;margin:clamp(48px,7vh,80px) auto 0;overflow:hidden}.about-portrait{filter:saturate(.35)sepia(.3)brightness(.94)contrast(1.04);width:100%;display:block}.about-section--closing{padding:clamp(48px,7vw,80px) 0 0}.about-closing{font-family:var(--font-display);letter-spacing:-.01em;color:var(--lp-text);margin:0;font-size:clamp(28px,4vw,48px);font-weight:300;line-height:1.2}.about-closing em{color:var(--lp-text-mid);font-style:italic}@media (width<=480px){.about-body{padding:0 20px clamp(60px,10vw,100px)}.about-text{font-size:15px}}.blog-root{min-height:100vh}.blog-hero{max-width:900px;margin:0 auto;padding:clamp(120px,14vw,180px) clamp(24px,5vw,80px) clamp(48px,8vw,80px)}.blog-title{font-family:var(--font-display);color:var(--lp-text);margin-top:16px;font-size:clamp(36px,6vw,72px);font-weight:400;line-height:1.1}.blog-list{border-top:1px solid var(--lp-border);max-width:900px;margin:0 auto;padding:0 clamp(24px,5vw,80px) clamp(80px,10vw,140px)}.blog-post{border-bottom:1px solid var(--lp-border);cursor:pointer;grid-template-columns:160px 1fr;gap:0 40px;padding:clamp(36px,5vw,56px) 0;transition:opacity .2s;display:grid}.blog-post:hover{opacity:.75}.blog-post-meta{flex-direction:column;gap:8px;padding-top:4px;display:flex}.blog-post-date{font-family:var(--font-body);color:var(--lp-text-soft);letter-spacing:.05em;font-size:12px}.blog-post-tag{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--lp-text-dim);font-size:11px}.blog-post-title{font-family:var(--font-display);color:var(--lp-text);margin-bottom:12px;font-size:clamp(20px,2.5vw,28px);font-weight:400;line-height:1.2}.blog-post-excerpt{font-family:var(--font-body);color:var(--lp-text-mid);margin-bottom:16px;font-size:15px;line-height:1.7}.blog-post-read{font-family:var(--font-body);color:var(--lp-text-soft);letter-spacing:.05em;font-size:13px}@media (width<=600px){.blog-post{grid-template-columns:1fr}}.app-layout{min-height:100vh;display:flex}.sidebar{background:var(--bg-base);border-right:1px solid var(--border-subtle);z-index:100;flex-direction:column;width:260px;min-height:100vh;padding:40px 20px 32px;display:flex;position:fixed;top:0;left:0}.sidebar-brand{margin-bottom:52px;padding:0 8px}.brand-logo{align-items:center;gap:8px;display:flex}.brand-name{font-family:var(--font-display);letter-spacing:.24em;text-transform:uppercase;color:var(--text-primary);font-size:13px;font-weight:300;line-height:1}.brand-crest{object-fit:contain;flex-shrink:0;width:26px;height:26px}.sidebar-links{flex-direction:column;flex:1;gap:2px;display:flex}.nav-link{border-radius:var(--radius-md);color:var(--text-dim);letter-spacing:.005em;transition:all var(--transition-fast);align-items:center;gap:12px;padding:11px 12px;font-size:14px;font-weight:400;text-decoration:none;display:flex;position:relative}.nav-link svg{opacity:.7;transition:opacity var(--transition-fast);flex-shrink:0}.nav-link:hover{color:var(--text-secondary);background:var(--glass);opacity:1}.nav-link:hover svg{opacity:.9}.nav-link.active{color:var(--text-primary);background:var(--glass-strong)}.nav-link.active svg{opacity:1;stroke:var(--gold)}.nav-link.active:before{content:"";background:var(--gold);border-radius:0 2px 2px 0;width:2px;height:16px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.theme-toggle{border-radius:var(--radius-md);color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;transition:all var(--transition-fast);align-items:center;gap:10px;margin-bottom:2px;padding:9px 12px;font-size:11px;font-weight:500;display:flex}.theme-toggle svg{opacity:.55}.theme-toggle:hover{color:var(--text-muted);background:var(--glass)}.sidebar-footer{border-top:1px solid var(--border-subtle);padding-top:20px}.user-profile{align-items:center;gap:10px;padding:6px 4px;display:flex}.user-avatar{background:var(--bg-elevated);border:1px solid var(--border-subtle);width:34px;height:34px;color:var(--text-secondary);font-size:13px;font-weight:500;font-family:var(--font-display);letter-spacing:0;transition:border-color var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-avatar:hover{border-color:var(--border-gold)}.user-info{flex-direction:column;min-width:0;display:flex}.user-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:400;overflow:hidden}.sign-out-btn{color:var(--text-dim);text-align:left;transition:color var(--transition-fast);letter-spacing:.02em;margin-top:1px;font-size:11px}.sign-out-btn:hover{color:var(--error)}.main-content{background:radial-gradient(ellipse 200px 100% at 0% 50%, var(--content-gradient) 0%, transparent 100%), var(--bg-base);flex:1;min-height:100vh;margin-left:260px}.main-content:after{content:"";background:linear-gradient(to bottom, transparent 0%, var(--bg-base) 100%);pointer-events:none;z-index:50;height:120px;position:fixed;bottom:0;left:260px;right:0}.loading-page{justify-content:center;align-items:center;min-height:100vh;display:flex}.loading-content{text-align:center}.loading-logo{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:24px;font-size:44px;font-weight:300}.loading-fm{color:var(--gold)}.loading-bar{background:var(--bg-elevated);border-radius:var(--radius-full);width:120px;height:1px;margin:0 auto;position:relative;overflow:hidden}.loading-bar-fill{background:linear-gradient(90deg, transparent, var(--gold), transparent);border-radius:var(--radius-full);width:40%;height:100%;animation:1.8s ease-in-out infinite shimmer;position:absolute;top:0}@media (width<=768px){.sidebar{width:56px;padding:24px 8px}.brand-logo,.nav-link span,.user-info,.theme-toggle span,.nav-link.active:before{display:none}.sidebar-brand{text-align:center;margin-bottom:24px}.nav-link{justify-content:center;padding:12px}.user-profile{justify-content:center}.main-content{margin-left:56px}.main-content:after{left:56px}}@media (width<=540px){.sidebar{width:100%;height:60px;min-height:unset;border-right:none;border-top:1px solid var(--border-subtle);z-index:200;flex-direction:row;justify-content:space-around;align-items:center;padding:0 8px;inset:auto 0 0}.sidebar-brand,.theme-toggle,.sidebar-footer{display:none}.sidebar-links{flex-direction:row;flex:1;justify-content:space-around;gap:0}.nav-link{border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:4px;min-width:44px;padding:8px 12px}.nav-link span{display:none}.nav-link svg{opacity:.6}.nav-link.active svg{opacity:1;stroke:var(--gold)}.main-content{margin-left:0;padding-bottom:60px}.main-content:after{height:80px;left:0}}:root{--bg-base:#f7f5f1;--bg-surface:#ede9e3;--bg-elevated:#e5e0d8;--bg-hover:#ddd8cf;--bg-active:#d5cfc5;--bg-primary:#f7f5f1;--bg-secondary:#ede9e3;--bg-tertiary:#e5e0d8;--bg-card:#ede9e3;--bg-card-hover:#e5e0d8;--text-primary:#1e0e0c;--text-secondary:#7a3d38;--text-tertiary:#9d5248;--text-muted:#bfa8a6;--text-dim:#c8b2b0;--gold:#9d5248;--gold-light:#b0605a;--gold-dim:#7a3d38;--gold-glow:#9d524814;--gold-glow-strong:#9d524826;--gold-gradient:linear-gradient(110deg, #7a3d38 0%, #9d5248 40%, #b0605a 65%, #9d5248 100%);--success:#5a8a5e;--success-dim:#477a4b;--warning:#a6893e;--error:#a05050;--accent-emerald:#5a8a5e;--accent-emerald-glow:#5a8a5e1a;--accent-rose:#a05050;--accent-rose-glow:#a050501a;--domain-math:#5a72b0;--domain-math-glow:#5a72b01a;--domain-reading:#3d9684;--domain-reading-glow:#3d96841a;--domain-writing:#9a5878;--domain-writing-glow:#9a58781a;--border-subtle:#9d52481a;--border-medium:#9d52482e;--border-strong:#9d524847;--border-gold:#9d524859;--glass:#9d52480a;--glass-strong:#9d524812;--glass-border:#9d524814;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--radius-xl:12px;--radius-2xl:12px;--radius-pill:100px;--radius-full:9999px;--shadow-sm:0 1px 3px #1e0e0c0f;--shadow-md:0 4px 16px #1e0e0c17;--shadow-lg:0 12px 40px #1e0e0c1f;--shadow-xl:0 24px 64px #1e0e0c24;--shadow-gold:0 0 0 1px #9d52482e, 0 4px 16px #9d524814;--shadow-float:0 20px 60px #1e0e0c26, 0 0 0 1px #9d524814;--scrollbar-thumb:#9d524824;--scrollbar-thumb-hover:#9d524842;--grain-opacity:.025;--selection-bg:#9d524829;--content-gradient:#9d52480d;--ease-default:cubic-bezier(.25, .1, .25, 1);--ease-enter:cubic-bezier(.16, 1, .3, 1);--ease-exit:cubic-bezier(.55, 0, 1, .45);--ease-luxury:cubic-bezier(.25, .1, .25, 1);--ease-reveal:cubic-bezier(.16, 1, .3, 1);--duration-fast:.15s;--duration-base:.25s;--duration-slow:.5s;--duration-reveal:.8s;--transition-fast:.15s var(--ease-default);--transition-normal:.25s var(--ease-default);--transition-slow:.5s var(--ease-default);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:32px;--space-xl:64px;--space-2xl:96px;--space-3xl:128px;--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"Plus Jakarta Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--font-size-xs:11px;--font-size-sm:13px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:24px;--font-size-2xl:32px;--font-size-3xl:48px;--font-size-4xl:64px;--font-size-hero:96px}[data-theme=dark]{--bg-base:#1a1410;--bg-surface:#221c17;--bg-elevated:#2a2219;--bg-hover:#322920;--bg-active:#3a3026;--bg-primary:#1a1410;--bg-secondary:#221c17;--bg-tertiary:#2a2219;--bg-card:#221c17;--bg-card-hover:#2a2219;--text-primary:#f2ebe3;--text-secondary:#c4a99e;--text-tertiary:#8c7068;--text-muted:#5c4840;--text-dim:#4a3830;--gold:#9d5248;--gold-light:#c4706a;--gold-dim:#7a3d38;--gold-glow:#9d52481f;--gold-glow-strong:#9d524838;--gold-gradient:linear-gradient(110deg, #7a3d38 0%, #9d5248 40%, #c4706a 65%, #9d5248 100%);--success:#7d9e80;--success-dim:#5a7a5d;--warning:#c4a265;--error:#c47070;--accent-emerald:#7d9e80;--accent-emerald-glow:#7d9e801a;--accent-rose:#c47070;--accent-rose-glow:#c470701a;--domain-math:#8fa3d6;--domain-math-glow:#8fa3d61a;--domain-reading:#6bbeab;--domain-reading-glow:#6bbeab1a;--domain-writing:#c47898;--domain-writing-glow:#c478981a;--border-subtle:#f2ebe312;--border-medium:#f2ebe31f;--border-strong:#f2ebe333;--border-gold:#9d524859;--glass:#9d52480d;--glass-strong:#9d524817;--glass-border:#f2ebe312;--shadow-sm:0 1px 3px #0a070459;--shadow-md:0 4px 16px #0a070473;--shadow-lg:0 12px 40px #0a07048c;--shadow-xl:0 24px 64px #0a0704a6;--shadow-gold:0 0 0 1px #9d524840, 0 4px 16px #9d52481f;--shadow-float:0 20px 60px #0a0704b3, 0 0 0 1px #9d524826;--scrollbar-thumb:#f2ebe314;--scrollbar-thumb-hover:#f2ebe329;--grain-opacity:.022;--selection-bg:#9d524838;--content-gradient:#9d52480f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-body);color:var(--text-primary);background:var(--bg-base);letter-spacing:.005em;min-height:100vh;font-size:16px;font-weight:400;line-height:1.65;overflow-x:hidden}body:after{content:"";opacity:var(--grain-opacity);pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px 256px;position:fixed;inset:0}#root{z-index:1;min-height:100vh;position:relative}a{color:var(--gold);transition:opacity var(--duration-fast) var(--ease-default);text-decoration:none}a:hover{opacity:.75}button{font-family:var(--font-body);cursor:pointer;color:inherit;background:0 0;border:none;outline:none}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::selection{background:var(--selection-bg);color:var(--text-primary)}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn-primary,.btn-gold{justify-content:center;align-items:center;gap:var(--space-sm);background:var(--gold);color:var(--bg-base);font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;border-radius:var(--radius-pill);transition:all var(--duration-base) var(--ease-default);padding:16px 40px;font-size:12px;font-weight:600;display:inline-flex}.btn-primary:hover,.btn-gold:hover{filter:brightness(1.12);transform:translateY(-1px)}.btn-primary:active,.btn-gold:active{filter:brightness(.95);transform:translateY(0)}.btn-secondary,.btn-ghost{justify-content:center;align-items:center;gap:var(--space-sm);color:var(--text-secondary);font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;border-radius:var(--radius-pill);border:1px solid var(--border-medium);transition:all var(--duration-base) var(--ease-default);background:0 0;padding:16px 36px;font-size:12px;font-weight:600;display:inline-flex}.btn-secondary:hover,.btn-ghost:hover{border-color:var(--border-gold);color:var(--text-primary)}.btn-lg{padding:18px 44px;font-size:13px}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes goldShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes shimmer{0%{left:-40%}to{left:100%}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes correctFlash{0%{box-shadow:0 0 #7d9e804d}40%{box-shadow:0 0 16px 4px #7d9e801f}to{box-shadow:0 0 #7d9e8000}}@keyframes incorrectShake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}@keyframes timer-pulse{0%,to{opacity:1}50%{opacity:.55}}.animate-fade-in{animation:fadeIn var(--duration-reveal) var(--ease-enter) both}.animate-fade-in-up{animation:fadeInUp var(--duration-reveal) var(--ease-enter) both}.animate-slide-in-right{animation:slideInRight .5s var(--ease-enter) both}.animate-scale-in{animation:scaleIn .5s var(--ease-enter) both}.animate-correct{animation:correctFlash .8s var(--ease-default)}.animate-incorrect{animation:incorrectShake .45s var(--ease-default)}.stagger-children>*{animation:fadeIn var(--duration-reveal) var(--ease-enter) both}.stagger-children>:first-child{animation-delay:0s}.stagger-children>:nth-child(2){animation-delay:80ms}.stagger-children>:nth-child(3){animation-delay:.16s}.stagger-children>:nth-child(4){animation-delay:.24s}.stagger-children>:nth-child(5){animation-delay:.32s}.stagger-children>:nth-child(6){animation-delay:.4s}@media (width<=768px){button,a,[role=button]{min-width:44px;min-height:44px}html{-webkit-text-size-adjust:100%}}.gold-text{color:var(--gold)}.gold-gradient-text{background:var(--gold-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.serif{font-family:var(--font-display)}.tracking-wide{letter-spacing:.12em}.tracking-wider{letter-spacing:.2em}.uppercase{text-transform:uppercase}.overline{letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dim);font-size:11px;font-weight:500}
