:root{--cream: #f4efe6;--paper: #fbf7ef;--ink: #2a241c;--ink-soft: #5c5348;--rule: #d8cfc0;--rust: #7a3e2e;--sage: #4d5a43;--moss: #6b7a58;--shadow: 0 18px 40px rgba(42, 36, 28, .08);--serif: "Fraunces", "Iowan Old Style", "Palatino Linotype", Palatino, serif;--text: "Source Serif 4", "Palatino Linotype", Palatino, serif;--sans: "Source Sans 3", "Helvetica Neue", Helvetica, Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(1200px 500px at 10% -10%,rgba(122,62,46,.06),transparent 50%),radial-gradient(900px 400px at 100% 0%,rgba(77,90,67,.05),transparent 46%),var(--cream);color:var(--ink);font-family:var(--text);font-size:1.05rem;line-height:1.65}h1,h2,h3,.wordmark{font-family:var(--serif);font-optical-sizing:auto;font-weight:560;letter-spacing:-.02em;line-height:1.15}h1{font-size:clamp(2rem,4vw,3.1rem);margin:0 0 .6rem}h2{font-size:1.05rem;font-weight:680;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .75rem}p{margin:0 0 1rem}a{color:inherit}button,.btn{font-family:var(--sans)}.app-shell{width:min(1280px,calc(100% - 2rem));margin:0 auto;padding:1.5rem 0 3rem}.site-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--rule)}.wordmark{font-size:2rem;text-decoration:none}.tagline{margin:.15rem 0 0;color:var(--ink-soft);font-family:var(--sans);font-size:.82rem;letter-spacing:.12em;text-transform:lowercase}.site-nav{display:flex;gap:1.25rem;font-family:var(--sans);font-size:.95rem;letter-spacing:.04em}.site-nav a,.site-nav button{text-decoration:none;color:var(--ink-soft);border-bottom:1px solid transparent;padding-bottom:.15rem}.site-nav button{background:none;border-top:0;border-right:0;border-left:0;padding:0 0 .15rem;font:inherit;letter-spacing:inherit;cursor:pointer}.site-nav a.active,.site-nav a:hover,.site-nav button:hover{color:var(--ink);border-bottom-color:var(--ink)}.restore-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.25rem;margin:1rem 0 0;padding:.85rem 1.05rem;background:#4d5a431a;border:1px solid rgba(77,90,67,.32);border-radius:10px}.local-only-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.85rem 1.25rem;margin:1rem 0 0;padding:.95rem 1.1rem;background:#7a3e2e24;border:2px solid var(--rust);border-radius:10px}.local-only-banner p{margin:0;max-width:46rem;font-family:var(--sans);color:var(--rust)}.local-only-banner strong{font-weight:700}.local-only-banner .btn{flex:0 0 auto}.local-only-banner--compact{margin:0 0 1.5rem}.restore-banner p{margin:0;font-family:var(--sans);color:var(--sage)}.site-footer{border-top:1px solid var(--rule);padding-top:1.25rem;color:var(--ink-soft);font-family:var(--sans);font-size:.85rem}.site-footer p{margin:0}.page-heading{max-width:40rem;margin-bottom:2.25rem}.eyebrow,.crumb{font-family:var(--sans);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.7rem}.crumb a{color:var(--rust);text-decoration:none}.lede{color:var(--ink-soft);font-size:1.15rem}.muted{color:var(--ink-soft)}.shelf-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1.75rem 1.25rem}.shelf-card{display:flex;flex-direction:column;gap:.85rem;text-decoration:none}.shelf-card__meta h2{font-family:var(--serif);font-size:1.05rem;letter-spacing:-.01em;text-transform:none;margin:0 0 .2rem}.shelf-card__meta p{margin:0;color:var(--ink-soft);font-family:var(--sans);font-size:.9rem}.shelf-card:hover .book-cover,.shelf-card:focus-visible .book-cover{transform:translateY(-4px)}.book-cover{position:relative;aspect-ratio:2 / 3;border-radius:3px 6px 6px 3px;overflow:hidden;box-shadow:var(--shadow);background:#2f2a24;transition:transform .18s ease}.book-cover--detail{width:min(220px,42vw)}.book-cover--recall{width:120px;flex:0 0 120px}.spine-face,.book-cover__image{position:absolute;inset:0;width:100%;height:100%}.spine-face{display:flex;flex-direction:column;justify-content:flex-end;padding:.9rem .75rem .85rem}.spine-face__rule{width:2.2rem;height:2px;margin-bottom:.65rem;opacity:.7}.spine-face__title{font-family:var(--serif);font-size:.98rem;line-height:1.2;margin:0 0 .35rem}.spine-face__author{font-family:var(--sans);font-size:.72rem;letter-spacing:.04em;margin:0}.book-cover__image{object-fit:cover;object-position:center top}.book-hero{display:flex;gap:2rem;align-items:flex-start;margin:1.5rem 0 2.5rem}.book-hero__copy{flex:1;min-width:0}.byline{font-family:var(--sans);color:var(--ink-soft);margin-top:-.25rem}.one-liner{font-size:1.25rem;font-style:italic;max-width:36rem}.book-hero__actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.25rem}.insight-block{background:var(--paper);border:1px solid rgba(216,207,192,.8);border-radius:10px;padding:1.25rem 1.35rem 1.15rem;margin-bottom:1rem}.insight-block p:last-child,.insight-block ol:last-child,.insight-block ul:last-child{margin-bottom:0}.key-ideas,.prompt-list{margin:0;padding-left:1.15rem}.key-ideas li,.prompt-list li{margin-bottom:.45rem}.prompt-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .55rem}.prompt-item__body{flex:1 1 12rem;min-width:0}.prompt-chip{display:inline-block;flex:0 0 auto;font-family:var(--sans);font-size:.68rem;font-weight:600;letter-spacing:.04em;line-height:1.2;color:var(--ink-soft);border:1px solid var(--rule);border-radius:999px;padding:.14rem .5rem;background:#f4efe6b3}.prompt-chip--cloze{color:var(--sage);border-color:#4d5a4359}.prompt-chip--teach-back{color:var(--moss);border-color:#6b7a5866}.prompt-chip--application{color:var(--rust);border-color:#7a3e2e4d}.recall-prompt .prompt-chip{display:block;width:fit-content;margin-bottom:.55rem}.book-audio audio{display:block;width:100%;max-width:36rem}.book-audio__status{margin:0;font-family:var(--sans);font-size:.92rem;color:var(--ink-soft)}.caveats{white-space:pre-wrap}.book-meta{margin-top:1.5rem;font-family:var(--sans);font-size:.85rem;color:var(--ink-soft)}.book-meta p{margin:0 0 .25rem}.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:var(--ink);color:var(--cream);text-decoration:none;padding:.55rem 1rem;border-radius:999px;font-size:.92rem;cursor:pointer}.btn--ghost{background:transparent;color:var(--ink)}.btn--score{min-width:6.2rem}.btn--knew{background:var(--sage);border-color:var(--sage)}.btn--partial{background:transparent;color:var(--ink)}.btn--missed{background:var(--rust);border-color:var(--rust);color:var(--cream)}.recall-card{display:flex;gap:1.5rem;align-items:flex-start;background:var(--paper);border:1px solid var(--rule);border-radius:12px;padding:1.4rem;box-shadow:var(--shadow)}.recall-card__book{font-family:var(--sans);font-size:.85rem;letter-spacing:.04em;color:var(--ink-soft);margin-bottom:.4rem}.recall-prompt{font-family:var(--serif);font-size:clamp(1.35rem,3vw,1.85rem);line-height:1.3;margin-bottom:1.1rem}.recall-answer{border-top:1px solid var(--rule);padding-top:1rem;margin-top:.4rem}.recall-answer__lede{font-style:italic}.recall-answer ul{margin:0 0 1rem;padding-left:1.1rem}.score-row{display:flex;flex-wrap:wrap;gap:.6rem}.score-tally{list-style:none;display:flex;gap:1.5rem;padding:0;margin:0 0 1.5rem;font-family:var(--sans)}.score-tally strong{font-family:var(--serif);font-size:1.6rem;display:block}.shelf-layout{display:grid;grid-template-columns:13.75rem minmax(0,1fr);gap:1.75rem 2rem;align-items:start}.shelf-rail{position:sticky;top:1.15rem;max-height:calc(100dvh - 2.3rem);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;display:flex;flex-direction:column;gap:1.15rem}.shelf-rail__title{margin:0;font-family:var(--sans);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.shelf-rail__toggle{display:none}.shelf-rail__summary{display:none;margin:.2rem 0 0;font-family:var(--sans);font-size:.82rem}.shelf-rail__body{display:flex;flex-direction:column;gap:1.2rem}.shelf-rail__group{display:flex;flex-direction:column;gap:.4rem}.shelf-rail__label{margin:0;font-family:var(--sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.shelf-rail__hint{margin:0;font-family:var(--sans);font-size:.75rem;color:var(--ink-soft)}.shelf-rail .filter-pills{flex-direction:column;align-items:stretch;gap:.28rem}.shelf-rail .filter-pills button{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;text-align:left;border-radius:8px;padding:.34rem .65rem}.theme-group{display:flex;flex-direction:column;gap:.28rem;margin-top:.35rem}.theme-group__label{margin:0;font-family:var(--sans);font-size:.66rem;letter-spacing:.08em;color:var(--ink-soft);opacity:.85}.theme-pill>span:first-child:before,.category-chip[style*=--theme-hue]:before,.dash-themes__name:before{content:"";display:inline-block;width:.42em;height:.42em;margin-right:.38em;border-radius:999px;vertical-align:.12em;background:oklch(.68 .09 var(--theme-hue, 60))}.category-chip.is-main{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 45%,var(--rule))}.theme-editor__main{display:inline-flex;align-items:center;gap:.45rem;margin-top:.55rem;font-family:var(--sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.theme-editor__main select{appearance:none;font-family:var(--sans);font-size:.8rem;letter-spacing:.02em;text-transform:none;border:1px solid var(--rule);background:transparent;color:var(--ink);border-radius:999px;padding:.24rem .75rem}.dash-themes{display:grid;gap:.1rem;font-family:var(--sans);font-size:.86rem}.dash-themes__row{display:grid;grid-template-columns:minmax(0,1fr) 3.2rem 3.4rem;align-items:baseline;gap:.5rem;padding:.32rem 0;border-bottom:1px solid var(--rule)}.dash-themes__row>:not(:first-child){text-align:right}.dash-themes__head{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.dash-themes__tagged{color:var(--ink-soft)}.filter-pills__count{font-size:.68rem;color:var(--ink-soft)}.shelf-rail .filter-pills button[aria-pressed=true] .filter-pills__count{color:inherit}.shelf-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem 1.25rem;margin:0 0 1.35rem}.filter-pills{display:flex;flex-wrap:wrap;gap:.35rem}.filter-pills button,.sort-label select{appearance:none;font-family:var(--sans);font-size:.78rem;letter-spacing:.04em;border:1px solid var(--rule);background:transparent;color:var(--ink-soft);border-radius:999px;padding:.28rem .7rem;cursor:pointer}.filter-pills button[aria-pressed=true],.filter-pills button:hover{color:var(--ink);border-color:var(--ink)}.sort-label{display:inline-flex;align-items:center;gap:.45rem;margin-left:auto;font-family:var(--sans);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.sort-label select{text-transform:none;letter-spacing:.02em;padding-right:1.6rem;min-width:8.4rem;background-image:linear-gradient(45deg,transparent 50%,var(--ink-soft) 50%),linear-gradient(135deg,var(--ink-soft) 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 7px) 50%;background-size:5px 5px;background-repeat:no-repeat}.shelf-count{margin:-.6rem 0 1rem;font-family:var(--sans);font-size:.85rem}.shelf-browse{display:grid;grid-template-columns:minmax(0,1fr) 1.45rem;column-gap:.45rem;align-items:start}.shelf-grid>li{scroll-margin-top:1.25rem}.letter-index{position:sticky;top:1.15rem;z-index:4;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:min(100%,calc(100dvh - 2.4rem));max-height:calc(100dvh - 2.4rem);padding:.1rem 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.letter-index::-webkit-scrollbar{display:none}.letter-index__btn{appearance:none;display:flex;align-items:center;justify-content:center;flex:1 1 0;width:100%;min-height:1.05rem;margin:0;padding:0;border:0;border-radius:4px;background:transparent;color:var(--ink);font-family:var(--sans);font-size:.62rem;font-weight:600;letter-spacing:.04em;line-height:1;cursor:pointer;touch-action:manipulation}.letter-index__btn:hover:not(:disabled),.letter-index__btn:focus-visible{color:var(--rust);background:#2a241c0f}.letter-index__btn:focus-visible{outline:1px solid var(--rust);outline-offset:1px}.letter-index__btn:disabled{color:var(--rule);cursor:default}.shelf-card__cover{position:relative}.shelf-marks{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .45rem;margin-top:.45rem;min-height:1.15rem}.category-chips{display:flex;flex-wrap:wrap;gap:.3rem;list-style:none;margin:.35rem 0 0;padding:0}.category-chips--md{margin:.15rem 0 .85rem}.category-chip{font-family:var(--sans);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--rule);border-radius:999px;padding:.1rem .42rem;line-height:1.2}.category-chips--sm{margin-top:.3rem}.category-chips--sm .category-chip{font-size:.62rem;letter-spacing:.04em;padding:.06rem .34rem}.theme-editor{margin:.15rem 0 .95rem}.theme-editor__label{margin:0 0 .4rem;font-family:var(--sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.theme-editor__chips{display:flex;flex-wrap:wrap;gap:.35rem}.category-chip--toggle{appearance:none;background:transparent;cursor:pointer;font:inherit}.category-chip--toggle[aria-pressed=true]{color:var(--ink);border-color:var(--ink);background:#2a241c0f}.theme-editor__note{margin:.45rem 0 0;font-family:var(--sans);font-size:.82rem;color:var(--ink-soft)}.status-chip,.tier-badge{font-family:var(--sans);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:.12rem .42rem;line-height:1.2}.status-chip--pending{color:var(--ink-soft);border:1px solid var(--rule)}.status-chip--partial{color:var(--moss);border:1px solid rgba(107,122,88,.45)}.status-chip--total{color:var(--sage);border:1px solid rgba(77,90,67,.4);background:#4d5a4314}.tier-badge--A{background:var(--rust);color:var(--cream)}.tier-badge--B{color:var(--sage);border:1px solid rgba(77,90,67,.4)}.tier-badge--C{color:var(--ink-soft);border:1px solid var(--rule)}.tier-badge--corner{position:absolute;top:.4rem;right:.4rem;z-index:1;box-shadow:0 6px 16px #2a241c2e}.personal-panel{background:var(--paper);border:1px solid rgba(216,207,192,.8);border-radius:10px;padding:1.25rem 1.35rem 1.2rem;margin-bottom:1.25rem}.personal-panel__lede,.personal-field__hint{font-family:var(--sans);font-size:.88rem;color:var(--ink-soft);margin:0 0 1rem}.personal-panel__grid{display:grid;gap:1.15rem}.personal-field{margin:0;padding:0;border:0}.personal-field legend{font-family:var(--sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.5rem;padding:0}.personal-field__row{display:flex;align-items:center;gap:.75rem}.segmented{display:flex;flex-wrap:wrap;gap:.45rem}.segmented button{appearance:none;display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;min-width:6.4rem;padding:.45rem .75rem;border:1px solid var(--rule);border-radius:10px;background:transparent;color:var(--ink);font-family:var(--sans);cursor:pointer}.segmented button small{color:var(--ink-soft);font-size:.72rem}.segmented button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--cream)}.segmented button[aria-pressed=true] small{color:#f4efe6b8}.segmented--tiers button{min-width:4.8rem}.tier-choice--A[aria-pressed=true]{background:var(--rust);border-color:var(--rust)}.star-rating{display:inline-flex;gap:.1rem}.star{appearance:none;border:0;background:transparent;color:var(--rule);font-size:1.35rem;line-height:1;padding:0 .05rem;cursor:pointer}.star--on{color:var(--rust)}.star-rating--sm .star{font-size:.92rem;cursor:inherit}.star-rating:not(.star-rating--sm) .star:hover,.star-rating:not(.star-rating--sm) .star:focus-visible{color:var(--rust)}.text-btn{appearance:none;border:0;background:transparent;color:var(--ink-soft);font-family:var(--sans);font-size:.82rem;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:.15em}.eyebrow .tier-badge{letter-spacing:.08em;vertical-align:.1em}.dash-grid,.dash-split{display:grid;gap:1rem;margin-bottom:1rem}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dash-split{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.dash-card{background:var(--paper);border:1px solid rgba(216,207,192,.8);border-radius:10px;padding:1.2rem 1.3rem 1.15rem}.dash-card__value{font-family:var(--serif);font-size:2.2rem;line-height:1;margin:0 0 .4rem}.dash-card__hint{margin:0;font-family:var(--sans);font-size:.88rem;color:var(--ink-soft)}.progress-track{height:5px;margin-top:.85rem;background:var(--rule);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--sage);border-radius:inherit}.dash-breakdown{list-style:none;margin:0;padding:0}.dash-breakdown li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.4rem 0;border-bottom:1px solid rgba(216,207,192,.7);font-family:var(--sans)}.dash-breakdown li:last-child{border-bottom:0;padding-bottom:0}.dash-breakdown small{color:var(--ink-soft)}.dash-breakdown strong{font-family:var(--serif);font-size:1.25rem}.tier-emphasis{color:var(--rust)}.dash-transfer{margin:0 0 1.5rem;border-color:#7a3e2e47}.dash-transfer h2{color:var(--rust)}.dash-transfer p{color:var(--ink-soft);max-width:40rem}.dash-transfer code{font-size:.88em}.dash-transfer .book-hero__actions{margin-top:.85rem}.sync-card__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.35rem}.sync-card__head h2{margin-bottom:0}.sync-status{margin:0;font-family:var(--sans);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.sync-status--ok{color:var(--sage)}.sync-status--pending,.sync-status--warn{color:var(--ink-soft)}.sync-status--err{color:var(--rust)}.sync-form{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.85rem}.sync-form input{flex:1 1 12rem;min-width:12rem;font-family:var(--sans);font-size:.95rem;padding:.55rem .9rem;border:1px solid var(--rule);border-radius:999px;background:var(--paper);color:var(--ink)}.sync-form input:focus{outline:2px solid rgba(77,90,67,.35);outline-offset:1px}.sync-form--stack{flex-direction:column;align-items:stretch}.sync-form--stack input{flex:1 1 auto;min-width:0;max-width:28rem}.sync-form--stack .btn{align-self:flex-start}.sync-recovery{margin-top:.85rem;font-family:var(--sans);font-size:.9rem;color:var(--ink-soft)}.sync-recovery summary{cursor:pointer}.sync-recovery .sync-form{margin-top:.65rem}.dash-transfer--nudge{border-color:var(--rust);box-shadow:0 0 0 1px #7a3e2e1f}.file-btn{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.transfer-note{margin:.9rem 0 0;font-family:var(--sans);font-size:.88rem;color:var(--sage)}.transfer-note--error{color:var(--rust)}.dashboard-foot{margin-top:2rem;font-family:var(--sans)}.dashboard-foot a{color:var(--rust);text-decoration:none}@media(max-width:899px){.shelf-layout{grid-template-columns:1fr;gap:1rem}.shelf-rail{top:0;z-index:8;gap:.65rem;margin:0 -.15rem .35rem;padding:.55rem .15rem .7rem;background:color-mix(in srgb,var(--cream) 88%,white);border-bottom:1px solid var(--rule)}.shelf-rail__title{display:none}.shelf-rail__toggle{appearance:none;display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--ink);background:var(--ink);color:var(--cream);border-radius:999px;padding:.32rem .8rem;font-family:var(--sans);font-size:.82rem;letter-spacing:.04em;cursor:pointer}.shelf-rail__badge{display:inline-flex;min-width:1.1rem;height:1.1rem;align-items:center;justify-content:center;border-radius:999px;background:var(--cream);color:var(--ink);font-size:.68rem;font-weight:600}.shelf-rail__summary{display:block}.shelf-rail__body{display:none}.shelf-rail.is-open .shelf-rail__body{display:flex}.shelf-rail .filter-pills{flex-direction:row;flex-wrap:wrap}.shelf-rail .filter-pills button{display:inline-flex;width:auto}.shelf-rail{max-height:none;overflow:visible}.shelf-rail.is-open .shelf-rail__body{max-height:calc(100dvh - 7rem);overflow-y:auto;overscroll-behavior:contain;padding-bottom:.4rem}.shelf-rail .theme-group{margin-top:.2rem}.shelf-rail .theme-group .filter-pills button{padding:.24rem .6rem}.shelf-browse{grid-template-columns:minmax(0,1fr) 1.65rem;column-gap:.3rem}.letter-index{top:4.85rem;height:min(100%,calc(100dvh - 5.2rem));max-height:calc(100dvh - 5.2rem)}.shelf-grid>li{scroll-margin-top:4.85rem}.letter-index__btn{min-height:1.15rem;font-size:.68rem}}@media(max-width:720px){.site-header,.book-hero,.recall-card{flex-direction:column}.book-cover--recall{width:96px;flex-basis:96px}.sort-label{margin-left:0}}.privacy-gate{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#070707;color:#bdbdbd;color-scheme:dark}.privacy-gate__panel{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:min(16rem,calc(100vw - 2.5rem))}.privacy-gate__form{display:flex;flex-direction:column;align-items:center;gap:.55rem;width:100%;margin:0}.privacy-gate__input{width:100%;margin:0;padding:.45rem .65rem;border:1px solid #2a2a2a;border-radius:2px;background:#101010;color:#c4c4c4;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.85rem;line-height:1.3;letter-spacing:.04em}.privacy-gate__input::placeholder{color:#4a4a4a}.privacy-gate__input:focus{outline:1px solid #3a3a3a;outline-offset:2px}.privacy-gate__input:-webkit-autofill{-webkit-text-fill-color:#c4c4c4;box-shadow:0 0 0 1000px #101010 inset;caret-color:#c4c4c4}.privacy-gate__submit,.privacy-gate__quiet{margin:0;padding:.15rem .35rem;border:0;background:transparent;color:#6a6a6a;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.75rem;letter-spacing:.04em;cursor:pointer}.privacy-gate__submit:disabled{opacity:.35;cursor:default}.privacy-gate__quiet{color:#4e4e4e;letter-spacing:.12em}.privacy-gate__error{margin:0;color:#7d6560;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.72rem;letter-spacing:.06em}.marks-q{max-width:40rem;margin:0 auto;padding:1.25rem 1rem 7rem;color:var(--ink)}.marks-q__eyebrow{margin:0;font-family:var(--sans);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rust)}.marks-q__title{margin:.2rem 0 0;font-family:var(--serif);font-size:1.9rem}.marks-q__meta,.marks-q__message{font-family:var(--sans);color:var(--ink-soft)}.marks-q__message--error{color:var(--rust)}.marks-q__message--muted{font-size:.85rem}.marks-q__list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:1rem}.marks-q__row{background:var(--paper);border:1px solid var(--rule);border-radius:12px;padding:.9rem;box-shadow:var(--shadow)}.marks-q__book{display:flex;gap:.85rem;align-items:flex-start}.marks-q__cover{flex:0 0 4rem;width:4rem;aspect-ratio:2 / 3;border-radius:4px;overflow:hidden;background:var(--rule);display:flex;align-items:center;justify-content:center}.marks-q__cover img{width:100%;height:100%;object-fit:cover;display:block}.marks-q__cover-fallback{font-family:var(--serif);font-size:1.6rem;color:var(--ink-soft)}.marks-q__book-title{margin:0;font-family:var(--serif);font-size:1.08rem;line-height:1.25}.marks-q__book-author{margin:.25rem 0 0;font-family:var(--sans);font-size:.9rem;color:var(--ink-soft)}.marks-q__group{border:0;margin:.8rem 0 0;padding:0;min-width:0}.marks-q__group legend{padding:0;margin-bottom:.35rem;font-family:var(--sans);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.marks-q__choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.marks-q__choices--stars{grid-template-columns:repeat(5,minmax(0,1fr)) auto;align-items:center}.marks-q__choice,.marks-q__star,.marks-q__skip{min-height:44px;border:1px solid var(--rule);border-radius:8px;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:.95rem;cursor:pointer;touch-action:manipulation}.marks-q__choice[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.marks-q__star{font-size:1.35rem;line-height:1;color:var(--ink-soft)}.marks-q__star--on{color:var(--rust);border-color:var(--rust)}.marks-q__skip{padding:0 .7rem;font-size:.8rem;color:var(--ink-soft);background:transparent}.marks-q__footer{position:fixed;left:0;right:0;bottom:0;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:#f4efe6f5;border-top:1px solid var(--rule);display:grid;gap:.4rem;justify-items:center}.marks-q__save{width:100%;max-width:38rem;min-height:48px;border:0;border-radius:10px;background:var(--rust);color:var(--paper);font-family:var(--sans);font-size:1rem;font-weight:600;cursor:pointer}.marks-q__save:disabled{opacity:.45;cursor:default}.marks-q__meta{display:flex;flex-wrap:wrap;gap:.35rem .75rem;align-items:center;margin:.35rem 0 0;font-size:.9rem}.marks-q__counter{display:inline-block;padding:.15rem .6rem;border-radius:999px;background:var(--sage);color:var(--paper);font-size:.8rem;animation:marks-q-pop .42s ease-out}.marks-q__enter{animation:marks-q-enter .32s ease-out}.marks-q__panel{margin-top:1rem;padding:1.5rem 1rem 1.25rem;background:var(--paper);border:1px solid var(--rule);border-radius:14px;box-shadow:var(--shadow);text-align:center}.marks-q__check{width:4.25rem;height:4.25rem;display:block;margin:0 auto .5rem}.marks-q__check-circle{stroke:var(--sage);stroke-width:3;stroke-dasharray:151;stroke-dashoffset:151;animation:marks-q-draw .48s ease-out forwards}.marks-q__check-tick{stroke:var(--sage);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:36;stroke-dashoffset:36;animation:marks-q-draw .32s .38s ease-out forwards}.marks-q__panel-title{margin:0;font-family:var(--serif);font-size:1.6rem}.marks-q__panel-sub{margin:.3rem 0 0;font-family:var(--sans);font-size:.9rem;color:var(--ink-soft)}.marks-q__saved-list{list-style:none;margin:1.1rem 0 0;padding:0;display:grid;gap:.6rem;text-align:left}.marks-q__saved{display:flex;gap:.7rem;align-items:center;padding:.55rem;border:1px solid var(--rule);border-radius:10px;background:var(--cream)}.marks-q__cover--sm{flex-basis:2.6rem;width:2.6rem}.marks-q__saved-title{margin:0;font-family:var(--serif);font-size:.98rem;line-height:1.25}.marks-q__saved-marks{margin:.3rem 0 0;display:flex;flex-wrap:wrap;gap:.25rem .75rem;font-family:var(--sans);font-size:.85rem}.marks-q__saved-stars{color:var(--rust);letter-spacing:.05em}.marks-q__skipped{color:var(--ink-soft);font-style:italic}.marks-q__actions{display:grid;gap:.55rem;margin-top:1.2rem}.marks-q__actions--inline{margin-top:1rem}.marks-q__primary,.marks-q__secondary,.marks-q__link{min-height:48px;border-radius:10px;font-family:var(--sans);font-size:1rem;display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;touch-action:manipulation}.marks-q__primary{border:0;background:var(--rust);color:var(--paper);font-weight:600}.marks-q__secondary{border:1px solid var(--ink);background:transparent;color:var(--ink)}.marks-q__link{color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px}.marks-q__primary:disabled,.marks-q__secondary:disabled{opacity:.55;cursor:default}.marks-q__alert{margin:.75rem 0 0;padding:.6rem .8rem;border:1px solid var(--rust);border-radius:8px;background:#f6e3dc;color:var(--rust);font-family:var(--sans);font-size:.9rem;text-align:left;width:100%;max-width:38rem;box-sizing:border-box}.marks-q__footer .marks-q__alert{margin:0}.marks-q__done-all{margin:1rem 0 0;font-family:var(--serif);font-size:1.05rem;color:var(--sage)}@keyframes marks-q-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes marks-q-pop{0%{transform:scale(.85)}60%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes marks-q-draw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.marks-q__enter,.marks-q__counter{animation:none}.marks-q__check-circle,.marks-q__check-tick{animation:none;stroke-dashoffset:0}}
