:root{--paper:#f6f1eb;--panel:#fdfaf4;--ink:#1b1a18;--muted:#5f5b55;--line:#dcd3c3;--accent:#e8630c;--warn:#8f3226;--highlight:#f4e6b3;--right:#2f6b3a;--hover:#785a3c0f;--scrim:#1b1a1833;--font-serif:"Iowan Old Style", Georgia, "Times New Roman", serif;--font-sans:system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--reader-scale:1;--s-xs:.25rem;--s-s:.5rem;--s-m:.75rem;--s-l:1rem;--s-xl:1.25rem;--s-xxl:2.5rem;--tap:44px;--ib-over:calc((24px - var(--tap)) / 2);--text-over:calc((.85rem * 1.45 - var(--tap)) / 2);--r-xs:.2rem;--r-s:.35rem;--r-l:.75rem;--r-full:999px;--float:0 0 0 1px var(--line), 0 2px 8px #3c281924, 0 8px 28px #3c28191a;--sat:env(safe-area-inset-top);--sab:env(safe-area-inset-bottom);--pill:48px;--pill-gap:var(--s-m);--bar-strip:calc(var(--pill) + var(--pill-gap) * 2 + var(--sab));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{font-size:100%}body{background:var(--paper);color:var(--ink);font:450 .85rem/1.45 var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}*,:before,:after{box-sizing:border-box}h1,h2,h3,h4,p,blockquote{margin:0}h1,h2,h3,h4{font:inherit}strong,b{font-weight:inherit}a{color:var(--ink);text-underline-offset:.1em;text-decoration-thickness:1px}button{font:inherit;color:inherit;text-align:inherit;cursor:pointer;min-height:var(--tap);background:0 0;border:0;padding:0}button:disabled{color:var(--muted);cursor:default}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.display{font:400 2.5rem/1.15 var(--font-serif);letter-spacing:-.015em}.title{font:400 1.6rem/1.25 var(--font-serif)}.tile-t{font:400 1.15rem/1.3 var(--font-serif)}.reading{font:400 calc(1.025rem * var(--reader-scale))/1.45 var(--font-serif)}.chrome,.label{font:450 .85rem/1.45 var(--font-sans)}.label{color:var(--muted)}.ledger{font:400 .85rem/1.45 var(--font-mono);font-variant-numeric:tabular-nums;color:var(--muted)}input,select,textarea{font:450 1rem/1.45 var(--font-sans);color:inherit}.ledger.report{color:var(--ink)}.reading p{text-align:justify;-webkit-hyphens:auto;hyphens:auto;orphans:2;widows:2}.reading p+p{margin-top:1.15em}.measure{max-width:34em;padding:0 var(--s-xl);margin:0 auto}.lnk{color:var(--ink);text-underline-offset:.1em;text-decoration:underline;text-decoration-thickness:1px}a.lnk,button.lnk,.btn-sec,.btn-pri{min-height:var(--tap);align-items:center;display:inline-flex}.btn-sec,.choice,input:not([type=range],[type=file],.visually-hidden),select,textarea{min-height:var(--tap);padding:var(--s-s) var(--s-m);color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-s)}input:not([type=range],[type=file],.visually-hidden),select,textarea{width:100%}textarea{resize:none}::placeholder{color:var(--muted);opacity:1}input[type=range]{width:100%;min-height:var(--tap);accent-color:var(--ink)}.btn-sec,.btn-pri{border-radius:var(--r-s);justify-content:center;text-decoration:none}.btn-pri{padding:var(--s-s) var(--s-l);background:var(--ink);color:var(--paper)}.btn-pri.warn{background:var(--warn)}.btn-pri:disabled{color:var(--paper);background:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ribbon{background:var(--line);border-radius:var(--r-full);height:3px;overflow:hidden}.ribbon>i{background:var(--accent);border-radius:var(--r-full);height:100%;display:block}.ic{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px;display:block}.ib{width:var(--tap);height:var(--tap);flex:none;justify-content:center;align-items:center;display:inline-flex}.mk .ic,.undo .ic{width:16px;height:16px}.dots{justify-content:center;align-items:center;gap:3px;display:flex}.dots i{border-radius:var(--r-full);background:var(--muted);width:3.5px;height:3.5px}.spin:after{content:"|";text-align:center;width:.62em;animation:.62s step-end infinite er-spin;display:inline-block}@keyframes er-spin{0%{content:"|"}25%{content:"/"}50%{content:"-"}75%{content:"\\"}}.home,.screen{--shelf:44rem;--gutter:max(var(--s-xl), calc((100% - var(--shelf)) / 2));flex-direction:column;height:100dvh;display:flex}.home-head,.scr-head{padding-top:calc(var(--sat) + var(--s-m));padding-bottom:var(--s-xl);align-items:center;display:flex}.home{--cover:10rem;height:auto;min-height:100dvh;padding:0 var(--gutter) calc(var(--s-xl) + var(--sab))}.home-head{justify-content:space-between}.home-head .ib{margin:var(--ib-over) var(--ib-over) var(--ib-over) 0}.brand{align-items:center;gap:var(--s-s);display:flex}.home-notes{gap:var(--s-s);margin-bottom:var(--s-xl);flex-direction:column;display:flex}.cont{align-items:flex-end;gap:var(--s-l);padding:var(--s-m);margin:0 calc(-1 * var(--s-m)) var(--s-s);border-radius:var(--r-l);text-decoration:none;display:flex}.cont .cover{width:clamp(6.5rem, 22%, var(--cover))}.cont .typeset .tile-t{-webkit-line-clamp:3}.cont-text{gap:var(--s-s);flex-direction:column;flex:1;min-width:0;display:flex}.card{gap:var(--s-m);padding:var(--s-l);border:1px solid var(--line);border-radius:var(--r-l);flex-direction:column;text-decoration:none;display:flex}.stat3{gap:var(--s-s);grid-template-columns:repeat(3,1fr);display:grid}.stat{gap:var(--s-xs);flex-direction:column;display:flex}.shelf-head{margin:var(--s-xxl) 0 var(--s-l)}.shelf-head .lnk{margin:var(--text-over) 0}.tiles{gap:var(--s-s) var(--s-xs);margin:0 calc(-1 * var(--s-s));grid-template-columns:repeat(auto-fill, minmax(min(var(--cover), calc(50% - var(--s-xs))), 1fr));display:grid}.tile{gap:var(--s-s);min-width:0;padding:var(--s-s);border-radius:var(--r-l);flex-direction:column;display:flex;position:relative}.tile .cover{width:100%}.tile-text{gap:var(--s-xs);flex-direction:column;display:flex}.tile-text .tile-t,.typeset .tile-t{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tile-text .tile-t{text-decoration:none}a.tile-t:after{content:"";z-index:1;border-radius:var(--r-l);position:absolute;inset:0}.tile-meta{align-items:center;gap:var(--s-s);display:flex;position:relative}.tile-meta .ib{z-index:2;margin:var(--text-over) var(--ib-over) var(--text-over) auto;position:relative}.dot{border-radius:var(--r-full);background:var(--accent);flex:none;width:6px;height:6px}.menu{z-index:2;bottom:calc(100% + var(--s-xs));padding:var(--s-xs);background:var(--paper);border-radius:var(--r-l);box-shadow:var(--float);flex-direction:column;display:flex;position:absolute;left:0;right:0}.menu button{padding:var(--s-s) var(--s-m);border-radius:var(--r-s)}.menu p{padding:0 var(--s-m) var(--s-s)}.home-budget{margin-top:var(--s-xl)}.chip{padding:var(--s-xs) var(--s-s);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-s);align-self:flex-start}.wline{color:var(--warn)}.status{align-items:center;gap:var(--s-m);text-align:center;padding:var(--s-xxl) var(--s-xl);flex-direction:column;display:flex}.owl,.logo{aspect-ratio:1;-webkit-mask:var(--mark) center / contain no-repeat;-webkit-mask:var(--mark) center / contain no-repeat;mask:var(--mark) center / contain no-repeat;background:currentColor;flex:none}.owl{--mark:url(/owl.svg);width:7rem}.logo{--mark:url(/logo.svg);width:1.5em}.page{height:100dvh;padding-top:calc(var(--sat) + var(--s-m));padding-bottom:calc(var(--sab) + var(--s-m));flex-direction:column;display:flex;position:relative;overflow:hidden}.read-scroll{flex:1;min-height:0;overflow-y:auto}.ep-head{gap:var(--s-s);margin-bottom:var(--s-xl);padding-top:calc(var(--pill) + var(--pill-gap));flex-direction:column;display:flex}.ep-end{align-items:center;gap:var(--s-m);margin-top:var(--s-xxl);padding-bottom:calc(var(--pill) + var(--pill-gap) * 2);flex-direction:column;display:flex}.dk{letter-spacing:.85em;text-indent:.85em;margin-bottom:var(--s-m);line-height:1}.reading .nb{white-space:nowrap}.reading .w{all:unset;cursor:pointer;border-radius:var(--r-xs)}.reading .w.open{outline:2px solid var(--ink);outline-offset:1px}.reading .w:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.reading .s.speaking{background:var(--highlight);border-radius:var(--r-xs)}.reading p,.reading .s{scroll-margin-block:calc(var(--pill) + var(--pill-gap)) var(--bar-strip)}.tp-rail{left:var(--s-l);right:var(--s-l);max-width:35rem;bottom:calc(var(--pill-gap) + var(--sab));pointer-events:none;justify-content:flex-end;margin-inline:auto;display:flex;position:absolute}.tp-rail>*{pointer-events:auto}.tp-mark{width:var(--pill);height:var(--pill);border-radius:var(--r-full);background:var(--panel);box-shadow:var(--float);justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:flex}.tp-mark.gone{opacity:0;transform:translateY(calc(var(--pill) + var(--s-l)));pointer-events:none}.tp-rail.top{top:calc(var(--pill-gap) + var(--sat));justify-content:flex-start;bottom:auto}.tp-rail.top .gone{transform:translateY(calc(-1 * (var(--pill) + var(--s-l))))}.tp-pill{height:var(--pill);align-items:center;gap:var(--s-xs);padding:0 var(--s-xs);background:var(--panel);border-radius:var(--r-full);box-shadow:var(--float);flex:1;display:flex}.tp-left{padding:0 var(--s-xs);flex:none}.seek{flex:1;align-self:stretch;align-items:center;display:flex;position:relative}.seek .ribbon{flex:1}.seek input,.rate input{opacity:0;cursor:pointer;appearance:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.seek input::-webkit-slider-thumb{-webkit-appearance:none;width:8px;height:8px}.seek input::-moz-range-thumb{border:0;width:8px;height:8px}:is(.seek:has(input:focus-visible) .ribbon,.rate-slot:has(input:focus-visible) .rate-knob){outline:2px solid var(--accent);outline-offset:2px}.scrim{z-index:3;background:var(--scrim);animation:.3s er-fade;position:absolute;inset:0}.sheet{z-index:4;max-height:80%;padding:var(--s-xl) 0 calc(var(--s-m) + var(--sab));background:var(--paper);box-shadow:var(--float);border-radius:var(--r-l) var(--r-l) 0 0;transition:transform .2s;animation:.3s er-rise;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}@keyframes er-rise{0%{transform:translateY(100%)}}@keyframes er-fade{0%{opacity:0}}@media (width>=60rem){.scrim.pop{display:none}.sheet.pop{left:var(--s-l);right:var(--s-l);max-width:35rem;bottom:var(--bar-strip);border-radius:var(--r-l);max-height:70%;padding:var(--s-xl) 0 var(--s-s);margin-inline:auto;animation:.2s er-fade}}.rm-head{gap:var(--s-s);padding:0 var(--s-xl) var(--s-l);flex-direction:column;display:flex}.rm-row,.ep-row,.canon-row{width:100%;padding:var(--s-m) var(--s-xl);border-top:1px solid var(--line);color:var(--ink);align-items:center;text-decoration:none;display:flex}.rm-row{justify-content:space-between;gap:var(--s-l)}.rm-val{align-items:center;gap:var(--s-xs);display:flex}.rm-note{margin:var(--s-s) var(--s-xl) 0}.rm-body{align-items:flex-start;gap:var(--s-m);padding:0 var(--s-xl) var(--s-s);flex-direction:column;display:flex}.rm-body .btn-pri{margin-top:var(--s-s)}.sheet-head{align-items:center;gap:var(--s-xs);width:100%;padding:0 var(--s-xl) var(--s-m);display:flex}.sheet-head .ib{margin:var(--ib-over) 0 var(--ib-over) var(--ib-over)}.mk{width:1rem;color:var(--muted);flex:none;justify-content:center;align-items:center;display:inline-flex}.ep-list{border-bottom:1px solid var(--line)}.ep-row{gap:var(--s-m);min-height:var(--tap)}.ep-row>.ledger:first-child{flex:none;width:1.25rem}.ep-t{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.rate{z-index:4;right:0;bottom:calc(100% + var(--s-s));width:230px;padding:var(--s-s) var(--s-m);justify-content:center;gap:var(--s-s);background:var(--paper);border-radius:var(--r-l);box-shadow:var(--float);flex-direction:column;animation:.2s er-fade;display:flex;position:absolute}.rate-now{align-self:center}.rate-end{padding:0 var(--s-s);margin:0 calc(-1 * var(--s-s))}.rate-row{align-items:center;gap:var(--s-s);display:flex}.rate-slot{height:var(--tap);flex:1;align-items:center;margin:0 6px;display:flex;position:relative}.rate-track{background:var(--line);border-radius:var(--r-full);flex:1;height:2px}.rate-track i{background:var(--ink);border-radius:var(--r-full);height:100%;display:block}.rate-ticks{justify-content:space-between;display:flex;position:absolute;top:calc(50% + 4px);left:0;right:0}.rate-ticks i{background:var(--line);width:1px;height:4px}.rate-knob{border-radius:var(--r-full);background:var(--ink);width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute;top:50%}.gloss{z-index:2;left:var(--s-l);right:var(--s-l);bottom:var(--bar-strip);padding:var(--s-l) var(--s-xl);gap:var(--s-s);background:var(--paper);border-radius:var(--r-l);box-shadow:var(--float);flex-direction:column;animation:.3s er-rise;display:flex;position:absolute}.gloss-answers,.ladder-answers{gap:var(--s-s);display:flex}.gloss-answers .btn-sec,.ladder-answers .btn-sec{flex:1}.gloss-answers{margin-top:var(--s-xs)}.key{display:none}@media (width>=60rem){.gloss{width:20rem;box-shadow:none;border-left:1px solid var(--line);border-radius:0;animation:none;inset:0 0 0 auto;overflow-y:auto}.page:has(.gloss){padding-right:20rem}.page:has(.gloss) .tp-rail{right:calc(20rem + var(--s-l))}.page:has(.gloss) .sheet.pop{right:calc(20rem + var(--s-l))}}.screen{padding:0 var(--gutter) calc(var(--s-m) + var(--sab))}.screen.scroll{height:auto;min-height:100dvh}.scr-head{gap:var(--s-xs)}.scr-head .ib{margin:var(--ib-over) 0 var(--ib-over) var(--ib-over)}.study{--shelf:30rem;overflow:hidden}.study-body,.qa{justify-content:center;align-items:center;gap:var(--s-m);text-align:center;flex-direction:column;flex:1;min-height:0;display:flex}.study-body .btn-pri{margin-top:var(--s-xl);min-width:9rem}.study .status{flex:1;justify-content:center;padding:0}.verdict-slot{--bleed:max(var(--s-xl), calc((100vw - var(--shelf)) / 2));min-height:3.25rem;margin:0 calc(-1 * var(--bleed)) auto;align-self:stretch}.qa>:last-child{margin-bottom:auto}.verdict{align-items:center;gap:var(--s-m);padding:var(--s-m) var(--bleed);text-align:left;color:var(--paper);animation:.3s er-unroll;display:flex}.verdict.right{background:var(--right)}.verdict.wrong{background:var(--warn)}.verdict .ic{flex:none}@keyframes er-unroll{0%{clip-path:inset(0 0 100%)}}.qa-word{text-wrap:balance}.ask{padding:var(--s-s)}.choices{align-self:stretch;gap:var(--s-s);flex-direction:column;width:100%;max-width:24rem;margin:0 auto;display:flex}.choice{text-align:left;align-items:center;display:flex}.choice.quiet{background:var(--paper);color:var(--muted)}.study-status{align-items:center;gap:var(--s-m);padding-top:var(--s-l);display:flex}.study-status .ribbon{flex:1}.undo{gap:var(--s-xs)}.screen>.undo{margin-bottom:var(--text-over);align-self:flex-start}.probe-head{align-items:flex-start;gap:var(--s-xs);padding-bottom:var(--s-l);flex-direction:column}.account-form{align-items:stretch;gap:var(--s-s);flex-direction:column;display:flex}.account-form .btn-pri{margin-top:var(--s-m)}.account>.lnk,.account>.label{margin-top:var(--s-l)}.account>.lnk{align-self:flex-start}.account>.lnk+.lnk{margin-top:0}.ladder-hint{margin-top:var(--s-l)}.ladder-answers{width:100%;max-width:24rem}.placed blockquote{gap:var(--s-xs);flex-direction:column;display:flex}.new{gap:var(--s-s);flex-direction:column;flex:1;min-height:0;display:flex}.new textarea{flex:1;min-height:6rem}.new-tools{justify-content:space-between;align-items:center;gap:var(--s-l);padding-top:var(--s-xs);display:flex}.new-lang{width:auto;padding:var(--s-s);color:var(--muted);background:0 0;border:0}.new-foot{gap:var(--s-m);padding-top:var(--s-m);border-top:1px solid var(--line);flex-direction:column;display:flex}.new-line{justify-content:space-between;align-items:center;gap:var(--s-l);display:flex}.new-foot .btn-pri{width:100%}.canon-own,.canon{margin-inline:calc(-1 * var(--s-xl));border-bottom:1px solid var(--line)}.canon-own{width:auto;margin-bottom:var(--s-xl)}.canon-h{padding-bottom:var(--s-s)}.canon{flex:1;min-height:0;margin-block:0;padding:0;list-style:none;overflow-y:auto}.canon-row{gap:var(--s-l)}.canon-text{gap:var(--s-xs);flex-direction:column;min-width:0;display:flex}.cover{aspect-ratio:2/3;object-fit:cover;background:var(--line);border:1px solid var(--line);border-radius:var(--r-xs);flex:none;width:3rem;display:block}.typeset{padding:var(--s-l) var(--s-s);text-align:center;background:var(--panel);flex-direction:column;justify-content:space-between;align-items:center;display:flex;overflow:hidden}.typeset i{background:var(--line);flex:none;width:30%;height:1px}.typeset .tile-t{-webkit-line-clamp:4;overflow-wrap:anywhere}.book{gap:var(--s-l);min-height:0;padding-bottom:var(--s-l);flex-direction:column;flex:1;display:flex;overflow-y:auto}.book-cover{border:1px solid var(--line);border-radius:var(--r-xs);flex:none;align-self:flex-start;width:12rem;height:auto;display:block}.book-text{gap:var(--s-s);flex-direction:column;min-width:0;display:flex}.book-src a{color:inherit}@media (width>=40rem){.book{gap:var(--s-xl);flex-direction:row}.book-cover{width:14rem}}.sec{gap:var(--s-s);margin:0 calc(-1 * var(--s-xl)) var(--s-l);padding:var(--s-l) var(--s-xl) 0;border-top:1px solid var(--line);flex-direction:column;display:flex}.sec-h{margin-top:-.14em}.sec .label+.ledger{padding-bottom:var(--s-xs)}.sep{color:var(--muted)}.set-row{justify-content:space-between;align-items:center;gap:var(--s-l);min-height:1.45rem;display:flex}.set-lbl{margin-top:var(--s-s)}.sizer{align-items:center;gap:var(--s-s);display:flex}.shelves{align-items:center;gap:var(--s-xs) var(--s-m);padding:var(--s-xs) 0 var(--s-s);grid-template-columns:32px 1fr;display:grid}.shelves .ledger{text-align:right}.shelves .ribbon{height:8px}.shelves .ribbon>i{background:var(--ink)}.ladder{padding:var(--s-xs) 0 var(--s-s);margin:0;list-style:none}.rung{align-items:center;column-gap:var(--s-m);padding:var(--s-xs) 0;grid-template-columns:18px 1fr auto;display:grid;position:relative}.rung:before{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:8.5px}.rung:first-child:before{top:50%}.rung:last-child:before{bottom:50%}.rung.known:before{background:var(--ink)}.rung-dot{border-radius:var(--r-full);background:conic-gradient(var(--muted) calc(var(--p) * 1turn), var(--paper) 0);width:18px;height:18px;box-shadow:inset 0 0 0 1.5px var(--line);position:relative}.rung.next .rung-dot{box-shadow:inset 0 0 0 1.5px var(--ink)}.rung.known .rung-dot{background:var(--ink);box-shadow:none}.rung-names{flex-direction:column;display:flex}.rung:not(.known,.next) .tile-t{color:var(--muted)}.sec .btn-sec{align-self:flex-start}.links{padding-bottom:var(--s-xs);flex-direction:column;align-items:flex-start;display:flex}.screen.scroll .scrim,.screen.scroll .sheet{position:fixed}.legal>.lnk{align-self:flex-start}@media (hover:hover){a:hover,.lnk:not(:disabled):hover{text-decoration-thickness:2px}.ask:not(:disabled):hover{text-underline-offset:.1em;text-decoration:underline}.btn-sec:not(:disabled):hover,.choice:hover,.menu button:not(:disabled):hover,.rm-row:not(:disabled):hover,.ep-row:not(:disabled):hover,.cont:hover,a.card:hover,a.canon-row:hover,.reading .w:hover{background:var(--hover)}.tile:has(a.tile-t:hover){background:var(--hover)}.key{margin-right:var(--s-s);display:inline}}@media (prefers-reduced-motion:reduce){.spin:after{content:"·";animation:none}.tp-mark,.sheet{transition:none}.scrim,.sheet,.sheet.pop,.gloss,.rate,.verdict{animation:none}}
