:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f6f4;--surface:#fff;--text:#1f2328;--text-2:#5b6470;--line:#e2e2de;--ok:#1e7b4d;--bad:#b3261e;--accent-fill:#6b3f6e;--on-accent:#fff;--accent-text:#6b3f6e;--accent-tint:#f1e8f2;--shadow:0 1px 2px #1f23280f, 0 4px 16px #1f23280f;--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.25rem;--s6:1.5rem;--s8:2rem;--s10:2.5rem;--s12:3rem;--radius:12px;--radius-sm:8px;--touch:2.75rem;--reading-width:65ch;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-body:1.0625rem;--text-small:.875rem;--text-label:.8125rem;--line-height:1.5;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--tabbar-height:3.75rem;--rail-width:5.5rem;--sidebar-width:16.5rem}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#15171a;--surface:#1e2126;--text:#eceef1;--text-2:#a3abb5;--line:#30353c;--ok:#5cc58e;--bad:#f28b82;--accent-fill:#c9a0cc;--on-accent:#1c1220;--accent-text:#d9b8db;--accent-tint:#33263a;--shadow:0 1px 2px #0000004d, 0 4px 16px #0000004d}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#15171a;--surface:#1e2126;--text:#eceef1;--text-2:#a3abb5;--line:#30353c;--ok:#5cc58e;--bad:#f28b82;--accent-fill:#c9a0cc;--on-accent:#1c1220;--accent-text:#d9b8db;--accent-tint:#33263a;--shadow:0 1px 2px #0000004d, 0 4px 16px #0000004d}:root[data-text-size=small]{font-size:93.75%}:root[data-text-size=large]{font-size:112.5%}:root[data-text-size=xlarge]{font-size:125%}:root[data-reading-aid=on]{--line-height:1.75;letter-spacing:.03em;word-spacing:.08em}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font);font-size:var(--text-body);line-height:var(--line-height);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-wrap:break-word;margin:0}@media (width>=600px){:root{--text-body:1.125rem}}h1,h2,h3,p{margin:0}h1{letter-spacing:-.01em;font-size:1.5rem;font-weight:700;line-height:1.25}h2{font-size:1.125rem;font-weight:650;line-height:1.3}a{color:var(--accent-text)}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}input,select,textarea{font-size:max(1rem,16px)}:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px;border-radius:4px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn{justify-content:center;align-items:center;gap:var(--s2);min-height:var(--touch);padding:var(--s2) var(--s5);border-radius:var(--radius);text-align:center;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;font-weight:650;line-height:1.2;text-decoration:none;transition:background-color .12s,border-color .12s,opacity .12s;display:inline-flex}.btn:disabled{opacity:.55;cursor:default}.btn--main{background:var(--accent-fill);min-height:3.25rem;color:var(--on-accent)}.btn--secondary{background:var(--surface);border-color:var(--line);color:var(--text)}.btn--quiet{padding-inline:var(--s3);color:var(--accent-text)}.btn--block{width:100%;display:flex}.btn--small{min-height:2.25rem;padding:var(--s1) var(--s3);font-size:var(--text-small)}@media (hover:hover){.btn--main:hover:not(:disabled){filter:brightness(1.08)}.btn--secondary:hover:not(:disabled),.btn--quiet:hover:not(:disabled){background:var(--accent-tint)}}.btn:active:not(:disabled){opacity:.85}.icon-button{width:var(--touch);height:var(--touch);color:var(--text-2);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}@media (hover:hover){.icon-button:hover{background:var(--accent-tint);color:var(--accent-text)}}.icon{flex:none;display:block}.logo{border-radius:22%;flex:none;display:block}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s4)}@media (width>=600px){.card{padding:var(--s6)}}.stack{gap:var(--s4);flex-direction:column;display:flex}.muted{color:var(--text-2)}.empty{align-items:center;gap:var(--s3);max-width:28rem;padding:var(--s10) var(--s4);text-align:center;flex-direction:column;margin:0 auto;display:flex}.skeleton{background:var(--line);border-color:#0000;animation:1.4s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{50%{opacity:.5}}.field{gap:var(--s2);flex-direction:column;display:flex}.field label{font-size:var(--text-small);font-weight:650}.field input{width:100%;min-height:3.25rem;padding:var(--s2) var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);outline-offset:0}.field input:focus-visible{outline:3px solid var(--accent-text);border-radius:var(--radius);border-color:#0000}.field input[aria-invalid=true]{border-color:var(--bad)}.field input:disabled{opacity:.6}.form-message{font-size:var(--text-small);color:var(--text-2)}.form-message--bad{color:var(--bad);font-weight:600}.choice{border:0;min-width:0;margin:0;padding:0}.choice legend{margin-bottom:var(--s2);font-size:var(--text-small);padding:0;font-weight:650}.choice__options{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));gap:var(--s2);display:grid}@media (width<=599px){.choice--many .choice__options{grid-template-columns:repeat(2,minmax(0,1fr))}}.choice__option{position:relative}.choice__option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.choice__option>span{height:100%;min-height:var(--touch);padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:center;justify-content:center;align-items:center;font-size:1rem;font-weight:600;line-height:1.2;display:flex}.choice__option input:checked+span{border-color:var(--accent-fill);background:var(--accent-tint);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-fill)}.choice__option input:focus-visible+span{outline:3px solid var(--accent-text);outline-offset:2px}.toggle{align-items:flex-start;gap:var(--s3);min-height:var(--touch);cursor:pointer;display:flex}.toggle input{width:1.5rem;height:1.5rem;accent-color:var(--accent-fill);flex:none;margin:.125rem 0 0}.toggle__label{font-weight:600;display:block}.toggle__hint{font-size:var(--text-small);display:block}.banner{justify-content:center;align-items:center;gap:var(--s3);padding:var(--s2) var(--s4);background:var(--accent-tint);color:var(--text);font-size:var(--text-small);text-align:center;flex-wrap:wrap;font-weight:600;display:flex}.note{padding:var(--s3) var(--s4);border-radius:var(--radius);background:var(--accent-tint);font-size:var(--text-small)}.note--bad{border:1px solid var(--bad);color:var(--bad);background:0 0;font-weight:600}.tag{padding:0 var(--s2);border:1px solid var(--line);background:var(--bg);color:var(--text-2);font-size:var(--text-label);border-radius:999px;font-weight:650;line-height:1.6;display:inline-block}.facts{gap:var(--s3);margin:0;display:grid}.facts div{justify-content:space-between;gap:var(--s4);padding-bottom:var(--s3);border-bottom:1px solid var(--line);display:flex}.facts dt{color:var(--text-2)}.facts dd{text-align:right;margin:0;font-weight:600}.action-bar{bottom:var(--bar-bottom,0px);z-index:5;align-items:center;gap:var(--s2) var(--s3);margin:0 calc(-1 * var(--s4));padding:var(--s3) var(--s4);border-top:1px solid var(--line);background:var(--bg);flex-wrap:wrap;display:flex;position:sticky}.action-bar__main{flex:12rem}.action-bar__note{font-size:var(--text-small);flex-basis:100%}.action-bar__other{min-height:2.25rem;font-size:var(--text-small);flex-basis:100%}.action-bar--today{--bar-bottom:calc(var(--tabbar-height) + var(--safe-bottom))}@media (width>=600px){.action-bar{margin:0;padding-inline:0}.action-bar--today{--bar-bottom:0px;padding-bottom:var(--s4)}}@media (height<=480px){.action-bar{position:static}}.skip-link{top:calc(var(--s2) + var(--safe-top));left:var(--s2);z-index:30;padding:var(--s2) var(--s4);border-radius:var(--radius-sm);background:var(--accent-fill);color:var(--on-accent);font-weight:650;text-decoration:none;position:absolute;transform:translateY(-300%)}.skip-link:focus{transform:none}.shell__body{min-height:100dvh;padding-right:var(--safe-right);padding-bottom:calc(var(--tabbar-height) + var(--safe-bottom));padding-left:var(--safe-left)}.shell__main{outline:none}.nav{z-index:20;padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);border-top:1px solid var(--line);background:var(--surface);position:fixed;bottom:0;left:0;right:0}.nav__brand,.nav__item.nav__settings{display:none}.nav__list{height:var(--tabbar-height);margin:0;padding:0;list-style:none;display:flex}.nav__list li{flex:1 1 0;min-width:0}.nav__item{height:100%;min-height:var(--touch);color:var(--text-2);font-size:var(--text-label);touch-action:manipulation;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:.125rem;font-weight:650;line-height:1.2;text-decoration:none;display:flex}.nav__pill{padding:.125rem var(--s4);border-radius:999px;justify-content:center;align-items:center;transition:background-color .12s;display:flex}.nav__item[aria-current=page]{color:var(--accent-text)}.nav__item[aria-current=page] .nav__pill{background:var(--accent-tint)}.nav__item:focus-visible{outline-offset:-3px;border-radius:var(--radius-sm)}.page-header{z-index:10;justify-content:space-between;align-items:center;gap:var(--s3);min-height:calc(3.5rem + var(--safe-top));margin:0 calc(-1 * var(--s4)) var(--s3);padding:var(--safe-top) var(--s2) 0 var(--s4);background:var(--bg);display:flex;position:sticky;top:0}.page-header__settings{width:var(--touch);height:var(--touch);color:var(--text-2);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.page{width:100%;max-width:45rem;padding:0 var(--s4) var(--s8);margin:0 auto}.page--wide{max-width:70rem}.splash{place-items:center;min-height:100dvh;display:grid}@media (width>=600px){.shell__body{padding-bottom:var(--safe-bottom);padding-left:calc(var(--rail-width) + var(--safe-left))}.nav{align-items:stretch;gap:var(--s2);width:calc(var(--rail-width) + var(--safe-left));padding:calc(var(--s4) + var(--safe-top)) var(--s2) calc(var(--s4) + var(--safe-bottom)) calc(var(--s2) + var(--safe-left));border-top:0;border-right:1px solid var(--line);flex-direction:column;display:flex;top:0;right:auto;overflow-y:auto}.nav__brand{margin-bottom:var(--s4);justify-content:center;align-items:center;display:flex}.nav__brand-name{display:none}.nav__list{gap:var(--s2);flex-direction:column;flex:1;height:auto}.nav__list li{flex:none}.nav__item{height:auto;padding:var(--s2) 0;border-radius:var(--radius-sm)}.nav__item.nav__settings{display:flex}.nav__item:focus-visible{outline-offset:0}.page-header{min-height:0;margin:0 0 var(--s6);background:0 0;padding:0;position:static}.page-header h1{font-size:1.875rem}.page-header__settings{display:none}.page{padding:calc(var(--s8) + var(--safe-top)) var(--s8) var(--s12)}}@media (width>=600px) and (width<=1023px) and (height<=480px){.nav{padding-top:calc(var(--s2) + var(--safe-top));padding-bottom:calc(var(--s2) + var(--safe-bottom));gap:0}.nav__brand{display:none}.nav__list{gap:0}.nav__item{padding:var(--s1) 0}.page{padding-top:calc(var(--s4) + var(--safe-top))}}@media (width>=1024px){.shell__body{padding-left:calc(var(--sidebar-width) + var(--safe-left))}.nav{width:calc(var(--sidebar-width) + var(--safe-left));padding-right:var(--s3);padding-left:calc(var(--s3) + var(--safe-left))}.nav__brand{justify-content:flex-start;gap:var(--s3);margin-bottom:var(--s6);padding:0 var(--s3)}.nav__brand-name{letter-spacing:-.01em;font-size:1.125rem;font-weight:700;display:block}.nav__list{gap:var(--s1)}.nav__item{justify-content:flex-start;gap:var(--s3);min-height:3rem;padding:var(--s2) var(--s3);flex-direction:row;font-size:1rem}.nav__pill{padding:0}.nav__item[aria-current=page]{background:var(--accent-tint)}.nav__item[aria-current=page] .nav__pill{background:0 0}.page{padding-inline:var(--s12)}.nav__today{gap:var(--s1);margin-top:var(--s6);padding:var(--s3);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;display:flex}.nav__today-title{font-size:var(--text-small);font-weight:700}.nav__today-text{color:var(--text-2);font-size:var(--text-small)}}@media (width<=1023.98px){.nav__today{display:none}}@media (hover:hover){.nav__item:hover:not([aria-current=page]){color:var(--text)}.page-header__settings:hover{background:var(--accent-tint);color:var(--accent-text)}}@media (width>=1024px) and (height<=480px){.nav{padding-top:calc(var(--s2) + var(--safe-top));padding-bottom:calc(var(--s2) + var(--safe-bottom))}.nav__brand{margin-bottom:var(--s2)}.page{padding-top:calc(var(--s4) + var(--safe-top))}}.signin{min-height:100dvh;padding:calc(var(--s6) + var(--safe-top)) calc(var(--s4) + var(--safe-right)) calc(var(--s6) + var(--safe-bottom)) calc(var(--s4) + var(--safe-left));justify-content:center;align-items:center;display:flex}.signin__card{gap:var(--s6);flex-direction:column;width:100%;max-width:25rem;display:flex}@media (width>=600px){.signin__card{padding:var(--s8);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:var(--surface);box-shadow:var(--shadow)}}@media (height<=560px){.signin{align-items:flex-start}}.signin__brand{align-items:center;gap:var(--s4);display:flex}.signin__form{gap:var(--s4);flex-direction:column;display:flex}.signin__lead{color:var(--text-2)}.signin__lead strong{color:var(--text);overflow-wrap:anywhere}.field input.signin__code{font-variant-numeric:tabular-nums;letter-spacing:.3em;text-align:center;font-size:1.75rem;font-weight:700}.signin__more{justify-content:space-between;gap:var(--s1) var(--s2);margin:0 calc(-1 * var(--s3));flex-wrap:wrap;display:flex}.install{align-items:flex-start;gap:var(--s3);flex-direction:column;display:flex}.install__steps{gap:var(--s3);max-width:var(--reading-width);flex-direction:column;margin:0;padding-left:1.5em;display:flex}.install__steps li{padding-left:var(--s1)}.install__steps li::marker{color:var(--accent-text);font-weight:700}.install__share{border:1px solid var(--line);color:var(--accent-text);vertical-align:baseline;white-space:nowrap;border-radius:6px;align-items:center;gap:.25em;padding:0 .4em;font-weight:650;display:inline-flex}.chapter-grid{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(min(100%,17.5rem),1fr));margin:0;padding:0;list-style:none;display:grid}@media (width>=600px){.chapter-grid{gap:var(--s4)}}.chapter-card{gap:var(--s1);flex-direction:column;min-height:6.5rem;display:flex}.chapter-card__number{color:var(--accent-text);font-size:var(--text-small);font-weight:700}.chapter-card__title{font-size:1.125rem}.chapter-card__meta{padding-top:var(--s2);font-size:var(--text-small);margin-top:auto}.settings-section{gap:var(--s4);flex-direction:column;display:flex}.settings-section>h2+.muted{margin-top:calc(-1 * var(--s3))}.settings-email{color:var(--text);overflow-wrap:anywhere}.chapters-lead{margin-bottom:var(--s4)}.chapter-card--link{height:100%;color:var(--text);touch-action:manipulation;text-decoration:none}.chapter-card--link .chapter-card__title{font-size:1.125rem;font-weight:700}@media (hover:hover){.chapter-card--link:hover{border-color:var(--accent-text)}}.meter{height:.375rem;margin-top:var(--s2);background:var(--line);border-radius:999px;display:block;overflow:hidden}.meter__fill{background:var(--accent-fill);border-radius:999px;height:100%;display:block}.back-link{align-items:center;gap:var(--s1);min-height:var(--touch);color:var(--accent-text);font-size:var(--text-small);font-weight:650;text-decoration:none;display:inline-flex}.back-link__arrow{display:inline-flex;transform:rotate(-90deg)}.chapter-title{margin-bottom:var(--s6);font-size:1.5rem}.chapter-skeleton{height:16rem}.chapter-skeleton--short{border-radius:var(--radius);height:6rem}.chapter-problem{align-items:center;gap:var(--s3);margin-bottom:var(--s6);flex-wrap:wrap;display:flex}.chapter-section{gap:var(--s3);margin-bottom:var(--s8);flex-direction:column;display:flex}.chapter-section>h3{font-size:1.125rem}.actions{gap:var(--s3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.action{gap:var(--s1);min-height:var(--touch);padding:var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);touch-action:manipulation;flex-direction:column;text-decoration:none;display:flex}.action__title{color:var(--accent-text);font-weight:700}.action__detail{color:var(--text-2);font-size:var(--text-small)}@media (hover:hover){.action:hover{border-color:var(--accent-text)}}.section-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.section-list li+li{border-top:1px solid var(--line)}.section-list__link{align-items:center;gap:var(--s3);min-height:var(--touch);padding:var(--s2) var(--s4);color:var(--text);text-decoration:none;display:flex}.section-list__link .icon{color:var(--accent-text);flex:none}.section-list__title{overflow-wrap:anywhere;flex:1;min-width:0}.section-list__page{font-size:var(--text-small);flex:none}.word-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.word-list>summary{align-items:center;gap:var(--s2);min-height:var(--touch);padding:var(--s2) var(--s4);cursor:pointer;font-weight:650;display:flex}.word-list__words{padding:0 var(--s4) var(--s2);flex-direction:column;margin:0;display:flex}.word-list__word{padding:var(--s3) 0;border-top:1px solid var(--line)}.word-list__word dt{overflow-wrap:anywhere;font-weight:700}.word-list__word dd{color:var(--text-2);margin:0}.word-list__page{color:var(--accent-text);font-size:var(--text-small);white-space:nowrap;font-weight:650}.word-list>summary{list-style:none}.word-list>summary::-webkit-details-marker{display:none}.word-list>summary:after{border-right:2px solid var(--text-2);border-bottom:2px solid var(--text-2);content:"";width:.5rem;height:.5rem;margin-left:auto;transform:translateY(-25%)rotate(45deg)}.word-list[open]>summary:after{transform:translateY(25%)rotate(-135deg)}.progress-skeleton{height:20rem}.progress-section{gap:var(--s3);margin-bottom:var(--s8);flex-direction:column;display:flex}.progress-section>h2{font-size:1.25rem}.calendar{gap:var(--s2);padding:var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;margin:0;list-style:none;display:flex}.calendar__week{align-items:center;gap:var(--s3);display:flex}.calendar__label{width:4.25rem;color:var(--text-2);font-size:var(--text-small);font-variant-numeric:tabular-nums;flex:none}.calendar__week--now .calendar__label{color:var(--text);font-weight:700}.calendar__days{gap:var(--s1);flex:1;max-width:18rem;margin:0;padding:0;list-style:none;display:flex}.calendar__day{background:var(--line);border:2px solid #0000;border-radius:4px;flex:1;max-width:2rem;height:1.25rem;display:inline-block}.calendar__day--done{background:var(--accent-fill)}.calendar__day--part{border-color:var(--accent-fill);background:linear-gradient(to right, var(--accent-fill) 50%, transparent 50%)}.calendar__day--missed{border-color:var(--text-2);background:0 0}.calendar__day--rest{background:var(--text-2);opacity:.5;border:0;align-self:center;height:.25rem}.calendar__day--today{border-color:var(--accent-text);background:0 0}.calendar__key{gap:var(--s1) var(--s4);color:var(--text-2);font-size:var(--text-small);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.calendar__key li{align-items:center;gap:var(--s2);display:inline-flex}.calendar__key .calendar__day{flex:none;width:1.25rem;height:.875rem}.calendar__key .calendar__day--rest{height:.25rem}.figures{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));margin:0;display:grid}.figures>div{padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.figures dt{color:var(--text-2);font-size:var(--text-small)}.figures dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.5rem;font-weight:700}.chapter-rows,.quiz-rows{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.chapter-rows>li+li,.quiz-rows>li+li{border-top:1px solid var(--line)}.chapter-row{gap:var(--s1);padding:var(--s3) var(--s4);color:var(--text);flex-direction:column;text-decoration:none;display:flex}.chapter-row__name{overflow-wrap:anywhere;font-weight:650}.chapter-row__number{color:var(--accent-text)}.chapter-row__line{margin-top:var(--s1);color:var(--text-2);font-size:var(--text-small)}.chapter-row .meter{margin-top:0}.quiz-row{gap:0 var(--s3);padding:var(--s3) var(--s4);grid-template-columns:1fr auto;display:grid}.quiz-row__name{font-weight:650}.quiz-row__date{font-size:var(--text-small)}.quiz-row__score{color:var(--text-2);font-size:var(--text-small);grid-column:1/-1}.field--time input{align-self:flex-start;width:auto;min-width:9rem;max-width:100%}.field__problem{font-size:var(--text-small);color:var(--bad)}.reminder-zone{font-size:var(--text-small)}.reminder-skeleton{height:var(--touch);border-radius:var(--radius)}.reminder-device{gap:var(--s3);padding-top:var(--s4);border-top:1px solid var(--line);flex-direction:column;display:flex}.reminder-invite{gap:var(--s3);flex-direction:column;display:flex}.reminder-invite__actions{gap:var(--s3);flex-wrap:wrap;display:flex}.setup{min-height:100dvh;padding:calc(var(--s4) + var(--safe-top)) calc(var(--s4) + var(--safe-right)) 0 calc(var(--s4) + var(--safe-left))}.setup__inner{gap:var(--s5);max-width:40rem;min-height:calc(100dvh - var(--s4) - var(--safe-top));flex-direction:column;margin:0 auto;display:flex}@media (width>=600px){.setup{padding-top:calc(var(--s8) + var(--safe-top))}.setup__inner{min-height:calc(100dvh - var(--s8) - var(--safe-top))}}.setup__top{justify-content:space-between;align-items:center;gap:var(--s4);display:flex}.setup__progress{font-size:var(--text-small);text-align:right}.setup__dots{justify-content:flex-end;gap:6px;margin-top:4px;display:flex}.setup__dot{background:var(--line);border-radius:3px;width:1.75rem;height:6px}.setup__dot--on{background:var(--accent-fill)}.setup__step{gap:var(--s4);flex-direction:column;display:flex}.setup__step h1:focus{outline:none}.setup__loading{height:14rem}.setup .action-bar{padding-bottom:calc(var(--s3) + var(--safe-bottom));margin-top:auto}.check-grid{gap:var(--s2);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}@media (width>=600px){.check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.check-card{align-items:center;gap:var(--s3);height:100%;min-height:3.75rem;padding:var(--s2) var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;display:flex;position:relative}.check-card input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.check-card__box{border:2px solid var(--text-2);border-radius:6px;flex:none;place-items:center;width:1.5rem;height:1.5rem;display:grid}.check-card input:checked~.check-card__box{border-color:var(--accent-fill);background:var(--accent-fill)}.check-card input:checked~.check-card__box:after{content:"";border:solid var(--on-accent);border-width:0 3px 3px 0;width:.4rem;height:.75rem;margin-top:-.15rem;transform:rotate(45deg)}.check-card:has(input:checked){border-color:var(--accent-fill);background:var(--accent-tint)}.check-card input:focus-visible~.check-card__box{outline:3px solid var(--accent-text);outline-offset:2px}.check-card__text{flex-direction:column;line-height:1.3;display:flex}.check-card__number{color:var(--accent-text);font-size:var(--text-label);font-weight:700}.choice--many .choice__options--days{gap:var(--s1);grid-template-columns:repeat(7,minmax(0,1fr))}.choice__options--days .choice__option>span{padding-inline:0}.plan-weeks{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan-week{padding:var(--s3) var(--s4)}.plan-week__head{justify-content:space-between;align-items:baseline;gap:var(--s3);display:flex}.plan-week__head .muted{font-size:var(--text-small)}.plan-week__lines{margin:var(--s1) 0 0;padding:0;list-style:none}.today{gap:var(--s6);grid-template-columns:minmax(0,1fr);display:grid}.today__main{gap:var(--s4);flex-direction:column;min-width:0;display:flex}@media (width>=1024px) and (height>=481px){.today{grid-template-columns:minmax(0,1fr) 21rem;align-items:start}.today__aside{top:var(--s8);position:sticky}}.today-skeleton{height:7.5rem}.today-skeleton--tall{height:20rem}.today-summary{align-items:center;gap:var(--s4);display:flex}.today-summary__text{gap:var(--s1);flex-direction:column;flex:1;min-width:0;display:flex}.today-summary__headline{letter-spacing:-.01em;font-size:1.375rem;font-weight:700;line-height:1.25}.today-summary .muted,.today-rest .muted{font-size:var(--text-small)}.ring{flex:none}.ring__track,.ring__fill{fill:none;stroke-width:8px}.ring__track{stroke:var(--line)}.ring__fill{stroke:var(--accent-fill);stroke-linecap:round;transition:stroke-dashoffset .3s}.ring__text{fill:var(--text);font-size:16px;font-weight:700}.weekbar{margin-top:var(--s2)}.weekbar__label{font-size:var(--text-small);font-weight:650}.weekbar__blocks{gap:4px;max-width:16rem;margin-top:6px;display:flex}.weekbar__block{background:var(--line);border-radius:3px;flex:1;height:6px}.weekbar__block--past{background:var(--accent-fill);opacity:.45}.weekbar__block--now{background:var(--accent-fill)}.today-rest,.today-done{gap:var(--s2);flex-direction:column;display:flex}.steps{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.step{gap:var(--s3);padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;display:grid}.step--next{border-color:var(--accent-fill);box-shadow:inset 0 0 0 1px var(--accent-fill)}.step__mark{border:1px solid var(--line);background:var(--bg);width:2rem;height:2rem;color:var(--text-2);font-size:var(--text-small);border-radius:50%;place-items:center;font-weight:700;display:grid}.step--next .step__mark{background:var(--accent-fill);color:var(--on-accent);border-color:#0000}.step--done .step__mark{border-color:var(--ok);color:var(--ok);background:0 0}.step__title{padding-top:.2rem;font-weight:650;line-height:1.35}.step--done .step__title{color:var(--text-2)}.step__detail{font-size:var(--text-small)}.step__tags{gap:var(--s2);margin-top:var(--s1);flex-wrap:wrap;display:flex}.step__tags:empty{display:none}.step__side{align-items:flex-end;gap:var(--s1);flex-direction:column;display:flex}.step__time{color:var(--text-2);font-size:var(--text-small);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650;line-height:2rem}.coming-up__list{margin:var(--s3) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.coming-up__day{gap:0 var(--s3);padding:var(--s3) 0;border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;display:grid}.coming-up__date{font-weight:650}.coming-up__time{color:var(--text-2);font-size:var(--text-small);font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:1/2;font-weight:650}.coming-up__what{font-size:var(--text-small);grid-column:1/-1}.coming-up__note{margin-top:var(--s2);font-size:var(--text-label)}.less-time{gap:var(--s2);flex-direction:column;display:flex}.less-time__title{font-size:var(--text-small);font-weight:650}.less-time__choices{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.less-time__choice{min-width:4.5rem;min-height:var(--touch)}.less-time__choice[aria-pressed=true]{border-color:var(--accent-fill);background:var(--accent-tint);color:var(--accent-text);font-weight:700}.less-time__note{font-size:var(--text-small)}.session{width:100%;max-width:44rem;min-height:100dvh;padding:var(--safe-top) var(--safe-right) 0 var(--safe-left);flex-direction:column;margin:0 auto;display:flex}.session__top{align-items:center;gap:var(--s3);min-height:3.5rem;padding:var(--s1) var(--s4) var(--s1) var(--s2);display:flex}.session__bar{background:var(--line);border-radius:4px;flex:1;height:8px;overflow:hidden}.session__bar span{background:var(--accent-fill);border-radius:4px;height:100%;transition:width .25s;display:block}.session__left{color:var(--text-2);font-size:var(--text-small);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}.session__body{padding:var(--s3) var(--s4);flex:1;justify-content:center;align-items:center;display:flex}.flashcard{justify-content:center;align-items:center;gap:var(--s4);width:100%;min-height:min(24rem,52dvh);padding:var(--s6) var(--s5);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);color:var(--text);font:inherit;letter-spacing:inherit;text-align:center;border-radius:20px;flex-direction:column;display:flex}button.flashcard{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button.flashcard:focus-visible{border-radius:20px}.flashcard.skeleton{box-shadow:none}.flashcard__label{align-items:center;gap:var(--s2);color:var(--text-2);font-size:var(--text-small);font-weight:650;display:flex}.flashcard__front{letter-spacing:-.01em;overflow-wrap:anywhere;font-size:clamp(1.625rem,6vw,2rem);font-weight:700;line-height:1.2}.flashcard__front--meaning{font-size:clamp(1.25rem,4.5vw,1.5rem);font-weight:650;line-height:1.35}.flashcard__say{color:var(--text-2);font-size:var(--text-small);font-style:italic}.flashcard__rule{background:var(--line);border-radius:1px;width:3rem;height:2px}.flashcard__back{max-width:var(--reading-width);font-size:1.25rem;line-height:1.4}.flashcard__back--term{overflow-wrap:anywhere;font-size:clamp(1.625rem,6vw,2rem);font-weight:700;line-height:1.2}.flashcard__hint{color:var(--text-2);font-size:var(--text-small)}.session__actions{gap:var(--s2);padding:var(--s3) var(--s4) calc(var(--s3) + var(--safe-bottom));background:var(--bg);flex-direction:column;display:flex;position:sticky;bottom:0}.ratings__prompt{color:var(--text-2);font-size:var(--text-small);text-align:center}.ratings__prompt strong{color:var(--text)}.ratings{gap:var(--s2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.rating{min-height:3.75rem;padding:var(--s2) var(--s1);border-color:var(--line);background:var(--surface);color:var(--text);flex-direction:column;gap:.125rem;position:relative}.rating--good{background:var(--accent-fill);color:var(--on-accent);border-color:#0000}.rating__when{min-height:1.2em;font-size:var(--text-label);opacity:.8;font-weight:600}.rating__key,.session__keys{display:none}kbd{border:1px solid var(--line);background:var(--surface);min-width:1.5em;color:var(--text);text-align:center;border-bottom-width:2px;border-radius:5px;padding:0 .35em;font-family:inherit;font-size:.85em;font-weight:650;line-height:1.5;display:inline-block}.session__more{justify-content:space-between;align-items:center;gap:var(--s3);min-height:2.25rem;display:flex}.session__more .btn{white-space:nowrap;flex:none}@media (hover:hover) and (pointer:fine){.rating:hover:not(:disabled){border-color:var(--accent-fill)}.rating__key{font-size:.6875rem;display:block;position:absolute;top:.375rem;right:.375rem}.session__keys{font-size:var(--text-label);text-align:right;display:block}}@media (width>=600px){.session__actions{padding-bottom:calc(var(--s6) + var(--safe-bottom))}}@media (height<=480px){.session__actions{position:static}.flashcard{min-height:0;padding:var(--s4);gap:var(--s2)}}.session__finish{justify-content:center;align-items:center;gap:var(--s3);padding:var(--s6) var(--s4) calc(var(--s8) + var(--safe-bottom));text-align:center;flex-direction:column;flex:1;display:flex}.session__finish-actions{align-items:center;gap:var(--s2);margin-top:var(--s3);flex-direction:column;display:flex}.session__finish-actions .btn--main{min-width:14rem}.btn[aria-disabled=true]{opacity:.55;cursor:default}.session__form{flex-direction:column;flex:1;display:flex}.session__body--question{justify-content:flex-start;align-items:stretch;gap:var(--s4);padding-top:var(--s4);flex-direction:column}@media (width>=600px){.session__body--question{padding-top:var(--s6);padding-bottom:var(--s2);flex:none}.session__form .session__actions{padding-top:var(--s4)}}.question{gap:var(--s4);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.question__prompt{max-width:var(--reading-width);padding:0;font-size:1.25rem;font-weight:650;line-height:1.35}.options{gap:var(--s2);flex-direction:column;display:flex}.option{align-items:center;gap:var(--s3);min-height:3.5rem;padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;touch-action:manipulation;display:flex;position:relative}.option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.option input:disabled{cursor:default}.option__text{flex:1;line-height:1.4}.option__key{flex:none;display:none}.option__mark{flex:none;display:flex}.option--selected{border-color:var(--accent-fill);background:var(--accent-tint);box-shadow:inset 0 0 0 1px var(--accent-fill)}.option:has(input:focus-visible){outline:3px solid var(--accent-text);outline-offset:2px}.option--right{border-color:var(--ok);background:var(--surface);box-shadow:inset 0 0 0 1px var(--ok);color:var(--ok);font-weight:600}.option--wrong{border-color:var(--bad);background:var(--surface);box-shadow:inset 0 0 0 1px var(--bad);color:var(--bad)}.option--faded{opacity:.55}@media (hover:hover) and (pointer:fine){.option__key{display:inline-block}.option:hover:not(:has(input:disabled)){border-color:var(--accent-fill)}}.feedback{gap:var(--s1);padding:var(--s3) var(--s4);border-radius:var(--radius);background:var(--surface);border:1px solid;flex-direction:column;display:flex}.feedback--right{border-color:var(--ok)}.feedback--wrong{border-color:var(--bad)}.feedback__title{align-items:center;gap:var(--s2);font-weight:700;display:flex}.feedback--right .feedback__title{color:var(--ok)}.feedback--wrong .feedback__title{color:var(--bad)}.feedback__body{max-width:var(--reading-width)}.ratings--three{grid-template-columns:repeat(3,minmax(0,1fr))}.session__facts{width:100%;max-width:22rem;margin:var(--s2) 0;text-align:left}.order-steps{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.order-step{align-items:center;gap:var(--s3);min-height:3.5rem;padding:var(--s1) var(--s2) var(--s1) var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);display:flex}.order-step__number{width:1.5rem;color:var(--text-2);font-variant-numeric:tabular-nums;flex:none;font-weight:700}.order-step__text{flex:1;line-height:1.35}.order-step__moves{flex:none;display:flex}.order-step__moves .icon-button:disabled{opacity:.3;cursor:default}.order-step--right{border-color:var(--ok);box-shadow:inset 0 0 0 1px var(--ok)}.order-step--wrong{border-color:var(--bad);box-shadow:inset 0 0 0 1px var(--bad)}.field textarea{width:100%;padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);line-height:var(--line-height);resize:vertical}.field textarea:focus-visible{outline:3px solid var(--accent-text);border-radius:var(--radius);border-color:#0000}.field textarea:disabled{opacity:.8}.explain-box{field-sizing:content;min-height:7rem}.self-mark{gap:var(--s4);flex-direction:column;display:flex}.self-mark__reference{padding:var(--s3) var(--s4);border-radius:var(--radius);background:var(--accent-tint)}.self-mark__label{margin-bottom:var(--s2);font-size:var(--text-small);padding:0;font-weight:700}.self-mark__ideas{gap:var(--s2);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.self-mark__ideas .check-card{height:auto}.session--results{max-width:48rem}.results{gap:var(--s6);padding:var(--s4) var(--s4) calc(var(--s8) + var(--safe-bottom));flex-direction:column;display:flex}.results__head{align-items:center;gap:var(--s2);padding:var(--s6) 0 var(--s2);text-align:center;flex-direction:column;display:flex}.results__score{letter-spacing:-.01em;font-size:2rem;font-weight:700;line-height:1.2}.results__review{gap:var(--s3);flex-direction:column;display:flex}.results__clean{justify-content:center;align-items:center;gap:var(--s2);color:var(--ok);text-align:center;font-weight:650;display:flex}.go-over{gap:var(--s3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.go-over__item{gap:var(--s2);flex-direction:column;display:flex}.go-over__prompt{font-weight:650;line-height:1.35}.go-over__state{align-items:center;gap:var(--s1);color:var(--bad);font-size:var(--text-small);font-weight:700;display:flex}.go-over__state--partly{color:var(--text-2)}.go-over__page{color:var(--text-2);font-size:var(--text-small);font-weight:650}.feedback__body{gap:var(--s1);flex-direction:column;display:flex}.feedback__body:empty{display:none}.ideas-found{gap:var(--s2);margin:var(--s1) 0;flex-direction:column;padding:0;list-style:none;display:flex}.ideas-found__idea{align-items:flex-start;gap:var(--s2);color:var(--bad);display:flex}.ideas-found__idea--present{color:var(--ok)}.ideas-found__idea .icon{flex:none;margin-top:.15em}.ideas-found__idea>span{color:var(--text)}.feedback .self-mark__reference{margin:var(--s1) 0}.feedback--partly{border-color:var(--text-2)}.feedback--partly .feedback__title{color:var(--text)}.order-step__grip{width:var(--touch);min-height:var(--touch);margin:calc(-1 * var(--s1)) 0 calc(-1 * var(--s1)) calc(-1 * var(--s4));cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex-direction:column;flex:none;justify-content:center;align-self:stretch;align-items:center;gap:3px;display:flex}.order-step__grip>span{background:var(--text-2);border-radius:1px;width:1rem;height:2px}.order-step--dragging{border-color:var(--accent-text);box-shadow:0 4px 14px #0000002e}.order-step--dragging .order-step__grip{cursor:grabbing}.speak{align-items:stretch;gap:var(--s3);flex-direction:column;display:flex}.speak__button{gap:var(--s2)}.speak__panel{gap:var(--s3);padding:var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;align-self:stretch;display:flex}.speak__panel--live{border-color:var(--accent-text)}.speak__actions{gap:var(--s3);flex-wrap:wrap;display:flex}.speak__status{align-items:center;gap:var(--s2);flex-wrap:wrap;font-weight:600;display:flex}.speak__clock{font-variant-numeric:tabular-nums;color:var(--text-2);margin-left:auto;font-weight:400}.speak__dot{background:var(--bad);border-radius:50%;width:.75rem;height:.75rem}@media (prefers-reduced-motion:no-preference){.speak__dot{animation:1.2s ease-in-out infinite speak-pulse}}@keyframes speak-pulse{50%{opacity:.3}}.book{background:var(--bg);flex-direction:column;flex:1 0 26rem;min-height:26rem;display:flex}.book__bar{align-items:center;gap:var(--s2);min-height:3.25rem;padding:var(--s1) var(--s3);border-bottom:1px solid var(--line);background:var(--surface);display:flex}.book__title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.book__title .muted{font-size:var(--text-small)}.book__tools{align-items:center;gap:var(--s1);flex:none;display:flex}.book__tools .icon-button:disabled{opacity:.3;cursor:default}.book__zoom{font-size:1.5rem;font-weight:600;line-height:1}.book__scroll{touch-action:pan-x pan-y;background:var(--line);-webkit-overflow-scrolling:touch;flex:1 1 0;min-height:8rem;position:relative;overflow:auto}.pdf-page{-webkit-user-select:none;user-select:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;background:#fff;margin:0 auto;position:relative}.pdf-page__drawing,.pdf-page__marks,.pdf-page__text{position:absolute;inset:0}.pdf-page__drawing canvas{width:100%;height:100%;display:block}.pdf-page__marks{pointer-events:none;mix-blend-mode:multiply}.pdf-page__mark{background:#e9b8ee;border-radius:2px;position:absolute}.pdf-page__mark--noted{box-shadow:inset 0 -2px #6b3f6e}.pdf-page__mark--active{background:#d58ddb}.pdf-page__status{justify-content:center;align-items:center;gap:var(--s3);color:#1f2328;border-radius:0;flex-direction:column;display:flex;position:absolute;inset:0}.pdf-page__status--failed{background:#fff}.textLayer{letter-spacing:normal;word-spacing:normal;text-align:initial;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:canvastext;z-index:0;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));line-height:1;position:absolute;inset:0;overflow:clip}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;-webkit-user-select:text;user-select:text;position:absolute}.textLayer>:not(.markedContent),.textLayer .markedContent span:not(.markedContent){z-index:1;--font-height:0;--scale-x:1;--rotate:0deg;font-size:calc(var(--text-scale-factor) * var(--font-height));transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.textLayer .markedContent{display:contents}.textLayer span[role=img]{cursor:default;-webkit-user-select:none;user-select:none}.textLayer ::selection{color:#0000;background:#6b3f6e4d}.textLayer br::selection{background:0 0}.textLayer .endOfContent{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.textLayer.selecting .endOfContent{top:0}.book__problem{margin:var(--s2) var(--s3) 0}.book__selection,.book__panel{gap:var(--s3);max-height:45%;padding:var(--s3) var(--s4);border-top:1px solid var(--line);background:var(--surface);flex-direction:column;display:flex;overflow-y:auto}.book__quote{color:var(--text-2);font-size:var(--text-small);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-style:italic;display:-webkit-box;overflow:hidden}.book__selection-actions,.book__panel-actions{gap:var(--s2);flex-wrap:wrap;display:flex}.book__selection-actions .btn{min-height:var(--touch);flex:auto}.book__panel-head{justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.book__panel-head .icon-button{margin:calc(-1 * var(--s2))}.book__marks{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.book__mark{gap:var(--s1);width:100%;min-height:var(--touch);padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);text-align:left;cursor:pointer;flex-direction:column;display:flex}.book__mark-quote{color:var(--text-2);font-size:var(--text-small);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-style:italic;display:-webkit-box;overflow:hidden}.book__mark .muted{font-size:var(--text-small)}.book__nav{align-items:center;gap:var(--s2);padding:var(--s2) var(--s3) calc(var(--s2) + var(--book-safe-bottom,0px));border-top:1px solid var(--line);background:var(--surface);display:flex}.book__turn{padding-inline:var(--s3);flex:none}.book__arrow{display:inline-flex}.book__arrow--back{transform:rotate(-90deg)}.book__arrow--next{transform:rotate(90deg)}.book__goto{flex:1;min-width:0}.book__goto input{width:100%;min-height:var(--touch);padding:var(--s1) var(--s3);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--text);text-align:center}.page--book{max-width:60rem;min-height:calc(100dvh - var(--tabbar-height) - var(--safe-bottom));flex-direction:column;padding-bottom:0;display:flex}.page--book .page-header{margin-bottom:var(--s2)}.book-frame{margin:0 calc(-1 * var(--s4));border-top:1px solid var(--line);flex-direction:column;flex:1 0 auto;display:flex}.book-jump{align-items:center;gap:var(--s2);margin-bottom:var(--s3);display:flex}.book-jump label{font-size:var(--text-small);font-weight:650}.book-jump select{min-width:0;min-height:var(--touch);padding:var(--s1) var(--s3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);flex:1}@media (width>=600px){.page--book{min-height:100dvh;padding-bottom:var(--s6)}.book-frame{border:1px solid var(--line);border-radius:var(--radius);margin:0;overflow:hidden}}.book-sheet{width:100%;max-width:none;height:100dvh;max-height:none;padding:var(--safe-top) var(--safe-right) 0 var(--safe-left);background:var(--bg);color:var(--text);--book-safe-bottom:var(--safe-bottom);border:0;margin:0}.book-sheet[open]{flex-direction:column;display:flex;overflow-y:auto}.book-sheet::backdrop{background:#00000073}@media (width>=600px){.book-sheet{width:min(48rem, calc(100% - var(--s12)));height:calc(100dvh - var(--s8));margin:var(--s4) auto;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:0}}@media (width>=1024px) and (height>=481px){.book-sheet{border-width:0 0 0 1px;border-radius:0;width:50%;height:100dvh;margin:0 0 0 auto}.book-sheet::backdrop{background:#00000026}}.page-chip{align-self:flex-start;align-items:center;gap:var(--s1);min-height:2.25rem;padding:var(--s1) var(--s3);border:1px solid var(--line);background:var(--surface);color:var(--accent-text);font-size:var(--text-small);cursor:pointer;touch-action:manipulation;border-radius:999px;font-weight:650;display:inline-flex}.session--book{max-width:60rem;min-height:100dvh}.session--book .book{--book-safe-bottom:0px}.reading-bar{align-items:center;gap:var(--s2) var(--s3);padding:var(--s3) var(--s4) calc(var(--s3) + var(--safe-bottom));border-top:1px solid var(--line);background:var(--bg);flex-wrap:wrap;display:flex}.reading-bar__time{color:var(--text-2);font-size:var(--text-small);font-variant-numeric:tabular-nums;flex:8rem}.reading-bar .btn{flex:14rem}.book__bar{flex-wrap:wrap}.book__title{flex:6rem}.pdf-page__finds{pointer-events:none;mix-blend-mode:multiply;position:absolute;inset:0}.pdf-page__find{background:#ffe066;border-radius:2px;position:absolute;box-shadow:0 0 0 1px #d9a400}.book__search{align-items:center;gap:var(--s3);display:flex}.search-field{flex:1;min-width:0;display:flex;position:relative}.search-field svg{top:50%;left:var(--s4);color:var(--text-2);pointer-events:none;position:absolute;transform:translateY(-50%)}.search-field input[type=search]{width:100%;min-width:0;min-height:3.25rem;padding:var(--s2) var(--s4) var(--s2) calc(var(--s4) + 1.25rem + var(--s2));border:1.5px solid var(--line);background:var(--bg);color:var(--text);appearance:none;border-radius:999px;font-size:1rem}.glossary__search .search-field input[type=search]{background:var(--surface)}.search-field input[type=search]::placeholder{color:var(--text-2)}.search-field input[type=search]:focus-visible{border-color:var(--accent-text);outline:3px solid var(--accent-tint);outline-offset:0;border-radius:999px}.search-field:focus-within svg{color:var(--accent-text)}.book__search .btn{padding-inline:var(--s5);border-radius:999px;flex:none}.book__results{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.book__results-head{margin-top:var(--s2);font-size:var(--text-small)}.book__result{gap:var(--s1);width:100%;min-height:var(--touch);padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);text-align:left;cursor:pointer;flex-direction:column;display:flex}.book__result[aria-current=page]{border-color:var(--accent-text);box-shadow:inset 3px 0 0 var(--accent-text)}.book__result-page{font-weight:650}.book__result-page .muted{font-size:var(--text-small);font-weight:400}.book__result-text{color:var(--text-2);font-size:var(--text-small);overflow-wrap:anywhere;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.book__result mark,.glossary__entry mark{background:var(--accent-tint);color:var(--text);border-radius:2px;padding:0 1px;font-weight:650}.book__find{align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-top:1px solid var(--line);background:var(--surface);flex-wrap:wrap;display:flex}.book__find-text{min-width:0;font-size:var(--text-small);overflow-wrap:anywhere;flex:8rem}.book__find-query{font-weight:650}.book__find-actions{align-items:center;gap:var(--s1);flex-wrap:wrap;display:flex}.book__find-actions .btn:disabled{opacity:.4}.subtabs{gap:var(--s1);margin-bottom:var(--s3);padding:var(--s1);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);display:flex}.subtabs__tab{border-radius:var(--radius-sm);min-height:2.5rem;color:var(--text-2);touch-action:manipulation;flex:1;justify-content:center;align-items:center;font-weight:650;text-decoration:none;display:flex}.subtabs__tab[aria-current=page]{background:var(--accent-tint);color:var(--accent-text)}.glossary__search{margin-bottom:var(--s4)}.glossary__loading{border-radius:var(--radius);height:14rem}.glossary__letters{gap:var(--s1);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.glossary__letter{min-width:var(--touch);min-height:var(--touch);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;touch-action:manipulation;font-weight:650}.glossary__letter[aria-current=true]{border-color:var(--accent-fill);background:var(--accent-fill);color:var(--on-accent)}.glossary__count{margin-bottom:var(--s3);font-size:var(--text-small)}.glossary__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.glossary__entry{gap:var(--s2);padding:var(--s4) 0;border-top:1px solid var(--line);flex-direction:column;display:flex}.glossary__term{align-items:center;gap:var(--s2);overflow-wrap:anywhere;flex-wrap:wrap;font-size:1.0625rem;display:flex}.glossary__entry .page-chip{text-decoration:none}.glossary__entry .page-chip .muted{font-weight:400}.glossary__more{padding-top:var(--s4);justify-content:center;display:flex}.reading-bar__check{gap:var(--s2);flex-direction:column;flex:100%;display:flex}.reading-bar__choices{gap:var(--s2);flex-wrap:wrap;display:flex}.reading-bar .reading-bar__choices .btn{flex:0 auto}
