.app[data-focus=true]{--toast-offset:24px;padding-block-end:calc(env(safe-area-inset-bottom) + 24px)}.seg-tight .segmented button{white-space:nowrap;padding:0 6px;font-size:13px}.meta-line{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:13px;display:flex}.meta-line>span{align-items:center;gap:4px;display:inline-flex}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.card-top{align-items:flex-start;gap:14px;display:flex}.card-top .grow{flex-direction:column;gap:4px;display:flex}.card-top h3{font-size:17px;font-weight:800;line-height:1.3}.fine{color:var(--color-muted);font-size:11px;line-height:1.4}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.btn-row .btn{flex:auto}.btn-tonal{--btn-bg:var(--color-subtle);--btn-fg:var(--color-brand-ink);--btn-border:transparent}.topic-bars{flex-direction:column;gap:10px;list-style:none;display:flex}.topic-bars li{grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:4px 10px;font-size:13px;display:grid}.topic-bars li>span:first-child{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.topic-bars li>b{text-align:end;font-variant-numeric:tabular-nums;font-size:13px}.topic-bars .progress{grid-column:1/-1;height:8px}.topic-bars .progress[data-tone=danger]>span{background:var(--color-danger)}.plan-day{flex-direction:column;gap:8px;display:flex}.plan-day-head{color:var(--color-muted);letter-spacing:.02em;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:800;display:flex}.plan-task{background:var(--color-surface);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:18px;align-items:center;gap:12px;padding:12px 14px;display:flex}.plan-task input{width:22px;height:22px;accent-color:var(--color-brand);cursor:pointer;flex:none}.plan-task .grow{flex-direction:column;gap:1px;display:flex}.plan-task strong{font-size:14px;font-weight:800;line-height:1.3}.plan-task small{color:var(--color-muted);font-size:12px}.plan-task[data-done=true] strong{color:var(--color-muted);text-decoration:line-through}.plan-task .mins{color:var(--color-brand-ink);font-variant-numeric:tabular-nums;flex:none;font-size:13px;font-weight:800}.player-top .grow{flex-direction:column;min-width:0;display:flex}.player-top .grow strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:800;overflow:hidden}.player-top .grow small{color:var(--color-muted);font-size:12px}.qcard{background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:28px;flex-direction:column;gap:16px;padding:22px 20px;display:flex}.qcard-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.options{flex-direction:column;gap:10px;display:flex}.options .option{background:var(--color-canvas);box-shadow:none}.options .option[aria-pressed=true]{background:color-mix(in srgb, var(--color-brand) 6%, var(--color-surface))}.num-answer.input{text-align:center;letter-spacing:.02em;font-variant-numeric:tabular-nums;min-height:64px;font-size:26px;font-weight:800}.player-nav{grid-template-columns:1fr 1.4fr;gap:10px;display:grid}.player-nav .btn{width:100%}.unanswered{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.unanswered button{border:1.5px solid var(--color-border-strong);background:var(--color-surface);min-height:38px;color:var(--color-ink);cursor:pointer;border-radius:999px;padding:0 14px;font-weight:700}.score-hero .grow{flex-direction:column;gap:4px;display:flex}.score-hero .marks{font-variant-numeric:tabular-nums;font-size:26px;font-weight:900;line-height:1.1}.hero-card .mini-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.hero-card .mini-stats>div{background:color-mix(in srgb, var(--color-on-brand) 14%, transparent);border-radius:16px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.hero-card .mini-stats strong{font-variant-numeric:tabular-nums;font-size:20px;font-weight:900}.hero-card .mini-stats small{font-size:11px;font-weight:700}.answer-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.answer-pair>div{background:var(--color-canvas);border-radius:16px;flex-direction:column;gap:2px;min-width:0;padding:12px 14px;display:flex}.answer-pair>div[data-result=right]{background:var(--color-success-soft)}.answer-pair>div[data-result=wrong]{background:var(--color-danger-soft)}.answer-pair small{color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}.answer-pair strong{overflow-wrap:anywhere;font-size:18px;font-weight:900}.option[data-static]{cursor:default;min-height:52px;font-size:15px}.option[data-static]:hover{border-color:#0000}.option[data-static][data-result=right]:hover{border-color:var(--color-success)}.option[data-static][data-result=wrong]:hover{border-color:var(--color-danger)}.option .opt-tag{margin-inline-start:auto;font-size:12px;font-weight:800}.why{background:var(--color-neutral-soft);border-radius:16px;gap:10px;padding:12px 14px;font-size:14px;line-height:1.5;display:flex}.why svg{color:var(--color-brand);flex:none;margin-block-start:2px}.answer-text{background:var(--color-canvas);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px;padding:12px 14px;font-size:14px;line-height:1.6}.criteria .crit-icon{background:var(--color-subtle);width:26px;height:26px;color:var(--color-muted);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:900;display:grid}.criteria .crit-icon[data-met=yes]{background:var(--color-success-soft);color:var(--color-success-ink)}.criteria .crit-icon[data-met=partly]{background:var(--color-warning);color:var(--color-warning-ink)}.criteria li>span.grow{flex:1;min-width:0}.criteria .crit-marks{font-variant-numeric:tabular-nums;flex:none;font-weight:900}.rubric-list{flex-direction:column;list-style:none;display:flex}.rubric-list li{border-block-start:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding-block:10px;font-size:14px;display:flex}.rubric-list li:first-child{border-block-start:0;padding-block-start:0}.rubric-list li b{color:var(--color-brand-ink);background:var(--color-soft);border-radius:999px;flex:none;padding:2px 10px;font-size:12px;font-weight:800}.ai-card{border:2px solid var(--color-info-border)}.word-count[data-ok=true]{color:var(--color-success-ink)}.draft-note{color:var(--color-warning-ink);font-size:12px;font-weight:700}.att-month{color:var(--color-ink);grid-column:1/-1;margin-block-start:6px;font-size:12px;font-weight:800}.att-day[data-today=true]{box-shadow:0 0 0 2px var(--color-brand)}.att-day[data-s=future]{color:var(--color-border-strong);border:1.5px dashed var(--color-border);background:0 0}.hero-split{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.hero-split .hero-bars{flex:0 140px}.hero-stats{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid;position:relative}.hero-stats>div{background:color-mix(in srgb, var(--color-on-brand) 14%, transparent);border-radius:18px;flex-direction:column;gap:2px;min-width:0;padding:12px;display:flex}.hero-stats strong{font-variant-numeric:tabular-nums;font-size:24px;font-weight:900;line-height:1.1}.hero-stats small{color:color-mix(in srgb, var(--color-on-brand) 85%, transparent);font-size:11px;font-weight:700}.hero-card>*{z-index:1;position:relative}.hero-line{align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.hero-line svg{flex:none}.hero-day{grid-template-columns:auto minmax(0,1fr);align-items:end;gap:16px;display:grid}.hero-day .hero-num small{letter-spacing:0;margin-inline-start:4px;font-size:15px;font-weight:800}.result-list{flex-direction:column;list-style:none;display:flex}.result-list li{border-block-start:1px solid var(--color-border)}.result-list li:first-child{border-block-start:0}.result-list a,.result-list .result-row{color:var(--color-ink);align-items:center;gap:10px;padding-block:12px;text-decoration:none;display:flex}.result-list li:first-child a,.result-list li:first-child .result-row{padding-block-start:4px}.result-list .grow{flex-direction:column;gap:2px;display:flex}.result-list strong{font-size:14px;font-weight:800;line-height:1.3}.result-list small{color:var(--color-muted);font-size:12px}.lesson .lesson-text{flex-direction:column;min-width:0;display:flex}.lesson .lesson-text strong{font-size:15px;font-weight:800}.lesson .lesson-text small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.lesson-break{color:var(--color-muted);align-items:center;gap:10px;padding-inline:14px;font-size:12px;font-weight:700;display:flex}.lesson-break:before,.lesson-break:after{content:"";background:var(--color-border-strong);flex:1;height:1px}.signin-hero .wordmark{z-index:1;color:var(--color-on-brand);position:relative}.signin-hero .wordmark-text span{color:var(--color-on-brand)}.signin-hero .wordmark-text small{color:color-mix(in srgb, var(--color-on-brand) 75%, transparent)}.hero-features{z-index:1;flex-wrap:wrap;gap:8px;margin-block-start:20px;list-style:none;display:flex;position:relative}.hero-features li{background:color-mix(in srgb, var(--color-on-brand) 16%, transparent);color:var(--color-on-brand);border-radius:999px;align-items:center;gap:6px;padding:8px 12px 8px 8px;font-size:13px;font-weight:700;display:inline-flex}.hero-features li>span{background:var(--color-on-brand);width:24px;height:24px;color:var(--color-brand);border-radius:50%;place-items:center;display:grid}.account-pick{border:2px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-ink);text-align:start;cursor:pointer;border-radius:20px;align-items:center;gap:12px;padding:14px;display:flex}.account-pick[aria-pressed=true]{border-color:var(--color-brand);background:color-mix(in srgb, var(--color-brand) 6%, var(--color-surface))}.account-pick .grow strong{font-weight:800;display:block}.account-pick .grow small{color:var(--color-muted);font-size:12px}.account-pick .tick{background:var(--color-brand);width:24px;height:24px;color:var(--color-on-brand);border-radius:50%;place-items:center;display:grid}.prow-sub .due{color:var(--color-warning-ink);font-weight:800}.plan-task .task-kind{vertical-align:-1px;display:inline}.option .opt-tag{white-space:nowrap}.c1-link-reset{color:inherit;text-decoration:none}.c1-clamp2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.c1-nowrap{white-space:nowrap}.c1-hero-top{z-index:1;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.c1-hero-subject{z-index:1;align-items:center;gap:14px;display:flex;position:relative}.c1-hero-subject .c1-hero-icon{background:color-mix(in srgb, var(--color-on-brand) 18%, transparent);width:52px;height:52px;color:var(--color-on-brand);border-radius:18px;flex:none;place-items:center;display:grid}.c1-hero-subject h2{margin:0}.c1-hero-meta{z-index:1;color:color-mix(in srgb, var(--color-on-brand) 90%, transparent);flex-wrap:wrap;gap:6px 14px;font-size:14px;font-weight:600;display:flex;position:relative}.c1-hero-meta span{align-items:center;gap:6px;display:inline-flex}.c1-daybar{z-index:1;gap:5px;display:flex;position:relative}.c1-daybar i{background:color-mix(in srgb, var(--color-on-brand) 24%, transparent);border-radius:999px;flex:1;height:8px;position:relative;overflow:hidden}.c1-daybar i[data-state=done]{background:var(--color-on-brand)}.c1-daybar i[data-state=now]:after{content:"";width:var(--fill,50%);border-radius:inherit;background:var(--color-on-brand);position:absolute;inset-block:0;inset-inline-start:0}.c1-daybar-legend{z-index:1;color:color-mix(in srgb, var(--color-on-brand) 82%, transparent);justify-content:space-between;gap:8px;font-size:12px;font-weight:700;display:flex;position:relative}.c1-hero-foot{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.c1-hero-foot .btn{align-self:center}.c1-merits{text-decoration:none}.c1-merits .c1-merit-icon{background:var(--color-warning);width:28px;height:28px;color:var(--color-warning-ink);border-radius:50%;place-items:center;display:grid}.c1-exam{align-items:center;gap:16px;display:flex}.c1-exam-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.c1-exam-body strong{font-size:17px;font-weight:800;line-height:1.25}.c1-exam-ring{flex-direction:column;flex:none;align-items:center;gap:4px;display:flex}.c1-exam-ring small{color:var(--color-muted);font-size:11px;font-weight:700}.c1-plan{flex-direction:column;gap:8px;margin-block-start:12px;list-style:none;display:flex}.c1-plan button{background:var(--color-canvas);width:100%;min-height:56px;color:var(--color-ink);text-align:start;cursor:pointer;transition:background var(--dur) var(--ease-out);border:0;border-radius:16px;align-items:center;gap:12px;padding:10px 14px;display:flex}.c1-plan button:hover{background:var(--color-subtle)}.c1-check{border:2px solid var(--color-border-strong);background:var(--color-surface);width:26px;height:26px;color:var(--color-on-brand);transition:background var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);border-radius:50%;flex:none;place-items:center;display:grid}.c1-plan button[aria-checked=true] .c1-check{background:var(--color-success);border-color:var(--color-success)}.c1-plan-label{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.c1-plan-label strong{font-size:14px;font-weight:700;line-height:1.3}.c1-plan-label small{color:var(--color-muted);font-size:12px}.c1-plan button[aria-checked=true] .c1-plan-label strong{color:var(--color-muted);text-decoration:line-through;text-decoration-thickness:1.5px}.c1-search{position:relative}.c1-search svg{color:var(--color-muted);pointer-events:none;position:absolute;inset-block-start:50%;inset-inline-start:16px;transform:translateY(-50%)}.c1-search .input{background-color:var(--color-surface);width:100%;box-shadow:var(--shadow-sm);border-radius:999px;padding-inline-start:46px}.c1-search .input:hover{border-color:var(--color-border)}.c1-search .c1-search-clear{background:var(--color-subtle);width:36px;height:36px;color:var(--color-muted);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;inset-block-start:50%;inset-inline-end:6px;transform:translateY(-50%)}.c1-search .c1-search-clear svg{position:static;transform:none}.subject-tile .c1-tile-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.subject-tile .c1-tile-pct{color:hsl(var(--hue) 55% 38%);font-variant-numeric:tabular-nums;font-size:13px;font-weight:900}.subject-tile .c1-tile-text{flex-direction:column;gap:2px;min-width:0;display:flex}.subject-tile .c1-tile-text strong{line-height:1.2}.c1-action-row{background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:18px;align-items:center;gap:14px;padding:14px;display:flex}.c1-action-row .btn{flex:none}.c1-action-row .ring{--ring-bg:var(--color-surface)}.c1-subject-hero{background:hsl(var(--hue) 90% 95%);border-radius:28px;flex-direction:column;gap:14px;padding:20px;display:flex;position:relative;overflow:hidden}.c1-subject-hero:after{content:"";background:hsl(var(--hue) 80% 88% / .6);pointer-events:none;border-radius:50%;width:180px;height:180px;position:absolute;inset-block-start:-70px;inset-inline-end:-50px}.c1-subject-hero>*{z-index:1;position:relative}.c1-subject-hero .tile-icon{background:var(--color-surface);width:54px;height:54px;color:hsl(var(--hue) 55% 42%);border-radius:18px;flex:none;place-items:center;display:grid}.c1-subject-hero h1{font-size:28px;line-height:1.15}.c1-subject-hero .ring{--ring-color:hsl(var(--hue) 60% 50%);--ring-track:color-mix(in srgb, var(--color-surface) 85%, transparent);--ring-bg:hsl(var(--hue) 90% 95%)}.c1-subject-hero .chip{background:var(--color-surface);color:hsl(var(--hue) 55% 32%)}.card.c1-topic{padding:0;overflow:hidden}.c1-topic-head{width:100%;color:var(--color-ink);text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:14px;padding:16px;display:flex}.c1-topic-head:hover{background:color-mix(in srgb, var(--color-subtle) 50%, var(--color-surface))}.c1-topic-num{background:hsl(var(--hue) 90% 95%);width:34px;height:34px;color:hsl(var(--hue) 55% 40%);border-radius:12px;flex:none;place-items:center;font-size:14px;font-weight:900;display:grid}.c1-topic-head .ring span,.c1-action-row .ring span{letter-spacing:-.02em;font-size:11px}.c1-topic-chev{color:var(--color-muted);transition:transform var(--dur) var(--ease-out);flex:none}.c1-topic-head[aria-expanded=true] .c1-topic-chev{transform:rotate(180deg)}.c1-topic-body{flex-direction:column;gap:10px;padding:0 16px 16px;display:flex}.c1-topic-body .prow{background:var(--color-canvas);box-shadow:none}.c1-topic-body .prow:hover{background:var(--color-subtle);box-shadow:none}.c1-topic-body .prow-tile{background:var(--color-surface);width:40px;height:40px}.c1-meta{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:13px;font-weight:600;display:flex}.c1-meta span{align-items:center;gap:6px;display:inline-flex}.c1-video{background:var(--color-hero-dark);color:var(--color-canvas);border-radius:22px;align-items:center;gap:14px;padding:18px;display:flex}.c1-video .c1-play{background:var(--color-canvas);width:52px;height:52px;color:var(--color-hero-dark);border-radius:50%;flex:none;place-items:center;display:grid}.c1-video small{color:color-mix(in srgb, var(--color-canvas) 75%, transparent);font-size:13px;display:block}.c1-ai-head{justify-content:space-between;align-items:center;gap:10px;margin-block-end:12px;display:flex}.c1-cards{flex-direction:column;gap:10px;list-style:none;display:flex}.c1-cards li{background:var(--color-surface);box-shadow:0 0 0 1.5px var(--color-border), 0 4px 0 -1px var(--color-subtle-2);border-radius:18px;gap:12px;padding:14px 16px;font-size:16px;line-height:1.5;display:flex;position:relative}.c1-cards li b{background:var(--color-soft);width:28px;height:28px;color:var(--color-brand-ink);border-radius:10px;flex:none;place-items:center;font-size:13px;font-weight:900;display:grid}.c1-keywords{flex-wrap:wrap;gap:6px;margin-block-start:14px;display:flex}.c1-keywords span{background:var(--color-soft);color:var(--color-brand-ink);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700}.c1-btn-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.c1-btn-row .btn{padding-inline:12px}.c1-rules{z-index:1;flex-direction:column;gap:10px;list-style:none;display:flex;position:relative}.c1-rules li{color:color-mix(in srgb, var(--color-on-brand) 92%, transparent);align-items:center;gap:12px;font-size:14px;font-weight:600;display:flex}.c1-rules li span:first-child{background:color-mix(in srgb, var(--color-on-brand) 16%, transparent);width:34px;height:34px;color:var(--color-on-brand);border-radius:12px;flex:none;place-items:center;display:grid}.c1-ask{flex-direction:column;gap:12px;display:flex}.c1-ask .textarea{resize:vertical;width:100%;min-height:96px;font:inherit;font-size:16px;line-height:1.45}.c1-ask-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.c1-subjects{flex-wrap:wrap;gap:8px;display:flex}.c1-subjects button{border:1.5px solid var(--color-border-strong);background:var(--color-surface);min-height:40px;color:var(--color-ink);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 14px 0 10px;font-size:14px;font-weight:700;display:inline-flex}.c1-subjects button svg{color:hsl(var(--hue) 55% 45%)}.c1-subjects button[aria-pressed=true]{border-color:hsl(var(--hue) 60% 50%);background:hsl(var(--hue) 90% 95%);color:hsl(var(--hue) 55% 28%)}.c1-subjects button[aria-pressed=true] svg{color:hsl(var(--hue) 55% 40%)}.c1-suggestions{flex-wrap:wrap;overflow:visible}.c1-suggestions button{text-align:start;flex:0 auto;max-width:100%;height:auto;min-height:38px;padding-block:8px;line-height:1.3}.c1-question-chip{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.c1-next-hint{margin-block-start:10px}.bubble .ai-badge{margin-inline-start:2px}.c1-source{color:var(--color-brand-ink);align-items:flex-start;gap:6px;font-weight:700;text-decoration:none;display:inline-flex}.c1-source:hover{text-decoration:underline}.c1-thread-actions{flex-direction:column;gap:10px;display:flex}.c1-waiting{background:color-mix(in srgb, var(--color-warning-solid) 14%, var(--color-surface));color:var(--color-warning-ink);border-radius:18px;align-items:center;gap:12px;padding:14px 16px;font-size:14px;display:flex}.c1-waiting .avatar{flex:none;width:40px;height:40px;font-size:13px}.c1-thinking{gap:4px;display:inline-flex}.c1-thinking i{background:var(--color-border-strong);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite c1-dot}.c1-thinking i:nth-child(2){animation-delay:.15s}.c1-thinking i:nth-child(3){animation-delay:.3s}@keyframes c1-dot{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.c1-thinking i{animation:none}}.c1-profile{align-items:center;gap:16px;display:flex}.c1-profile .avatar{flex:none;width:64px;height:64px;font-size:22px}.c1-profile strong{font-size:20px;font-weight:800;line-height:1.2;display:block}a.mini-stat{color:var(--color-ink);transition:box-shadow var(--dur) var(--ease-out);text-decoration:none}a.mini-stat:hover{box-shadow:var(--shadow)}.mini-stat .c1-stat-icon{background:var(--color-soft);width:30px;height:30px;color:var(--color-brand);border-radius:10px;place-items:center;margin-block-end:6px;display:grid}.mini-stat .c1-stat-icon[data-tone=warning]{background:var(--color-warning);color:var(--color-warning-ink)}.mini-stat .c1-stat-icon[data-tone=success]{background:var(--color-success-soft);color:var(--color-success-ink)}:root[data-palette=night] .c1-subject-hero{background:hsl(var(--hue) 35% 20%)}:root[data-palette=night] .c1-subject-hero:after{background:hsl(var(--hue) 40% 28% / .6)}:root[data-palette=night] .c1-subject-hero .tile-icon,:root[data-palette=night] .c1-subject-hero .chip{background:hsl(var(--hue) 35% 28%);color:hsl(var(--hue) 80% 82%)}:root[data-palette=night] .c1-subject-hero .ring{--ring-color:hsl(var(--hue) 70% 70%);--ring-track:hsl(var(--hue) 30% 30%);--ring-bg:hsl(var(--hue) 35% 20%)}:root[data-palette=night] .c1-topic-num{background:hsl(var(--hue) 35% 24%);color:hsl(var(--hue) 80% 80%)}:root[data-palette=night] .subject-tile .c1-tile-pct{color:hsl(var(--hue) 80% 80%)}:root[data-palette=night] .c1-subjects button svg{color:hsl(var(--hue) 70% 72%)}:root[data-palette=night] .c1-subjects button[aria-pressed=true]{border-color:hsl(var(--hue) 60% 65%);background:hsl(var(--hue) 35% 22%);color:hsl(var(--hue) 80% 86%)}:root[data-palette=night] .c1-subjects button[aria-pressed=true] svg{color:hsl(var(--hue) 80% 80%)}.c1-modes .segmented button{white-space:nowrap;padding-inline:6px}.c1-source svg{flex:none;margin-block-start:2px}.c1-menu a{padding-block:10px}:root{--color-ink:#25214a;--color-muted:#6e6a93;--color-brand:#6d5df6;--color-brand-strong:#5a49ea;--color-brand-ink:#4b3cd0;--color-soft:#eeebff;--color-canvas:#f4f3ff;--color-surface:#fff;--color-subtle:#eeebff;--color-subtle-2:#e1dcfa;--color-border:#e4e0f7;--color-border-strong:#cdc6ef;--color-nav:#25214a;--color-nav-strong:#17143a;--color-accent-2:#ffb4c8;--color-success:#2fb58a;--color-success-ink:#17795a;--color-success-soft:#e3f6ef;--color-warning:#fff3df;--color-warning-ink:#8a5600;--color-warning-border:#f7dcae;--color-warning-solid:#f2a93b;--color-danger:#d43f57;--color-danger-soft:#fdebee;--color-danger-border:#f8cdd5;--color-info:#5a49ea;--color-info-soft:#eeebff;--color-info-border:#d9d3fb;--color-focus:#6d5df6;--color-overlay:#25214a6b;--color-backdrop:#e9e6fb;--color-neutral-soft:#f1f0f8;--color-hero-dark:#25214a;--color-on-brand:#fff;--font-heading:"Nunito Variable", "Nunito", system-ui, sans-serif;--font-body:"Nunito Variable", "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--tracking-caps:.14em;--radius-sm:12px;--radius:22px;--radius-lg:28px;--shadow-sm:0 1px 2px #25214a0f, 0 6px 18px -4px #25214a14;--shadow:0 2px 6px #25214a0f, 0 24px 48px -12px #25214a24;--shadow-lg:0 2px 6px #25214a14, 0 32px 64px -16px #25214a47;--tabbar-height:76px}body{background:var(--color-backdrop);font-feature-settings:normal;font-size:15px}h1,h2,h3,h4{letter-spacing:-.01em;font-weight:800}:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-brand) 45%, transparent);border-radius:12px;outline:0}.eyebrow{letter-spacing:.14em;font-weight:700}.small{font-size:13px}.btn{--btn-bg:var(--color-brand);--btn-fg:var(--color-on-brand);border-radius:999px;min-height:48px;padding:0 22px;font-size:16px;font-weight:700}.btn:hover{--btn-bg:var(--color-brand-strong)}.btn-block{min-height:56px}.btn-secondary{--btn-bg:var(--color-surface);--btn-fg:var(--color-ink);--btn-border:var(--color-border-strong)}.btn-secondary:hover{--btn-bg:var(--color-subtle)}.btn-tonal{--btn-bg:var(--color-subtle);--btn-fg:var(--color-brand-ink)}.btn-tonal:hover{--btn-bg:var(--color-subtle-2)}.btn-ghost{--btn-bg:transparent;--btn-fg:var(--color-brand-ink)}.btn-danger{--btn-bg:var(--color-danger);--btn-fg:#fff}.btn-ghost:hover{--btn-bg:var(--color-subtle)}.btn-sm{border-radius:999px;min-height:38px;padding:0 16px;font-size:14px}.btn-danger:hover{--btn-bg:color-mix(in srgb, var(--color-danger) 85%, #000)}.card{box-shadow:var(--shadow-sm);border:0;border-radius:28px;padding:20px}.card-title{font-size:18px;font-weight:800}.card-icon{background:var(--color-soft);width:40px;height:40px;color:var(--color-brand);border-radius:14px}.card-icon[data-tone=warning]{background:var(--color-warning);color:var(--color-warning-ink)}.card-icon[data-tone=danger]{background:var(--color-danger-soft);color:var(--color-danger)}.card-icon[data-tone=info]{background:var(--color-soft);color:var(--color-brand)}.card-icon[data-tone=success]{background:var(--color-success-soft);color:var(--color-success-ink)}a.card:hover,button.card:hover{box-shadow:var(--shadow)}.chip{border:0;padding:2px 10px;font-size:12px;font-weight:700}.chip-success{background:var(--color-success-soft);color:var(--color-success-ink)}.chip-warning{background:var(--color-warning);color:var(--color-warning-ink)}.chip-danger{background:var(--color-danger-soft);color:color-mix(in srgb, var(--color-danger) 80%, var(--color-ink))}.chip-info{background:var(--color-soft);color:var(--color-brand-ink)}.chip-neutral{background:var(--color-neutral-soft);color:var(--color-muted)}.callout{border:0;border-radius:18px;padding:14px 16px}.callout[data-tone=success]{background:var(--color-success-soft)}.callout[data-tone=success] svg{color:var(--color-success-ink)}.callout[data-tone=neutral]{background:var(--color-neutral-soft)}.input,.select,.textarea{background-color:var(--color-subtle);border:2px solid #0000;border-radius:18px;min-height:48px;padding:12px 16px;font-size:16px}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-subtle-2)}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-brand);background-color:var(--color-surface);box-shadow:none}.input::placeholder,.textarea::placeholder{color:color-mix(in srgb, var(--color-muted) 70%, transparent)}.select{background-position:right 16px center}.field-label{font-weight:700}.segmented{background:var(--color-subtle);border:0;border-radius:999px;gap:4px;padding:4px;display:flex}.segmented button{min-height:40px;color:var(--color-muted);border-radius:999px;flex:1;padding:0 14px;font-size:14px;font-weight:700}.segmented button[aria-pressed=true]{background:var(--color-brand);color:var(--color-on-brand);box-shadow:0 6px 14px -6px color-mix(in srgb, var(--color-brand) 70%, transparent)}.switch input:checked{background:var(--color-brand)}.check input{accent-color:var(--color-brand)}.avatar{background:linear-gradient(135deg, color-mix(in srgb, var(--color-accent-2) 45%, var(--color-surface)), var(--color-subtle-2));color:var(--color-ink);font-weight:800}.progress{background:var(--color-subtle);height:10px}.progress>span{background:var(--color-brand)}.progress[data-tone=warning]>span{background:var(--color-warning-solid)}.progress[data-tone=success]>span{background:var(--color-success)}.list-item{border-color:var(--color-border)}.toast{background:var(--color-ink);border-radius:999px;padding:12px 18px;font-weight:700}.dialog{border-radius:28px}@media (width<=600px){.dialog{border-radius:28px 28px 0 0}}.dialog-body:before{content:"";background:var(--color-subtle-2);border-radius:999px;align-self:center;width:40px;height:5px;margin-block:-10px 2px}.table th{background:var(--color-canvas)}.app{min-height:100dvh;max-width:var(--mobile-max);background:var(--color-canvas);--toast-offset:calc(var(--tabbar-height) + 16px);margin:0 auto;padding-block-end:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + 20px);position:relative}@media (width>=520px){.app{box-shadow:0 0 0 1px var(--color-border), 0 24px 64px color-mix(in srgb, var(--color-ink) 10%, transparent)}}.topbar{z-index:20;padding:calc(env(safe-area-inset-top) + 12px) 20px 12px;background:color-mix(in srgb, var(--color-canvas) 90%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.who{min-width:0;color:var(--color-ink);align-items:center;gap:12px;text-decoration:none;display:flex}.who .avatar{width:40px;height:40px;font-size:14px}.who small{color:var(--color-muted);font-size:12px;font-weight:600;line-height:1.2;display:block}.who strong{text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:800;line-height:1.25;display:block;overflow:hidden}.icon-btn{border:1.5px solid var(--color-border-strong);width:46px;height:46px;color:var(--color-ink);background:var(--color-surface);cursor:pointer;transition:background var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);border-radius:50%;flex:none;place-items:center;text-decoration:none;display:grid;position:relative}.icon-btn:hover{background:var(--color-subtle)}.badge-dot{background:var(--color-danger);width:9px;height:9px;box-shadow:0 0 0 2px var(--color-surface);border-radius:50%;position:absolute;inset-block-start:9px;inset-inline-end:10px}.wordmark{color:var(--color-ink);align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.wordmark-mark{background:var(--color-brand);height:34px;color:var(--color-on-brand);letter-spacing:.1em;border-radius:12px;place-items:center;padding:0 10px;font-size:12px;font-weight:900;display:grid}.wordmark-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.wordmark-text span{color:var(--color-ink);font-size:14px;font-weight:800}.wordmark-text small{color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.content{animation:enter var(--dur-slow) var(--ease-out) both;flex-direction:column;gap:16px;padding:4px 20px 24px;display:flex}.page-header{flex-direction:column;gap:8px;padding-block:4px 0;display:flex}.page-title{font-size:30px;font-weight:800;line-height:1.15}.back{color:var(--color-brand-ink);cursor:pointer;background:0 0;border:0;border-radius:999px;align-self:flex-start;align-items:center;gap:2px;margin-inline-start:-8px;padding:6px 12px 6px 4px;font-size:14px;font-weight:700;display:inline-flex}.back:hover{background:var(--color-subtle)}[dir=rtl] .flip-rtl{transform:scaleX(-1)}.section-title{color:var(--color-ink);justify-content:space-between;align-items:baseline;margin-block:8px -4px;font-size:18px;font-weight:800;display:flex}.section-title a,.section-title button{color:var(--color-brand-ink);cursor:pointer;background:0 0;border:0;font-size:14px;font-weight:700;text-decoration:none}.context-pill{background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-sm);border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:6px 14px 6px 6px;font-size:14px;display:inline-flex}.context-pill .avatar{width:28px;height:28px}.child-switcher{background:var(--color-subtle);border-radius:999px;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:4px;padding:4px;display:grid}.child-switcher button{min-height:48px;color:var(--color-muted);text-align:start;cursor:pointer;transition:background var(--dur) var(--ease-out);background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 4px;display:flex}.child-switcher button span:not(.avatar){flex-direction:column;line-height:1.2;display:flex}.child-switcher button strong{color:inherit;font-size:14px;font-weight:800}.child-switcher button small{font-size:11px}.child-switcher button .avatar{width:40px;height:40px}.child-switcher button[aria-selected=true]{background:var(--color-brand);color:var(--color-on-brand)}.child-switcher button[aria-selected=true] small{color:color-mix(in srgb, var(--color-on-brand) 80%, transparent)}.tabbar{z-index:30;max-width:var(--mobile-max);padding:10px 8px calc(14px + env(safe-area-inset-bottom));background:var(--color-surface);border-block-start:1px solid var(--color-border);justify-content:space-around;margin:0 auto;display:flex;position:fixed;inset-block-end:0;inset-inline:0}.tab{max-width:80px;color:var(--color-muted);flex-direction:column;flex:1 1 0;align-items:center;gap:4px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.tab-icon{width:56px;height:32px;transition:background var(--dur) var(--ease-out), color var(--dur) var(--ease-out);border-radius:999px;place-items:center;display:grid}.tab.is-active{color:var(--color-brand);font-weight:800}.tab.is-active .tab-icon{background:color-mix(in srgb, var(--color-brand) 16%, transparent);color:var(--color-brand)}.greeting{flex-direction:column;gap:2px;padding-block:4px 0;display:flex}.greeting h1{font-size:30px;line-height:1.15}.greeting p{color:var(--color-muted);font-size:14px}.hero-card{background:var(--color-brand);color:var(--color-on-brand);box-shadow:0 24px 40px -20px color-mix(in srgb, var(--color-brand) 80%, transparent);border-radius:28px;flex-direction:column;gap:12px;padding:22px;text-decoration:none;display:flex;position:relative;overflow:hidden}.hero-card:after{content:"";background:color-mix(in srgb, var(--color-on-brand) 8%, transparent);pointer-events:none;border-radius:50%;width:180px;height:180px;position:absolute;inset-block-start:-60px;inset-inline-end:-40px}.hero-card .eyebrow{color:color-mix(in srgb, var(--color-on-brand) 78%, transparent)}.hero-card h2{color:var(--color-on-brand);font-size:24px;line-height:1.2}.hero-card p,.hero-card small{color:color-mix(in srgb, var(--color-on-brand) 85%, transparent)}.hero-num{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:40px;font-weight:900;line-height:1}.hero-bars{align-items:flex-end;gap:6px;height:46px;display:flex}.hero-bars i{background:color-mix(in srgb, var(--color-on-brand) 28%, transparent);border-radius:6px;flex:1}.hero-bars i[data-on=true]{background:var(--color-on-brand)}.hero-card .btn{--btn-bg:var(--color-on-brand);--btn-fg:var(--color-brand);align-self:flex-start}.hero-card .btn:hover{--btn-bg:color-mix(in srgb, var(--color-brand) 10%, var(--color-on-brand))}.hero-card .chip{background:color-mix(in srgb, var(--color-on-brand) 18%, transparent);color:var(--color-on-brand)}.rows{flex-direction:column;gap:10px;display:flex}.prow{background:var(--color-surface);width:100%;color:var(--color-ink);text-align:start;box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow var(--dur) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:0;border-radius:18px;align-items:center;gap:14px;padding:14px;text-decoration:none;display:flex}.prow:hover{box-shadow:var(--shadow)}.prow:active{transform:scale(.99)}.prow-tile{background:var(--color-soft);width:46px;height:46px;color:var(--color-brand);border-radius:14px;flex:none;place-items:center;font-weight:900;display:grid}.prow-tile[data-tone=warning]{background:var(--color-warning);color:var(--color-warning-ink)}.prow-tile[data-tone=success]{background:var(--color-success-soft);color:var(--color-success-ink)}.prow-tile[data-tone=danger]{background:var(--color-danger-soft);color:var(--color-danger)}.prow-tile[data-tone=pink]{background:color-mix(in srgb, var(--color-accent-2) 30%, var(--color-surface));color:color-mix(in srgb, var(--color-accent-2) 45%, var(--color-ink))}.prow-tile[data-hue]{background:hsl(var(--hue) 90% 95%);color:hsl(var(--hue) 55% 42%)}.prow-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.prow-title{font-size:15px;font-weight:800;line-height:1.3}.prow-sub{color:var(--color-muted);font-size:13px}.prow-end{flex-direction:column;flex:none;align-items:flex-end;gap:4px;display:flex}.prow-value{font-variant-numeric:tabular-nums;font-size:16px;font-weight:900}.prow>.chev{color:var(--color-muted);flex:none}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.subject-tile{background:hsl(var(--hue) 90% 96%);min-height:150px;color:var(--color-ink);transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur) var(--ease-out);border-radius:24px;flex-direction:column;gap:10px;padding:18px;text-decoration:none;display:flex}.subject-tile:hover{box-shadow:var(--shadow)}.subject-tile:active{transform:scale(.98)}.subject-tile .tile-icon{background:var(--color-surface);width:42px;height:42px;color:hsl(var(--hue) 55% 42%);border-radius:14px;place-items:center;display:grid}.subject-tile strong{font-size:17px;font-weight:800}.subject-tile small{color:var(--color-muted);font-size:12px}.subject-tile .progress{background:color-mix(in srgb, var(--color-surface) 85%, transparent);height:8px;margin-block-start:auto}.subject-tile .progress>span{background:hsl(var(--hue) 60% 50%)}.ring{--p:0;--size:64px;width:var(--size);height:var(--size);background:conic-gradient(var(--ring-color,var(--color-brand)) calc(var(--p) * 1%), var(--ring-track,var(--color-subtle)) 0);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.ring:before{content:"";background:var(--ring-bg,var(--color-surface));border-radius:50%;position:absolute;inset:7px}.ring span{font-variant-numeric:tabular-nums;font-size:15px;font-weight:900;position:relative}.timeline-day{flex-direction:column;gap:8px;display:flex}.lesson{background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:18px;grid-template-columns:54px 1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.lesson time{font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.lesson time small{color:var(--color-muted);font-size:11px;font-weight:600;display:block}.lesson[data-state=done]{opacity:.6;box-shadow:none;background:color-mix(in srgb, var(--color-surface) 60%, transparent)}.lesson[data-state=now]{box-shadow:0 0 0 2px var(--color-brand), var(--shadow-sm)}.lesson-bar{background:hsl(var(--hue) 60% 55%);border-radius:4px;align-self:stretch;width:4px}.lesson-main{align-items:center;gap:10px;min-width:0;display:flex}.glance{flex-direction:column;list-style:none;display:flex}.glance li{border-block-start:1px solid var(--color-border);align-items:flex-start;gap:12px;padding-block:12px;display:flex}.glance li:first-child{border-block-start:0;padding-block-start:0}.glance li:last-child{padding-block-end:0}.glance-icon{background:var(--color-subtle);width:36px;height:36px;color:var(--color-muted);border-radius:12px;flex:none;place-items:center;display:grid}.glance-icon[data-tone=success]{background:var(--color-success-soft);color:var(--color-success-ink)}.glance-icon[data-tone=warning]{background:var(--color-warning);color:var(--color-warning-ink)}.glance-icon[data-tone=info]{background:var(--color-soft);color:var(--color-brand)}.glance-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.glance-title{font-weight:800}.glance-detail{color:var(--color-muted);font-size:13px}.plan-total{font-size:30px;font-weight:900;line-height:1}.plan-bar{gap:3px;height:10px;margin-block:12px 4px;display:flex}.plan-bar span{border-radius:4px}.quick-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.quick{background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur) var(--ease-out);border:0;border-radius:22px;flex-direction:column;gap:12px;padding:16px;text-decoration:none;display:flex}.quick:hover{box-shadow:var(--shadow)}.quick strong{font-size:15px;font-weight:800;display:block}.quick small{color:var(--color-muted);font-size:12px}.chat{flex-direction:column;gap:12px;display:flex}.bubble{max-width:88%;animation:enter var(--dur-slow) var(--ease-out) both;border-radius:22px;padding:12px 16px;font-size:15px;line-height:1.5}.bubble-me{background:var(--color-brand);color:var(--color-on-brand);border-end-end-radius:8px;align-self:flex-end}.bubble-school{background:var(--color-surface);box-shadow:var(--shadow-sm);border:0;border-end-start-radius:8px;align-self:flex-start}.bubble-teacher{background:color-mix(in srgb, var(--color-warning-solid) 14%, var(--color-surface));box-shadow:var(--shadow-sm);border-end-start-radius:8px;align-self:flex-start}.bubble-who{color:var(--color-brand-ink);align-items:center;gap:6px;margin-block-end:6px;font-size:12px;font-weight:800;display:flex}.bubble-teacher .bubble-who{color:var(--color-warning-ink)}.bubble-source{border-block-start:1px dashed var(--color-border);color:var(--color-muted);flex-direction:column;gap:2px;margin-block-start:10px;padding-block-start:10px;font-size:12px;display:flex}.hint-steps{flex-direction:column;gap:8px;margin-block-start:10px;list-style:none;display:flex}.hint-steps li{background:var(--color-canvas);border-radius:14px;gap:10px;padding:10px 12px;font-size:14px;display:flex}.hint-steps li b{background:var(--color-brand);width:22px;height:22px;color:var(--color-on-brand);border-radius:50%;flex:none;place-items:center;font-size:12px;display:grid}.hint-steps li[data-hidden=true]{color:var(--color-muted);background:repeating-linear-gradient(135deg, var(--color-canvas), var(--color-canvas) 8px, var(--color-subtle) 8px, var(--color-subtle) 16px)}.suggestions{scrollbar-width:none;gap:8px;padding-block-end:2px;display:flex;overflow-x:auto}.suggestions button{border:1.5px solid var(--color-border-strong);background:var(--color-surface);min-height:38px;color:var(--color-ink);cursor:pointer;border-radius:999px;flex:none;padding:0 16px;font-size:14px;font-weight:600}.suggestions button:hover{border-color:var(--color-brand);color:var(--color-brand-ink)}.composer{background:var(--color-surface);box-shadow:var(--shadow);border-radius:999px;gap:8px;padding:6px;display:flex;position:sticky;inset-block-end:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + 8px)}.composer .input{background:0 0;border:0;min-height:44px}.composer .input:focus{border:0}.composer .btn{width:44px;min-height:44px;padding:0}.player-top{align-items:center;gap:12px;display:flex}.timer{background:var(--color-surface);font-variant-numeric:tabular-nums;box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-weight:800;display:inline-flex}.timer[data-low=true]{background:var(--color-danger-soft);color:var(--color-danger)}.qdots{flex-wrap:wrap;gap:6px;display:flex}.qdots button{background:var(--color-surface);width:34px;height:34px;color:var(--color-muted);cursor:pointer;box-shadow:var(--shadow-sm);border:0;border-radius:50%;font-size:13px;font-weight:800}.qdots button[data-answered=true]{background:var(--color-soft);color:var(--color-brand-ink)}.qdots button[aria-current=true]{background:var(--color-brand);color:var(--color-on-brand)}.option{background:var(--color-surface);width:100%;min-height:58px;color:var(--color-ink);text-align:start;cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color var(--dur) var(--ease-out), background var(--dur) var(--ease-out);border:2px solid #0000;border-radius:18px;align-items:center;gap:12px;padding:12px 16px;font-size:16px;font-weight:600;display:flex}.option:hover{border-color:var(--color-subtle-2)}.option[aria-pressed=true]{border-color:var(--color-brand);background:color-mix(in srgb, var(--color-brand) 6%, var(--color-surface))}.option .letter{background:var(--color-subtle);width:32px;height:32px;color:var(--color-brand-ink);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:900;display:grid}.option[aria-pressed=true] .letter{background:var(--color-brand);color:var(--color-on-brand)}.option[data-result=right]{border-color:var(--color-success);background:var(--color-success-soft)}.option[data-result=right] .letter{background:var(--color-success);color:#fff}.option[data-result=wrong]{border-color:var(--color-danger);background:var(--color-danger-soft)}.option[data-result=wrong] .letter{background:var(--color-danger);color:#fff}.qprompt{font-size:22px;font-weight:800;line-height:1.3}.score-hero{align-items:center;gap:18px;display:flex}.score-hero .ring{--size:96px;--ring-color:var(--color-on-brand);--ring-track:color-mix(in srgb, var(--color-on-brand) 25%, transparent);--ring-bg:var(--color-brand)}.score-hero .ring span{color:var(--color-on-brand);font-size:22px}.att-grid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.att-grid .wd{color:var(--color-muted);text-align:center;font-size:11px;font-weight:800}.att-day{aspect-ratio:1.6;background:var(--color-success-soft);color:var(--color-success-ink);border-radius:10px;place-items:center;font-size:12px;font-weight:800;display:grid}.att-day[data-s=late]{background:var(--color-warning);color:var(--color-warning-ink)}.att-day[data-s=absent]{background:var(--color-danger-soft);color:var(--color-danger)}.att-day[data-s=excused]{background:var(--color-neutral-soft);color:var(--color-muted)}.att-day[data-s=none]{background:0 0}.legend{color:var(--color-muted);flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:4px;width:10px;height:10px}.stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.mini-stat{background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:20px;flex-direction:column;gap:2px;padding:14px;display:flex}.mini-stat strong{font-variant-numeric:tabular-nums;font-size:24px;font-weight:900;line-height:1.1}.mini-stat small{color:var(--color-muted);font-size:12px;font-weight:600}.ai-note{color:var(--color-muted);align-items:center;gap:6px;font-size:12px;display:flex}.ai-badge{background:var(--color-soft);color:var(--color-brand-ink);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.reader{font-size:17px;line-height:1.7}.reader p+p{margin-block-start:14px}.word-count{color:var(--color-muted);text-align:end;font-size:12px;font-weight:700}.criteria{flex-direction:column;gap:8px;list-style:none;display:flex}.criteria li{align-items:center;gap:10px;font-size:14px;display:flex}.file-drop{border:2px dashed var(--color-border-strong);background:var(--color-surface);text-align:center;cursor:pointer;border-radius:22px;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;display:flex}.file-drop:hover{border-color:var(--color-brand);background:color-mix(in srgb, var(--color-brand) 6%, var(--color-surface))}.file-row{background:var(--color-canvas);border-radius:18px;align-items:center;gap:12px;padding:12px;display:flex}.receipt{border:2px dashed color-mix(in srgb, var(--color-success) 35%, transparent);background:linear-gradient(180deg, var(--color-success-soft), var(--color-surface))}.receipt-code{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.card.help-hero{background:var(--color-hero-dark);color:#e3e0fb;border:0}.help-hero .card-title{color:#fff}.help-hero .card-icon{color:#fff;background:#ffffff1f}.menu{padding:0;list-style:none;overflow:hidden}.menu li+li{border-block-start:1px solid var(--color-border)}.menu a,.menu button{width:100%;min-height:60px;color:var(--color-ink);text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0 18px;font-weight:700;text-decoration:none;display:flex}.menu a:hover,.menu button:hover{background:color-mix(in srgb, var(--color-brand) 4%, var(--color-surface))}.menu .grow small{color:var(--color-muted);font-size:12px;font-weight:500;display:block}.signin{min-height:100dvh;max-width:var(--mobile-max);background:var(--color-canvas);flex-direction:column;margin:0 auto;display:flex}.signin-hero{padding:calc(env(safe-area-inset-top) + 36px) 24px 40px;background:var(--color-brand);color:var(--color-on-brand);border-end-end-radius:36px;border-end-start-radius:36px;position:relative;overflow:hidden}.signin-hero:after{content:"";background:var(--color-accent-2);opacity:.45;border-radius:50%;width:220px;height:220px;position:absolute;inset-block-end:-80px;inset-inline-end:-60px}.signin-hero h1{z-index:1;color:var(--color-on-brand);margin-block:28px 12px;font-size:34px;line-height:1.1;position:relative}.signin-hero p{z-index:1;color:color-mix(in srgb, var(--color-on-brand) 85%, transparent);position:relative}.signin-hero .wordmark-mark{background:color-mix(in srgb, var(--color-on-brand) 18%, transparent)}.signin-body{flex-direction:column;gap:14px;padding:24px 20px;display:flex}.role-card{align-items:center;gap:16px;display:flex}.otp{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;font-size:22px}.card.role-card{padding:18px;display:flex}:root[data-palette=terra]{--color-canvas:#f6efe3;--color-surface:#fffbf4;--color-subtle:#efe3cf;--color-subtle-2:#e3d2b6;--color-ink:#2b1f17;--color-muted:#76604c;--color-border:#e6d8c1;--color-border-strong:#d2bd9c;--color-brand:#b44d27;--color-brand-strong:#96401f;--color-brand-ink:#8a3a1b;--color-soft:#f6e2d6;--color-accent-2:#a9bc93;--color-success:#4f7a3f;--color-success-ink:#3c6030;--color-success-soft:#e7eedf;--color-warning-solid:#d9963a;--color-danger:#b33a2a;--color-focus:#b44d27;--color-info:#8a3a1b;--color-info-soft:#f6e2d6;--color-info-border:#ebc9b6;--color-backdrop:#e8dccb;--color-neutral-soft:#f1e9dc;--color-hero-dark:#2b1f17}:root[data-palette=ledger]{--color-canvas:#f5f8f9;--color-surface:#fff;--color-subtle:#eef3f5;--color-subtle-2:#dfe8ec;--color-ink:#0f2530;--color-muted:#58707c;--color-border:#e1e9ec;--color-border-strong:#c3d1d7;--color-brand:#0f7c7a;--color-brand-strong:#0b6563;--color-brand-ink:#0a5c5a;--color-soft:#e2f1f0;--color-accent-2:#8fb3ff;--color-success:#138a52;--color-success-ink:#0d6b3f;--color-success-soft:#e2f3ea;--color-warning-solid:#b7791f;--color-danger:#c93838;--color-focus:#0f7c7a;--color-info:#0a5c5a;--color-info-soft:#e2f1f0;--color-info-border:#c4e2e0;--color-backdrop:#dfe8ec;--color-neutral-soft:#eef3f5;--color-hero-dark:#0f2530}:root[data-palette=snack]{--color-canvas:#fff6e0;--color-surface:#fff;--color-subtle:#ffefcc;--color-subtle-2:#ffdf9e;--color-ink:#141210;--color-muted:#5a5248;--color-border:#f3e2bd;--color-border-strong:#e3c98f;--color-brand:#d6461c;--color-brand-strong:#b93a14;--color-brand-ink:#a83510;--color-soft:#ffe6d6;--color-accent-2:#a594ff;--color-success:#18a167;--color-success-ink:#0f7a4c;--color-success-soft:#ddf5e9;--color-warning-solid:#e6a800;--color-danger:#d42c33;--color-focus:#d6461c;--color-info:#5b43e0;--color-info-soft:#efebff;--color-info-border:#d8d0ff;--color-backdrop:#ffe9b8;--color-neutral-soft:#fbf1dc;--color-hero-dark:#141210}:root[data-palette=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-canvas:#130b2b;--color-surface:#1e1442;--color-subtle:#2a1f4f;--color-subtle-2:#3b2e66;--color-ink:#fff;--color-muted:#c9c2e6;--color-border:#33285c;--color-border-strong:#5b4e8a;--color-brand:#a99bff;--color-brand-strong:#c0b5ff;--color-brand-ink:#c9bfff;--color-soft:#a99bff29;--color-on-brand:#130b2b;--color-accent-2:#ff5fa2;--color-success:#5ce1a6;--color-success-ink:#7eeab9;--color-success-soft:#5ce1a624;--color-warning:#ffd16624;--color-warning-ink:#ffd166;--color-warning-border:#ffd1664d;--color-warning-solid:#ffd166;--color-danger:#ff6b6b;--color-danger-soft:#ff6b6b24;--color-danger-border:#ff6b6b4d;--color-info:#c9bfff;--color-info-soft:#a99bff24;--color-info-border:#a99bff4d;--color-focus:#a99bff;--color-overlay:#0009;--color-nav:#3b2e66;--color-backdrop:#0b0618;--color-neutral-soft:#2a1f4f;--color-hero-dark:#2a1f4f;--shadow-sm:0 1px 2px #0000004d, 0 6px 18px -4px #00000059;--shadow:0 2px 6px #0000004d, 0 24px 48px -12px #00000080;--shadow-lg:0 2px 6px #0000004d, 0 32px 64px -16px #000000b3}:root[data-palette=night] .subject-tile{background:hsl(var(--hue) 35% 20%)}:root[data-palette=night] .prow-tile[data-hue]{background:hsl(var(--hue) 35% 22%);color:hsl(var(--hue) 80% 78%)}:root[data-palette=night] .subject-tile .tile-icon{color:hsl(var(--hue) 80% 78%)}:root[data-palette=night] .toast{background:#3b2e66}.palette-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.palette-option{background:var(--color-subtle);color:var(--color-ink);cursor:pointer;text-align:start;border:2px solid #0000;border-radius:18px;flex-direction:column;align-items:flex-start;gap:8px;padding:10px;font-size:13px;font-weight:800;display:flex}.palette-option[aria-checked=true]{border-color:var(--color-brand);background:var(--color-surface)}.palette-option small{color:var(--color-muted);font-size:11px;font-weight:600}.palette-chip{border-radius:10px;width:100%;height:28px;display:flex;overflow:hidden}.palette-chip i{flex:1}:root[data-palette=night] .btn-danger{--btn-fg:#1a0505}.card.card-flush{padding:0}
