:root{color-scheme:light;--surface:#FAF8FF;--surface-lowest:#FFFFFF;--surface-low:#F2F3FF;--surface-container:#EAEDFF;--surface-high:#E2E7FF;--surface-highest:#DAE2FD;--on-surface:#131B2E;--on-surface-var:#464556;--outline:#777587;--outline-var:#C7C4D8;--violet:#5B4EF5;--violet-deep:#412EDC;--violet-soft:#E3DFFF;--green:#10B981;--green-deep:#047857;--green-soft:#D1FAE5;--amber:#F59E0B;--amber-deep:#92610A;--amber-soft:#FEF3C7;--coral:#F97316;--coral-deep:#9A3412;--coral-soft:#FFEDD5;--sky:#0EA5E9;--sky-soft:#E0F2FE;--xs:.25rem;--sm:.5rem;--md:1rem;--lg:1.5rem;--xl:2.25rem;--gutter:.875rem;--margin:1rem;--r-sm:.5rem;--r-md:.75rem;--r-lg:1rem;--r-xl:1.5rem;--r-full:9999px;--shadow-sm:0 1px 2px rgba(19,27,46,.06),0 1px 3px rgba(19,27,46,.04);--shadow-md:0 2px 6px rgba(19,27,46,.07),0 4px 14px rgba(19,27,46,.05);--ui:"Plus Jakarta Sans",system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--surface);color:var(--on-surface);font-family:var(--ui);font-size:15px;line-height:24px;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button{border:0;background:none;color:inherit;cursor:pointer}button,input,select,textarea{font:inherit}::-webkit-scrollbar{display:none}:where(button,a,input,textarea,select):focus-visible{outline:2px solid var(--violet);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;display:inline-block;width:1em;height:1em;overflow:hidden;flex:none;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-webkit-user-select:none;-moz-user-select:none;user-select:none}.material-symbols-outlined.filled{font-variation-settings:"FILL" 1}.t-hxl{font-size:30px;line-height:38px;letter-spacing:-.02em;font-weight:800}.t-hlg{font-size:24px;line-height:32px}.t-hlg,.t-hmd{letter-spacing:-.01em;font-weight:700}.t-hmd{font-size:22px;line-height:30px}.t-hsm{line-height:26px;font-weight:700}.t-blg,.t-hsm{font-size:18px}.t-blg{line-height:28px}.t-blg,.t-bmd{font-weight:400}.t-bmd{font-size:15px;line-height:24px}.t-bsm{font-size:13px;font-weight:400}.t-bsm,.t-llg{line-height:20px}.t-llg{font-size:15px}.t-llg,.t-lmd{font-weight:600}.t-lmd{font-size:13px;line-height:18px;letter-spacing:.01em}.t-lsm{font-size:11px;line-height:16px;letter-spacing:.04em;font-weight:700}.dim{color:var(--on-surface-var)}.faint{color:var(--outline)}.app{max-width:520px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}.topbar{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(250,248,255,.88);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 1px 8px rgba(19,27,46,.04);padding-top:env(safe-area-inset-top,0)}.topbar-inner{max-width:520px;margin:0 auto;height:60px;padding:0 var(--gutter);justify-content:space-between}.brand,.topbar-inner{display:flex;align-items:center;gap:var(--sm)}.brand{min-width:0}.brand svg{width:30px;height:30px;flex:none}.brand .name{color:var(--violet-deep)}.brand .where{color:var(--on-surface-var)}.chips{display:flex;gap:6px}.chip,.chips{align-items:center}.chip{display:inline-flex;gap:3px;padding:4px 9px 4px 7px;border-radius:var(--r-full);white-space:nowrap}.chip .material-symbols-outlined{font-size:15px}.chip.streak{background:var(--amber-soft);color:var(--amber-deep)}.chip.xp{background:var(--surface-highest);color:var(--violet-deep)}.avatar{width:32px;height:32px;border-radius:var(--r-full);background:var(--violet);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;font-size:13px;font-weight:700}.screen{flex:1 1;padding:calc(60px + env(safe-area-inset-top, 0px) + var(--md)) var(--margin) calc(80px + env(safe-area-inset-bottom, 0px));display:flex;flex-direction:column;gap:var(--md)}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:50;background:rgba(250,248,255,.93);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 -4px 16px rgba(19,27,46,.05);padding-bottom:env(safe-area-inset-bottom,0)}.tabbar-inner{max-width:520px;margin:0 auto;height:62px;display:grid;grid-template-columns:1fr 1fr 78px 1fr 1fr;align-items:center}.tab{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 2px;color:var(--on-surface-var);position:relative}.tab .material-symbols-outlined{font-size:23px}.tab[aria-current=page]{color:var(--violet)}.tab[aria-current=page] .material-symbols-outlined{font-variation-settings:"FILL" 1}.tab .badge{position:absolute;top:2px;left:50%;margin-left:4px;min-width:17px;padding:0 4px;background:var(--coral);font-size:10px;line-height:17px;font-weight:700;text-align:center}.fab,.tab .badge{border-radius:var(--r-full);color:#fff}.fab{justify-self:center;width:60px;height:60px;margin-top:-22px;background:var(--violet);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;box-shadow:0 6px 18px rgba(91,78,245,.42);transition:transform .12s ease}.fab:active{transform:scale(.94)}.fab .material-symbols-outlined{font-size:25px;font-variation-settings:"FILL" 1}.fab span.cap{font-size:9px;letter-spacing:.04em;font-weight:700;margin-top:-1px}.card{background:var(--surface-lowest);border-radius:var(--r-xl);padding:var(--md);box-shadow:var(--shadow-sm)}.card.flat{background:var(--surface-container);box-shadow:none}.card-head{justify-content:space-between;gap:var(--sm);margin-bottom:var(--sm)}.card-head,.card-head .lhs{display:flex;align-items:center}.card-head .lhs{gap:8px;min-width:0}.icon-badge{width:32px;height:32px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;flex:none;background:var(--violet-soft);color:var(--violet-deep)}.icon-badge .material-symbols-outlined{font-size:17px}.pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--r-full);background:var(--surface-container);color:var(--on-surface-var);white-space:nowrap}.pill .material-symbols-outlined{font-size:14px}.pill.violet{background:var(--violet-soft);color:var(--violet-deep)}.pill.green{background:var(--green-soft);color:var(--green-deep)}.pill.amber{background:var(--amber-soft);color:var(--amber-deep)}.pill.coral{background:var(--coral-soft);color:var(--coral-deep)}.pill.sky{background:var(--sky-soft);color:#075985}.tiles{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.tile{border-radius:var(--r-lg);padding:10px 6px;text-align:center;background:var(--surface-container)}.tile .figure{display:flex;align-items:center;justify-content:center;gap:3px;font-size:18px;line-height:26px;font-weight:700}.tile .figure .material-symbols-outlined{font-size:16px}.tile .cap{display:block;margin-top:1px;color:var(--on-surface-var)}.tile.amber{background:var(--amber-soft)}.tile.amber .figure{color:var(--amber-deep)}.tile.green{background:var(--green-soft)}.tile.green .figure{color:var(--green-deep)}.tile.violet .figure{color:var(--violet-deep)}.btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;height:48px;border-radius:var(--r-full);font-size:15px;font-weight:600;transition:transform .12s ease}.btn:active{transform:translateY(1px)}.btn .material-symbols-outlined{font-size:19px}.btn.primary{background:var(--violet);color:#fff;box-shadow:0 3px 0 var(--violet-deep)}.btn.primary:disabled{opacity:.5;box-shadow:none}.btn.quiet{background:var(--surface-container);color:var(--on-surface)}.btn.coral{background:var(--coral);color:#fff;box-shadow:0 3px 0 var(--coral-deep)}.btn.sm{height:38px;font-size:13px}.row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px;border-radius:var(--r-lg);background:var(--surface-container)}.row+.row{margin-top:8px}.row .thumb{width:46px;height:46px;border-radius:var(--r-md);object-fit:cover;background:var(--surface-highest);flex:none}.row .thumb.tall{height:58px}.grow{flex:1 1;min-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chevron{width:30px;height:30px;border-radius:var(--r-full);background:var(--surface-lowest);color:var(--violet);display:flex;align-items:center;justify-content:center;flex:none;box-shadow:var(--shadow-sm)}.chevron .material-symbols-outlined{font-size:17px}.tint{width:4px;align-self:stretch;border-radius:2px;flex:none}.flags{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.sheet-photo{width:100%;display:block;border-radius:var(--r-lg);background:var(--surface-highest)}.sheet{background:var(--surface-lowest);border-radius:var(--r-xl);padding:var(--md);box-shadow:var(--shadow-sm)}.sheet textarea{width:100%;min-height:300px;border:0;background:transparent;color:var(--on-surface);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;line-height:1.8;resize:vertical}.sheet textarea:focus{outline:none}.sheet-note{margin:0 0 12px;padding:10px;border-radius:var(--r-md);background:var(--coral-soft);color:var(--coral-deep)}.topics{display:flex;flex-wrap:wrap;gap:7px}.topic{padding:6px 11px;border-radius:var(--r-full);background:var(--surface-container);color:var(--on-surface-var)}.topic[data-on=true]{background:var(--violet);color:#fff}.actions{display:flex;gap:10px}.actions .btn{flex:1 1}.form{display:grid;grid-gap:10px;gap:10px}.form input,.form select{width:100%;padding:13px 14px;border-radius:var(--r-lg);border:1px solid var(--outline-var);background:var(--surface-lowest);color:var(--on-surface)}.form input::placeholder{color:var(--outline)}.empty{text-align:center;padding:var(--lg) var(--md)}.empty .glyph{width:56px;height:56px;margin:0 auto var(--sm);border-radius:var(--r-full);background:var(--violet-soft);color:var(--violet);display:flex;align-items:center;justify-content:center}.empty .glyph .material-symbols-outlined{font-size:27px}.empty p{margin:6px 0 0;color:var(--on-surface-var)}.meter{height:8px;background:var(--surface-highest);overflow:hidden}.meter,.meter i{border-radius:var(--r-full)}.meter i{display:block;height:100%;background:var(--violet)}.gate{max-width:400px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:0 var(--lg);gap:var(--md)}.gate .mark{display:flex;align-items:center;gap:10px}.gate .mark svg{width:40px;height:40px}.gate p{margin:0;color:var(--on-surface-var)}.err{color:#B3261E}.ok{color:var(--green-deep)}.stack{display:flex;flex-direction:column;gap:var(--md)}.hr{height:1px;background:var(--outline-var);opacity:.5}.crumbs{display:flex;gap:6px;flex-wrap:wrap}.crumb,.crumbs{align-items:center}.crumb{display:inline-flex;gap:5px;padding:5px 11px;border-radius:var(--r-full);background:var(--surface-container);color:var(--on-surface-var);max-width:100%}.crumb .material-symbols-outlined{font-size:14px}.crumb .dot{width:7px;height:7px;border-radius:50%;flex:none}.title-edit{width:100%;border:0;resize:none;overflow:hidden;display:block;background:transparent;color:var(--on-surface);padding:0;font-size:24px;line-height:32px;letter-spacing:-.01em;font-weight:700;font-family:inherit}.title-edit:focus{outline:none}.title-edit::placeholder{color:var(--outline);font-weight:600}.scan{display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 9px;border-radius:var(--r-full);background:var(--surface-high);color:var(--violet-deep);width:-moz-fit-content;width:fit-content;max-width:100%}.scan .dotlive{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.scan .material-symbols-outlined{font-size:14px}.scan.low{background:var(--coral-soft);color:var(--coral-deep)}.scan.good{background:var(--green-soft);color:var(--green-deep)}.photo-wrap{position:relative;border-radius:var(--r-xl);overflow:hidden;background:var(--surface-highest);box-shadow:var(--shadow-sm)}.photo-wrap img{width:100%;display:block;max-height:62vh;object-fit:cover}.photo-wrap.open img{max-height:none;object-fit:contain}.photo-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(19,27,46,.55),rgba(19,27,46,0) 22%)}.photo-bar{position:absolute;left:10px;right:10px;bottom:10px;display:flex;justify-content:space-between;gap:8px}.ovl,.photo-bar{align-items:center}.ovl{display:inline-flex;gap:5px;padding:6px 11px;border-radius:var(--r-full);background:rgba(19,27,46,.78);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:0;min-width:0}.ovl .material-symbols-outlined{font-size:14px}.ovl.light{background:rgba(255,255,255,.95);color:var(--violet-deep)}.photo-tag{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:var(--r-full);background:rgba(14,165,233,.94);color:#fff}.photo-tag .material-symbols-outlined{font-size:13px}.pagestrip{display:flex;align-items:center;gap:10px}.pagethumb{position:relative;width:54px;height:54px;flex:none;border-radius:var(--r-md);overflow:hidden;background:var(--surface-highest)}.pagethumb img{width:100%;height:100%;object-fit:cover}.pagethumb i{position:absolute;inset:0;align-items:flex-end;padding-bottom:3px;background:linear-gradient(0deg,rgba(91,78,245,.85),rgba(91,78,245,0) 55%);color:#fff;font-style:normal;font-size:11px;letter-spacing:.04em;font-weight:700}.addpage,.pagethumb i{display:flex;justify-content:center}.addpage{height:54px;flex:1 1;align-items:center;gap:7px;border:1px dashed var(--outline-var);border-radius:var(--r-md);background:var(--surface-low);color:var(--violet-deep)}.addpage:active{transform:scale(.985)}.addpage .material-symbols-outlined{font-size:18px}.soon{background:var(--amber-soft);border-radius:var(--r-xl);padding:var(--md)}.soon .head{display:flex;align-items:flex-start;gap:10px}.soon .glyph{width:38px;height:38px;flex:none;border-radius:var(--r-md);background:var(--amber);color:#fff;display:flex;align-items:center;justify-content:center}.soon .glyph .material-symbols-outlined{font-size:20px;font-variation-settings:"FILL" 1}.soon h2{margin:0}.soon h2,.soon p{color:var(--amber-deep)}.soon p{margin:2px 0 0;opacity:.88}.soon ul{list-style:none;margin:var(--md) 0 0;padding:0;display:grid;grid-gap:7px;gap:7px}.soon li{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:var(--r-md);background:rgba(255,255,255,.72);color:var(--on-surface)}.soon li .material-symbols-outlined{font-size:17px;flex:none;color:var(--outline)}.soon li[data-done=true] .material-symbols-outlined{color:var(--green-deep)}.soon li[data-done=true] span.txt{color:var(--on-surface-var)}.ctas{display:grid;grid-gap:9px;gap:9px}.unit{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-low);color:var(--on-surface);text-align:left}.unit .material-symbols-outlined{font-size:18px;color:var(--on-surface-var)}.unit[data-hit=true]{background:var(--violet-soft);box-shadow:inset 3px 0 0 var(--violet)}.unit[data-hit=true],.unit[data-hit=true] .material-symbols-outlined{color:var(--violet-deep)}.checkpoint{display:flex;align-items:center;gap:8px;padding:5px 0}.snapwee{display:inline-flex;align-items:center;gap:4px;flex:none;padding:3px 9px;border-radius:var(--r-full);background:var(--coral-soft);color:var(--coral-deep)}.snapwee .material-symbols-outlined{font-size:13px}.snapwee:active{transform:scale(.96)}.q{background:var(--surface-lowest);border-radius:var(--r-xl);padding:var(--md);box-shadow:var(--shadow-sm);display:grid;grid-gap:8px;gap:8px}.q>.t-llg,.q>label{display:flex;align-items:flex-start;gap:8px}.q p{margin:0}.q .num{width:22px;height:22px;flex:none;border-radius:var(--r-full);background:var(--violet-soft);color:var(--violet-deep);display:inline-flex;align-items:center;justify-content:center;margin-top:-1px}.form textarea{width:100%;padding:12px 14px;border-radius:var(--r-lg);border:1px solid var(--outline-var);background:var(--surface-lowest);color:var(--on-surface);resize:vertical;line-height:22px}.form textarea::placeholder{color:var(--outline)}.form input:disabled,.form textarea:disabled{background:var(--surface-low)}.form input[type=date]{min-height:50px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sm)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.cal-dow{text-align:center;color:var(--outline);padding:4px 0}.cal-day{aspect-ratio:1/1.05;border-radius:var(--r-md);background:var(--surface-low);color:var(--on-surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0}.cal-day:active{transform:scale(.95)}.cal-day[data-out=true]{background:transparent;color:var(--outline-var)}.cal-day[data-today=true]{box-shadow:inset 0 0 0 2px var(--violet);color:var(--violet-deep)}.cal-day[data-has=true]{background:var(--violet-soft)}.cal-day[data-selected=true]{background:var(--violet);color:#fff}.cal-day .dots{display:flex;gap:2px;height:6px}.cal-day .dots b{width:6px;height:6px;border-radius:50%}.cal-day[data-selected=true] .dots b{box-shadow:0 0 0 1.5px #fff}.option{width:100%;min-height:52px;padding:12px 16px;border-radius:var(--r-lg);background:var(--surface-lowest);border:1.5px solid var(--outline-var);text-align:left;color:var(--on-surface)}.option:active{transform:translateY(1px)}.option:disabled{cursor:default}.option[data-state=picked]{border-color:var(--violet);background:var(--violet-soft)}.option[data-state=right]{border-color:var(--green);background:var(--green-soft);color:var(--green-deep)}.option[data-state=wrong]{border-color:var(--coral);background:var(--coral-soft);color:var(--coral-deep)}.actions .option{text-align:center}.flash{display:grid;grid-gap:10px;gap:10px;justify-items:start}.flash-front{overflow-wrap:anywhere}.card[data-result=right]{box-shadow:inset 4px 0 0 var(--green),var(--shadow-sm)}.card[data-result=wrong]{box-shadow:inset 4px 0 0 var(--coral),var(--shadow-sm)}.note-body{padding:10px 6px 4px}.md{font-size:15px;overflow-wrap:anywhere}.md,.md h3{line-height:24px}.md h3{font-size:17px;margin:14px 0 4px}.md h4{font-size:15px;line-height:22px;margin:12px 0 2px;color:var(--violet-deep)}.md>:first-child{margin-top:0}.md p{margin:6px 0}.md ol,.md ul{margin:6px 0;padding-left:20px}.md li{margin:3px 0}.md li.sub{margin-left:16px;list-style-type:circle}.md em{color:var(--on-surface-var)}.md blockquote{margin:8px 0;padding:8px 12px;border-radius:var(--r-md);background:var(--surface-low)}.md .maths{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;padding:1px 5px;border-radius:5px;background:var(--surface-container)}.md-table{overflow-x:auto;margin:8px 0;border-radius:var(--r-md)}.md table{border-collapse:collapse;width:100%;font-size:13px;line-height:19px}.md td,.md th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--surface-highest);vertical-align:top}.md th{background:var(--surface-container);font-weight:700}a.row{color:inherit;text-decoration:none}.score-row+.score-row{margin-top:12px}.score-top{display:flex;align-items:center;gap:8px;margin-bottom:6px}.score-top .truncate{flex:1 1;min-width:0}.accent-hint{-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-decoration-thickness:2px;text-underline-offset:3px}.seg{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;padding:4px;background:var(--surface-container)}.seg,.seg button{border-radius:var(--r-full)}.seg button{height:38px;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--on-surface-var)}.seg button .material-symbols-outlined{font-size:18px}.seg button[aria-pressed=true]{background:var(--surface-lowest);color:var(--violet-deep);box-shadow:var(--shadow-sm)}.screen.chat{padding-bottom:calc(150px + env(safe-area-inset-bottom, 0px));gap:10px}.bubble{max-width:88%;padding:10px 14px;border-radius:var(--r-xl);overflow-wrap:anywhere}.bubble.me{align-self:flex-end;background:var(--violet);color:#fff;border-bottom-right-radius:var(--r-sm)}.bubble.them{align-self:flex-start;background:var(--surface-lowest);box-shadow:var(--shadow-sm);border-bottom-left-radius:var(--r-sm)}.bubble.them.dim{display:inline-flex;align-items:center;gap:8px;color:var(--on-surface-var)}.bubble-photos{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.bubble-photos .pagethumb,.bubble-photos img{width:120px;height:120px;object-fit:cover;border-radius:var(--r-md);background:var(--surface-highest)}.dots{display:inline-flex;gap:3px}.dots i{width:6px;height:6px;border-radius:50%;background:var(--violet);animation:blink 1.2s ease-in-out infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.composer{position:fixed;bottom:0;left:0;right:0;z-index:50;background:rgba(250,248,255,.95);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 -4px 16px rgba(19,27,46,.05);padding-bottom:env(safe-area-inset-bottom,0)}.composer-inner{max-width:520px;margin:0 auto;padding:8px var(--gutter) 10px;display:grid;grid-gap:8px;gap:8px}.quick{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.quick .pill{flex:none;padding:6px 11px}.quick .pagethumb{position:relative}.unpick{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:rgba(19,27,46,.75);color:#fff;display:flex;align-items:center;justify-content:center}.unpick .material-symbols-outlined{font-size:13px}.composer-row{display:flex;align-items:flex-end;gap:8px}.composer-row .chevron{width:40px;height:40px}.composer-row .chevron:disabled{opacity:.5}.composer-row textarea{flex:1 1;min-width:0;min-height:40px;max-height:140px;padding:8px 14px;border-radius:20px;border:1px solid var(--outline-var);background:var(--surface-lowest);color:var(--on-surface);font-size:16px;line-height:22px;resize:none}.composer-row textarea::placeholder{color:var(--outline)}.send{width:40px;height:40px;flex:none;border-radius:var(--r-full);background:var(--violet);color:#fff;display:flex;align-items:center;justify-content:center}.send:disabled{opacity:.4}.practice-card{align-self:stretch;box-shadow:inset 4px 0 0 var(--violet),var(--shadow-sm)}.made{--c1:color-mix(in srgb,var(--subj) 14%,white);--c2:color-mix(in srgb,var(--subj) 9%,white);--c3:color-mix(in srgb,var(--subj) 20%,white);--c4:color-mix(in srgb,var(--subj) 6%,white);--c5:color-mix(in srgb,var(--subj) 16%,white);--c6:color-mix(in srgb,var(--subj) 11%,white);--ink:color-mix(in srgb,var(--subj) 70%,black);background:var(--surface-lowest);border-radius:var(--r-xl);padding:18px 16px;box-shadow:var(--shadow-sm);display:grid;grid-gap:12px;gap:12px;overflow-wrap:anywhere}.made[data-palette=pastel]{--c1:#FFF4B8;--c2:#D9F5E4;--c3:#FFDDE6;--c4:#DDEBFF;--c5:#EBDDFF;--c6:#FFE6CC}.made[data-palette=bright]{--c1:#FFE45C;--c2:#7EE2A8;--c3:#FF9DB5;--c4:#8EC5FF;--c5:#C3A2FF;--c6:#FFB873}.made[data-palette=mono]{--c1:#F1F1F3;--c2:#E8E8EC;--c3:#F1F1F3;--c4:#E8E8EC;--c5:#F1F1F3;--c6:#E8E8EC;--ink:var(--on-surface)}.made-title{margin:0;font-size:24px;line-height:30px;font-weight:800;color:var(--ink)}.made h3{margin:0 0 4px;font-size:15px;line-height:22px}.made h3,.made-h{font-weight:700;color:var(--ink)}.made-h{margin:6px 0 0;font-size:18px;line-height:24px;padding-bottom:4px;border-bottom:2px solid var(--c3)}.made-p{margin:0}.made ol,.made ul{margin:0;padding-left:20px}.made li{margin:3px 0}.made .maths{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;padding:1px 5px;border-radius:5px;background:rgba(19,27,46,.06)}.made strong{color:var(--ink)}.made-list.steps ol{padding-left:0;list-style:none;counter-reset:step}.made-list.steps li{counter-increment:step;display:flex;gap:8px;align-items:flex-start}.made-list.steps li:before{content:counter(step);flex:none;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--c3);color:var(--ink);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.made-terms dl{margin:0;display:grid;grid-gap:6px;gap:6px}.made-terms dl>div{padding:8px 10px;border-radius:var(--r-md);background:var(--c4)}.made-terms dt{font-weight:700;color:var(--ink)}.made-terms dd{margin:0}.made-compare table{width:100%;border-collapse:collapse;font-size:14px;line-height:20px}.made-compare th{background:var(--c3);color:var(--ink);text-align:left}.made-compare td,.made-compare th{padding:7px 8px;vertical-align:top;border-bottom:1px solid var(--c1)}.made-compare td:first-child{border-right:1px solid var(--c1)}.made-box{padding:10px 12px;border-radius:var(--r-lg);background:var(--c1)}.made-box[data-tone=tip]{background:var(--c2)}.made-box[data-tone=watch_out]{background:var(--c3)}.made-box[data-tone=example]{background:var(--c4)}.made-box[data-tone=mnemonic]{background:var(--c5)}.made-box .tag{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--ink);margin-bottom:2px}.made-box .tag .material-symbols-outlined{font-size:18px}.made-box p{margin:0}.made-box .hook{font-size:18px;line-height:26px;font-weight:700;color:var(--ink)}.made-map{display:grid;grid-gap:10px;gap:10px}.made-map .hub{justify-self:center;text-align:center;padding:10px 18px;border-radius:var(--r-full);background:var(--subj);color:#fff;font-weight:800;font-size:16px}.made[data-palette=bright] .made-map .hub,.made[data-palette=pastel] .made-map .hub{background:var(--on-surface)}.made-map .spokes{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;position:relative}.made-map .spoke{padding:8px 10px;border-radius:var(--r-lg);background:var(--c1);font-size:13px;line-height:19px}.made-map .spoke[data-n="1"]{background:var(--c2)}.made-map .spoke[data-n="2"]{background:var(--c3)}.made-map .spoke[data-n="3"]{background:var(--c4)}.made-map .spoke[data-n="4"]{background:var(--c5)}.made-map .spoke[data-n="5"]{background:var(--c6)}.made-map .spoke .label{font-weight:700;color:var(--ink);margin-bottom:2px;font-size:14px}.made-map .spoke ul{padding-left:16px}.made-cards{display:grid;grid-gap:10px;gap:10px}.flashcard{min-height:130px;width:100%;padding:14px;border-radius:var(--r-xl);background:var(--c1);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;box-shadow:inset 0 0 0 1.5px var(--c3)}.flashcard[data-flipped=true]{background:var(--surface-lowest)}.flashcard .side{color:var(--ink);opacity:.7}.flashcard .face{font-size:17px;line-height:25px;font-weight:600}.flashcard .hint{color:var(--outline)}@media print{.composer,.no-print,.tabbar{display:none!important}.screen{padding:0!important}.made{box-shadow:none;padding:0}body{background:#fff}.made-box,.made-map .spoke,.made-terms dl>div{page-break-inside:avoid;break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}}.gap-got{margin:0;padding-left:20px}.gap-got li{margin:3px 0}.gap-item+.gap-item{border-top:1px solid var(--surface-highest)}.gap-head{width:100%;display:flex;align-items:center;gap:8px;padding:10px 2px;text-align:left}.gap-head .material-symbols-outlined{color:var(--on-surface-var)}.gap-body{padding:0 2px 10px}.gap-body p,.gap-fix p{margin:0 0 6px}.gap-fix{padding:10px 12px;border-radius:var(--r-md);background:var(--surface-low)}.gap-fix+.gap-fix{margin-top:8px}.gap-fix p:last-child{margin-bottom:0}.checkwee{display:inline-flex;align-items:center;gap:4px;flex:none;padding:3px 9px;border-radius:var(--r-full);background:var(--violet-soft);color:var(--violet-deep)}.checkwee .material-symbols-outlined{font-size:13px}.checkwee:active{transform:scale(.96)}