:root{color:#1b2321;background:#f5f7f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:34px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;z-index:20;top:0;left:0;display:flex;flex-direction:column;gap:12px;width:248px;height:100vh;padding:14px 16px;overflow:visible;color:#f6fbf9;background:#172521;border-right:1px solid #d9e2df;box-shadow:14px 0 28px #07141100;transform:translate(-100%);transition:box-shadow .18s ease,transform .18s ease}.sidebar-tab{position:absolute;top:18px;right:-34px;display:grid;width:34px;height:92px;place-items:center;color:#dce8e5;background:#172521;border:1px solid #304640;border-left:0;border-radius:0 8px 8px 0;box-shadow:8px 0 20px #0714111f;cursor:pointer;pointer-events:auto;-webkit-user-select:none;user-select:none}.sidebar-tab svg{color:var(--accent)}.sidebar-tab span{writing-mode:vertical-rl;color:#b9c8c3;font-size:.62rem;font-weight:800;letter-spacing:0;text-transform:uppercase;transform:rotate(180deg)}.sidebar:hover,.sidebar:focus-within{box-shadow:14px 0 28px #07141138;transform:translate(0)}.main-panel{grid-column:2}.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:grid;width:34px;height:34px;place-items:center;color:#fff;background:var(--accent);border-radius:8px}.brand strong,.brand span{display:block}.brand strong{font-size:.9rem}.brand span{font-size:.8rem}.brand span,.control-label,.sidebar-meter span,.metric span,.metric small,.topbar p,.section-header p,.blueprint-row p,.blueprint-row small,.resource-item span,.plan-item small,.exam-feedback,.question-kicker,.formula-tile span,.flashcard span,.setup-option span{color:#65736f}.sidebar .brand span,.sidebar .control-label,.sidebar .sidebar-meter span{color:#b9c8c3}.control-group{display:grid;gap:5px}.sidebar-language{margin-top:2px}.control-label{font-size:.68rem;font-weight:700;text-transform:uppercase}.segmented,.level-grid{display:grid;gap:4px}.segmented{grid-template-columns:repeat(2,minmax(0,1fr))}.level-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.segmented-button,.level-button,.nav-button,.icon-button,.text-button,.primary-button,.secondary-button,.choice-button,.priority-item,.compact-item,.setup-option,.calc-tab{border:1px solid transparent;border-radius:8px}.segmented-button,.level-button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:28px;color:#e7eeee;background:#22342f;font-size:.78rem;font-weight:700}.segmented-button.active,.level-button.active,.nav-button.active{color:#fff;background:var(--accent)}.nav-list{display:grid;gap:4px}.nav-button{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:0 9px;color:#dce8e5;background:transparent;font-size:.84rem;text-align:left}.nav-button:hover,.segmented-button:hover,.level-button:hover{border-color:#46645d}.sidebar-meter{display:grid;gap:6px;margin-top:auto;padding:9px;background:#20302c;border:1px solid #304640;border-radius:8px}.sidebar-meter strong{font-size:1.32rem}.auth-panel{display:grid;gap:6px}.auth-card{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:7px;align-items:center;padding:8px;background:#20302c;border:1px solid #304640;border-radius:8px}.auth-card img,.auth-avatar{width:28px;height:28px;border-radius:50%}.auth-card img{object-fit:cover}.auth-avatar{display:grid;place-items:center;color:#fff;background:var(--accent);font-weight:800}.guest-avatar{color:#cfe2dd;background:#182925;border:1px solid #375048}.auth-card strong,.auth-card span,.auth-card small{display:block;min-width:0}.auth-card strong{overflow:hidden;color:#fff;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.auth-card span,.auth-card small{color:#b9c8c3;font-size:.68rem}.auth-copy{min-width:0}.account-compact{min-height:44px}.google-auth-button{display:grid;grid-template-columns:22px minmax(0,1fr);gap:5px;align-items:center;min-height:28px;max-width:74px;padding:0 6px;color:#ecf7f4;background:#172521;border:1px solid #385149;border-radius:8px;box-shadow:inset 0 1px #ffffff0f;text-align:left}.google-auth-button:hover:not(:disabled){border-color:var(--accent);background:#1b302b}.google-auth-button:disabled{cursor:wait;opacity:.68}.google-auth-button span:last-child{overflow:hidden;color:#ecf7f4;font-size:.7rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.google-mark{display:grid;width:20px;height:20px;place-items:center;color:#0a6f69;background:#f4fbf9;border-radius:6px;font-family:Arial,sans-serif;font-size:.78rem;font-weight:800}.auth-icon-button{display:grid;width:28px;height:28px;place-items:center;color:#dce8e5;background:#172521;border:1px solid #385149;border-radius:8px}.auth-icon-button:hover{border-color:var(--accent);color:#fff;background:#1b302b}.auth-error{grid-column:1 / -1;color:#ffb4a8}.meter-track,.progress-line{width:100%;height:8px;overflow:hidden;background:#dce5e2;border-radius:999px}.meter-track{background:#334942}.meter-fill,.progress-line span{display:block;height:100%;background:var(--accent)}.main-panel{min-width:0;padding:28px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.topbar h1{margin:0 0 7px;font-size:2rem;line-height:1.1;letter-spacing:0}.topbar p{max-width:780px;margin:0}.eyebrow{margin:0 0 8px;color:var(--accent);font-size:.8rem;font-weight:800;text-transform:uppercase}.topbar-actions,.action-row,.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.icon-button{display:grid;width:42px;height:42px;place-items:center;color:#20302c;background:#fff;border-color:#d9e2df}.dashboard-grid,.practice-layout,.flashcard-layout,.calculator-layout,.resources-layout{display:grid;gap:18px}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr)}.summary-band{display:grid;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.metric,.work-surface{background:#fff;border:1px solid #d9e2df;border-radius:8px}.metric{display:flex;align-items:center;gap:14px;min-height:112px;padding:18px}.metric svg{color:var(--accent)}.metric span,.metric strong,.metric small{display:block}.metric strong{margin:3px 0;font-size:1.75rem}.work-surface{padding:20px}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.section-header h2{margin:0 0 5px;font-size:1.18rem;letter-spacing:0}.section-header p{margin:0}.text-button,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 13px;white-space:nowrap}.text-button{color:var(--accent);background:#eef6f4}.primary-button{color:#fff;background:var(--accent)}.secondary-button{color:#263531;background:#f5f7f5;border-color:#d9e2df}.primary-button:disabled{cursor:not-allowed;opacity:.5}.blueprint-list,.priority-list,.compact-list,.resource-list,.plan-list,.exam-list{display:grid;gap:12px}.blueprint-row{padding:15px;border:1px solid #e1e8e5;border-radius:8px}.blueprint-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.blueprint-row h3,.question-block h3,.exam-question h3{margin:0;font-size:1rem;line-height:1.35}.blueprint-row p{margin:5px 0 0;line-height:1.45}.weight-badge,.score-pill,.timer-pill,.status-pill{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;color:var(--accent);font-size:.86rem;font-weight:800;background:#eef6f4;border-radius:999px;white-space:nowrap}.status-pill{color:#7a4d00;background:#fff3d0}.status-pill.online{color:#0f6b45;background:#e8f6ee}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.tag-row span{padding:4px 8px;color:#41514d;font-size:.78rem;background:#f0f2ef;border-radius:999px}.process-surface,.weak-surface{align-self:start}.process-map{display:grid;gap:10px}.process-step{display:grid;grid-template-columns:42px 1fr 20px;align-items:center;gap:10px;min-height:52px;padding:8px;border:1px solid #e1e8e5;border-radius:8px}.process-icon{display:grid;width:36px;height:36px;place-items:center;color:#fff;background:var(--accent);border-radius:8px}.priority-item,.compact-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:12px;color:#23322f;background:#f8faf8;border-color:#e1e8e5;text-align:left}.priority-item strong,.compact-item strong{color:var(--accent)}.practice-layout{grid-template-columns:minmax(0,1fr) 320px}.practice-panel{padding:20px 24px}.practice-panel .topbar{margin-bottom:14px}.practice-panel .topbar h1{margin-bottom:4px;font-size:1.72rem}.practice-panel .topbar p{font-size:.92rem}.practice-panel .practice-layout{grid-template-columns:minmax(0,1fr) 300px;gap:12px;align-items:start}.practice-panel .work-surface{padding:14px}.practice-panel .section-header{align-items:center;margin-bottom:10px}.practice-panel .section-header h2{margin-bottom:3px;font-size:1.05rem}.practice-panel .section-header p{font-size:.86rem}.filter-row{margin-bottom:16px}.practice-panel .filter-row{gap:8px;margin-bottom:10px}.filter-row label,.calc-grid label{display:grid;gap:7px;color:#4d5e59;font-size:.9rem;font-weight:700}select,input[type=number]{min-height:40px;padding:0 11px;color:#1e2b28;background:#fff;border:1px solid #cdd9d5;border-radius:8px}.practice-panel select{min-height:34px}.toggle-line{display:inline-flex;grid-template-columns:auto 1fr;align-items:center;min-height:40px}.practice-panel .toggle-line{min-height:34px;font-size:.84rem}.question-block{padding:18px;background:#f8faf8;border:1px solid #e1e8e5;border-radius:8px}.practice-panel .question-block{padding:13px}.practice-panel .question-block h3{margin:0;font-size:.98rem;line-height:1.35}.question-kicker{display:block;margin-bottom:8px;font-size:.82rem;font-weight:800}.practice-panel .question-kicker{margin-bottom:5px;font-size:.74rem}.choices{display:grid;gap:10px;margin-top:18px}.practice-panel .choices{gap:7px;margin-top:11px}.choices.compact{margin-top:12px}.choice-button{display:grid;grid-template-columns:30px 1fr 22px;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 12px;color:#1f2d29;background:#fff;border-color:#d9e2df;text-align:left}.practice-panel .choice-button{grid-template-columns:26px 1fr 18px;gap:9px;min-height:42px;padding:7px 9px}.practice-panel .choice-button strong{font-size:.92rem;line-height:1.28}.choice-button span:first-child{display:grid;width:28px;height:28px;place-items:center;color:#596a65;background:#eef2f0;border-radius:50%}.practice-panel .choice-button span:first-child{width:24px;height:24px;font-size:.78rem}.choice-button.selected{border-color:var(--accent)}.choice-button.correct{color:#12392c;background:#e9f7ef;border-color:#58a979}.choice-button.wrong{color:#4b1d1d;background:#fbebea;border-color:#d56a61}.explanation,.result-band{margin-top:14px;padding:14px;background:#fff8e6;border:1px solid #ead59a;border-radius:8px}.practice-panel .explanation{margin-top:9px;padding:10px}.explanation p{margin:5px 0 0;line-height:1.55}.explanation small{display:block;margin-top:9px;color:#697873;line-height:1.45}.practice-panel .explanation p{margin-top:4px;font-size:.88rem;line-height:1.4}.practice-panel .explanation small{margin-top:6px;font-size:.76rem}.action-row{margin-top:16px}.practice-panel .action-row{margin-top:10px}.practice-panel .primary-button,.practice-panel .secondary-button{min-height:34px;padding:0 11px}.practice-panel .compact-list{gap:7px}.practice-panel .compact-item{min-height:38px;padding:8px 10px;font-size:.88rem}.compact-item.active,.setup-option.active,.calc-tab.active{color:#fff;background:var(--accent);border-color:var(--accent)}.compact-item.active strong,.setup-option.active span,.calc-tab.active span{color:#fff}.exam-setup{max-width:720px}.setup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.setup-option{display:grid;gap:5px;min-height:92px;padding:15px;color:#23322f;background:#f8faf8;border-color:#e1e8e5;text-align:left}.setup-option strong{font-size:1.8rem}.timer-pill{color:#744b00;background:#fff3d0}.result-band{display:flex;align-items:center;gap:14px;margin:0 0 16px}.result-band strong{font-size:2rem}.exam-question{padding:16px;border:1px solid #e1e8e5;border-radius:8px}.exam-feedback{margin:10px 0 0;line-height:1.5}.sticky-actions{position:sticky;bottom:0;padding-top:12px;background:#fff}.flashcard-layout,.calculator-layout,.resources-layout{grid-template-columns:320px minmax(0,1fr)}.flashcard-surface,.calculator-surface,.resource-surface{grid-column:span 1}.flashcard-layout .flashcard-surface,.calculator-layout .calculator-surface{grid-column:2;grid-row:1}.compact-card-list,.calculator-tabs{grid-column:1;grid-row:1;align-self:start}.flashcard{display:grid;align-content:center;gap:12px;width:100%;min-height:320px;padding:30px;color:#1d2b28;background:#eef6f4;border:1px solid #cfe3dc;border-radius:8px;text-align:center}.flashcard.flipped{background:#fff8e6;border-color:#ead59a}.flashcard strong{max-width:620px;margin:0 auto;font-size:1.7rem;line-height:1.3}.calculator-tabs{display:grid;gap:10px}.calc-tab{display:flex;align-items:center;gap:9px;min-height:46px;padding:0 12px;color:#24332f;background:#f8faf8;border-color:#e1e8e5}.calc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.calc-result{display:grid;gap:6px;margin-top:18px;padding:20px;color:#10241f;background:#eef6f4;border:1px solid #cfe3dc;border-radius:8px}.calc-result span{color:#556863}.calc-result strong{font-size:2rem}.plan-surface{max-width:980px}.plan-list{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-item{display:grid;grid-template-columns:auto 62px 1fr;gap:8px 12px;padding:14px;background:#f8faf8;border:1px solid #e1e8e5;border-radius:8px}.plan-item input{grid-row:1 / 5;align-self:start;margin-top:3px}.plan-item span{color:var(--accent);font-weight:800}.plan-item strong,.plan-item p,.plan-item small{grid-column:3}.plan-item p{margin:0;line-height:1.45}.plan-item.done{background:#edf7ef;border-color:#a4d6b2}.resources-layout{align-items:start}.resources-layout .resource-surface:first-child{grid-column:span 2}.resource-item{display:grid;grid-template-columns:28px minmax(220px,1fr) minmax(260px,.9fr);gap:12px;align-items:center;padding:14px;background:#f8faf8;border:1px solid #e1e8e5;border-radius:8px}.resource-item svg{color:var(--accent)}.resource-item strong,.resource-item span{display:block}code{overflow-wrap:anywhere;color:#41514d;font-size:.84rem}.formula-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.formula-tile{display:grid;gap:6px;min-height:86px;padding:14px;background:#f8faf8;border:1px solid #e1e8e5;border-radius:8px}.formula-tile strong{font-size:1.02rem}.empty-state{display:grid;place-items:center;min-height:360px;padding:24px;color:#42524e;text-align:center}@media(max-width:1060px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;width:auto;height:auto;transform:none;box-shadow:none}.sidebar-tab{display:none}.main-panel{grid-column:auto}.nav-list{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-band,.dashboard-grid,.practice-layout,.flashcard-layout,.calculator-layout,.resources-layout,.plan-list{grid-template-columns:1fr}.flashcard-layout .flashcard-surface,.calculator-layout .calculator-surface,.compact-card-list,.calculator-tabs,.resources-layout .resource-surface:first-child{grid-column:auto;grid-row:auto}}@media(max-width:720px){.main-panel{padding:18px}.topbar,.section-header,.blueprint-main{display:grid}.topbar-actions{justify-content:flex-start}.nav-list,.summary-band,.setup-grid,.calc-grid,.formula-grid{grid-template-columns:1fr}.resource-item{grid-template-columns:28px 1fr}.resource-item code{grid-column:1 / -1}.choice-button{grid-template-columns:30px 1fr}.choice-button svg{grid-column:2}.plan-item{grid-template-columns:auto 1fr}.plan-item strong,.plan-item p,.plan-item small{grid-column:2}}
