.global-focus{position:relative;display:inline-flex;align-items:stretch;height:34px;margin-left:auto;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--muted)}.global-focus__main,.global-focus__details{display:inline-flex;align-items:center;border:0;background:transparent;color:inherit;cursor:pointer}.global-focus__main{gap:.45rem;padding:0 .6rem;font:inherit}.global-focus__main:hover,.global-focus__details:hover{background:var(--surface-2);color:var(--text)}.global-focus__icon{position:relative;display:grid;place-items:center;width:16px;height:16px}.global-focus__pulse{position:absolute;right:-2px;bottom:-1px;width:6px;height:6px;border:1px solid var(--chrome, var(--surface));border-radius:50%;background:var(--accent)}.global-focus.paused .global-focus__pulse{background:var(--warn)}.global-focus__label{max-width:112px;overflow:hidden;font-size:var(--text-xs);font-weight:650;text-overflow:ellipsis;white-space:nowrap}.global-focus__clock{color:var(--text);font:700 var(--text-xs)/1 var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.global-focus.running{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));color:var(--accent)}.global-focus.paused{border-color:color-mix(in srgb,var(--warn) 45%,var(--border))}.global-focus__details{justify-content:center;width:30px;border-left:1px solid var(--border)}.global-focus__progress{position:absolute;right:0;bottom:0;left:0;height:2px;background:transparent;pointer-events:none}.global-focus__progress>span{display:block;height:100%;background:var(--accent);transition:width .3s linear}.global-focus.paused .global-focus__progress>span{background:var(--warn)}@media(max-width:860px){.global-focus{height:44px}.global-focus__main{min-width:84px;justify-content:center;padding-inline:.55rem}.global-focus__details{width:44px}.global-focus__label{display:none}}@media(max-width:420px){.global-focus__icon{display:none}.global-focus__main{min-width:62px;padding-inline:.45rem}.global-focus__details{width:44px}}@media(prefers-reduced-motion:reduce){.global-focus__progress>span{transition:none}}.learning-cockpit{display:grid;gap:14px;margin-top:24px}.learning-cockpit-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.learning-cockpit-head p{margin:0 0 5px;color:var(--accent);font-size:var(--text-xs);font-weight:760;letter-spacing:.08em;text-transform:uppercase}.learning-cockpit-head h2{margin:0;font-size:clamp(1.35rem,2vw,1.85rem);letter-spacing:-.035em}.learning-cockpit-head span{display:block;margin-top:6px;color:var(--muted);font-size:var(--text-sm)}.learning-sync{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--t-fast),border-color var(--t-fast)}.learning-sync:hover{transform:translateY(-1px);border-color:var(--border-strong)}.learning-sync:disabled{opacity:.6;cursor:wait}.learning-capacity{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 24px;align-items:center;padding:16px 18px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm)}.learning-quick-start{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin-bottom:10px;padding:18px;border:1px solid color-mix(in srgb,var(--success) 38%,var(--border));border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm)}.learning-quick-start>div{display:flex;flex-direction:column}.learning-quick-start span{color:var(--success);font-size:var(--text-2xs);font-weight:760;letter-spacing:.08em;text-transform:uppercase}.learning-quick-start strong{margin-top:3px;font-size:var(--text-lg)}.learning-quick-start small{max-width:680px;margin-top:4px;color:var(--muted)}.learning-quick-start button{justify-content:center;white-space:nowrap}.learning-capacity-copy{display:flex;flex-direction:column}.learning-capacity-copy>span{color:var(--accent);font-size:var(--text-2xs);font-weight:760;letter-spacing:.08em;text-transform:uppercase}.learning-capacity-copy strong{margin-top:3px;font-size:var(--text-lg)}.learning-capacity-copy small{margin-top:3px;color:var(--muted)}.learning-capacity-actions{display:flex;gap:10px;align-items:center}.learning-capacity-options{display:flex;padding:3px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.learning-capacity-options button{min-height:34px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.learning-capacity-options button.active{background:var(--text);color:var(--surface-solid);box-shadow:var(--shadow-sm)}.learning-auto-plan{white-space:nowrap}.learning-plan-message{grid-column:1 / -1;margin:-4px 0 0;color:var(--accent);font-size:var(--text-xs)}.learning-next{overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:16px;background:var(--surface-solid);box-shadow:var(--shadow)}.learning-next-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr)}.learning-next-grid.is-solo{grid-template-columns:1fr}.learning-next-main{min-width:0;padding:clamp(20px,3vw,34px)}.learning-next-kicker{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--accent);font-size:var(--text-xs);font-weight:740}.learning-next-kicker b{padding:6px 9px;border-radius:99px;background:color-mix(in srgb,var(--surface) 82%,var(--accent) 18%);font:700 var(--text-2xs)/1 var(--font-mono)}.learning-next-main h3{margin:16px 0 20px;font-size:clamp(1.55rem,3vw,2.35rem);letter-spacing:-.045em;line-height:1.08}.learning-next-proof{display:grid;grid-template-columns:1fr 1fr;gap:10px}.learning-next-proof>div{padding:12px 13px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 92%,transparent)}.learning-next-proof span{color:var(--faint);font-size:var(--text-2xs);font-weight:760;letter-spacing:.06em;text-transform:uppercase}.learning-next-proof p{margin:5px 0 0;color:var(--muted);font-size:var(--text-sm);line-height:1.55}.learning-next-proof .learning-ai-policy{grid-column:1 / -1}.learning-ai-policy b{color:var(--text)}.learning-ai-policy.is-confirmed_allowed{border-color:color-mix(in srgb,var(--success) 38%,var(--border))}.learning-ai-policy.is-confirmed_allowed span{color:var(--success)}.learning-ai-policy.is-confirmed_restricted{border-color:color-mix(in srgb,var(--danger) 38%,var(--border))}.learning-ai-policy.is-confirmed_restricted span{color:var(--danger)}.learning-next-actions{display:flex;align-items:center;gap:10px;margin-top:18px}.learning-next-start{min-height:43px;padding-inline:17px}.learning-next-actions a.learning-next-start{display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}.learning-plan-edit{min-height:38px;padding:0 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer}.learning-plan-edit:hover{border-color:var(--border-strong);color:var(--text)}.learning-next-queue{padding:18px;border-left:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 88%,transparent)}.learning-next-queue header{display:flex;align-items:center;justify-content:space-between;gap:8px}.learning-next-queue header span{color:var(--faint);font-size:var(--text-2xs)}.learning-next-queue ol{display:grid;gap:7px;margin:13px 0 0;padding:0;list-style:none}.learning-next-queue li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:7px;align-items:center;min-height:36px;padding:6px 8px;border-radius:8px;color:var(--faint)}.learning-next-queue li>span{display:grid;place-items:center;width:15px;height:15px;border:1px solid var(--border-strong);border-radius:50%}.learning-next-queue li b{overflow:hidden;color:var(--muted);font-size:var(--text-xs);font-weight:620;text-overflow:ellipsis;white-space:nowrap}.learning-next-queue li small{font-size:var(--text-2xs)}.learning-next-queue li.is-current{background:var(--surface);box-shadow:var(--shadow-sm)}.learning-next-queue li.is-current>span{border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--surface),inset 0 0 0 8px var(--accent)}.learning-next-queue li.is-current b{color:var(--text)}.learning-next-queue li.is-done{opacity:.65}.learning-next-queue li.is-done>span{border-color:var(--success);background:var(--success);color:var(--surface-solid)}.learning-next-queue li.is-done b{text-decoration:line-through}.learning-next>.learning-plan-message{margin:0;padding:9px 18px;border-top:1px solid var(--border);background:var(--surface)}.learning-day-complete{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:24px}.learning-day-complete>svg{color:var(--success)}.learning-day-complete span{color:var(--success);font-size:var(--text-xs);font-weight:760}.learning-day-complete h3{margin:3px 0;font-size:var(--text-xl)}.learning-day-complete p{margin:0;color:var(--muted)}.learning-next.is-complete{border-color:color-mix(in srgb,var(--success) 42%,var(--border));background:color-mix(in srgb,var(--surface-solid) 91%,var(--success) 9%)}.learning-reviews{display:grid;gap:10px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:13px;background:color-mix(in srgb,var(--surface) 88%,var(--accent) 12%)}.learning-reviews>header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.learning-reviews>header div{display:flex;flex-direction:column}.learning-reviews>header span{color:var(--accent);font-size:var(--text-2xs);font-weight:760;letter-spacing:.06em;text-transform:uppercase}.learning-reviews>header strong{margin-top:2px}.learning-reviews>header small{color:var(--muted)}.learning-reviews>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px}.learning-reviews button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;min-width:0;padding:10px 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface-solid);color:var(--text);text-align:left;cursor:pointer}.learning-reviews button:hover{border-color:var(--accent)}.learning-reviews button>svg{color:var(--accent)}.learning-reviews button>span{display:flex;flex-direction:column;min-width:0}.learning-reviews button b{font-size:var(--text-xs)}.learning-reviews button small{overflow:hidden;color:var(--muted);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap}.learning-reviews button em{color:var(--accent);font-size:var(--text-2xs);font-style:normal;white-space:nowrap}.learning-reviews button:not(.is-blocking){opacity:.7}.learning-review-schedule{display:grid;gap:10px;padding:14px 16px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}.learning-review-schedule>header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.learning-review-schedule>header div{display:flex;flex-direction:column}.learning-review-schedule>header span{color:var(--success);font-size:var(--text-2xs);font-weight:760;letter-spacing:.06em;text-transform:uppercase}.learning-review-schedule>header strong{margin-top:2px}.learning-review-schedule>header small{color:var(--muted)}.learning-review-schedule ol{display:grid;gap:7px;margin:0;padding:0;list-style:none}.learning-review-schedule li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface-solid)}.learning-review-schedule li>span{min-width:52px;color:var(--success);font:740 var(--text-xs)/1 var(--font-mono)}.learning-review-schedule li>div{display:flex;flex-direction:column;min-width:0}.learning-review-schedule li small{overflow:hidden;color:var(--muted);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap}.learning-review-schedule li em{color:var(--muted);font-size:var(--text-2xs);font-style:normal;white-space:nowrap}.learning-review-details{padding:0}.learning-review-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;cursor:pointer;list-style:none}.learning-review-details>summary::-webkit-details-marker{display:none}.learning-review-details>summary span{color:var(--accent);font-size:var(--text-xs);font-weight:760}.learning-review-details>summary strong{color:var(--muted);font-size:var(--text-xs);font-weight:620}.learning-review-details[open]>summary{border-bottom:1px solid var(--border)}.learning-review-details>div,.learning-review-details>ol{margin:0;padding:12px 14px 14px}.learning-coverage{display:flex;flex-wrap:wrap;gap:6px}.learning-coverage span{display:inline-flex;align-items:center;gap:5px;min-height:27px;padding:0 9px;border:1px solid var(--border);border-radius:99px;background:var(--surface);color:var(--muted);font-size:var(--text-2xs)}.learning-coverage .is-synced svg{color:var(--success)}.learning-coverage .needs-attention{border-color:color-mix(in srgb,var(--warn) 35%,var(--border));color:var(--warn)}.learning-rule-strip{display:grid;grid-template-columns:1fr 1fr;gap:8px}.learning-rule-strip>div{display:flex;align-items:center;gap:10px;min-height:54px;padding:10px 13px;border:1px solid var(--border);border-radius:11px;background:color-mix(in srgb,var(--surface) 92%,var(--accent) 8%)}.learning-rule-strip svg{color:var(--accent);flex:0 0 auto}.learning-rule-strip span{display:flex;flex-direction:column;color:var(--muted);font-size:var(--text-xs)}.learning-rule-strip strong{color:var(--text);font-size:var(--text-sm)}.learning-rule-strip .is-unlocked{border-color:color-mix(in srgb,var(--success) 40%,var(--border));background:color-mix(in srgb,var(--surface) 91%,var(--success) 9%)}.learning-rule-strip .is-unlocked svg{color:var(--success)}.learning-warning{padding:9px 12px;border:1px solid color-mix(in srgb,var(--warn) 35%,var(--border));border-radius:9px;color:var(--warn);background:color-mix(in srgb,var(--surface) 94%,var(--warn) 6%);font-size:var(--text-sm)}.learning-sync-diagnostic{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:13px 14px;border:1px solid color-mix(in srgb,var(--warn) 38%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--surface) 93%,var(--warn) 7%)}.learning-sync-diagnostic>svg{color:var(--warn)}.learning-sync-diagnostic>div{display:flex;flex-direction:column;min-width:0}.learning-sync-diagnostic strong{font-size:var(--text-sm)}.learning-sync-diagnostic p{margin:2px 0;color:var(--muted);font-size:var(--text-xs)}.learning-sync-diagnostic small{color:var(--faint);font-size:var(--text-2xs)}.learning-sync-diagnostic.is-authentication_required{border-color:color-mix(in srgb,var(--danger) 40%,var(--border));background:color-mix(in srgb,var(--surface) 93%,var(--danger) 7%)}.learning-sync-diagnostic.is-authentication_required>svg{color:var(--danger)}.learning-board{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:12px;align-items:start}.learning-column{min-width:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.learning-today{position:sticky;top:14px;transition:border-color var(--t),box-shadow var(--t),transform var(--t)}.learning-today.is-drop-ready{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent),var(--shadow);transform:translateY(-2px)}.learning-column-head{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:66px;padding:12px 14px;border-bottom:1px solid var(--border);background:var(--surface-2)}.learning-column-head>div:first-child{display:flex;flex-direction:column;min-width:0}.learning-column-head span{font-size:var(--text-xs);color:var(--faint)}.learning-column-head strong{margin-top:2px;font-size:var(--text-sm)}.learning-filters{display:flex;gap:4px;overflow:auto;scrollbar-width:none}.learning-filters button{padding:5px 7px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:var(--text-2xs);cursor:pointer}.learning-filters button.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.learning-progress{width:78px;height:6px;border-radius:99px;overflow:hidden;background:var(--surface-3)}.learning-progress span{display:block;width:100%;height:100%;transform-origin:left;background:var(--success);transition:transform var(--t)}.learning-task-stack{display:grid;gap:7px;min-height:190px;padding:9px}.learning-task{position:relative;display:flex;align-items:stretch;min-width:0;border:1px solid var(--border);border-radius:10px;background:var(--surface-solid);overflow:hidden;transition:transform var(--t-fast),opacity var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast)}.learning-task:before{content:"";width:3px;background:var(--border-strong)}.learning-task.priority-urgent:before{background:var(--danger)}.learning-task.priority-high:before{background:var(--warn)}.learning-task.priority-medium:before{background:var(--accent)}.learning-task:hover{transform:translateY(-1px);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.learning-task.is-dragging{opacity:.35;transform:scale(.985)}.learning-task.is-done{opacity:.58}.learning-task.is-current{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 8%,transparent)}.learning-task.is-done .learning-task-copy strong{text-decoration:line-through}.learning-task-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;flex:1;min-width:0;padding:10px 11px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.learning-course{display:grid;place-items:center;min-width:52px;height:26px;padding:0 7px;border-radius:6px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent);font:700 var(--text-2xs)/1 var(--font-mono)}.learning-task-copy{display:flex;flex-direction:column;min-width:0}.learning-task-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.learning-task-copy small{overflow:hidden;margin-top:2px;color:var(--faint);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.learning-policy-chip{width:max-content;max-width:100%;margin-top:5px;padding:3px 6px;border:1px solid color-mix(in srgb,var(--warn) 38%,var(--border));border-radius:99px;color:var(--warn);font:700 var(--text-2xs)/1 var(--font-mono);font-style:normal}.learning-policy-chip.is-confirmed_allowed{border-color:color-mix(in srgb,var(--success) 42%,var(--border));color:var(--success)}.learning-policy-chip.is-confirmed_restricted{border-color:color-mix(in srgb,var(--danger) 42%,var(--border));color:var(--danger)}.learning-preparation-chip{width:max-content;max-width:100%;margin-top:5px;padding:3px 6px;border:1px solid color-mix(in srgb,var(--accent) 36%,var(--border));border-radius:99px;color:var(--accent);font:700 var(--text-2xs)/1 var(--font-mono);font-style:normal}.learning-preparation-chip.is-success{border-color:color-mix(in srgb,var(--success) 42%,var(--border));color:var(--success)}.learning-preparation-chip.is-warning{border-color:color-mix(in srgb,var(--warn) 42%,var(--border));color:var(--warn)}.learning-preparation-chip.is-danger{border-color:color-mix(in srgb,var(--danger) 42%,var(--border));color:var(--danger)}.learning-task-meta{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap}.learning-task-meta b{color:var(--muted);font-size:var(--text-2xs)}.learning-task-meta small{margin-top:3px;color:var(--faint);font-size:var(--text-2xs)}.learning-move-button,.learning-complete{display:grid;place-items:center;width:38px;border:0;border-left:1px solid var(--border);background:transparent;color:var(--faint);cursor:pointer}.learning-move-label{display:none}.learning-move-button:hover{color:var(--accent);background:var(--surface-2)}.learning-move-button.back:hover{color:var(--danger)}.learning-start-button{display:inline-flex;align-items:center;gap:5px;padding:0 10px;border:0;border-left:1px solid var(--border);background:color-mix(in srgb,var(--surface) 88%,var(--accent) 12%);color:var(--accent);font-size:var(--text-xs);font-weight:720;cursor:pointer}.learning-start-button:hover{background:color-mix(in srgb,var(--surface) 78%,var(--accent) 22%)}.learning-complete{width:34px;height:100%;min-height:54px;border-left:0;border-right:1px solid var(--border)}.learning-complete:before{content:"";width:15px;height:15px;border:1.5px solid var(--border-strong);border-radius:50%}.learning-complete svg{position:absolute;color:var(--success)}.learning-task.is-done .learning-complete:before{border-color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent)}.learning-empty,.learning-drop-hint{display:grid;place-items:center;align-content:center;min-height:170px;padding:22px;color:var(--faint);text-align:center}.learning-empty strong,.learning-drop-hint strong{margin-top:8px;color:var(--text);font-size:var(--text-sm)}.learning-empty span,.learning-drop-hint span{max-width:310px;margin-top:4px;font-size:var(--text-xs)}.learning-skeleton{min-height:58px;border-color:transparent;background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;animation:learning-shimmer 1.3s linear infinite}.learning-receipt{display:grid;gap:13px;margin:14px 18px 18px;padding:15px 16px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}.learning-receipt header,.learning-receipt footer{display:flex;align-items:center;justify-content:space-between;gap:14px}.learning-receipt header span{color:var(--success);font:760 var(--text-2xs)/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.learning-receipt header strong{font-size:var(--text-sm)}.learning-receipt-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.learning-receipt-facts p{display:flex;flex-direction:column;gap:2px;margin:0;padding:9px 10px;border-radius:9px;background:var(--surface)}.learning-receipt-facts b{font-size:var(--text-lg)}.learning-receipt-facts span,.learning-receipt footer p,.learning-receipt footer small{color:var(--muted);font-size:var(--text-2xs)}.learning-receipt-evidence{margin:-3px 0 0;color:var(--muted);font-size:var(--text-xs)}.learning-receipt footer span{font-weight:730}.learning-receipt footer p{margin:2px 0 0}.learning-receipt footer small{flex:0 0 auto}@keyframes learning-shimmer{to{background-position:-200% 0}}.lesson-backdrop{position:fixed;z-index:90;top:0;right:0;bottom:0;left:0;display:grid;place-items:end center;padding:24px;background:#05080c8a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:lesson-fade var(--t-fast) both}.lesson-sheet{width:min(1120px,100%);max-height:min(92vh,1000px);display:flex;flex-direction:column;border:1px solid var(--border);border-radius:17px;background:var(--surface-solid);box-shadow:0 28px 90px #0000005c;animation:lesson-rise var(--t) both;overflow:hidden}.lesson-sheet header{display:flex;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border)}.lesson-sheet header span{color:var(--accent);font:700 var(--text-xs)/1 var(--font-mono)}.lesson-sheet h3{margin:7px 0 3px;font-size:var(--text-xl)}.lesson-sheet header p{margin:0;color:var(--muted);font-size:var(--text-sm)}.lesson-ai-policy{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--warn) 38%,var(--border));border-radius:9px;background:var(--surface-2)}.lesson-ai-policy strong{color:var(--warn);font-size:var(--text-xs)}.lesson-ai-policy small{color:var(--muted);font-size:var(--text-xs);line-height:1.45}.lesson-ai-policy.is-confirmed_allowed{border-color:color-mix(in srgb,var(--success) 38%,var(--border))}.lesson-ai-policy.is-confirmed_allowed strong{color:var(--success)}.lesson-ai-policy.is-confirmed_restricted{border-color:color-mix(in srgb,var(--danger) 38%,var(--border))}.lesson-ai-policy.is-confirmed_restricted strong{color:var(--danger)}.lesson-content{overflow:auto;padding:22px;color:var(--text);line-height:1.75}.lesson-content h4{margin:24px 0 8px;font-size:var(--text-md)}.lesson-content ul,.lesson-content ol{margin:8px 0;padding-left:24px}.lesson-content li+li{margin-top:7px}.lesson-overview{margin:0;padding:12px 14px;border-left:3px solid var(--accent);border-radius:0 9px 9px 0;background:var(--surface-2);color:var(--muted)}.lesson-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.lesson-section-heading h4{margin:0}.lesson-section-heading span{padding:4px 8px;border-radius:99px;background:var(--surface-2);color:var(--muted);font:700 var(--text-2xs)/1 var(--font-mono)}.lesson-body{white-space:pre-wrap}.lesson-body-progressive{display:grid;gap:10px;margin-top:10px}.lesson-body-progressive section{padding:14px 15px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.lesson-body-progressive section.is-current{border-color:color-mix(in srgb,var(--accent) 38%,var(--border));background:color-mix(in srgb,var(--surface-2) 91%,var(--accent) 9%)}.lesson-body-progressive small{color:var(--accent);font:700 var(--text-2xs)/1 var(--font-mono)}.lesson-body-progressive p{margin:7px 0 0;white-space:pre-wrap}.lesson-continue{display:flex;width:100%;justify-content:center;margin-top:10px}.lesson-key-terms{margin-top:14px!important;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.lesson-content dl{display:grid;gap:8px;margin:8px 0}.lesson-content dl div{padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.lesson-content dt{font-weight:750}.lesson-content dd{margin:2px 0 0;color:var(--muted)}.lesson-content details{margin-top:4px;color:var(--muted)}.lesson-content summary{color:var(--accent);cursor:pointer}.lesson-source-status{display:grid;gap:9px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:color-mix(in srgb,var(--surface-2) 88%,var(--accent) 12%)}.lesson-source-status>div{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:8px;align-items:start}.lesson-source-status svg{margin-top:3px;color:var(--accent)}.lesson-source-status span{color:var(--muted);font-size:var(--text-xs)}.lesson-source-status.is-complete{border-color:color-mix(in srgb,var(--success) 42%,var(--border));background:color-mix(in srgb,var(--surface-2) 89%,var(--success) 11%)}.lesson-source-status.is-complete svg,.lesson-source-status.is-complete strong{color:var(--success)}.lesson-source-status.is-partial,.lesson-source-status.is-stale{border-color:color-mix(in srgb,var(--warn) 42%,var(--border));background:color-mix(in srgb,var(--surface-2) 90%,var(--warn) 10%)}.lesson-source-status.is-partial svg,.lesson-source-status.is-partial strong,.lesson-source-status.is-stale svg,.lesson-source-status.is-stale strong{color:var(--warn)}.lesson-source-status.is-blocked{border-color:color-mix(in srgb,var(--danger) 40%,var(--border));background:color-mix(in srgb,var(--surface-2) 91%,var(--danger) 9%)}.lesson-source-status.is-blocked svg,.lesson-source-status.is-blocked strong{color:var(--danger)}.lesson-source-status ul{display:grid;gap:5px;margin:8px 0 0;padding:0;list-style:none}.lesson-source-status li{display:flex;justify-content:space-between;gap:12px}.lesson-source-status li a{color:var(--text)}.lesson-mastery-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-top:26px}.lesson-mastery-head h4{margin:0}.lesson-mastery-head p{margin:3px 0 0;color:var(--muted);font-size:var(--text-xs)}.lesson-mastery-head>strong{flex:0 0 auto;padding:5px 9px;border-radius:99px;background:color-mix(in srgb,var(--accent) 11%,var(--surface));color:var(--accent);font-size:var(--text-xs)}.lesson-checkpoints{display:grid;gap:10px;padding:0!important;list-style:none}.lesson-checkpoints>li{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.lesson-question-progress{color:var(--accent);font:700 var(--text-2xs)/1 var(--font-mono)}.lesson-checkpoints>li.is-correct{border-color:color-mix(in srgb,var(--success) 42%,var(--border))}.lesson-checkpoints>li.needs-retry{border-color:color-mix(in srgb,var(--warn) 38%,var(--border))}.lesson-checkpoints textarea{width:100%;min-height:92px;resize:vertical;padding:10px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface-solid);color:var(--text);font:inherit;line-height:1.55}.lesson-checkpoints textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 28%,transparent);border-color:var(--accent)}.lesson-attempt-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.lesson-attempt-actions label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:var(--text-2xs)}.lesson-attempt-actions select{min-height:34px;padding:0 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text)}.lesson-feedback{padding:10px 12px;border-radius:8px;background:var(--surface);font-size:var(--text-sm)}.lesson-feedback.is-correct{border-left:3px solid var(--success)}.lesson-feedback.needs-retry{border-left:3px solid var(--warn)}.lesson-feedback p{margin:4px 0}.lesson-feedback>span{color:var(--muted);font-size:var(--text-xs)}.lesson-mastered{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--success) 42%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--surface) 91%,var(--success) 9%)}.lesson-mastered svg{color:var(--success)}.lesson-mastered.needs-repair{border-color:color-mix(in srgb,var(--warn) 48%,var(--border));background:color-mix(in srgb,var(--surface) 92%,var(--warn) 8%)}.lesson-mastered.needs-repair svg{color:var(--warn)}.lesson-mastered div{display:flex;flex-direction:column}.lesson-mastered span{color:var(--muted);font-size:var(--text-xs)}.lesson-commitment-choice{display:grid;gap:7px;margin-top:14px;padding:15px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--surface-2) 90%,var(--accent) 10%)}.lesson-commitment-choice>span{color:var(--accent);font:700 var(--text-2xs)/1 var(--font-mono);text-transform:uppercase}.lesson-commitment-choice>p{margin:0;color:var(--muted);font-size:var(--text-sm)}.lesson-commitment-choice>div,.learning-commitment-actions{display:flex;flex-wrap:wrap;gap:8px}.learning-day-complete.needs-commitment{grid-template-columns:auto minmax(0,1fr)}.learning-day-complete.needs-commitment .learning-commitment-actions{grid-column:2}.lesson-timer-conflict{display:grid;place-items:center;min-height:310px;padding:34px;text-align:center}.lesson-timer-conflict svg{color:var(--warn)}.lesson-timer-conflict strong{margin-top:12px;font-size:var(--text-lg)}.lesson-timer-conflict p{max-width:560px;margin:8px 0 20px;color:var(--muted)}.lesson-timer-conflict>div{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.lesson-ready{display:grid;place-items:center;min-height:270px;padding:32px;text-align:center}.lesson-ready svg{color:var(--accent)}.lesson-ready strong{margin-top:12px;font-size:var(--text-md)}.lesson-ready p{max-width:520px;color:var(--muted)}.lesson-external-reference{display:grid;place-items:center;min-height:290px;padding:34px;text-align:center}.lesson-external-reference>svg{color:var(--accent)}.lesson-external-reference>span{margin-top:11px;color:var(--accent);font:700 var(--text-2xs)/1 var(--font-mono);letter-spacing:.06em}.lesson-external-reference>strong{margin-top:8px;font-size:var(--text-lg)}.lesson-external-reference>p{max-width:600px;margin:8px 0 15px;color:var(--muted)}.lesson-external-reference>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 11px;max-width:640px;padding:12px 13px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);text-align:left}.lesson-external-reference b{color:var(--text);font-size:var(--text-xs)}.lesson-external-reference small{color:var(--muted);line-height:1.5}.lesson-ai-disclosure{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 10px;max-width:640px;margin-top:14px;padding:12px 13px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);text-align:left}.lesson-ai-disclosure strong{margin:0;color:var(--accent);font-size:var(--text-xs)}.lesson-ai-disclosure span{color:var(--muted);font-size:var(--text-xs);line-height:1.5}.lesson-answer-disclosure{display:flex;gap:8px;align-items:flex-start;margin:10px 0;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:var(--text-xs);line-height:1.5}.lesson-answer-disclosure svg{flex:0 0 auto;margin-top:2px;color:var(--accent)}.assignment-policy-gate{display:grid;place-items:center;min-height:300px;padding:34px;text-align:center}.assignment-policy-gate>svg{color:var(--warn)}.assignment-policy-gate>span{margin-top:11px;color:var(--warn);font:700 var(--text-2xs)/1 var(--font-mono);letter-spacing:.08em}.assignment-policy-gate>strong{margin-top:7px;font-size:var(--text-lg)}.assignment-policy-gate>p{max-width:610px;margin:8px 0 15px;color:var(--muted)}.assignment-policy-gate>div{display:flex;flex-direction:column;gap:4px;max-width:610px;padding:11px 13px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.assignment-policy-gate b{color:var(--text)}.assignment-policy-gate small{color:var(--muted);line-height:1.5}.assignment-policy-gate>.assignment-progress-actions{flex-direction:row;flex-wrap:wrap;justify-content:center;margin-top:8px;padding:0;border:0;background:transparent}.lesson-sheet footer{display:flex;justify-content:flex-end;gap:8px;padding:13px 16px;border-top:1px solid var(--border)}.lesson-sheet footer a{text-decoration:none}.lesson-error{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 20px 12px;color:var(--danger);font-size:var(--text-sm)}.lesson-error .btn-ghost{flex:0 0 auto}@keyframes lesson-fade{0%{opacity:0}}@keyframes lesson-rise{0%{opacity:0;transform:translateY(18px) scale(.985)}}@media(max-width:980px){.learning-board,.learning-next-grid{grid-template-columns:1fr}.learning-today{position:static}.learning-next-queue{border-top:1px solid var(--border);border-left:0}}@media(max-width:700px){.learning-cockpit.has-plan{margin-top:14px}.learning-cockpit.has-plan .learning-cockpit-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.learning-cockpit.has-plan .learning-cockpit-head h2{font-size:var(--text-lg)}.learning-cockpit.has-plan .learning-cockpit-head p{margin:0 0 3px}.learning-cockpit.has-plan .learning-cockpit-head span{margin-top:3px;font-size:var(--text-xs)}.learning-cockpit.has-plan .learning-sync{width:38px;padding:0;font-size:0}.learning-cockpit.has-plan .learning-coverage .is-synced{display:none}.learning-cockpit-head{align-items:flex-start;flex-direction:column}.learning-sync{width:100%;justify-content:center}.learning-reviews>header,.learning-review-schedule>header{align-items:flex-start;flex-direction:column}.learning-review-details>summary{align-items:flex-start;flex-direction:column;gap:4px}.learning-reviews>div{grid-template-columns:1fr}.learning-quick-start,.learning-capacity{grid-template-columns:1fr}.learning-quick-start button{width:100%}.learning-capacity-actions{align-items:stretch;flex-direction:column}.learning-capacity-options{display:grid;grid-template-columns:repeat(3,1fr)}.learning-auto-plan{width:100%;justify-content:center}.learning-next-main{padding:20px 17px}.learning-next-kicker{align-items:flex-start;flex-direction:column;gap:8px}.learning-next-main h3{margin:15px 0;font-size:1.65rem}.learning-next-proof{grid-template-columns:1fr}.learning-next-actions{align-items:stretch;flex-direction:column}.learning-next-start,.learning-plan-edit{width:100%;justify-content:center}.learning-next-queue{padding:14px}.learning-day-complete{grid-template-columns:auto minmax(0,1fr);padding:18px}.learning-day-complete .learning-plan-edit{grid-column:1 / -1}.learning-rule-strip{grid-template-columns:1fr}.learning-sync-diagnostic{grid-template-columns:auto minmax(0,1fr);align-items:flex-start}.learning-sync-diagnostic>button{grid-column:1 / -1;width:100%;justify-content:center}.learning-receipt-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-receipt footer{align-items:flex-start;flex-direction:column}.learning-task-stack{align-content:start;min-height:0}.learning-task-main{grid-template-columns:auto minmax(0,1fr);align-items:start}.learning-task-copy strong,.learning-task-copy small{display:-webkit-box;overflow:hidden;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.learning-task-copy strong{line-height:1.35}.learning-task-copy small{line-height:1.4}.learning-task-meta{grid-column:2;flex-flow:row wrap;gap:3px 8px;align-items:center;justify-content:flex-start;white-space:normal}.learning-task-meta small{margin-top:0}.learning-move-button,.learning-complete{width:44px;min-width:44px}.learning-start-button{min-width:62px;min-height:44px;justify-content:center}.learning-column-head{align-items:flex-start;flex-direction:column}.learning-filters{width:100%}.lesson-backdrop{padding:8px}.lesson-sheet{max-height:92vh;border-radius:14px}.lesson-source-status>div{grid-template-columns:auto 1fr}.lesson-source-status>div span{grid-column:1 / -1}.lesson-mastery-head,.lesson-attempt-actions{align-items:stretch;flex-direction:column}}@media(max-width:520px){.learning-cockpit.has-plan{margin-top:12px}.learning-cockpit.has-plan .learning-cockpit-head h2{font-size:1.28rem}.learning-cockpit.has-plan .learning-cockpit-head span{line-height:1.35}.learning-next-main{padding:15px 14px}.learning-next-kicker{flex-direction:row;align-items:center;gap:8px}.learning-next-main h3{margin:11px 0;font-size:1.25rem;line-height:1.16}.learning-next-proof{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.learning-next-proof>div{padding:9px}.learning-next-proof p{margin-top:4px;font-size:.76rem;line-height:1.4}.learning-next-actions{margin-top:11px}.learning-next-start{min-height:45px}.learning-task-main{grid-template-columns:minmax(0,1fr);gap:7px;padding:11px 9px}.learning-course{width:max-content;min-width:0;height:23px}.learning-task-meta{grid-column:1}}@media(prefers-reduced-motion:reduce){.learning-task,.learning-sync,.learning-today,.lesson-backdrop,.lesson-sheet,.learning-progress span,.learning-skeleton{transition:none;animation:none}}.learning-cockpit{gap:16px;margin-top:18px}.learning-cockpit-head{align-items:center}.learning-cockpit-head p,.learning-quick-start span,.learning-capacity-copy>span,.learning-next-proof span,.learning-reviews>header span,.learning-review-schedule>header span,.learning-receipt header span,.lesson-commitment-choice>span{color:var(--muted);font-weight:600;letter-spacing:0;text-transform:none}.learning-cockpit-head h2{font-size:var(--text-xl);letter-spacing:-.025em}.learning-sync{border-radius:var(--radius-sm);box-shadow:none;transition:background var(--t-fast),border-color var(--t-fast)}.learning-sync:hover{background:var(--surface-2);transform:none}.learning-cockpit-head p,.learning-quick-start span,.learning-capacity-copy>span,.learning-next-proof span,.learning-reviews>header span,.learning-review-schedule>header span,.learning-receipt header span,.lesson-commitment-choice>span{font-family:var(--font);font-weight:600;letter-spacing:0;text-transform:none}.learning-capacity,.learning-quick-start{border-color:var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:none}.learning-capacity{padding:14px 16px}.learning-quick-start{padding:16px}.learning-capacity-options button.active{background:var(--surface-3);color:var(--text);box-shadow:none}.learning-next,.learning-next.is-complete{border-color:var(--border);border-radius:var(--radius-lg);background:var(--surface-solid);box-shadow:none}.learning-next-main{padding:clamp(18px,2.4vw,26px)}.learning-next-main h3{margin:13px 0 18px;font-size:clamp(1.4rem,2.5vw,1.85rem);letter-spacing:-.035em;line-height:1.18}.learning-next-kicker b{border-radius:var(--radius-sm);background:var(--surface-2)}.learning-next-proof{gap:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.learning-next-proof>div{padding:12px 0;border:0;border-radius:0;background:transparent}.learning-next-proof>div+div{padding-left:16px;border-left:1px solid var(--border)}.learning-next-queue{background:var(--surface-2)}.learning-next-queue ol{gap:0}.learning-next-queue li{border-radius:0;border-bottom:1px solid var(--border)}.learning-next-queue li.is-current{background:transparent;box-shadow:none}.learning-reviews,.learning-review-schedule,.learning-receipt,.learning-rule-strip>div,.learning-rule-strip .is-unlocked{border-color:var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:none}.learning-column{border-radius:var(--radius-lg);box-shadow:none}.learning-today{transition:border-color var(--t-fast)}.learning-today.is-drop-ready{box-shadow:none;transform:none}.learning-task-stack{gap:0;padding:0 10px 10px}@media(min-width:981px){.learning-week .learning-task-stack{max-height:min(65vh,680px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin}}.learning-task{border:0;border-bottom:1px solid var(--border);border-radius:0;transition:background var(--t-fast),opacity var(--t-fast)}.learning-task:before{content:none}.learning-task:hover{background:var(--surface-2);border-color:var(--border);box-shadow:none;transform:none}.learning-task.is-current{border-color:var(--border);background:color-mix(in srgb,var(--surface) 92%,var(--accent) 8%);box-shadow:none}.learning-course,.learning-policy-chip,.learning-preparation-chip{border-radius:var(--radius-sm)}.learning-receipt-facts p{border-radius:var(--radius-sm);background:var(--surface-2)}.lesson-sheet{border-radius:var(--radius-lg)}.learning-sync,.learning-capacity-options button,.learning-plan-edit,.lesson-sheet button,.lesson-sheet select{min-height:44px}@media(max-width:700px){.learning-cockpit.has-plan .learning-sync,.learning-sync{width:44px;min-width:44px;min-height:44px}.learning-capacity-options button,.learning-auto-plan,.learning-filters button{min-width:44px;min-height:44px}.learning-move-button{grid-auto-flow:column;gap:5px;width:auto;min-width:44px;padding-inline:9px;font-size:var(--text-xs);white-space:nowrap}.learning-move-label{display:inline}}@media(max-width:520px){.learning-next-proof{grid-template-columns:1fr}}.learning-review-optin{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px 20px;border:1px solid color-mix(in srgb,var(--student-green) 30%,var(--border));border-radius:18px;background:color-mix(in srgb,var(--student-soft) 58%,var(--surface));color:var(--student-green)}.learning-review-optin__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--student-green) 12%,var(--surface))}.learning-review-optin__copy{min-width:0}.learning-review-optin__copy strong{display:block;color:var(--student-ink);font-size:15px}.learning-review-optin__copy p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.learning-review-optin__copy small{display:block;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.45}.learning-review-optin__controls,.learning-review-optin__actions{display:flex;align-items:center;gap:8px}.learning-review-optin__controls label{display:grid;gap:4px;color:var(--muted);font-size:12px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.learning-review-optin__controls input{min-height:38px;padding:7px 9px;border:1px solid var(--border);border-radius:9px;background:var(--surface-solid);color:var(--text);font:700 13px/1 var(--font-mono)}.learning-review-optin button{min-height:38px;padding:8px 12px;border-radius:9px;font-size:12px;font-weight:750;cursor:pointer}.learning-review-optin button:disabled{opacity:.55;cursor:wait}.learning-review-optin__disable{border:0;background:transparent;color:var(--muted)}.learning-review-optin__message{grid-column:2 / -1;margin:-5px 0 0;color:var(--student-green);font-size:12px}.learning-review-optin__message.is-error{color:var(--danger)}.learning-review-optin{padding:18px 0;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;color:var(--muted)}.learning-review-optin__icon{width:28px;height:28px;border-radius:0;background:transparent}.learning-review-optin__controls label{font-weight:600;letter-spacing:0;text-transform:none}.learning-review-optin__controls input,.learning-review-optin button{min-height:44px}@media(max-width:700px){.learning-review-optin{grid-template-columns:auto minmax(0,1fr);padding:16px}.learning-review-optin__controls{grid-column:1 / -1;align-items:end}.learning-review-optin__controls label{flex:1}.learning-review-optin__controls input{width:100%}.learning-review-optin__actions{grid-column:1 / -1}.learning-review-optin__actions .btn-primary{flex:1;justify-content:center}.learning-review-optin__message{grid-column:1 / -1;margin-top:0}}.command-home{max-width:1180px}.command-hero{display:grid;gap:18px;margin-bottom:20px}.command-hero>div>p{margin:0 0 6px;color:var(--muted);font-size:var(--text-sm)}.command-hero h1{max-width:820px;margin:0;font-size:clamp(1.65rem,2.6vw,2rem);font-weight:650;line-height:1.2;letter-spacing:-.035em}.command-hero>div>span{display:block;margin-top:7px;color:var(--muted);font-size:var(--text-base)}.command-north-star{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px 16px;align-items:center;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.command-north-star>div:first-child{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:var(--text-sm);white-space:nowrap}.command-north-star p{margin:0;color:var(--text);font-size:var(--text-sm);line-height:1.55}.command-north-star-actions{display:flex;gap:12px;align-items:center}.command-north-star-actions a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.command-north-star-actions a:first-child{color:var(--accent)}.command-north-star-actions a:hover{text-decoration:underline;text-underline-offset:3px}.command-radar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:16px;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:inherit}.command-radar:hover .command-radar-copy strong{color:var(--accent)}.command-radar-icon{display:grid;place-items:center;width:30px;height:30px;color:var(--muted)}.command-radar-copy{display:flex;min-width:0;flex-direction:column}.command-radar-copy small{color:var(--faint);font-size:var(--text-xs)}.command-radar-copy strong{margin-top:2px;font-size:var(--text-sm);transition:color var(--t-fast)}.command-radar-copy>span{overflow:hidden;margin-top:2px;color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.command-radar-action{display:inline-flex;gap:4px;align-items:center;color:var(--muted);font-size:var(--text-xs);white-space:nowrap}.command-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.command-quick-grid>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0;padding:14px 16px;color:inherit;transition:background var(--t-fast)}.command-quick-grid>a:nth-child(odd){border-right:1px solid var(--border)}.command-quick-grid>a:nth-child(n+3){border-top:1px solid var(--border)}.command-quick-grid>a:hover{background:var(--surface-2)}.command-quick-grid>a>svg:first-child,.command-quick-grid>a>svg:last-child{color:var(--faint)}.command-quick-grid span{display:flex;min-width:0;flex-direction:column}.command-quick-grid strong{font-size:var(--text-sm)}.command-quick-grid small{overflow:hidden;margin-top:2px;color:var(--faint);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}@media(max-width:760px){.command-north-star{grid-template-columns:auto minmax(0,1fr)}.command-north-star-actions{grid-column:2}}@media(max-width:620px){.command-hero{gap:14px}.command-hero h1{font-size:1.55rem}.command-hero>div>span{font-size:var(--text-sm)}.command-north-star{grid-template-columns:1fr}.command-north-star-actions{grid-column:1}.command-radar{grid-template-columns:auto minmax(0,1fr)}.command-radar-action{display:none}.command-quick-grid{grid-template-columns:1fr}.command-quick-grid>a:nth-child(odd){border-right:0}.command-quick-grid>a:nth-child(n+2){border-top:1px solid var(--border)}}.beta-activate-wrap{position:relative;z-index:1;min-height:100%;display:grid;place-items:center;padding:2rem 1rem}.beta-activate-card{width:min(680px,100%);padding:2.2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:none;display:flex;flex-direction:column}.beta-activate-card h1{margin:.15rem 0 .35rem;text-align:center;font-size:clamp(1.55rem,4vw,2rem)}.beta-activate-card>.muted{margin:0 auto 1.4rem;max-width:520px;text-align:center;line-height:1.55}.beta-activate-kicker{margin:.45rem 0 0;color:var(--muted);text-align:center;font-size:var(--text-xs);font-weight:650;letter-spacing:0}.beta-engineering-notice{margin:-.65rem auto .5rem;color:var(--faint);text-align:center;font-size:var(--text-xs)}.beta-invite-error{margin:.65rem 0 .25rem;text-align:center}.beta-password-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.beta-password-grid label,.beta-policy-list legend{display:block;margin:.65rem 0 .4rem;color:var(--muted);font-size:var(--text-xs);font-weight:600}.beta-password-field{position:relative}.beta-password-field .field{padding-right:4.4rem}.beta-visibility-toggle{position:absolute;top:50%;right:.35rem;transform:translateY(-50%);padding:.35rem .55rem;border:0;border-radius:8px;background:transparent;color:var(--accent);cursor:pointer;font-size:var(--text-xs);font-weight:700}.beta-visibility-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.beta-field-help{min-height:1.3em;margin:.45rem 0 1rem;color:var(--muted);font-size:var(--text-xs)}.beta-policy-list{min-width:0;margin:0;padding:0;border:0}.beta-policy-list legend{width:100%}.beta-policy-item{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;margin-top:.65rem;padding:.85rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);cursor:pointer}.beta-policy-item:has(input:checked){border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.beta-policy-item input{width:1.1rem;height:1.1rem;margin-top:.15rem;accent-color:var(--accent)}.beta-policy-item>span{display:grid;gap:.25rem;color:var(--text);line-height:1.45}.beta-policy-item strong{font-size:var(--text-sm)}.beta-policy-item span span{color:var(--muted);font-size:var(--text-sm)}.beta-policy-item small{color:var(--faint);font-size:.68rem;overflow-wrap:anywhere}.beta-activate-card .btn-primary{margin-top:1.2rem;min-height:44px}.beta-activate-footnote{margin:.85rem 0 0;color:var(--faint);text-align:center;font-size:var(--text-xs);line-height:1.5}@media(max-width:620px){.beta-activate-wrap{place-items:start center;padding:1rem .7rem}.beta-activate-card{padding:1.4rem 1rem;border-radius:var(--radius-lg)}.beta-password-grid{grid-template-columns:1fr;gap:0}}.student-outcome{display:grid;gap:18px;margin-top:20px;padding:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.student-outcome>header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.student-outcome>header span{color:var(--muted);font:650 var(--text-sm)/1.2 var(--font);letter-spacing:0}.student-outcome h2{margin:7px 0 4px;font-size:var(--text-xl)}.student-outcome header p{margin:0;color:var(--muted);font-size:var(--text-sm)}.student-outcome-period{margin:-8px 0 0;color:var(--muted);font-size:var(--text-xs)}.student-outcome-saved{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--success) 38%,var(--border));border-radius:10px;color:var(--success);white-space:nowrap}.student-outcome-saved span{display:flex;flex-direction:column;color:var(--success)!important}.student-outcome-saved small{margin-top:3px;color:var(--muted)}.student-outcome-evidence{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.student-outcome-evidence article{display:flex;flex-direction:column;padding:14px;border-right:1px solid var(--border);background:transparent}.student-outcome-evidence article:last-child{border-right:0}.student-outcome-evidence b{font-size:var(--text-xl)}.student-outcome-evidence span{margin-top:3px;color:var(--muted);font-size:var(--text-xs)}.student-outcome-form{display:grid;gap:10px}.student-outcome fieldset{display:grid;gap:10px;margin:0;padding:16px 0;border:0;border-top:1px solid var(--border);background:transparent}.student-outcome legend{padding:0;font-size:var(--text-sm);font-weight:720}.student-outcome fieldset>div{display:flex;flex-wrap:wrap;gap:6px}.student-outcome fieldset button{min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);cursor:pointer}.student-outcome fieldset button.is-selected{border-color:var(--accent);background:var(--surface-2);color:var(--text);box-shadow:none}.student-outcome fieldset small,.student-outcome footer small{color:var(--muted);font-size:var(--text-2xs)}.student-outcome footer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:4px}.student-outcome-error{margin:0;color:var(--danger);font-size:var(--text-sm)}.student-outcome-load-error{grid-template-columns:1fr auto;align-items:center}.student-outcome-load-error p{margin:0;color:var(--muted)}.student-outcome-load-error button{min-height:44px;padding:0 13px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-solid);color:var(--text);cursor:pointer}@media(max-width:760px){.student-outcome{padding:18px}.student-outcome>header,.student-outcome footer{flex-direction:column}.student-outcome-evidence{grid-template-columns:repeat(2,minmax(0,1fr))}.student-outcome-evidence article{border-right:0;border-bottom:1px solid var(--border)}.student-outcome-evidence article:last-child{border-bottom:0}.student-outcome footer button{width:100%;justify-content:center}}.student-home{--student-ink: var(--text);--student-green: #326b54;--student-soft: #edf4ef}:root[data-theme=dark] .student-home{--student-green: #72c89f;--student-soft: #1d3028}.student-onboarding{max-width:1120px;margin:0 auto;gap:22px}.student-onboarding-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:32px;padding:8px 0 28px;border-bottom:1px solid var(--border)}.student-onboarding-copy>span,.student-demo-label{color:var(--muted);font-size:var(--text-sm);font-weight:650;letter-spacing:0}.student-onboarding-copy h1{max-width:720px;margin:10px 0 14px;color:var(--student-ink);font-size:clamp(30px,5vw,42px);line-height:1.08;letter-spacing:-.045em}.student-onboarding-copy>p{max-width:680px;margin:0;color:var(--muted);font-size:16px;line-height:1.7}.student-onboarding-copy ul{display:grid;gap:10px;margin:24px 0 0;padding:0;list-style:none}.student-onboarding-copy li{display:flex;align-items:center;gap:9px;color:var(--student-ink);font-weight:650}.student-onboarding-copy li .icon{color:var(--student-green)}.student-privacy-card{align-self:stretch;padding:4px 0 4px 24px;border-left:1px solid var(--border);background:transparent}.student-privacy-card span{color:var(--muted);font-size:12px}.student-privacy-card strong{display:block;margin:12px 0;color:var(--student-ink);font-size:23px;line-height:1.2}.student-privacy-card p{margin:0;color:var(--muted);line-height:1.65}.student-privacy-card small{display:block;margin-top:14px;color:var(--danger)}.student-connection-diagnostic{margin-top:16px;padding:12px;border:1px solid color-mix(in srgb,var(--warn) 35%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--surface) 92%,var(--warn) 8%)}.student-connection-diagnostic b{color:var(--text);font-size:13px}.student-connection-diagnostic p{margin-top:4px;font-size:12px;line-height:1.5}.student-connection-diagnostic small{margin-top:7px;color:var(--muted);font-family:var(--font-mono)}.student-recheck{width:100%;min-height:44px;margin-top:12px;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font-weight:700;cursor:pointer}.student-recheck:disabled{opacity:.55;cursor:wait}.student-demo{padding:24px 0 0;background:transparent}.student-demo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:8px 0 20px}.student-demo-head span{color:var(--muted);font-size:12px}.student-demo-head h2{margin:5px 0 0;color:var(--student-ink);font-size:clamp(22px,3vw,31px);letter-spacing:-.025em}.student-demo-reset{display:inline-flex;min-height:44px;align-items:center;padding:0 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer}.student-demo-reset:hover{background:var(--surface-2);color:var(--text)}.student-demo-card{padding:18px 0;border-top:1px solid var(--border);background:transparent}.student-demo-card>strong,.student-demo-card>h3{margin:0;color:var(--student-ink);font-size:18px}.student-demo-card>p,.student-demo-receipt p{color:var(--muted);line-height:1.65}.student-primary{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:7px;margin-top:8px;padding:10px 14px;border:0;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);font-weight:700;cursor:pointer}.student-concept{margin-bottom:20px;padding:18px;border-left:3px solid var(--student-green);background:var(--student-soft);color:var(--student-ink)}.student-concept span{font-size:11px;font-weight:800;letter-spacing:.1em}.student-concept p{margin:7px 0 0;line-height:1.7}.student-demo fieldset{display:grid;gap:10px;padding:0;border:0}.student-demo legend{margin-bottom:12px;color:var(--student-ink);font-weight:750}.student-demo fieldset button{display:flex;gap:10px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);text-align:left;cursor:pointer}.student-demo fieldset button.selected{border-color:var(--accent);box-shadow:none;background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.student-demo-feedback{margin-top:16px;padding:14px 16px;border-radius:0}.student-demo-feedback.correct{border-left:3px solid var(--success);background:color-mix(in srgb,var(--success) 8%,var(--surface));color:var(--text)}.student-demo-feedback.repair{border-left:3px solid var(--warn);background:color-mix(in srgb,var(--warn) 8%,var(--surface));color:var(--text)}.student-demo-feedback p{margin:6px 0 0;line-height:1.55}.student-demo-receipt{display:flex;gap:14px;color:var(--student-green)}.student-demo-receipt strong,.student-demo-receipt h3{margin:0;color:var(--student-ink)}.student-demo-receipt p{margin:5px 0}.student-demo-receipt small{color:var(--muted)}.student-next-step{display:flex;gap:13px;padding:18px 20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--student-green)}.student-next-step strong{color:var(--student-ink)}.student-next-step p{margin:5px 0 0;color:var(--muted);line-height:1.55}.student-ready-hero{align-items:center}.student-connection-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);font-weight:650;white-space:nowrap}.student-connection-badge i{width:8px;height:8px;border-radius:50%;background:#3f9168;box-shadow:0 0 0 4px color-mix(in srgb,var(--student-green) 20%,transparent)}.student-copy-request{width:100%;margin-top:18px}.student-copy-status{color:var(--student-green)!important}.student-demo-disclosure{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.student-demo-disclosure>summary{min-height:48px;padding:14px 18px;color:var(--text);font-weight:700;cursor:pointer}.student-demo-disclosure[open]>summary{border-bottom:1px solid var(--border)}.student-demo-disclosure .student-demo{border:0;padding:22px 18px 0}.student-section-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:8px 0 20px;border-bottom:1px solid var(--border)}.student-section-hero p{margin:0 0 8px;color:var(--muted);font-size:var(--text-sm);font-weight:700}.student-section-hero h1{margin:0;color:var(--text);font-size:clamp(30px,5vw,42px);line-height:1.08;letter-spacing:-.04em}.student-section-hero span{display:block;max-width:680px;margin-top:12px;color:var(--muted);line-height:1.65}.student-secondary-link{display:inline-flex;min-height:44px;flex:0 0 auto;align-items:center;padding:0 13px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);text-decoration:none;font-weight:700}.student-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.student-data-grid article{padding:20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.student-data-grid span,.student-data-actions span,.student-empty-state>span{color:var(--muted);font-size:var(--text-sm);font-weight:650}.student-data-grid strong{display:block;margin-top:12px;color:var(--text);font-size:25px;letter-spacing:-.025em}.student-data-grid p,.student-data-actions p,.student-empty-state p{margin:8px 0 0;color:var(--muted);line-height:1.6}.student-data-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.student-data-actions h2,.student-data-boundaries h2,.student-empty-state h2{margin:6px 0 0;color:var(--text);font-size:22px;letter-spacing:-.02em}.student-data-actions .student-primary{flex:0 0 auto;margin:0}.student-data-boundaries{padding:22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.student-data-boundaries ul{display:grid;gap:0;margin:16px 0 0;padding:0;list-style:none}.student-data-boundaries li{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--border);color:var(--muted)}.student-data-boundaries li span{display:grid;gap:4px}.student-data-boundaries li strong{color:var(--text)}.student-data-boundaries li small{color:var(--muted)}.student-boundary-note{margin:12px 0 0;padding:13px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);line-height:1.55}.student-course-list{display:grid;gap:12px}.student-course-list article{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.student-course-list article span{color:var(--muted);font-size:var(--text-sm)}.student-course-list article h2{margin:5px 0 0;color:var(--text)}.student-course-list article p{margin:6px 0 0;color:var(--muted)}.student-course-list article a,.student-empty-state>a{display:inline-flex;min-height:44px;align-items:center;gap:5px;color:var(--accent);font-weight:700;text-decoration:none}.student-empty-state{display:grid;justify-items:start;gap:10px;max-width:680px;padding:26px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.student-empty-state .student-recheck{width:auto}.student-empty-state .student-primary{margin-top:8px}@media(max-width:760px){.student-onboarding-hero{grid-template-columns:1fr;gap:20px;padding:0 0 22px}.student-privacy-card{padding:18px 0 0;border-top:1px solid var(--border);border-left:0}.student-demo{padding:18px 0 0}.student-demo-head{display:block}.student-demo-reset{margin-top:10px}.student-section-hero,.student-data-actions,.student-course-list article{display:grid}.student-secondary-link,.student-data-actions .student-primary{width:100%}.student-data-grid{grid-template-columns:1fr}}:root{--radius-lg: 10px;--radius: 8px;--radius-sm: 6px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 28px;--sp-8: 32px;--sp-12: 48px;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: 1.0625rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.75rem;--text-4xl: 3.375rem;--t: .2s cubic-bezier(.32, .72, 0, 1);--t-fast: .12s cubic-bezier(.32, .72, 0, 1);--font: -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "Cascadia Code", Consolas, monospace;--accent: #4f668b;--accent-2: #4f668b;--accent-grad: var(--accent);--primary: var(--accent);--text-muted: var(--muted);--surface-hover: var(--surface-2);--shadow-md: 0 12px 32px rgba(0, 0, 0, .16);--shadow-lg: 0 20px 52px rgba(0, 0, 0, .22)}:root[data-theme=light]{color-scheme:light;--bg: #f7f7f8;--surface: #ffffff;--surface-solid: #ffffff;--surface-2: #f0f0f2;--surface-3: #e5e5e8;--chrome: #f5f5f6;--border: #e3e3e6;--border-strong: #cfcfd4;--text: #1c1c1e;--muted: #55555b;--faint: #6c6c73;--shadow: none;--shadow-sm: none;--glass: 0px;--success: #15803d;--danger: #c0392b;--warn: #b45309;--info: #1d4ed8;--on-accent: #ffffff}:root[data-theme=dark]{color-scheme:dark;--bg: #0f0f10;--surface: #171718;--surface-solid: #171718;--surface-2: #212123;--surface-3: #2b2b2e;--chrome: #171718;--border: #2c2c2f;--border-strong: #46464b;--text: #f0f0f2;--muted: #b2b2b8;--faint: #8c8c93;--accent: #8eaed8;--accent-2: #8eaed8;--primary: var(--accent);--shadow: none;--shadow-sm: none;--glass: 0px;--success: #4ade80;--danger: #ff6b60;--warn: #fbbf24;--info: #60a5fa;--on-accent: #121418}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--text-base);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;letter-spacing:-.006em;transition:background var(--t),color var(--t)}.dash-stat-value,.dash-time,kbd,code,pre{font-variant-numeric:tabular-nums}code,pre,kbd{font-family:var(--font-mono)}a{color:inherit;text-decoration:none}input,button{font:inherit}::selection{background:color-mix(in srgb,var(--accent) 35%,transparent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:8px;border:2px solid transparent;background-clip:padding-box}.boot{position:relative;z-index:1;height:100%;display:grid;place-items:center;color:var(--muted)}.brand-logo{width:28px;height:28px;border-radius:7px;background:var(--surface-3);color:var(--text);font-weight:800;display:grid;place-items:center;box-shadow:none}.brand-logo.big{width:60px;height:60px;border-radius:18px;font-size:28px;margin:0 auto .9rem}.brand-logo-image{display:block;padding:0;object-fit:cover;background:var(--surface-3)}.login-wrap{position:relative;z-index:1;height:100%;display:grid;place-items:center;padding:1rem}.login-card{width:360px;padding:2.4rem 2.1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex;flex-direction:column}.login-card h1{text-align:center;font-size:var(--text-lg);margin:.2rem 0 .25rem;letter-spacing:-.01em}.login-card>.muted{text-align:center;margin:0 0 1.5rem;font-size:var(--text-base)}.login-card label{font-size:var(--text-xs);color:var(--muted);margin:.75rem 0 .4rem;font-weight:500}.login-card .btn-primary{margin-top:1.4rem}.field{width:100%;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.65rem .8rem;color:var(--text);outline:none;transition:border-color var(--t),box-shadow var(--t)}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.field::placeholder{color:var(--faint)}.error{color:var(--danger);font-size:var(--text-sm);margin-top:.9rem;background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--danger) 28%,transparent);padding:.5rem .7rem;border-radius:var(--radius-sm)}.offline-banner{padding:.5rem 1rem;border-bottom:1px solid color-mix(in srgb,#d97706 35%,var(--border));background:color-mix(in srgb,#d97706 12%,var(--surface));color:var(--text);font-size:var(--text-sm);text-align:center}.btn-primary{min-height:44px;background:var(--accent);color:var(--on-accent);font-weight:700;border:0;border-radius:var(--radius-sm);padding:.65rem 1.1rem;cursor:pointer;white-space:nowrap;transition:background var(--t-fast),opacity var(--t-fast);box-shadow:none}.skip-link{position:fixed;top:8px;left:50%;z-index:1000;min-height:44px;padding:11px 16px;color:var(--on-accent);border-radius:var(--radius-sm);background:var(--accent);font-weight:650;text-decoration:none;transform:translate(-50%,calc(-100% - 16px));transition:transform var(--t-fast)}.skip-link:focus{outline:3px solid color-mix(in srgb,var(--accent) 25%,white);outline-offset:2px;transform:translate(-50%)}.btn-primary:hover{background:color-mix(in srgb,var(--accent) 88%,var(--text))}.btn-primary:active{opacity:.82}.btn-primary:disabled{opacity:.55;cursor:default;transform:none}.remember-row{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:var(--text-sm);font-weight:400;color:var(--muted);cursor:pointer}.remember-row input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.install-card{display:flex;align-items:center;gap:.9rem;width:100%;text-align:left;margin-top:1rem;padding:.9rem 1.1rem;background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:var(--radius);cursor:pointer;color:var(--text);transition:background var(--t-fast),border-color var(--t-fast)}.install-card:hover{background:var(--surface-2);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.install-icon{width:40px;height:40px;border-radius:11px;flex-shrink:0;display:grid;place-items:center;background:var(--accent);color:var(--on-accent)}.install-text{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.install-title{font-weight:600}.install-card>svg:last-child{color:var(--faint);flex-shrink:0}.install-guide{width:100%;max-width:420px;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.2rem 1.3rem 1.4rem;animation:pop .14s ease}.install-guide-head{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:var(--text-md);margin-bottom:.4rem}.install-steps{margin:.5rem 0 0;padding-left:1.3rem;display:flex;flex-direction:column;gap:.65rem;line-height:1.5}.kbd-inline{display:inline-flex;align-items:center;gap:.3rem;margin:0 .3rem;padding:.1rem .45rem;border-radius:7px;background:var(--surface-2);border:1px solid var(--border);vertical-align:middle;font-weight:500}.layout{position:relative;z-index:1;display:grid;grid-template-columns:240px minmax(0,1fr);height:100%;overflow:hidden;transition:grid-template-columns var(--t)}.sidebar{background:var(--chrome, var(--surface));border-right:1px solid var(--border);display:flex;flex-direction:column;padding:.8rem .65rem .7rem;overflow:hidden;min-height:0}.brand{display:flex;align-items:center;gap:.65rem;font-weight:700;font-size:var(--text-base);letter-spacing:-.01em;padding:.25rem .55rem .9rem;border-radius:var(--radius-sm)}.nav{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:.1rem}.nav-fixed{flex:0 0 auto;padding-bottom:.55rem;border-bottom:1px solid var(--border)}.nav-scroll{min-height:0;flex:1;overflow-x:hidden;overflow-y:auto;padding-top:.1rem}.nav-group-title{font-size:var(--text-xs);text-transform:none;letter-spacing:0;color:var(--faint);padding:.95rem .65rem .35rem;font-weight:500}.app-update{position:fixed;z-index:1300;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));display:flex;align-items:center;gap:1rem;width:min(620px,calc(100vw - 2rem));padding:.85rem;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-solid);box-shadow:var(--shadow-overlay)}.app-update>div:first-child{display:grid;min-width:0;gap:.18rem}.app-update strong{font-size:var(--text-sm)}.app-update span{color:var(--muted);font-size:var(--text-xs);line-height:1.45}.app-update__actions{display:flex;flex:0 0 auto;gap:.5rem}.app-update__actions button{min-height:40px}.nav-drawer-open .app-update,.nav-drawer-open .page-tutor-trigger{display:none}.app-build{color:var(--faint);font-size:.68rem;font-variant-numeric:tabular-nums;letter-spacing:.03em}.nav-group-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;text-align:left;cursor:pointer}.nav-group-toggle svg{transition:transform var(--t-fast)}.nav-group-toggle.is-open svg{transform:rotate(90deg)}.nav-item{position:relative;display:flex;align-items:center;gap:.65rem;min-height:38px;padding:.45rem .65rem;border-radius:var(--radius-sm);color:var(--muted);font-size:var(--text-sm);font-weight:500;transition:background var(--t),color var(--t)}.nav-item svg{color:var(--faint);transition:color var(--t);flex-shrink:0}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--surface-2);color:var(--text);font-weight:600}.nav-item.active:before{content:none}.nav-item.active svg{color:var(--text)}.nav-all-tools{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.sidebar-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:.8rem;margin-top:.6rem}.user{display:flex;align-items:center;gap:.6rem;font-size:var(--text-base);font-weight:500}.avatar{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--surface-3);display:grid;place-items:center;font-weight:700;color:var(--text);font-size:var(--text-sm)}.icon-btn{background:transparent;border:0;color:var(--muted);cursor:pointer;padding:.4rem;border-radius:8px;display:grid;place-items:center;transition:color var(--t),background var(--t)}.icon-btn:hover{color:var(--text);background:var(--surface-2)}.icon-btn.danger:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.main{display:flex;flex-direction:column;overflow:hidden;min-width:0}.topbar{height:52px;flex-shrink:0;display:flex;align-items:center;gap:.5rem;padding:0 1rem;border-bottom:1px solid var(--border);background:var(--chrome, var(--surface));font-size:var(--text-base)}.crumb{color:var(--faint);font-weight:500}.crumb-link{border-radius:6px;padding:.2rem .4rem;transition:color var(--t),background var(--t)}.crumb-link:hover{color:var(--text);background:var(--surface-2)}.crumb-current{color:var(--text);font-weight:700;letter-spacing:-.01em}.topbar-title{display:none;margin:0;font-size:var(--text-base);font-weight:600;letter-spacing:-.02em;color:var(--text)}@media(prefers-reduced-motion:reduce){.layout{transition:none}}.topbar-actions{position:relative}.sidebar-collapse-toggle{display:grid;flex-shrink:0;width:32px;height:32px;border:1px solid var(--border);background:transparent}@media(min-width:861px){.layout.nav-collapsed{grid-template-columns:72px minmax(0,1fr)}.layout.nav-collapsed .sidebar{padding-inline:.6rem}.layout.nav-collapsed .brand{justify-content:center;padding-inline:0}.layout.nav-collapsed .brand-label,.layout.nav-collapsed .nav-label,.layout.nav-collapsed .nav-group-title,.layout.nav-collapsed .user-label{display:none}.layout.nav-collapsed .nav-group{margin-top:.45rem;padding-top:.45rem;border-top:1px solid var(--border)}.layout.nav-collapsed .nav-item{justify-content:center;gap:0;min-height:42px;padding-inline:0}.layout.nav-collapsed .nav-item.active:before{left:-.6rem}.layout.nav-collapsed .sidebar-footer{flex-direction:column;gap:.4rem}.layout.nav-collapsed .user{justify-content:center}}.cmdk-btn{margin-left:0;display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .7rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;font-size:var(--text-sm);transition:color var(--t),border-color var(--t)}.cmdk-btn:hover{color:var(--text);border-color:var(--border-strong)}.cmdk-btn kbd{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--faint);background:var(--surface-3);border-radius:5px;padding:.05rem .35rem}.cmdk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;justify-content:center;align-items:flex-start;padding:14vh 1rem 1rem;background:#0006;animation:fade-in .12s ease}.cmdk-panel{width:100%;max-width:560px;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:pop .14s ease}.cmdk-input-row{display:flex;align-items:center;gap:.6rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--border);color:var(--faint)}.cmdk-input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--text);font-size:var(--text-base)}.cmdk-esc{font-family:var(--font);font-size:var(--text-2xs);color:var(--faint);background:var(--surface-2);border-radius:5px;padding:.1rem .4rem}.cmdk-list{max-height:56vh;overflow-y:auto;padding:.4rem}.cmdk-item{min-height:44px;width:100%;display:flex;align-items:center;gap:.7rem;padding:.6rem .7rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);cursor:pointer;text-align:left;font-size:var(--text-base)}.cmdk-item.active{background:var(--surface-2)}.cmdk-item-icon{display:grid;place-items:center;color:var(--accent);flex-shrink:0}.cmdk-item-label{flex:1}.cmdk-item-hint{font-size:var(--text-xs);color:var(--faint)}.cmdk-none{padding:1.4rem;text-align:center;color:var(--faint);font-size:var(--text-base)}.theme-panel{position:absolute;right:0;top:44px;width:min(340px,calc(100vw - 2rem));background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:1.1rem;z-index:50;animation:pop .14s ease}@keyframes pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.tp-title{font-weight:700}.tp-subtitle{margin:.2rem 0 0;color:var(--faint);font-size:var(--text-xs)}.tp-label{font-size:var(--text-xs);color:var(--muted);margin:.9rem 0 .45rem;font-weight:500}.tp-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.tp-mode{display:flex;min-height:44px;align-items:center;justify-content:center;gap:.4rem;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);cursor:pointer;transition:border-color var(--t),color var(--t)}.tp-mode.active{border-color:var(--accent);color:var(--text);background:color-mix(in srgb,var(--accent) 10%,var(--surface-solid))}.tp-mode:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 38%,transparent);outline-offset:2px}.content{overflow-y:auto;padding:1.6rem 2rem 3rem;flex:1}.page{max-width:min(1500px,100%);margin:0 auto;animation:none}.page>h1+p,.page>p.muted{max-width:78ch}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page h1{margin:0 0 .4rem;font-size:clamp(1.65rem,2.5vw,1.9rem);font-weight:650;letter-spacing:-.032em;line-height:1.15}.page h2{margin:var(--sp-8) 0 var(--sp-2);font-size:var(--text-xl);font-weight:600;letter-spacing:-.024em;line-height:1.25}.page h2+p,.page h2+.muted{margin-top:0}.page h3{margin:var(--sp-6) 0 var(--sp-2);font-size:var(--text-lg);font-weight:600;letter-spacing:-.015em}.muted{color:var(--muted)}.small{font-size:var(--text-xs)}.skeleton .sk-bar,.sk-card{background:linear-gradient(100deg,var(--surface-2) 30%,color-mix(in srgb,var(--surface-3) 60%,transparent) 50%,var(--surface-2) 70%);background-size:200% 100%;animation:sk-shimmer 1.3s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes sk-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sk-title{height:30px;width:38%;margin-bottom:.7rem}.sk-sub{height:16px;width:24%;margin-bottom:1.8rem}.sk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem}.sk-card{height:78px;border-radius:var(--radius)}.hero{position:relative;overflow:hidden;padding:1.4rem 1.5rem;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:none}.cmdk-error{margin:0;padding:10px 14px;border-bottom:1px solid var(--border);color:var(--danger);font-size:var(--text-xs);line-height:1.5}.hero:after{content:none}.hero>*{position:relative;z-index:1}.hero h1{margin:0 0 .35rem;font-size:var(--text-2xl);letter-spacing:-.025em}.hero .muted{margin:0;font-weight:450}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:2rem 0 0}.section-head h2{font-size:var(--text-md);margin:0;letter-spacing:-.01em}.coming-soon{border-style:dashed;opacity:.75}.tool-icon.ghost{background:var(--surface-2);color:var(--faint)}.card-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem}.tool-card{display:flex;align-items:center;gap:.95rem;padding:1.15rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:background var(--t-fast),border-color var(--t-fast)}.tool-card:hover{background:var(--surface-2);border-color:var(--border-strong)}.tool-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 22%,transparent),color-mix(in srgb,var(--accent-2) 16%,transparent));display:grid;place-items:center;color:var(--accent);flex-shrink:0;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 14%,transparent)}.tool-name{font-weight:600;letter-spacing:-.01em}.tool-card .muted.small{margin-top:.1rem}.stat-grid.dash-stats{grid-template-columns:repeat(4,1fr);margin-top:1.3rem;margin-bottom:0}.stat-card.linkable{display:block;transition:transform var(--t),border-color var(--t),box-shadow var(--t)}.stat-card.linkable:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 30%,var(--border));box-shadow:var(--shadow-sm)}.stat-unit{font-size:var(--text-base);font-weight:500;color:var(--muted)}.stat-warn{margin-top:.3rem;font-size:var(--text-2xs);font-weight:600;color:var(--danger)}.dash-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.4rem}.recent-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.2rem .7rem}.section-head.tight{margin:0 0 .5rem}.section-head.tight h2{font-size:var(--text-base)}.link{transition:color var(--t)}.link:hover{color:var(--text)}.recent-list{display:flex;flex-direction:column}.recent-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .4rem;border-radius:var(--radius-sm);border-bottom:1px solid var(--border);transition:background var(--t)}.recent-item:last-child{border-bottom:0}.recent-item:hover{background:var(--surface-2)}.recent-icon{color:var(--accent);display:grid;place-items:center;flex-shrink:0}.recent-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base)}.recent-meta{font-size:var(--text-xs);color:var(--faint);flex-shrink:0}.recent-amt{font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums;flex-shrink:0}.recent-amt.income{color:var(--success)}.recent-amt.expense{color:var(--text)}.recent-empty{padding:1.3rem;text-align:center;color:var(--faint);font-size:var(--text-sm)}.todo-add{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin:1.6rem 0 1rem;max-width:760px}.todo-title-field{flex:1 1 220px}.todo-due-field{width:auto;flex:0 0 auto;color:var(--muted)}.prio-seg button.active.prio-high{color:var(--danger)}.prio-seg button.active.prio-low{color:var(--faint)}.todo-filter{margin:0 0 1.2rem}.todo-row .title{cursor:text}.todo-edit{flex:1;padding:.35rem .5rem}.prio-badge{flex-shrink:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;font-size:var(--text-2xs);font-weight:700;line-height:1;min-width:1.35rem;text-align:center;padding:.22rem .45rem;border-radius:999px;transition:filter var(--t),transform var(--t)}.prio-badge:hover{filter:brightness(1.08);transform:scale(1.06)}.prio-badge.prio-high{color:var(--danger);background:color-mix(in srgb,var(--danger) 15%,transparent)}.prio-badge.prio-normal{color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,transparent)}.prio-badge.prio-low{color:var(--muted);background:var(--surface-2)}.due-chip{display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0;font-size:var(--text-xs);font-weight:500;color:var(--muted);background:var(--surface-2);padding:.12rem .5rem;border-radius:999px}.due-chip.overdue{color:var(--danger);background:color-mix(in srgb,var(--danger) 13%,transparent)}.todo-row.done .due-chip,.todo-row.done .prio-badge{opacity:.5}.todo-list{list-style:none;padding:0;margin:0;max-width:600px;display:flex;flex-direction:column;gap:.5rem}.todo-row{display:flex;align-items:center;gap:.8rem;padding:.8rem .95rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--t),background var(--t),transform var(--t);-webkit-user-select:none;user-select:none}.todo-row:hover{border-color:var(--border-strong);transform:translate(2px)}.todo-row .title{flex:1;transition:color var(--t)}.todo-row.done .title{text-decoration:line-through;color:var(--faint)}.checkbox{width:20px;height:20px;border-radius:6px;border:2px solid var(--border-strong);display:grid;place-items:center;flex-shrink:0;transition:background var(--t),border-color var(--t)}.todo-row.done .checkbox{background:var(--accent-grad);border-color:transparent}.checkbox svg{opacity:0;color:var(--on-accent);transition:opacity var(--t)}.todo-row.done .checkbox svg{opacity:1}.row-del{opacity:0;transition:opacity var(--t),color var(--t),background var(--t)}.todo-row:hover .row-del{opacity:1}.todo-row{position:relative}.todo-row.prio-edge-high{box-shadow:inset 3px 0 0 var(--danger)}.todo-row.prio-edge-normal{box-shadow:inset 3px 0 0 var(--accent)}.todo-row.prio-edge-low{box-shadow:inset 3px 0 0 var(--border-strong)}.todo-row.done.prio-edge-high,.todo-row.done.prio-edge-normal,.todo-row.done.prio-edge-low{box-shadow:inset 3px 0 color-mix(in srgb,var(--faint) 50%,transparent)}.todo-board{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:940px;align-items:start}.todo-col{border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-2) 45%,transparent);padding:.7rem;min-height:180px;transition:border-color var(--t),background var(--t)}.todo-col.drag-over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent)}.todo-col-head{display:flex;align-items:center;justify-content:space-between;padding:.2rem .4rem .7rem;font-weight:600;font-size:var(--text-base);color:var(--muted)}.todo-col-count{min-width:1.5rem;text-align:center;font-size:var(--text-xs);font-weight:700;padding:.1rem .45rem;border-radius:999px;background:var(--surface-2);color:var(--faint)}.todo-board .todo-list{max-width:none;gap:.5rem}.todo-board .todo-row{cursor:grab}.todo-board .todo-row:active{cursor:grabbing}.todo-board .todo-row.dragging{opacity:.45}.todo-board .todo-row:hover{transform:none}.todo-col-empty{list-style:none;text-align:center;color:var(--faint);font-size:var(--text-sm);padding:1.6rem .6rem;border:1px dashed var(--border);border-radius:var(--radius-sm)}.swipe-hint{font-size:var(--text-xs);margin:0 0 .7rem;opacity:.7}.todo-swipe-wrap{position:relative;border-radius:var(--radius-sm);overflow:hidden}.todo-swipe-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;padding:0 1.1rem;border-radius:var(--radius-sm);font-weight:700;font-size:var(--text-sm);color:var(--on-accent)}.todo-swipe-bg .sb{display:inline-flex;align-items:center;gap:.35rem}.todo-swipe-bg.complete{background:color-mix(in srgb,var(--success) 88%,black)}.todo-swipe-bg.undo{background:color-mix(in srgb,var(--faint) 70%,var(--surface-solid))}.todo-swipe-wrap .todo-row{position:relative;background:var(--surface-solid);touch-action:pan-y;will-change:transform}.todo-swipe-wrap .todo-row.swiping{transition:none}.todo-swipe-wrap .todo-row:hover{transform:none}.empty{display:flex;flex-direction:column;align-items:center;gap:.55rem;text-align:center;padding:3.2rem 1.5rem;color:var(--muted);border:0;border-radius:0;background:transparent}.empty-icon{width:36px;height:36px;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--surface-2);color:var(--muted);margin-bottom:.25rem}.empty-title{font-weight:600;color:var(--text)}.empty-sub{font-size:var(--text-sm);color:var(--faint)}.notes-page{max-width:none}.notes-layout{display:grid;grid-template-columns:280px 1fr;gap:1.2rem;height:calc(100dvh - 60px - 5rem);min-height:420px}.notes-list{display:flex;flex-direction:column;gap:.35rem;overflow-y:auto;padding-right:.3rem}.notes-new{width:100%;margin-bottom:.4rem}.notes-search{display:flex;align-items:center;gap:.4rem;padding:0 .6rem;margin-bottom:.5rem;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--faint)}.notes-search-input{flex:1;min-width:0;border:0;background:transparent;outline:none;color:var(--text);padding:.5rem 0;font-size:var(--text-base)}.note-mode{flex-shrink:0}.folder-bar{display:flex;gap:.35rem;overflow-x:auto;padding-bottom:.5rem;margin-bottom:.5rem;scrollbar-width:none}.folder-bar::-webkit-scrollbar{display:none}.folder-pill{flex-shrink:0;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);padding:.3rem .7rem;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:500;white-space:nowrap;transition:color var(--t),border-color var(--t),background var(--t)}.folder-pill:hover{color:var(--text)}.folder-pill.active{background:var(--accent-grad);color:var(--on-accent);border-color:transparent}.folder-pill.ghost{color:var(--faint)}.folder-actions{display:flex;gap:.5rem;margin-bottom:.5rem}.folder-act{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:var(--text-xs);padding:.15rem .35rem;border-radius:6px}.folder-act:hover{color:var(--text);background:var(--surface-2)}.folder-act.danger:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.folder-select{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);padding:.4rem .5rem;font-size:var(--text-sm);cursor:pointer;max-width:9rem}.note-preview{overflow-y:auto;padding:1rem 1.2rem}.markdown{line-height:1.65}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3{letter-spacing:-.02em;line-height:1.25;margin:1.1em 0 .5em}.markdown h1{font-size:var(--text-xl)}.markdown h2{font-size:var(--text-lg)}.markdown h3{font-size:var(--text-md)}.markdown p{margin:.6em 0}.markdown ul,.markdown ol{padding-left:1.4em;margin:.5em 0}.markdown li{margin:.25em 0}.markdown a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.markdown code{font-family:var(--font-mono);font-size:.88em;background:var(--surface-2);padding:.12em .4em;border-radius:6px}.markdown pre{background:var(--surface-2);padding:.9em 1em;border-radius:var(--radius-sm);overflow-x:auto}.markdown pre code{background:transparent;padding:0}.markdown blockquote{margin:.8em 0;padding:.2em 0 .2em 1em;border-left:3px solid var(--border-strong);color:var(--muted)}.markdown hr{border:0;border-top:1px solid var(--border);margin:1.2em 0}.markdown img{max-width:100%;border-radius:var(--radius-sm)}.markdown table{border-collapse:collapse;margin:.6em 0}.markdown th,.markdown td{border:1px solid var(--border);padding:.4em .7em}.note-item{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.6rem .7rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:border-color var(--t),background var(--t)}.note-item:hover{border-color:var(--border-strong)}.note-item.active{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 16%,transparent),transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.note-item-title{font-size:var(--text-base);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-item-main{min-width:0;flex:1;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.note-item .row-del,.note-item .icon-btn{opacity:0}.note-item:hover .icon-btn{opacity:1}.notes-empty{text-align:center;padding:1.2rem}.notes-editor{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.editor-bar{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;border-bottom:1px solid var(--border)}.note-title-input{flex:1;background:transparent;border:0;outline:none;color:var(--text);font-size:var(--text-md);font-weight:600}.editor-actions{display:flex;align-items:center;gap:.5rem}.btn-ghost{display:inline-flex;min-height:44px;align-items:center;gap:.4rem;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-sm);padding:.5rem .8rem;cursor:pointer;font-weight:500;transition:color var(--t),border-color var(--t)}.btn-ghost:hover{color:var(--text);border-color:var(--border-strong)}.export-wrap{position:relative}.export-menu{position:absolute;right:0;top:42px;width:200px;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.4rem;z-index:40;animation:pop .14s ease}.export-hint{font-size:var(--text-2xs);color:var(--faint);padding:.3rem .5rem .5rem}.export-menu button{display:block;width:100%;text-align:left;background:transparent;border:0;color:var(--text);padding:.5rem .6rem;border-radius:8px;cursor:pointer;font-size:var(--text-base)}.export-menu button:hover{background:var(--surface-2)}.note-body{flex:1;resize:none;border:0;outline:none;background:transparent;color:var(--text);padding:1rem 1.1rem;font-size:var(--text-base);line-height:1.6;font-family:inherit}.notes-blank{margin:auto;border:0}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:var(--accent-grad);color:var(--on-accent);padding:.65rem 1.1rem;border-radius:999px;font-size:var(--text-base);font-weight:500;box-shadow:var(--shadow);z-index:100;animation:pop .18s ease}.files-drop{flex-direction:column;gap:.5rem;padding:2.2rem 1rem;color:var(--muted)}.files-drop.drag{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.file-grid{margin-top:1.2rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.7rem}.file-card{display:flex;align-items:center;gap:.7rem;padding:.8rem .9rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--t),transform var(--t)}.file-card:hover{border-color:var(--border-strong)}.file-card-icon{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);flex-shrink:0}.file-card-info{flex:1;min-width:0}.file-card-name{font-size:var(--text-base);font-weight:500}.file-card-actions{display:flex;gap:.2rem}.file-card .file-card-actions{opacity:0;transition:opacity var(--t)}.file-card:hover .file-card-actions{opacity:1}.cash-boundary-card{margin-top:1.25rem;padding:clamp(1rem,2.5vw,1.35rem);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:none}.notes-items{display:flex;flex-direction:column;gap:.35rem}.cash-boundary-card>header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.cash-boundary-card>header span{color:var(--muted);font:650 var(--text-sm)/1 var(--font);letter-spacing:0}.cash-boundary-card>header h2{margin:.35rem 0;font-size:var(--text-lg)}.cash-boundary-card>header p{margin:0;color:var(--muted);font-size:var(--text-sm)}.cash-boundary-headline{display:flex;gap:.8rem;align-items:center;margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.cash-boundary-headline>svg{flex:0 0 auto;color:var(--accent)}.cash-boundary-headline div{display:flex;flex-direction:column;min-width:0}.cash-boundary-headline strong{font-size:clamp(1.1rem,2.4vw,1.55rem);letter-spacing:-.025em}.cash-boundary-headline small{margin-top:.2rem;color:var(--muted)}.cash-boundary-card.is-ready .cash-boundary-headline>svg{color:var(--success)}.cash-boundary-card.is-shortfall .cash-boundary-headline>svg{color:var(--danger)}.cash-boundary-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-top:.7rem}.cash-boundary-breakdown p{display:flex;min-width:0;flex-direction:column;gap:.25rem;margin:0;padding:.75rem;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.cash-boundary-breakdown span{color:var(--muted);font-size:var(--text-2xs)}.cash-boundary-breakdown b{overflow:hidden;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.cash-boundary-warning,.cash-boundary-confirm,.cash-boundary-error{margin:.75rem 0 0;padding:.7rem .8rem;border-radius:8px;background:color-mix(in srgb,var(--warn) 9%,var(--surface));color:var(--warn);font-size:var(--text-xs);line-height:1.5}.cash-boundary-error{background:color-mix(in srgb,var(--danger) 9%,var(--surface));color:var(--danger)}.cash-boundary-form{display:grid;gap:.75rem;margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--border)}.cash-boundary-form fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0;padding:.8rem;border:1px solid var(--border);border-radius:10px}.cash-boundary-form fieldset:last-of-type{grid-template-columns:repeat(3,minmax(0,1fr))}.cash-boundary-form legend{padding:0 .35rem;color:var(--text);font-size:var(--text-xs);font-weight:720}.cash-boundary-form label{display:flex;min-width:0;flex-direction:column;gap:.3rem;color:var(--muted);font-size:var(--text-xs)}.cash-boundary-form input{width:100%;min-height:44px;padding:0 .65rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-solid);color:var(--text);font:inherit}.cash-boundary-form input:focus{outline:2px solid color-mix(in srgb,var(--accent) 28%,transparent);border-color:var(--accent)}.cash-boundary-form>button{justify-self:start}.cash-boundary-card>footer{display:flex;gap:.45rem;align-items:flex-start;margin-top:.85rem;color:var(--muted);font-size:var(--text-2xs)}.cash-boundary-card>footer>svg{flex:0 0 auto}.cash-boundary-card>footer nav{display:flex;gap:.75rem;margin-left:auto;white-space:nowrap}.cash-boundary-card>footer a{color:var(--accent)}.optional-ledger{margin-top:1rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}.optional-ledger>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;cursor:pointer;list-style:none}.optional-ledger>summary::-webkit-details-marker{display:none}.optional-ledger>summary span{display:flex;flex-direction:column;gap:.2rem}.optional-ledger>summary small{color:var(--muted);font-size:var(--text-xs);font-weight:400}.optional-ledger>summary>svg{flex:0 0 auto;transition:transform var(--t-fast)}.optional-ledger[open]>summary{border-bottom:1px solid var(--border)}.optional-ledger[open]>summary>svg{transform:rotate(90deg)}.optional-ledger-body{padding:0 1rem 1rem}@media(max-width:760px){.cash-boundary-card>header{align-items:stretch;flex-direction:column}.cash-boundary-card>header button{width:100%;justify-content:center}.cash-boundary-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-boundary-form fieldset,.cash-boundary-form fieldset:last-of-type{grid-template-columns:1fr}.cash-boundary-form>button{width:100%;justify-content:center}.cash-boundary-card>footer{flex-wrap:wrap}.cash-boundary-card>footer nav{width:100%;margin-left:0;overflow-x:auto}.cash-boundary-card>footer a{display:inline-flex;min-height:44px;padding-inline:.25rem;align-items:center}.optional-ledger .budget-set{min-width:44px;min-height:44px;padding-inline:.5rem}.optional-ledger .seg button{min-height:44px}}.month-switch{display:flex;align-items:center;gap:.5rem;margin:1.4rem 0 .2rem}.month-label{font-weight:650;font-size:var(--text-md);letter-spacing:-.01em;min-width:7.5em;text-align:center}.month-switch .icon-btn:disabled{opacity:.35;cursor:default}.month-today{margin-left:.4rem;padding:.35rem .7rem;font-size:var(--text-sm)}.stat-grid{margin:.8rem 0 1.4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.cat-list{display:flex;flex-direction:column;gap:.55rem;margin-top:.3rem}.cat-row{display:grid;grid-template-columns:5.5em 1fr auto;align-items:center;gap:.7rem}.cat-name{font-size:var(--text-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-bar{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.cat-bar-fill{height:100%;border-radius:999px;background:var(--accent-grad);min-width:4px;transition:width var(--t)}.cat-amt{font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums;color:var(--muted)}.bill-form-tag{flex:1 1 100%;font-size:var(--text-xs);font-weight:600;color:var(--accent)}.eform{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.7rem .9rem;align-items:end;margin:1.4rem 0 1.3rem;padding:1.1rem 1.2rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.eform-title{grid-column:1 / -1;font-weight:650;font-size:var(--text-base);letter-spacing:-.01em}.fg{display:flex;flex-direction:column;gap:.32rem;min-width:0}.fg label{font-size:var(--text-xs);font-weight:500;color:var(--muted)}.fg .field,.fg .seg{width:100%}.fg .seg button{flex:1}.fg-wide{grid-column:1 / -1}.eform-actions{grid-column:1 / -1;display:flex;gap:.6rem;margin-top:.2rem}.bill-row.editing{border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.debt-row{flex-wrap:wrap}.debt-progress{height:5px;width:100%;border-radius:999px;background:var(--surface-2);overflow:hidden;margin:.4rem 0 .3rem}.debt-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--success),var(--accent-2));transition:width var(--t)}.debt-due{color:var(--muted)}.debt-due.overdue{color:var(--danger);font-weight:600}.debt-cleared{margin-left:.5rem;font-size:var(--text-2xs);font-weight:600;color:var(--success);background:color-mix(in srgb,var(--success) 16%,transparent);padding:.1rem .45rem;border-radius:999px}.debt-row.cleared{opacity:.62}.debt-row.cleared .bill-amount{color:var(--success)}.btn-ghost.debt-repay{padding:.35rem .75rem;font-size:var(--text-sm);flex-shrink:0}.pw-secret-input{display:flex;gap:.5rem;flex:1 1 100%}.pw-secret-input .field{flex:1}.pw-search{max-width:360px;margin-bottom:.8rem}.pw-list{display:flex;flex-direction:column;gap:.6rem}.pw-card{display:flex;gap:.9rem;align-items:flex-start;padding:1rem 1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.pw-card.editing{border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.pw-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);flex-shrink:0}.pw-main{flex:1;min-width:0}.pw-title{font-weight:600;display:flex;align-items:center;gap:.6rem}.pw-url{font-size:var(--text-xs);font-weight:400;color:var(--faint)}.pw-field{display:flex;align-items:center;gap:.5rem;margin-top:.35rem;font-size:var(--text-base)}.pw-label{font-size:var(--text-xs);color:var(--faint);width:2.4em;flex-shrink:0}.pw-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pw-value.mono{font-family:var(--font-mono);letter-spacing:.04em}.pw-field .icon-btn{padding:.25rem}.pw-actions{display:flex;flex-direction:column;gap:.2rem}.habit-add .habit-emoji,.cd-add .habit-emoji{flex:0 0 auto;width:3.4rem;text-align:center}.habit-list{display:flex;flex-direction:column;gap:.6rem}.habit-card{display:flex;align-items:center;gap:.9rem;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.habit-check{width:42px;height:42px;border-radius:50%;border:2px solid var(--border-strong);background:transparent;color:transparent;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:background var(--t),border-color var(--t),color var(--t),transform var(--t-fast)}.habit-check:active{transform:scale(.92)}.habit-card.done .habit-check{background:var(--accent-grad);border-color:transparent;color:var(--on-accent)}.habit-main{flex:1;min-width:0}.habit-name{font-weight:600;display:flex;align-items:center;gap:.5rem}.habit-emoji-show{font-size:var(--text-md)}.habit-streak{font-size:var(--text-xs);font-weight:600;color:var(--warn)}.habit-week{display:flex;gap:.4rem;margin-top:.45rem}.habit-dot{display:flex;flex-direction:column;align-items:center;gap:2px}.habit-dot i{width:14px;height:14px;border-radius:50%;background:var(--surface-3);display:block}.habit-dot.on i{background:var(--success)}.habit-dot em{font-size:var(--text-2xs);color:var(--faint);font-style:normal}.habit-del{opacity:0}.habit-card:hover .habit-del{opacity:1}.cd-date{flex:0 0 auto;width:auto}.cd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.9rem}.cd-empty{grid-column:1 / -1}.cd-card{position:relative;padding:1.3rem 1.1rem;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.cd-card.today{border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 14%,var(--surface-solid)),var(--surface))}.cd-card.past{opacity:.62}.cd-del{position:absolute;top:.5rem;right:.5rem;opacity:0}.cd-card:hover .cd-del{opacity:1}.cd-emoji{font-size:var(--text-2xl)}.cd-title{font-weight:600;margin:.3rem 0 .5rem}.cd-days{display:flex;align-items:baseline;justify-content:center;gap:.3rem}.cd-pre{font-size:var(--text-sm);color:var(--muted)}.cd-num{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.03em;color:var(--accent);font-variant-numeric:tabular-nums}.cd-card.past .cd-num{color:var(--muted)}.budget-bar-wrap{margin:.2rem 0 1.4rem}.budget-head{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--text-base);margin-bottom:.4rem}.budget-head .over{color:var(--danger);font-weight:600}.budget-bar{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.budget-bar-fill{height:100%;border-radius:999px;background:var(--accent-grad);transition:width var(--t)}.budget-bar-fill.over{background:linear-gradient(90deg,var(--warn),var(--danger))}.budget-set{background:transparent;border:0;color:var(--accent);cursor:pointer;font-size:var(--text-sm);padding:0}.alist{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(400px,100%),1fr));gap:.55rem;align-items:start}.alist.alist-flow{display:flex;flex-direction:column}.acard{display:flex;gap:.85rem;align-items:flex-start;padding:.85rem 1.05rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--t)}.acard.editing{border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.acard.dim{opacity:.6}.acard-main{flex:1;min-width:0}.acard-title{font-weight:600;letter-spacing:-.01em}.acard-link{color:var(--accent)}.acard-link:hover{text-decoration:underline}.acard-sub{font-size:var(--text-sm);color:var(--muted);margin-top:.2rem;overflow:hidden;text-overflow:ellipsis}.acard-actions{display:flex;gap:.15rem;flex-shrink:0;opacity:0;transition:opacity var(--t)}.acard:hover .acard-actions,.acard:focus-within .acard-actions{opacity:1}.focus-session-delete{width:44px;height:44px}@media(hover:none){.acard-actions{opacity:1}}.schedule-page{max-width:1100px}.schedule-group{margin-bottom:1.4rem}.schedule-group>h2{margin:1.15rem 0 .4rem;color:var(--muted);font-size:var(--text-sm);font-weight:650}.schedule-page .alist{gap:0;border-top:1px solid var(--border)}.schedule-page .acard{min-height:60px;align-items:center;padding:.45rem .25rem;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;transition:background var(--t-fast)}.schedule-page .acard:hover{background:var(--surface-2)}.schedule-page .acard.editing{border-color:var(--border);box-shadow:inset 3px 0 0 var(--accent)}.schedule-page .acard>.icon-btn,.schedule-page .acard-actions .icon-btn{min-width:44px;min-height:44px}.schedule-history{margin-top:1.5rem}.badge{display:inline-block;font-size:var(--text-2xs);font-weight:600;padding:.14rem .5rem;border-radius:999px;flex-shrink:0;white-space:nowrap}.badge-btn{border:0;cursor:pointer}.badge-select{border:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center}.badge.gray{background:var(--surface-2);color:var(--muted)}.badge.blue{background:color-mix(in srgb,var(--info) 15%,transparent);color:var(--info)}.badge.green{background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success)}.badge.amber{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.badge.red{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.badge.violet{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.filter-row{margin-bottom:1rem;flex-wrap:wrap}.aprogress{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden;margin:.45rem 0 .1rem}.aprogress>i{display:block;height:100%;border-radius:999px;background:var(--accent-grad);transition:width var(--t)}.course-grade{font-size:var(--text-lg);font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted);flex-shrink:0;align-self:center}.course-grade.good{color:var(--success)}.course-grade.bad{color:var(--danger)}.sup-rank{width:26px;height:26px;border-radius:50%;background:var(--accent-grad);color:var(--on-accent);font-weight:700;font-size:var(--text-sm);display:grid;place-items:center;flex-shrink:0}.next-action{color:var(--accent)}.dl-soon{color:var(--warn);font-weight:500}.dl-over{color:var(--danger);font-weight:600}.ms-bump{display:flex;gap:.1rem;align-self:center}.ms-bump .icon-btn{font-size:var(--text-md);width:28px}.research-content{flex:1 1 100%;min-height:3rem;resize:vertical;font-family:inherit}.research-body{white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.snippet-code{flex:1 1 100%;min-height:5rem;resize:vertical;font-family:var(--font-mono);font-size:var(--text-sm)}.snip-card{padding:.85rem 1.05rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.snip-card.editing{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.snip-head{display:flex;align-items:center;gap:.6rem}.snip-actions{margin-left:auto;display:flex;gap:.15rem}.snip-code-view{margin:.6rem 0 0;padding:.8rem 1rem;background:var(--surface-2);border-radius:var(--radius-sm);overflow-x:auto;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.5;color:var(--text)}.fc-review{position:relative;margin:.5rem 0 1.4rem;min-height:180px;text-align:center;background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.fc-flip{display:flex;width:100%;min-height:178px;padding:2.2rem 1.5rem;flex-direction:column;align-items:center;justify-content:center;color:inherit;font:inherit;text-align:center;background:transparent;border:0;border-radius:inherit;cursor:pointer}.fc-flip:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:3px}.fc-flip:disabled{cursor:wait}.fc-review:has(.fc-actions) .fc-flip{min-height:130px;padding-bottom:1rem}.fc-deck{position:absolute;top:.8rem;left:.8rem}.fc-q{display:block;font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em}.fc-a{display:block;margin-top:1rem;font-size:var(--text-md);color:var(--accent);white-space:pre-wrap}.fc-hint{display:block;margin-top:1rem;font-size:var(--text-sm);color:var(--faint)}.fc-actions{margin:0 1.5rem 1.4rem;display:flex;gap:.7rem;justify-content:center}.fc-forgot{color:var(--danger)}.fc-done{margin:.5rem 0 1.4rem;padding:2rem;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.focus-timer{display:flex;flex-direction:column;align-items:center;gap:.9rem;margin:1rem 0 1.6rem;padding:1.8rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.focus-clock{font-size:var(--text-4xl);font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.focus-presets{display:flex;gap:.5rem}.focus-timer .field{max-width:360px}.focus-start{min-width:160px}.vocab-card{margin:.5rem 0 1.4rem;padding:2rem 1.5rem;min-height:170px;text-align:center;background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow-sm)}.vocab-word{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em}.vocab-ph{color:var(--muted);font-size:var(--text-base);margin-top:.2rem}.vocab-mean{margin-top:1rem;font-size:var(--text-lg);color:var(--accent)}.vocab-eg{margin-top:.5rem;font-size:var(--text-base);color:var(--muted);font-style:italic}.vocab-hint{margin-top:1rem;font-size:var(--text-sm);color:var(--faint)}.vocab-actions{margin-top:1.4rem;display:flex;gap:.6rem;justify-content:center}.vocab-no{color:var(--danger)}.vocab-vague{color:var(--warn)}.mood-seg button{font-size:var(--text-md)}.journal-mood{font-size:var(--text-xl);flex-shrink:0;line-height:1.2}.stat-card{padding:1.1rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.stat-label{font-size:var(--text-xs);color:var(--muted);margin-bottom:.4rem}.stat-value{font-size:var(--text-xl);font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-value.income{color:var(--success)}.stat-value.expense{color:var(--accent)}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.2rem}.chart-head{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:var(--text-base);margin-bottom:.4rem}.legend{font-size:var(--text-xs);color:var(--muted);font-weight:400}.legend .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin:0 .2rem 0 .6rem;vertical-align:middle}.dot.income{background:var(--success)}.dot.expense{background:var(--accent)}.chart-svg{width:100%;height:auto;display:block}.chart-empty{display:grid;place-items:center;min-height:150px;color:var(--faint);font-size:var(--text-base);text-align:center}.bar-income{fill:var(--success)}.bar-expense{fill:var(--accent)}.chart-label{fill:var(--faint);font-size:var(--text-2xs);text-anchor:middle}.bill-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:1.4rem 0 1rem}.bill-form .field{width:auto;flex:0 0 auto}.bill-form .bill-note{flex:1;min-width:140px}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px}.seg button{border:0;background:transparent;color:var(--muted);padding:.45rem .9rem;border-radius:7px;cursor:pointer;font-weight:500;transition:all var(--t-fast)}.seg button.active{background:var(--surface-solid);color:var(--text);box-shadow:var(--shadow-sm)}.bill-list{display:flex;flex-direction:column;gap:.4rem}.bill-row{display:flex;align-items:center;gap:.8rem;padding:.7rem .9rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.bill-tag{font-size:var(--text-xs);padding:.25rem .6rem;border-radius:999px;font-weight:500;background:var(--surface-2);color:var(--muted);flex-shrink:0}.bill-tag.income{background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success)}.bill-meta{flex:1;min-width:0}.bill-note-text{font-size:var(--text-base)}.bill-amount{font-weight:600;font-variant-numeric:tabular-nums}.bill-amount.income{color:var(--success)}.bill-amount.expense{color:var(--text)}.bill-row .icon-btn{opacity:0}.bill-row:hover .icon-btn{opacity:1}.pdf-ops{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.4rem 0 1.2rem}.pdf-op{min-height:44px;padding:.5rem .95rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);cursor:pointer;font-weight:500;transition:all var(--t)}.pdf-op:hover{color:var(--text);border-color:var(--border-strong)}.pdf-op.active{background:var(--accent-grad);color:var(--on-accent);border-color:transparent}.pdf-form{max-width:560px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem}.dropzone{display:grid;place-items:center;text-align:center;padding:1.8rem 1rem;margin:.9rem 0;border:1.5px dashed var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;color:var(--muted);transition:border-color var(--t),background var(--t)}.dropzone:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.file-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.6rem}.file-pill{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .7rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;font-size:var(--text-base)}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-row{display:flex;flex-direction:column;gap:.35rem;margin:.7rem 0}.form-row label{font-size:var(--text-xs);color:var(--muted);font-weight:500}.success{color:var(--success);background:color-mix(in srgb,var(--ok, var(--success)) 12%,transparent);border:1px solid color-mix(in srgb,var(--success) 30%,transparent);padding:.5rem .7rem;border-radius:var(--radius-sm);margin-top:.9rem;font-size:var(--text-base)}.info-box{margin-top:.9rem;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.info-row{display:flex;justify-content:space-between;gap:1rem;padding:.5rem .8rem;font-size:var(--text-base);border-bottom:1px solid var(--border)}.info-row:last-child{border-bottom:0}.pdf-info{margin-top:.9rem;max-height:340px;overflow:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.8rem 1rem;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--text)}.pdf-form .btn-primary{margin-top:1rem;width:100%}.nav-toggle,.nav-backdrop,.mobile-tabbar{display:none}@media(max-width:860px){.layout{grid-template-columns:1fr}.sidebar{position:fixed;z-index:60;top:0;left:0;bottom:0;width:274px;transform:translate(-100%);visibility:hidden;transition:transform var(--t),visibility 0s linear var(--t);background:var(--chrome, var(--surface-solid));box-shadow:var(--shadow-md)}.layout.nav-open .sidebar{transform:none;visibility:visible;transition-delay:0s}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#0000006b;border:0;padding:0;opacity:0;pointer-events:none;transition:opacity var(--t)}.layout.nav-open .nav-backdrop{opacity:1;pointer-events:auto}.nav-toggle{display:grid;margin-left:-.3rem}.sidebar-collapse-toggle{display:none}.topbar{padding:0 .9rem;gap:.45rem}.topbar-title{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-btn-label,.cmdk-btn kbd{display:none}.cmdk-btn{padding:.4rem}.cmdk-overlay{padding-top:8vh}.content{padding:1.2rem 1.1rem calc(5.8rem + env(safe-area-inset-bottom))}.page,.notes-page{max-width:100%}.page h1{font-size:var(--text-xl)}.hero{padding:1.7rem 1.5rem}.hero h1{font-size:var(--text-xl)}.card-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr;gap:.6rem}.stat-grid.dash-stats{grid-template-columns:repeat(2,1fr);gap:.5rem}.dash-stats .stat-card{padding:.7rem .6rem}.dash-stats .stat-value{font-size:var(--text-lg)}.dash-cols,.file-grid{grid-template-columns:1fr}.bill-form .field,.bill-form .seg,.bill-form button{width:100%;flex:1 1 100%}.bill-form .seg button{flex:1}.notes-layout{grid-template-columns:1fr;height:auto;min-height:0}.notes-list{display:flex;max-height:none;overflow:visible;padding-right:0}.notes-new{width:100%}.notes-items{display:grid;grid-auto-columns:minmax(11rem,72vw);grid-auto-flow:column;gap:.5rem;max-width:100%;overflow-x:auto;padding:0 0 .35rem;scroll-snap-type:x proximity;scrollbar-width:thin}.notes-items .note-item{min-width:0;min-height:48px;scroll-snap-align:start}.folder-pill,.notes-search,.notes-search-input,.note-item-main{min-height:44px}.note-item-main{display:flex;align-items:center}.notes-items .notes-empty{grid-column:1 / -1}.notes-editor{min-height:56vh}.editor-bar{flex-wrap:wrap}.note-title-input{flex:1 1 100%}.editor-actions{flex-wrap:wrap}.notes-toast{bottom:calc(70px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 2rem);text-align:center}.mobile-tabbar{position:fixed;z-index:45;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:5px 8px max(5px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb,var(--chrome) 96%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-tabbar.student-mobile-tabbar{grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-tabbar a,.mobile-tabbar button{display:flex;min-width:0;min-height:48px;flex-direction:column;gap:2px;align-items:center;justify-content:center;padding:2px;color:var(--faint);border:0;border-radius:var(--radius-sm);background:transparent;font-size:var(--text-2xs);cursor:pointer}.mobile-tabbar a.active,.mobile-tabbar button.active{color:var(--text)}}@media(max-width:860px)and (prefers-reduced-motion:reduce){.sidebar,.nav-backdrop{transition:none}}@media(hover:none){.row-del,.file-card .file-card-actions,.bill-row .icon-btn,.note-item .icon-btn{opacity:1}}@supports (padding: env(safe-area-inset-top)){.topbar{height:calc(52px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.sidebar{padding-top:max(1.1rem,env(safe-area-inset-top))}.content{padding-bottom:max(5.8rem,calc(5.2rem + env(safe-area-inset-bottom)))}.login-wrap{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}}.dash .dash-h2{margin:var(--sp-8) 0 var(--sp-3);font-size:var(--text-sm);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.dash-today{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:var(--sp-3);margin-top:var(--sp-6)}.dash-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4) var(--sp-4) var(--sp-3)}.dash-card-head{display:flex;align-items:center;gap:var(--sp-2);font-weight:600;font-size:var(--text-base);margin-bottom:var(--sp-3)}.dash-card-head svg{color:var(--accent)}.dash-more{margin-left:auto;font-size:var(--text-xs);font-weight:500;color:var(--muted);transition:color var(--t-fast)}.dash-more:hover{color:var(--accent)}.dash-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.dash-list li{display:flex;align-items:baseline;gap:var(--sp-3);font-size:var(--text-base)}.dash-list li.is-next .dash-time{color:var(--accent);font-weight:600}.dash-time{flex-shrink:0;width:3.2em;font-variant-numeric:tabular-nums;color:var(--muted);font-size:var(--text-sm)}.dash-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-empty{margin:0;font-size:var(--text-base);color:var(--faint)}.dash-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:var(--sp-3)}.dash-stat{display:block;transition:transform var(--t-fast),box-shadow var(--t-fast),border-color var(--t-fast)}.dash-stat:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:var(--border-strong)}.dash-stat-value{font-size:var(--text-3xl);font-weight:600;letter-spacing:-.035em;line-height:1.05}.dash-stat-total{font-size:var(--text-md);font-weight:600;color:var(--faint)}.dash-stat-label{margin-top:2px;font-size:var(--text-sm);color:var(--muted)}.dash-stat-note{margin-top:var(--sp-2);font-size:var(--text-xs);color:var(--faint)}.dash-stat.is-warn .dash-stat-value,.dash-stat.is-warn .dash-stat-note{color:var(--warn)}.dash-bar{margin-top:var(--sp-3);height:4px;border-radius:999px;background:var(--surface-2);overflow:hidden}.dash-bar span{display:block;height:100%;border-radius:inherit;background:var(--accent-grad)}.dash-modules{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(132px,100%),1fr));gap:var(--sp-2)}.dash-module{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-base);font-weight:500;transition:transform var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.dash-module svg{color:var(--muted);transition:color var(--t-fast)}.dash-module:hover{transform:translateY(-1px);border-color:var(--border-strong)}.dash-module:hover svg{color:var(--accent)}@media(prefers-reduced-motion:reduce){.dash-stat:hover,.dash-module:hover{transform:none}}.dash-weather-now{display:flex;align-items:baseline;gap:var(--sp-2)}.dash-weather-icon{font-size:var(--text-xl);line-height:1}.dash-weather-temp{font-size:var(--text-2xl);font-weight:600;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.dash-weather-text{font-size:var(--text-sm);color:var(--muted)}.dash-weather-range{margin-top:var(--sp-2);font-size:var(--text-xs);color:var(--faint);font-variant-numeric:tabular-nums}.dash-news{padding:var(--sp-2) 0}.dash-news ul{list-style:none;margin:0;padding:0}.dash-news li+li{border-top:1px solid var(--border)}.dash-news a{display:block;padding:var(--sp-3) var(--sp-4);transition:background var(--t-fast)}.dash-news a:hover{background:var(--surface-2)}.dash-news-title{display:block;font-size:var(--text-base);line-height:1.4}.dash-news a:hover .dash-news-title{color:var(--accent)}.dash-news-meta{display:block;margin-top:2px;font-size:var(--text-xs);color:var(--faint);font-variant-numeric:tabular-nums}.dash{max-width:min(1240px,100%)}.daily-command{margin-top:var(--sp-6);padding:clamp(1rem,2.4vw,1.6rem);border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:calc(var(--radius-lg) + 4px);background:color-mix(in srgb,var(--surface) 94%,var(--accent) 6%);box-shadow:var(--shadow-sm)}.daily-command-head,.daily-block-head{display:flex;align-items:center;gap:var(--sp-3)}.daily-command-head{justify-content:space-between;margin-bottom:var(--sp-5)}.daily-command-head p{margin:0 0 .25rem;color:var(--accent);font-size:var(--text-xs);font-weight:750;letter-spacing:.06em}.daily-command-head h2{margin:0;font-size:clamp(1.45rem,3vw,2.1rem);letter-spacing:-.035em}.daily-study-score{min-width:92px;padding:.65rem .85rem;border:1px solid var(--border);border-radius:14px;background:var(--surface);text-align:right}.daily-study-score span,.daily-study-score strong{display:block}.daily-study-score span{color:var(--faint);font-size:var(--text-xs)}.daily-study-score strong{margin-top:.15rem;font-size:1.2rem}.daily-study-score.is-done{border-color:color-mix(in srgb,var(--success) 42%,var(--border));color:var(--success)}.daily-command-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.72fr);align-items:start;gap:var(--sp-4)}.daily-main-column,.daily-side-column{display:grid;gap:var(--sp-4)}.daily-block{padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.daily-block-icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:11px;background:color-mix(in srgb,var(--accent) 11%,var(--surface-2));color:var(--accent)}.daily-block-head>div{min-width:0;flex:1}.daily-block-head strong,.daily-block-head small{display:block}.daily-block-head strong{font-size:var(--text-sm)}.daily-block-head small{margin-top:.1rem;color:var(--faint);font-size:var(--text-xs)}.daily-block-head>a,.daily-text-button{border:0;background:none;color:var(--accent);font-size:var(--text-xs);font-weight:700;text-decoration:none;cursor:pointer}.daily-task-list{display:grid;gap:var(--sp-2);margin-top:var(--sp-4)}.daily-task{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:var(--sp-3);padding:.8rem;border:1px solid var(--border);border-radius:13px;background:var(--surface-2);transition:opacity var(--t-fast),border-color var(--t-fast)}.daily-task>button{display:grid;place-items:center;width:30px;height:30px;margin-top:.1rem;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface);color:var(--on-accent);cursor:pointer}.daily-task.is-done{opacity:.56}.daily-task.is-done>button{border-color:var(--success);background:var(--success)}.daily-task>a{min-width:0;color:inherit;text-decoration:none}.daily-task a>span,.daily-task a>strong,.daily-task a>small{display:block}.daily-task a>span{color:var(--accent);font-size:var(--text-2xs);font-weight:800;letter-spacing:.06em}.daily-task a>strong{margin-top:.2rem;font-size:var(--text-sm);line-height:1.4}.daily-task a>small{margin-top:.25rem;color:var(--muted);font-size:var(--text-xs);line-height:1.5}.daily-front-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2);margin-top:var(--sp-4)}.daily-front-grid>a{min-width:0;padding:.8rem;border:1px solid var(--border);border-radius:12px;color:inherit;text-decoration:none}.daily-front-grid span,.daily-front-grid strong,.daily-front-grid small{display:block}.daily-front-grid span{color:var(--accent);font-size:var(--text-2xs);font-weight:800}.daily-front-grid strong{margin-top:.35rem;font-size:var(--text-xs);line-height:1.4}.daily-front-grid small{margin-top:.45rem;color:var(--faint);font-size:var(--text-2xs)}.daily-life-block{display:grid;gap:var(--sp-2)}.daily-life-block .daily-block-head{margin-bottom:var(--sp-2)}.daily-life-task{display:grid;grid-template-columns:27px minmax(0,1fr);gap:var(--sp-2);width:100%;padding:.62rem 0;border:0;border-top:1px solid var(--border);background:none;color:inherit;text-align:left;cursor:pointer}.daily-life-task>span:first-child{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--border-strong);border-radius:8px;color:var(--on-accent)}.daily-life-task strong,.daily-life-task small{display:block}.daily-life-task strong{font-size:var(--text-xs)}.daily-life-task small{margin-top:.18rem;color:var(--faint);font-size:var(--text-2xs);line-height:1.45}.daily-life-task.is-done{opacity:.55}.daily-life-task.is-done>span:first-child{border-color:var(--success);background:var(--success)}.daily-free-block{background:color-mix(in srgb,var(--surface) 96%,var(--faint) 4%)}.daily-free-block.is-unlocked{border-color:color-mix(in srgb,var(--success) 40%,var(--border));background:color-mix(in srgb,var(--success) 6%,var(--surface))}.daily-free-block p{margin:var(--sp-3) 0 0;color:var(--muted);font-size:var(--text-xs);line-height:1.6}.daily-money-setup{display:grid;gap:var(--sp-3);margin-top:var(--sp-4)}.daily-money-setup label>span:first-child{display:block;margin-bottom:.35rem;color:var(--muted);font-size:var(--text-xs)}.daily-money-setup input,.daily-spend-form input{width:100%;min-width:0;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-2);color:var(--text);font:inherit}.daily-money-setup input{padding:.65rem .7rem}.daily-money-input{display:flex;align-items:center;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-2)}.daily-money-input b{padding-left:.7rem;color:var(--muted)}.daily-money-input input{border:0;background:transparent}.daily-money-setup>small{color:var(--faint);font-size:var(--text-2xs);line-height:1.5}.daily-money-number{margin-top:var(--sp-4)}.daily-money-number span,.daily-money-number strong,.daily-money-number small{display:block}.daily-money-number span{color:var(--muted);font-size:var(--text-xs)}.daily-money-number strong{margin:.2rem 0;font-size:clamp(1.8rem,4vw,2.5rem);letter-spacing:-.04em}.daily-money-number strong.is-over{color:var(--danger)}.daily-money-number small{color:var(--faint);font-size:var(--text-2xs)}.daily-spend-form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-2);margin-top:var(--sp-4)}.daily-spend-form>span{color:var(--muted);font-weight:700}.daily-spend-form input{padding:.55rem .65rem}.daily-spend-form button{height:37px;border:0;border-radius:9px;padding:0 .8rem;background:var(--accent);color:var(--on-accent);font-weight:700;cursor:pointer}.daily-spent-today{display:flex;justify-content:space-between;gap:var(--sp-2);margin-top:var(--sp-2);color:var(--faint);font-size:var(--text-2xs)}.daily-spent-today button{border:0;background:none;color:var(--faint);font:inherit;cursor:pointer}.dash-legacy{margin-top:var(--sp-4)}.dash-legacy>summary{color:var(--faint);font-size:var(--text-xs);cursor:pointer}.dash-legacy .dash-cockpit{margin-top:var(--sp-3)}.dash-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-5)}.dash-kicker{margin:0 0 var(--sp-2);color:var(--accent);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em}.dash-hero-copy{margin:var(--sp-2) 0 0;color:var(--muted);font-size:var(--text-base)}.dash-weather-chip{display:inline-flex;align-items:center;gap:var(--sp-2);flex-shrink:0;padding:.55rem .8rem;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--muted);font-size:var(--text-sm);box-shadow:var(--shadow-sm)}.dash-weather-chip strong{color:var(--text);font-variant-numeric:tabular-nums}.dash-cockpit{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);align-items:start;gap:var(--sp-4);margin-top:var(--sp-7)}.dash-focus-card,.dash-next-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.dash-focus-card{position:relative;display:flex;align-items:flex-start;gap:var(--sp-5);min-height:236px;padding:clamp(1.35rem,3vw,2.2rem);overflow:hidden;background:#fbf7ef;color:#332a26;box-shadow:var(--shadow-sm)}.dash-focus-art{position:absolute;top:0;right:0;bottom:0;width:60%;height:100%;object-fit:cover;object-position:right center;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 22%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 22%,#000 100%);pointer-events:none}.dash-focus-icon{position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border-radius:16px;background:color-mix(in srgb,var(--accent) 14%,var(--surface-solid));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border))}.dash-focus-body{position:relative;z-index:1;min-width:0;width:min(55%,460px)}.dash-focus-label{margin:0 0 var(--sp-2);color:#ad4e32;font-size:var(--text-xs);font-weight:750;letter-spacing:.08em}.dash .dash-focus-card h2{max-width:22ch;margin:0;font-size:clamp(1.55rem,3vw,2.3rem);line-height:1.14;letter-spacing:-.04em;color:#332a26}.dash-focus-body>p:last-of-type{max-width:52ch;margin:var(--sp-3) 0 0;color:#6f5f56;line-height:1.55}.dash-focus-actions{display:flex;align-items:center;gap:var(--sp-4);margin-top:var(--sp-6)}.dash-focus-actions .btn-primary{display:inline-flex;align-items:center;justify-content:center;min-height:42px}.dash-secondary-link{color:var(--muted);font-size:var(--text-sm);font-weight:600}.dash-secondary-link:hover{color:var(--accent)}.dash-next-card{padding:var(--sp-5);box-shadow:var(--shadow-sm)}.dash-action-list{display:flex;flex-direction:column;gap:var(--sp-2);margin:0;padding:0;list-style:none}.dash-action-list li{display:flex;align-items:center;gap:var(--sp-3);min-width:0;padding:.62rem 0;border-top:1px solid var(--border)}.dash-action-list li:first-child{border-top:0}.dash-action-list a{display:block;min-width:0;flex:1}.dash-action-list strong,.dash-action-list span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-action-list strong{color:var(--text);font-size:var(--text-sm);font-weight:620}.dash-action-list a>span{margin-top:2px;color:var(--faint);font-size:var(--text-xs)}.dash-action-check,.dash-action-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:9px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--muted)}.dash-action-check{cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast)}.dash-action-check:hover{color:var(--on-accent);border-color:var(--accent);background:var(--accent)}.dash-action-check:disabled{opacity:.55;cursor:default}.dash-next-reminder{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border);color:var(--faint);font-size:var(--text-xs)}.dash-next-reminder strong{min-width:0;overflow:hidden;color:var(--muted);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.dash-action-error{margin:var(--sp-3) 0 0;color:var(--danger);font-size:var(--text-xs)}.dash-coach{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--border)}.dash-coach-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-3)}.dash-coach-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--accent-2) 13%,var(--surface-2));color:var(--accent)}.dash-coach-head strong,.dash-coach-head small{display:block}.dash-coach-head strong{font-size:var(--text-sm)}.dash-coach-head small{margin-top:1px;color:var(--faint);font-size:var(--text-2xs)}.dash-coach-head button{padding:.42rem .62rem;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:9px;background:color-mix(in srgb,var(--accent) 9%,var(--surface-solid));color:var(--accent);font-size:var(--text-xs);font-weight:700;cursor:pointer}.dash-coach-head button:disabled{opacity:.58;cursor:default}.dash-coach-result{margin-top:var(--sp-3);padding:var(--sp-3);border-radius:var(--radius-sm);background:var(--surface-2)}.dash-coach-result p{margin:0;color:var(--text);font-size:var(--text-sm);line-height:1.7;white-space:pre-line}.dash-coach-result span{display:block;margin-top:var(--sp-2);color:var(--faint);font-size:var(--text-2xs)}.dash-stat-course{position:relative}.dash-progress .dash-card:nth-child(1){background:color-mix(in srgb,var(--warn) 5%,var(--surface))}.dash-progress .dash-card:nth-child(2){background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.dash-progress .dash-card:nth-child(3){background:color-mix(in srgb,var(--accent-2) 6%,var(--surface))}.dash>.dash-modules{grid-template-columns:repeat(5,minmax(0,1fr))}.dash-stat-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:var(--sp-3);border-radius:13px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.dash-disclosure{margin-top:var(--sp-4);border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 82%,transparent)}.dash-disclosure>summary{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-4);color:var(--muted);font-size:var(--text-sm);font-weight:650;cursor:pointer;list-style:none}.dash-disclosure>summary::-webkit-details-marker{display:none}.dash-disclosure>summary small{margin-left:auto;color:var(--faint);font-size:var(--text-xs);font-weight:500}.dash-disclosure>summary svg{transition:transform var(--t-fast)}.dash-disclosure[open]>summary svg{transform:rotate(90deg)}.dash-all-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-7);padding:0 var(--sp-4) var(--sp-5);border-top:1px solid var(--border)}.dash-all-groups section{min-width:0}.dash-all-groups h3{margin:var(--sp-5) 0 var(--sp-3);color:var(--faint);font-size:var(--text-xs);letter-spacing:.08em}.dash-all-groups .dash-modules{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.dash-news-disclosure{margin-top:var(--sp-8)}.dash-news-disclosure .dash-news{border-top:1px solid var(--border)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--focus, var(--accent));outline-offset:3px}@media(max-width:1050px){.daily-command-grid,.dash-cockpit{grid-template-columns:1fr}.dash-focus-card{min-height:220px}.dash>.dash-modules{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:860px){.sidebar .nav-item{min-height:44px}.topbar .icon-btn,.topbar .cmdk-btn{min-width:44px;min-height:44px}.content .field,.content select,.content .seg button,.content .folder-pill,.content .badge-btn,.paperfinder-page button,.paperfinder-page select{min-height:44px}.content .folder-pill,.content .badge-btn{min-width:44px}.content .prio-seg button{min-width:44px;flex-shrink:0}.content .acard-link{display:inline-flex;min-height:44px;align-items:center}}@media(max-width:700px){.icon-btn,.cmdk-btn{min-width:44px;min-height:44px}.daily-front-grid{grid-template-columns:1fr}.dash-hero{display:block}.dash-weather-chip{margin-top:var(--sp-4)}.dash-cockpit{margin-top:var(--sp-5)}.dash-focus-card{display:block;min-height:0}.dash-focus-art{width:100%;opacity:.18;-webkit-mask-image:none;mask-image:none}.dash-focus-body{width:100%}.dash-focus-icon{width:44px;height:44px;margin-bottom:var(--sp-4)}.dash-all-groups{grid-template-columns:1fr;gap:0}}@media(max-width:520px){.app-update{left:max(.75rem,env(safe-area-inset-left));right:max(.75rem,env(safe-area-inset-right));bottom:calc(66px + env(safe-area-inset-bottom));width:auto;align-items:stretch;flex-direction:column;gap:.65rem;padding:.75rem}.app-update span{display:none}.app-update__actions{margin-left:0;justify-content:flex-end}.app-update__actions button{min-height:44px;padding-inline:.7rem}.app-build{display:none}.daily-command{padding:.8rem}.daily-command-head{align-items:flex-start}.daily-study-score{min-width:78px}.content{padding-inline:max(1rem,env(safe-area-inset-left),env(safe-area-inset-right))}.dash-focus-actions{align-items:stretch;flex-direction:column;gap:var(--sp-3)}.dash-secondary-link{text-align:center}.dash-progress,.dash-modules{grid-template-columns:1fr}.dash>.dash-modules{grid-template-columns:1fr}.dash-action-check{width:44px;height:44px;flex-basis:44px}.topbar .icon-btn{min-width:44px;min-height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}}
