:root{--bg:#0f1115;--surface:#191d26;--surface-hi:#222836;--text:#e8eaf0;--muted:#9aa3b2;--accent:#6ea8fe;--highlight:#e0823c;--on-accent:var(--bg);--correct:#2f9e6b;--correct-text:#4bd08b;--incorrect:#d1596b;--incorrect-text:#f08497;--radius:14px;--font-serif:Garamond, "EB Garamond", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}a{color:var(--accent);text-decoration:none}h1,h2{margin:0}.app{flex-direction:column;height:100dvh;display:flex}.app-main{flex:1;min-height:0;position:relative;overflow-y:auto}.appbar{background:var(--bg);padding-top:env(safe-area-inset-top);flex:none}.appbar-row{border-bottom:1px solid var(--surface-hi);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;height:52px;padding:0 14px;display:grid}.appbar-left,.appbar-right{align-items:center;gap:2px;min-width:0;display:flex}.appbar-right{justify-content:flex-end}.appbar-center{justify-content:center;min-width:0;display:flex}.appbar-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.95rem;font-weight:600;overflow:hidden}.appbar-btn{appearance:none;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;padding:8px;font-size:1.05rem;line-height:1;display:inline-flex}.appbar-btn:active{background:var(--surface-hi)}.appbar-wordmark{appearance:none;color:var(--text);cursor:pointer;letter-spacing:-.02em;background:0 0;border:none;padding:8px;font-size:1.15rem;font-weight:700}.wordmark-shed{font-weight:700}.wordmark-kit{font-weight:300}.appbar-gear{position:relative}.xpose-badge{color:var(--highlight);background:var(--bg);border-radius:4px;padding:0 1px;font-size:.62rem;font-weight:700;line-height:1.1;position:absolute;bottom:calc(100% - 10px);left:calc(100% - 10px)}.appbar-progress{background:var(--surface-hi);height:4px}.appbar-progress-fill{background:var(--accent);width:0;height:100%;transition:width .3s}.screen{flex-direction:column;gap:24px;max-width:480px;margin:0 auto;padding:24px 20px 40px;display:flex}.screen-title{color:var(--text);font-size:1.5rem;font-weight:600}.concept-list{flex-direction:column;gap:12px;display:flex}.concept-card{background:var(--surface);border:1px solid var(--surface-hi);border-radius:var(--radius);color:var(--text);flex-direction:column;gap:4px;padding:18px;display:flex}.concept-card:active{background:var(--surface-hi)}.concept-name{font-weight:600}.concept-blurb{color:var(--muted);font-size:.9rem}.notation{justify-content:center;align-items:center;min-width:0;min-height:0;display:flex}.choice .notation{width:100%;height:100%}.prompt .notation{width:100%;height:clamp(72px,14vh,116px)}.btn{appearance:none;border:1px solid var(--surface-hi);color:var(--text);background:var(--surface-hi);cursor:pointer;text-align:center;border-radius:12px;padding:14px 20px;font-size:1rem;font-weight:600}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.lesson{grid-template-rows:1fr auto;width:100%;max-width:560px;height:100%;margin:0 auto;display:grid}.lesson-content{flex-direction:column;gap:20px;min-height:0;padding:16px;display:flex;overflow:hidden}.card{flex-direction:column;flex:1;gap:20px;min-height:0;display:flex}.prompt{text-align:center;flex-direction:column;flex:none;align-items:center;gap:12px;display:flex}.prompt-text{text-wrap:balance;margin:0;font-size:1.05rem;font-weight:500;line-height:1.35}.choices{flex:1;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:12px;min-height:0;display:grid}.choice{background:var(--surface);border:2px solid var(--surface-hi);min-width:0;min-height:0;color:var(--text);cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-size:1.05rem;display:flex;overflow:hidden}.choice-text{line-height:1.2}.formula{font-variant-numeric:tabular-nums;flex-wrap:nowrap;justify-content:center;align-items:baseline;gap:.4em;max-width:100%;font-size:clamp(.85rem,3.4vw,1.2rem);line-height:1.2;display:inline-flex}.formula-degree{white-space:nowrap}.formula-degree.is-altered{color:var(--highlight);font-weight:600}.prompt .formula{font-size:clamp(1.15rem,5vw,1.6rem);font-weight:500}.choice.is-selected{border-color:var(--accent);background:var(--surface-hi)}.choice.is-correct{border-color:var(--correct);background:color-mix(in srgb, var(--correct) 18%, transparent)}.choice.is-wrong{border-color:var(--incorrect);background:color-mix(in srgb, var(--incorrect) 18%, transparent)}.choice:disabled{cursor:default}.choice:disabled:not(.is-correct):not(.is-wrong){opacity:.45}.lesson-actions{min-height:116px;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--surface-hi);flex-direction:column;justify-content:flex-end;gap:12px;display:flex}.lesson-actions .btn{width:100%}.feedback-line{margin:0;font-size:1.1rem;font-weight:700}.lesson-actions.correct .feedback-line{color:var(--correct-text)}.lesson-actions.wrong .feedback-line{color:var(--incorrect-text)}.lesson-actions.correct .btn-primary{background:var(--correct);border-color:var(--correct);color:var(--on-accent)}.lesson-actions.wrong .btn-primary{background:var(--incorrect);border-color:var(--incorrect);color:var(--on-accent)}.summary{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.summary h3{margin:0 0 6px}.summary-line{margin:0;font-size:1.1rem}.summary-line.muted{color:var(--muted);font-size:.95rem}.summary-actions{flex-direction:column;gap:10px;width:100%;margin-top:16px;display:flex}.settings-h{color:var(--text);margin:0 0 16px;font-size:1.5rem;font-weight:600}.option-list{flex-direction:column;gap:10px;display:flex}.option-row{appearance:none;text-align:left;background:var(--surface);border:2px solid var(--surface-hi);color:var(--text);cursor:pointer;border-radius:12px;padding:16px;font-size:1rem}.option-row.is-selected{border-color:var(--accent);background:var(--surface-hi)}.muted{color:var(--muted)}.references-cover{z-index:10;background:var(--bg);font-family:var(--font-serif);padding:8px 0 calc(12px + env(safe-area-inset-bottom));flex-direction:column;gap:8px;display:flex;position:absolute;inset:0}.references-track{scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;min-height:0;display:flex;overflow-x:auto}.references-track::-webkit-scrollbar{display:none}.references-page{scroll-snap-align:center;flex-direction:column;flex:0 0 100%;justify-content:center;align-items:center;gap:10px;padding:4px 16px;display:flex}.references-dots{justify-content:center;gap:8px;display:flex}.references-dot{background:var(--surface-hi);border-radius:999px;width:7px;height:7px}.references-dot.is-active{background:var(--accent)}.modes-figure{justify-content:center;align-items:center;width:100%;height:100%;min-height:0;margin:0;display:flex}.modes-table{border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:min(2.4rem,4.16667vw - 1.66667px);line-height:1.1}.modes-name{text-align:left;color:var(--accent);white-space:nowrap;padding:.42em .7em .42em 0;font-weight:600}.modes-degree{text-align:center;color:var(--text);font-variant-numeric:tabular-nums;padding:.42em .55em}.modes-degree.is-altered{color:var(--highlight);font-weight:600}.cof-figure{flex-direction:column;align-items:center;gap:6px;min-height:0;margin:0;display:flex}.cof{width:auto;max-width:min(94vw,680px);height:auto;min-height:0;max-height:76vh}.cof-credit{color:var(--muted);text-align:center;font-size:.72rem}.cof-credit a{color:var(--muted);text-decoration:underline}
