@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-normal-BjhtXyW2.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-normal-BQn1nviT.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-normal-s-izfB6B.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-italic-DTr-ymY4.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-italic-CSPGnFdO.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-italic-kJKFiXvB.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/caveat-latin-400-normal-D6LQsQ_v.woff2)format("woff2"),url(/assets/caveat-latin-400-normal-BzhAQZkN.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1b130e;--raised:#251a13;--raised-2:#2f2118;--line:#3e2c21;--line-strong:#5a4332;--text:#f2e7d5;--text-2:#c4ae95;--wall:#9b4430;--wall-deep:#6d2b1c;--rust:#b4502f;--rust-hover:#c45d3b;--rust-ink:#ec9c80;--sage:#a9bd8c;--amber:#e2a75e;--espresso:var(--bg);--walnut:var(--raised);--umber:var(--line);--cream:var(--text);--cream-2:var(--text-2);--paper:var(--bg);--parchment:var(--bg);--sheet:var(--raised);--ink:var(--text);--ink-2:var(--text-2);--rule:var(--line);--rule-strong:var(--line-strong);--brown:var(--text);--brown-hover:#fff;--accent:var(--rust-ink);--accent-hover:#f4b29b;--accent-soft:#b4502f29;--olive:var(--sage);--on-dark:var(--text);--frame:var(--bg);--serif:"Newsreader Variable", "Noto Serif SC", "Songti SC", "STSong", "SimSun", Georgia, serif;--sans:"Figtree Variable", "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", system-ui, sans-serif;--t-meta:13px;--t-ui:15px;--t-body:17px;--t-h3:22px;--t-h2:30px;--t-h1:48px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:40px;--s7:64px;--s8:104px;--rail-w:232px;--content-w:1040px;--gutter:16px;--main-top:24px;--lift-1:none;--lift-2:0 24px 40px -24px #000000b3;--lift-3:0 2px 3px #00000059, 0 26px 40px -16px #000000d9;--spring:cubic-bezier(.2, .9, .3, 1.15);--ease-out:cubic-bezier(.16, 1, .3, 1)}@media (width>=768px){:root{--gutter:40px;--main-top:40px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg)}body{background:var(--bg);color:var(--text);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0}body:before{content:"";z-index:100;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}h1,h2,h3,p,blockquote,ul{margin:0}img{max-width:100%;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--text);outline-offset:3px}.skip{left:var(--s4);z-index:200;padding:var(--s2) var(--s4);background:var(--text);color:var(--bg);position:absolute;top:-100px}.skip:focus{top:var(--s4)}.icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.muted{color:var(--text-2)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.t-poster{font:900 clamp(3rem, min(7.2vw, 14vh), 6.8rem)/.88 var(--sans);letter-spacing:-.035em;text-transform:uppercase}.t-h1{font:400 34px/1.05 var(--serif);letter-spacing:-.02em;text-wrap:balance}.t-h2{font:400 22px/1.2 var(--serif);letter-spacing:-.01em}.t-h3{font:400 var(--t-h3)/1.3 var(--serif)}.t-body{font:400 var(--t-body)/1.7 var(--serif)}.t-meta{font-size:var(--t-meta);color:var(--text-2)}@media (width>=768px){.t-h1{font-size:var(--t-h1)}.t-h2{font-size:var(--t-h2)}}.frame{min-height:100dvh}.brand{display:inline-block}.brand__logo{aspect-ratio:560/440;background:var(--text);width:64px;display:block;-webkit-mask:url(/logo-full.png) 50%/contain no-repeat;mask:url(/logo-full.png) 50%/contain no-repeat}.mhead{min-height:56px;padding:var(--s2) var(--gutter);border-bottom:1px solid var(--line);align-items:center;display:flex}.rail{display:none}.nav__link{align-items:center;gap:var(--s3);color:var(--text-2);transition:transform .2s var(--spring);text-decoration:none;display:flex}.nav__link:hover{color:var(--text)}.nav__link:active{transform:translateY(1px)}.nav__link[aria-current=page]{color:var(--text)}.nav__n{font-size:var(--t-meta);font-variant-numeric:tabular-nums;color:var(--rust-ink);margin-left:auto}.tabbar{z-index:50;padding-bottom:env(safe-area-inset-bottom);background:var(--raised);border-top:1px solid var(--line);position:fixed;inset:auto 0 0}.tabbar .nav{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.tabbar .nav__link{border-top:2px solid #0000;flex-direction:column;justify-content:center;gap:2px;min-height:58px;margin-top:-1px;position:relative}.tabbar .nav__link[aria-current=page]{border-top-color:var(--rust)}.tabbar .nav__label{font-size:12px;font-weight:500;line-height:1.2}.tabbar .nav__n{margin:0;font-size:11px;font-weight:600;position:absolute;top:6px;left:calc(50% + 10px)}.main{min-width:0;padding:var(--main-top) var(--gutter) calc(var(--s8) + env(safe-area-inset-bottom))}.main:focus{outline:none}@media (width>=900px){.frame{grid-template-columns:var(--rail-w) minmax(0, 1fr);display:grid}.mhead,.tabbar{display:none}.rail{height:100dvh;padding:var(--s5) var(--s4);border-right:1px solid var(--line);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.rail .brand{margin:var(--s1) 0 var(--s6) var(--s3)}.rail .brand__logo{width:108px}.rail .nav{flex-direction:column;flex:1;gap:2px;display:flex}.rail .nav__link{min-height:44px;padding:0 var(--s3);font-size:var(--t-ui);border-left:2px solid #0000}.rail .nav__link:hover{background:var(--raised)}.rail .nav__link[aria-current=page]{background:var(--raised);border-left-color:var(--rust)}.rail .nav__link--end{margin-top:auto}.main{padding-bottom:var(--s8)}}.btn{justify-content:center;align-items:center;gap:var(--s2);min-height:48px;padding:0 var(--s5);color:inherit;font:600 var(--t-ui)/1 var(--sans);white-space:nowrap;cursor:pointer;transition:transform .2s var(--spring);background:0 0;border:1px solid #0000;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(1px)}.btn .icon{width:18px;height:18px}.btn--accent{background:var(--rust);color:#fff}.btn--accent:hover{background:var(--rust-hover)}.btn--primary{background:var(--text);color:var(--bg)}.btn--primary:hover{background:#fff}.btn--quiet{min-height:44px;padding:0 var(--s4);border-color:var(--line-strong);color:var(--text)}.btn--quiet:hover{border-color:var(--text-2);background:var(--raised)}.btn--danger{border-color:var(--line-strong);color:var(--rust-ink)}.btn--danger:hover{border-color:var(--rust-ink)}.btn--sm{min-height:44px;padding:0 var(--s4)}.link-btn{min-height:44px;color:var(--text-2);font:500 var(--t-ui)/1.3 var(--sans);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.link-btn:hover{color:var(--text);text-decoration-color:currentColor}.link-btn:active{opacity:.7}.field{gap:var(--s2);flex:160px;min-width:0;display:grid}.field--search{flex-basis:260px}.field__label{font-size:var(--t-meta);color:var(--text-2);font-weight:500}.input{width:100%;min-height:48px;padding:0 var(--s3);border:1px solid var(--line-strong);background:var(--raised);color:var(--text);font:400 var(--t-ui)/1.4 var(--sans)}.input::placeholder{color:var(--text-2);opacity:.8}.input:hover{border-color:var(--text-2)}.input:focus-visible{outline:2px solid var(--text);outline-offset:1px}select.input{appearance:none;background:var(--raised) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23c4ae95' stroke-width='1.6'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E") right 14px center / 12px 8px no-repeat;padding-right:40px}textarea.input{min-height:96px;padding:var(--s3);resize:vertical}.input--page{text-align:center;width:96px;min-height:44px;font:400 var(--t-body) var(--serif);font-variant-numeric:tabular-nums}.quick-log__label{font-size:var(--t-meta);color:var(--text-2);font-weight:500;display:block}.quick-log__row{gap:var(--s3);margin-top:var(--s2);display:flex}.quick-log__input{width:120px;min-height:56px;padding:0 var(--s3);border:1px solid var(--line-strong);background:var(--raised);color:var(--text);font:400 28px/1 var(--serif);font-variant-numeric:tabular-nums;text-align:center}.quick-log__input:hover{border-color:var(--text-2)}.quick-log__input:focus-visible{outline:2px solid var(--text);outline-offset:1px}.quick-log__input[aria-invalid=true]{border-color:var(--rust-ink)}.quick-log__row .btn{min-height:56px}.quick-log__help{margin-top:var(--s2);font-size:var(--t-meta);color:var(--text-2)}.quick-log__error{margin-top:var(--s2);font-size:var(--t-ui);color:var(--rust-ink);font-weight:600}.quick-log__error:empty{display:none}@media (width<=359px){.quick-log__input{width:96px}}.segmented{border:1px solid var(--line-strong);display:inline-flex}.segmented__btn{min-height:44px;padding:0 var(--s4);color:var(--text-2);font:500 var(--t-ui)/1 var(--sans);cursor:pointer;transition:transform .2s var(--spring);background:0 0;border:0}.segmented__btn:hover{color:var(--text)}.segmented__btn:active{transform:translateY(1px)}.segmented__btn[aria-pressed=true]{background:var(--text);color:var(--bg)}.chip{align-items:center;gap:var(--s2);min-height:44px;padding:0 var(--s4);border:1px solid var(--line-strong);color:var(--text-2);font:500 var(--t-ui)/1 var(--sans);cursor:pointer;transition:transform .2s var(--spring);background:0 0;display:inline-flex}.chip:hover{color:var(--text);border-color:var(--text-2)}.chip:active{transform:translateY(1px)}.chip[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--bg)}.chip__n{font-size:var(--t-meta);font-variant-numeric:tabular-nums;opacity:.75}.tabs{gap:var(--s6);border-bottom:1px solid var(--line);scrollbar-width:none;display:flex;overflow-x:auto}.tabs__link{align-items:center;gap:var(--s2);min-height:48px;color:var(--text-2);font-size:var(--t-ui);transition:transform .2s var(--spring);border-bottom:2px solid #0000;flex:none;margin-bottom:-1px;text-decoration:none;display:inline-flex}.tabs__link:hover{color:var(--text)}.tabs__link:active{transform:translateY(1px)}.tabs__link[aria-current=page]{color:var(--text);border-bottom-color:var(--text)}@media (width<=767px){.tabs{gap:var(--s5)}}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th{padding:0 var(--s3) var(--s2) 0;border-bottom:1px solid var(--line);color:var(--text-2);font-size:var(--t-meta);text-align:left;font-weight:500}td{padding:var(--s3) var(--s3) var(--s3) 0;border-bottom:1px solid var(--line);vertical-align:middle}.pill{justify-self:start;align-items:center;gap:var(--s2);font-size:var(--t-meta);color:var(--text-2);font-weight:500;line-height:1.4;display:inline-flex}.pill:before{content:"";background:currentColor;flex:none;width:8px;height:8px}.pill--reading{color:var(--rust-ink)}.pill--finished{color:var(--sage)}.pill--queued:before{background:0 0;box-shadow:inset 0 0 0 1.5px}.pill--abandoned:before{background:var(--line-strong)}.count{font:500 var(--t-meta)/1 var(--sans);font-variant-numeric:tabular-nums;color:var(--text-2)}.tag{padding:0 var(--s2);border:1px solid var(--line);color:var(--text-2);font-size:var(--t-meta);line-height:24px;display:inline-block}.panel,.sheet{padding:var(--s5) 0 0;border-top:1px solid var(--line)}.panel__head{justify-content:space-between;align-items:center;gap:var(--s3);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.empty{justify-items:start;gap:var(--s4);padding:var(--s6) var(--s5);border:1px dashed var(--line-strong);color:var(--text-2);display:grid}.toast{left:50%;bottom:calc(76px + env(safe-area-inset-bottom));z-index:60;max-width:calc(100vw - 32px);padding:var(--s3) var(--s5);background:var(--text);color:var(--bg);font-size:var(--t-ui);box-shadow:var(--lift-3);pointer-events:none;opacity:0;transition:opacity .2s ease, transform .3s var(--spring);font-weight:500;position:fixed;transform:translate(-50%,12px)}.toast.is-visible{opacity:1;transform:translate(-50%)}@media (width>=900px){.toast{left:calc(50% + var(--rail-w) / 2);bottom:var(--s6)}}.cover{--cover-w:132px;width:var(--cover-w);aspect-ratio:2/3;box-shadow:var(--lift-3);flex:none;position:relative}.cover--sm{--cover-w:48px}.cover--md{--cover-w:132px}.cover--lg{--cover-w:200px}.cover--oxblood{--cloth:#6f2c23}.cover--forest{--cloth:#3f5637}.cover--ink{--cloth:#263f5c}.cover--ochre{--cloth:#8a5f26}.cover--teal{--cloth:#2f5552}.cover__face{gap:calc(var(--cover-w) * .06);padding:calc(var(--cover-w) * .12) calc(var(--cover-w) * .1) calc(var(--cover-w) * .12) calc(var(--cover-w) * .15);color:#f3e8d0;background:linear-gradient(90deg, #00000052 0, #ffffff1a 3.5%, #0000001f 7%, transparent 10%), repeating-linear-gradient(0deg, #ffffff06 0 1px, transparent 1px 3px), var(--cloth);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.cover__title{font:500 calc(var(--cover-w) * .13) / 1.05 var(--serif);letter-spacing:-.01em;text-wrap:balance;position:relative}.cover__author{font:600 calc(var(--cover-w) * .056) / 1.2 var(--sans);letter-spacing:.02em;opacity:.85;position:relative}.cover__rule{display:none}.cover--l0 .cover__face{text-align:center;justify-content:center;align-items:center}.cover--l0 .cover__rule{border-top:3px double #f3e8d08c;width:34%;display:block}.cover--l1 .cover__face{padding-top:calc(var(--cover-w) * .14);background:linear-gradient(90deg, #00000052 0, #ffffff1a 3.5%, #0000001f 7%, transparent 10%), linear-gradient(transparent 58%, #00000047 58%), var(--cloth);justify-content:space-between}.cover--l1 .cover__title{font:900 calc(var(--cover-w) * .12) / .95 var(--sans);text-transform:uppercase;letter-spacing:-.02em}.cover--l2 .cover__face{color:#2a1c14;background:linear-gradient(90deg, #0000002e 0, #ffffff4d 3.5%, transparent 9%), linear-gradient(var(--cloth) 0 0) calc(var(--cover-w) * .15) calc(100% - var(--cover-w) * .1) / calc(100% - var(--cover-w) * .25) 42% no-repeat, #eadfca}.cover--l3 .cover__face{padding-bottom:calc(var(--cover-w) * .14);background:linear-gradient(90deg, #00000052 0, #ffffff1a 3.5%, #0000001f 7%, transparent 10%), radial-gradient(circle at 70% 26%, #ffffff2e 0 15%, transparent 15.5%), var(--cloth);justify-content:flex-end}.cover--l3 .cover__title{font-style:italic}.cover--l4 .cover__face{padding-top:calc(var(--cover-w) * .16);background:linear-gradient(90deg, #00000052 0, #ffffff1a 3.5%, #0000001f 7%, transparent 10%), repeating-linear-gradient(90deg, #ffffff12 0 6%, transparent 6% 12%), var(--cloth)}.cover--l5 .cover__face{text-align:center;padding:calc(var(--cover-w) * .12);box-shadow:inset 0 0 0 calc(var(--cover-w) * .045) var(--cloth), inset 0 0 0 calc(var(--cover-w) * .045 + 1px) #f3e8d099;justify-content:center;align-items:center}.cover--sm .cover__title,.cover--sm .cover__author,.cover--sm .cover__rule{display:none}.edge{height:13px;margin:var(--s7) 0 var(--s5);background:var(--raised);border:1px solid var(--line);position:relative}.edge__fill{transform-origin:0;transform:scaleX(calc(var(--p) / 100));background:repeating-linear-gradient(90deg,#a68b6c 0 2px,#6d5643 2px 4px);position:absolute;inset:0}.edge__tick{background:var(--line-strong);width:1px;position:absolute;top:-1px;bottom:-1px}.edge__marker{pointer-events:none;transform:translateX(calc(var(--p) * 1%));position:absolute;inset:0}.edge__ribbon{background:var(--rust);clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);filter:drop-shadow(0 2px 2px #00000080);width:14px;height:32px;position:absolute;top:-8px;left:-7px}.edge__pct{font:600 var(--t-meta)/1 var(--sans);font-variant-numeric:tabular-nums;color:var(--rust-ink);position:absolute;bottom:calc(100% + 12px);left:0;transform:translate(-50%)}.edge--slim{height:10px;margin:var(--s6) 0 var(--s4)}.edge--slim .edge__ribbon{height:26px;top:-7px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.books,.bookpage,.reviews-view{gap:var(--s6);max-width:var(--content-w);grid-template-columns:minmax(0,1fr);margin:0 auto;display:grid}.small{font-size:13px}.view-head{justify-content:space-between;align-items:flex-end;gap:var(--s4);flex-wrap:wrap;display:flex}.view-title{font:400 clamp(30px, 1.2rem + 2.4vw, 48px)/1.05 var(--serif);letter-spacing:-.02em;text-wrap:balance}.small-heading{letter-spacing:.01em;color:var(--ink-2);font-size:13px;font-weight:600}.section-heading{align-items:center;gap:var(--s2);font-family:var(--serif);letter-spacing:-.01em;font-size:22px;font-weight:400;display:flex}.why{margin-top:var(--s4);font-family:var(--serif);color:var(--ink-2);max-width:48ch;font-size:17px;font-style:italic;line-height:1.55}.tool-row{gap:var(--s2);flex-wrap:wrap;display:flex}.tags{flex-wrap:wrap;gap:6px;display:flex}.due-strip{align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);background:var(--accent-soft);color:var(--ink);box-shadow:var(--lift-1);transition:transform .22s var(--spring);flex-wrap:wrap;text-decoration:none;display:flex}.due-strip:hover{transform:translateY(-1px)}.due-strip:active{transform:scale(.99)}.due-strip .icon{color:var(--accent)}.due-strip__go{color:var(--accent);margin-left:auto;font-weight:600}.toolbar{align-items:flex-end;gap:var(--s3);flex-wrap:wrap;display:flex}.chips{gap:var(--s2);flex-wrap:wrap;display:flex}.book-list{padding:0;list-style:none}.book-row{align-items:center;gap:var(--s3) var(--s4);padding:var(--s3) 0;border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;display:grid}.book-row__main{align-items:center;gap:var(--s4);min-width:0;text-decoration:none;display:flex}.book-row__main:hover .book-row__title{text-underline-offset:3px;text-decoration:underline}.book-row__text{gap:2px;min-width:0;display:grid}.book-row__title{font-weight:600;line-height:1.35}.book-row__author{color:var(--ink-2);font-size:15px}.book-row__status,.book-row__pct{display:none}.book-row__pct{font-variant-numeric:tabular-nums;color:var(--ink-2);text-align:right}tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums}.table-scroll{overflow-x:auto}.review-list{margin-top:var(--s3);padding:0;list-style:none}.review{justify-content:space-between;align-items:center;gap:var(--s3) var(--s4);padding:var(--s4) 0;border-top:1px solid var(--rule);flex-wrap:wrap;display:flex}.review:last-child{padding-bottom:0}.review>div{flex:220px;min-width:0}.review__title{font-weight:600;line-height:1.4}.review__meta{color:var(--ink-2);margin-top:2px;font-size:15px}.placeholder{gap:var(--s4);max-width:560px;padding-top:var(--s6);justify-items:start;display:grid}.settings__form{gap:var(--s3);justify-items:start;width:100%;max-width:420px;display:grid}.settings__form .field{width:100%}.settings__sent{padding-top:var(--s3);border-top:1px solid var(--line);color:var(--sage)}@media (width>=768px){.books,.reviews-view{gap:var(--s7)}.book-row{grid-template-columns:minmax(0,1fr) auto 4.5ch auto}.book-row__status,.book-row__pct{display:block}}.sg__head{gap:var(--s4);padding-bottom:var(--s6);display:grid}.sg__lede{max-width:56ch;color:var(--text-2);font-size:var(--t-body)}.sg__row{align-items:center;gap:var(--s3) var(--s4);flex-wrap:wrap;display:flex}.sg__row--fields{align-items:end}.sg__row--end{align-items:flex-end;gap:var(--s6)}.sg__desk{max-width:var(--content-w);margin:0 auto}.sg__section{gap:var(--s5);padding:var(--s7) 0;border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr);display:grid}.sg__body{gap:var(--s5);min-width:0;display:grid}.sg__swatches{gap:var(--s5) var(--s4);grid-template-columns:repeat(auto-fill,minmax(128px,1fr));padding:0;list-style:none;display:grid}.sg__swatches li{gap:2px;display:grid}.sg__chip{border:1px solid var(--line);height:56px;margin-bottom:var(--s2)}.sg__poster{padding:var(--s5) var(--s4);background:var(--wall);color:#fff;overflow-wrap:anywhere}.sg__covers{gap:var(--s5);flex-wrap:wrap;display:flex}.sg__covers .cover{--cover-w:104px}@media (width>=768px){.sg__section{gap:var(--s6);grid-template-columns:200px minmax(0,1fr)}.sg__covers .cover{--cover-w:120px}}.frame[data-home]{display:block}.frame[data-home] .rail,.frame[data-home] .mhead{display:none}.frame[data-home] .main{padding:0 0 calc(58px + env(safe-area-inset-bottom))}@media (width>=900px){.frame[data-home] .main{padding-bottom:0}}.home{--pg:clamp(16px, 4vw, 56px)}.poster{isolation:isolate;color:#fff;background:#6d2b1c;grid-template-rows:auto 1fr auto;min-height:calc(100svh - 58px);display:grid;position:relative;overflow:hidden}@media (width>=900px){.poster{min-height:100svh}}.poster :focus-visible{outline-color:#fff}.poster__media{z-index:-2;background:#120806;position:absolute;inset:0}.poster__still,.poster__video{object-fit:cover;object-position:74% center;width:100%;height:100%;position:absolute;inset:0}@media (width>=900px){.poster__still,.poster__video{object-position:center}}.poster.is-intro .poster__still{opacity:0}.poster.is-still .poster__video{display:none}.poster__media:after{content:"";background:linear-gradient(0deg, var(--espresso), #1b130e99 35%, transparent);height:22%;position:absolute;inset:auto 0 0}.poster__shade{z-index:-1;background:linear-gradient(#1e080333,#1e080373 45%,#1e0803d9);position:absolute;inset:0}@media (width>=900px){.poster__shade{background:linear-gradient(90deg,#1e08036b,#1e08031f 42%,#0000 60%);-webkit-mask-image:linear-gradient(#000 78%,#0000 96%);mask-image:linear-gradient(#000 78%,#0000 96%)}}.poster__top{justify-content:space-between;align-items:center;gap:var(--s4);padding:24px var(--pg) 0;display:flex}.poster__logo{background:#fff3e6;width:clamp(80px,7vw,104px)}.poster__nav{display:none}.poster__nav a{text-shadow:0 1px 10px #1e0803b3;min-height:44px;font-size:var(--t-ui);transition:transform .2s var(--spring);border-bottom:1px solid #0000;align-items:center;gap:6px;font-weight:500;text-decoration:none;display:inline-flex}.poster__nav a:hover{border-bottom-color:currentColor}.poster__nav a:active{transform:translateY(1px)}.poster__due{font-size:var(--t-meta);opacity:.8;font-variant-numeric:tabular-nums}@media (width>=900px){.poster__nav{gap:28px;display:flex}}.poster__copy{max-width:640px;padding:32px var(--pg) 24px;align-self:end;justify-items:start;display:grid}@media (width>=900px){.poster__copy{align-self:center;padding-bottom:6vh}}.poster__title{font:900 clamp(2.2rem, 12vw, 3.6rem) / .9 var(--sans);letter-spacing:-.035em;text-transform:uppercase;text-shadow:0 2px 30px #1e080359}.poster__title span{white-space:nowrap;display:block}.poster__sub{font:800 clamp(.95rem, 1.3vw, 1.15rem) / 1.2 var(--sans);letter-spacing:-.01em;text-transform:uppercase;margin-top:20px}.poster__lede{color:#fbe9dd;max-width:40ch;font-size:var(--t-body);margin-top:20px;line-height:1.6}.poster__actions{gap:var(--s3);flex-wrap:wrap;margin-top:24px;display:flex}@media (width>=900px){.poster__title{font-size:clamp(2.8rem,min(5.2vw,10vh),4.9rem)}}.btn--poster{color:var(--wall-deep);background:#fbf0e2}.btn--poster:hover{background:#fff}.btn--poster-line{color:#fff;border-color:#ffffffbf}.btn--poster-line:hover{background:#ffffff1f}.poster__floor{justify-content:space-between;align-items:center;gap:var(--s4);padding:16px var(--pg) 20px;display:flex}.poster__motto{font:italic 400 var(--t-body) / 1 var(--serif);color:#fff0e1d9}.poster__motto span{opacity:.6;padding:0 .35em}.poster__door{min-height:44px;padding:0 var(--s5);font-size:var(--t-ui);transition:transform .2s var(--spring);background:#1e080340;border:1px solid #fff9;align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.poster__door:hover{background:#ffffff24}.poster__door:active{transform:translateY(1px)}@media (width<=359px){.poster__motto{display:none}}@media (width>=900px){.poster{--u:calc(min(100cqw, 177.78cqh) / 1440);--oy:max(0px, calc((100cqh - 810 * var(--u)) / 2));height:100svh;min-height:0;display:block;container-type:size}.poster__top{display:contents}.poster__brand{left:calc(72 * var(--u));top:calc(52 * var(--u));position:absolute}.poster__logo{width:calc(150 * var(--u))}.poster__nav{right:calc(212 * var(--u));top:calc(40 * var(--u));position:absolute}.poster__copy{left:calc(72 * var(--u));top:calc(var(--oy) + 306 * var(--u));max-width:none;padding:0;position:absolute}.poster__title{font-size:calc(96 * var(--u));letter-spacing:.012em;text-shadow:0 2px 24px #1e080340;line-height:.82}.poster__sub{margin-top:calc(26 * var(--u));font:500 calc(24.5 * var(--u)) / 1.22 var(--sans);letter-spacing:.004em}.poster__lede{margin-top:calc(22 * var(--u));font-size:max(14px, calc(17 * var(--u)))}.poster__actions{margin-top:calc(26 * var(--u))}.poster__floor{padding:0 calc(72 * var(--u)) 16px;position:absolute;inset:auto 0 0}}.poster [data-cue]{transition:opacity .65s var(--ease-out), transform .65s var(--ease-out)}.poster.is-intro [data-cue]{opacity:0}.poster.is-intro .poster__actions[data-cue],.poster.is-intro .poster__lede[data-cue],.poster.is-intro .poster__floor[data-cue]{transform:translateY(10px)}.poster.is-intro [data-cue].is-on{opacity:1;transform:none}.home [data-reveal]{opacity:0;transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);transition-delay:calc(var(--i,0) * .14s);transform:translateY(28px)}.home [data-reveal][data-from=above]{transform:translateY(-28px)}.home [data-reveal].is-in{opacity:1;transform:none}.rou{--rou-on-rust:#fbf6ee;--rou-rust-dark:#8c3f24;--rou-rust-deep:#7a3620;--rou-rust-soft:#d9714a;--rou-ink-soft:#4a3528;isolation:isolate;justify-content:center;align-items:center;gap:96px;min-height:100svh;padding:96px;display:flex;position:relative;overflow:hidden}.rou--read{background:var(--espresso);color:var(--cream)}.rou--own{background:var(--rust);color:var(--rou-on-rust)}.rou--use{background:var(--cream);color:var(--espresso)}.rou:before{content:"";z-index:-2;opacity:.07;background:linear-gradient(currentColor 1px,#0000 1px) 0 -1px/64px 64px,linear-gradient(90deg,currentColor 1px,#0000 1px) -1px 0/64px 64px;position:absolute;inset:0}.rou:after{content:"";z-index:-1;position:absolute}.rou--read:after{background:var(--rust);border-radius:50%;width:46vmin;height:46vmin;bottom:-16vmin;left:-14vmin}.rou--own:after{background:var(--espresso);width:28vmin;height:58vmin;top:-10vmin;right:-6vmin}.rou--use:after{background:var(--rust);border-radius:20vmin 20vmin 0 0;width:40vmin;height:20vmin;bottom:0;right:8vmin}.rou--use{background:linear-gradient(180deg, var(--cream) calc(100% - 340px), #f0d2b2 calc(100% - 210px), #dca17e calc(100% - 120px), #b8664a calc(100% - 40px));view-timeline:--rou-use block}.rou--use:before{-webkit-mask:linear-gradient(#000 50%,#0000 80%);mask:linear-gradient(#000 50%,#0000 80%)}.rou--use:after{animation:linear both rou-sun-set;animation-timeline:--rou-use;animation-range:exit exit 60%;bottom:122px}@keyframes rou-sun-set{to{transform:translateY(70px)}}.rou__dusk{z-index:0;pointer-events:none;height:340px;position:absolute;inset:auto 0 0}.rou__dusk i{display:block;position:absolute;inset:0}.rou--use .rou__text,.rou--use .rou__art{z-index:1}.rou__land{background:radial-gradient(75vw 130px at 45% 100%,#0b0806 calc(100% - 3px),#0b080600 100%)}.rou__ripples{background:linear-gradient(90deg,#0000 72%,#c45d3b8c 76% 88%,#0000 92%) 0 30%/100% 2px no-repeat,linear-gradient(90deg,#0000 75%,#c45d3b66 78% 86%,#0000 89%) 0 55%/100% 2px no-repeat,linear-gradient(90deg,#0000 78%,#c45d3b40 80% 84%,#0000 86%) 0 78%/100% 2px no-repeat;height:22%;top:auto!important}@media (width<=860px){.rou--use:after{bottom:84px}.rou__land{background:radial-gradient(90vw 90px at 45% 100%,#0b0806 calc(100% - 3px),#0b080600 100%)}}.rou__text{flex:0 540px;min-width:0;position:relative}.rou__numeral{width:44px;height:44px;font:400 18px / 1 var(--serif);border:2px solid;border-radius:50%;place-items:center;margin-bottom:18px;display:inline-grid}.rou--read .rou__numeral{color:var(--rou-rust-soft)}.rou--use .rou__numeral{color:var(--rou-rust-dark)}.rou__word{font:900 clamp(48px, 5.6vw, 80px) / .9 var(--sans);letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px}.rou__line{font:400 clamp(24px, 2.3vw, 33px) / 1.25 var(--serif);letter-spacing:-.01em;white-space:pre-line;margin-bottom:20px}.rou__body{max-width:46ch;font-size:var(--t-body);margin-bottom:28px;line-height:1.65}.rou--read .rou__body{color:var(--text-2)}.rou--use .rou__body{color:var(--rou-ink-soft)}.rou__detail{font:400 18px / 1.4 var(--serif);border-top:3px solid;padding-top:16px;display:inline-block}.rou--read .rou__detail{border-top-color:var(--rou-rust-soft)}.rou--use .rou__detail{border-top-color:var(--rust)}.rou__art{flex:0 0 300px;justify-content:center;display:flex;position:relative}.rou__book{width:250px;position:relative}.rou__cover{width:100%;height:auto;display:block}.rou--read .rou__book{box-shadow:12px 12px 0 var(--line-strong)}.rou--own .rou__book{box-shadow:12px 12px 0 var(--rou-rust-deep)}.rou--use .rou__book{box-shadow:12px 12px 0 var(--rust)}.rou__ribbon{transform-origin:50% 0;width:9%;animation:4.5s ease-in-out infinite alternate rou-sway;position:absolute;top:96%;left:28%}.rou__ribbon path{fill:var(--cream)}.rou__card{background:var(--cream);width:40%;height:12%;animation:5s ease-in-out infinite alternate rou-lift;position:absolute;top:-8%;left:46%}.rou__card:before,.rou__card:after{content:"";background:var(--rust);height:3px;position:absolute;left:12%}.rou__card:before{width:62%;top:34%}.rou__card:after{width:44%;top:60%}.rou__tabs{width:10%;height:44%;position:absolute;top:26%;right:-7%}.rou__tabs i{background:var(--espresso);width:100%;height:16%;position:absolute;right:0}.rou__tabs i:nth-child(2){top:36%}.rou__tabs i:nth-child(3){background:var(--rou-rust-soft);transform-origin:0;animation:3.8s ease-in-out infinite alternate rou-tip;top:72%}@keyframes rou-sway{0%{transform:rotate(-4deg)}to{transform:rotate(4deg)}}@keyframes rou-lift{0%{transform:translateY(0)}to{transform:translateY(-8px)}}@keyframes rou-tip{0%{transform:rotate(0)}to{transform:rotate(-14deg)}}@media (width<=1100px){.rou{gap:48px;padding:72px 48px}.rou__art{flex-basis:260px}.rou__book{width:210px}}@media (width<=860px){.rou{flex-direction:column;justify-content:center;align-items:flex-start;gap:48px;padding:64px 24px}.rou__text{flex:none;max-width:100%}.rou__art{flex:none;align-self:center}.rou__book{width:170px}.rou__body{font-size:16px}.rou__detail{font-size:17px}}.ft{--book-rest:.4;--drift-x:13s;--drift-y:17s;--drift-r:29s;--drift-x-amp:19px;--drift-y-amp:24px;--light-w:600px;--light-h:440px;--ft-cream-dim:#c6b094;--ft-cream-faint:#bda88c;--ft-ink:#15100a;color:var(--cream);background:radial-gradient(1250px 860px at 66% 72%,#412a16 0%,#261808 36%,#120b05 66%,#060402 100%);justify-content:center;display:flex;position:relative;overflow:hidden}.ft:before{content:"";z-index:0;pointer-events:none;background:linear-gradient(#0b0806,#0b080600);height:160px;position:absolute;inset:0 0 auto}.ft-inner{flex:none;width:1440px;height:900px;position:relative}.ft a{color:var(--cream);transition:color .2s ease, transform .2s var(--spring);text-decoration:none}.ft a:hover,.ft a:focus-visible{color:var(--rust-hover)}.ft a:focus-visible{outline:2px solid var(--cream);outline-offset:4px}.ft a:active{transform:translate(2px)}.ft-stars{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ft-book{perspective:1800px;width:980px;height:850px;position:absolute;top:84px;left:592px}.ft-book--rest{opacity:var(--book-rest)}.ft-book img{width:100%;height:auto;display:block}.ft-tilt{width:100%;position:relative;transform:rotateX(11deg)rotate(-11deg)}.ft-fx,.ft-fy,.ft-fr{width:100%;height:100%}.ft-fx{animation:ft-x var(--drift-x) ease-in-out infinite}.ft-fy{animation:ft-y var(--drift-y) ease-in-out infinite}.ft-fr{animation:ft-r var(--drift-r) ease-in-out infinite}@keyframes ft-x{0%,to{transform:translateX(calc(var(--drift-x-amp) * -1))}50%{transform:translateX(var(--drift-x-amp))}}@keyframes ft-y{0%,to{transform:translateY(calc(var(--drift-y-amp) * -1))}50%{transform:translateY(var(--drift-y-amp))}}@keyframes ft-r{0%,to{transform:rotate(-.5deg)}50%{transform:rotate(.5deg)}}.ft-light{pointer-events:none;opacity:0;-webkit-mask-image:radial-gradient(ellipse var(--light-w) var(--light-h) at var(--mx,72%) var(--my,48%), #fffffff2 0%, #ffffff80 20%, #ffffff30 43%, #ffffff0d 70%, #fff0 90%);-webkit-mask-image:radial-gradient(ellipse var(--light-w) var(--light-h) at var(--mx,72%) var(--my,48%), #fffffff2 0%, #ffffff80 20%, #ffffff30 43%, #ffffff0d 70%, #fff0 90%);mask-image:radial-gradient(ellipse var(--light-w) var(--light-h) at var(--mx,72%) var(--my,48%), #fffffff2 0%, #ffffff80 20%, #ffffff30 43%, #ffffff0d 70%, #fff0 90%);transition:opacity .5s;position:absolute;inset:0}.ft-inner.is-lit .ft-light{opacity:1}.ft-pg{width:32%;height:66%;color:var(--ft-ink);font:400 19px/1.42 Caveat,Segoe Print,cursive;position:absolute;top:16%}.ft-pg--l{left:11%}.ft-pg--r{width:27%;left:55%}.ft-pg p{margin:0 0 11px}.ft-pg__rh{font:400 9px / 1.2 var(--sans);letter-spacing:.22em;text-transform:uppercase;opacity:.55;margin-bottom:13px}.ft-pg--r .ft-pg__rh{text-align:right}.ft-pg__pn{font:400 10px / 1 var(--sans);letter-spacing:.1em;opacity:.5;position:absolute;bottom:0}.ft-pg--l .ft-pg__pn{left:0}.ft-pg--r .ft-pg__pn{right:0}.ft-far{pointer-events:none;position:absolute;inset:0}.ft-kb{position:absolute}.ft-kb svg{width:100%;display:block}@keyframes ft-kb1{0%,to{transform:translate(-11px,12px)}50%{transform:translate(11px,-12px)}}@keyframes ft-kb2{0%,to{transform:translate(13px,-9px)}50%{transform:translate(-13px,9px)}}@keyframes ft-kb3{0%,to{transform:translate(-8px,-13px)}50%{transform:translate(8px,13px)}}.ft-head{width:519px;position:absolute;top:135px;left:88px}.ft-head h2{font:900 72px / .96 var(--sans);letter-spacing:-.022em;margin:0}.ft-head p{width:350px;color:var(--ft-cream-dim);margin:44px 0 0;font-size:18px;line-height:1.55}.ft-foot{width:400px;position:absolute;bottom:76px;left:88px}.ft-nav{flex-direction:column;align-items:flex-start;gap:11px;margin-bottom:48px;display:flex}.ft-nav a{font:700 15px / normal var(--sans);letter-spacing:.22em}.ft-rule{background:var(--cream);height:5px;margin-bottom:18px}.ft-note{color:var(--ft-cream-faint);margin:0;font-size:14px;line-height:normal}@media (width<=1100px){.ft{display:block}.ft-inner{width:auto;height:auto;padding:64px 40px 56px}.ft-head,.ft-foot{width:auto;position:static}.ft-head h2{font-size:clamp(38px,7vw,60px)}.ft-head p{width:auto;max-width:430px}.ft-book{width:100%;max-width:620px;height:auto;margin:48px auto;position:relative;top:0;left:0}.ft-book--rest{opacity:1}.ft-light{display:none}.ft-foot{margin-top:40px}.ft-pg{font-size:13px}.ft-pg__rh{margin-bottom:8px;font-size:7px}.ft-pg p{margin-bottom:7px}.ft-kb{display:none}}@media (width<=420px){.ft-inner{padding:48px 24px 44px}.ft-pg{font-size:10px}.ft-pg__rh,.ft-pg__pn{display:none}}@media (prefers-reduced-motion:reduce){.poster [data-cue]{transition:none}.rou__ribbon,.rou__card,.rou__tabs i,.rou--use:after{animation:none}.home [data-reveal]{opacity:1;transform:none}.ft-fx,.ft-fy,.ft-fr,.ft-kb{animation:none!important}.ft-book--rest{opacity:1}.ft-light{display:none}}.bookpage{max-width:var(--content-w);margin:0 auto;display:block}.back{border:1px solid var(--line);width:44px;height:44px;color:var(--text);transition:transform .2s var(--spring);place-items:center;display:inline-grid}.back:hover{background:var(--raised);border-color:var(--line-strong)}.back:active{transform:translateY(1px)}.bp-head{gap:0 var(--s4);margin-top:var(--s5);grid-template-columns:minmax(0,1fr) 96px;grid-template-areas:"id cover""status status""why why";display:grid}.bp-id{grid-area:id}.bp-cover{grid-area:cover}.bp-status{grid-area:status}.bp-why{grid-area:why;align-self:start}.bp-cover .cover{--cover-w:96px}.bp-title{font:400 30px/1.06 var(--serif);letter-spacing:-.02em;text-wrap:balance}.bp-subtitle{margin-top:var(--s2);font:italic 400 var(--t-body)/1.35 var(--serif);color:var(--text-2)}.bp-author{margin-top:var(--s3);color:var(--text-2)}.bp-status{gap:var(--s2);margin-top:var(--s5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.st{justify-items:center;gap:var(--s2);color:var(--text-2);font:400 var(--t-meta)/1.2 var(--sans);cursor:pointer;transition:transform .2s var(--spring);background:0 0;border:0;padding:0;display:grid}.st__box{border:1px solid var(--line-strong);width:100%;height:52px;color:var(--text);place-items:center;display:grid}.st__box .icon{width:22px;height:22px}.st:hover .st__box{background:var(--raised);border-color:var(--text-2)}.st:active{transform:translateY(1px)}.st:focus-visible{outline:none}.st:focus-visible .st__box{outline:2px solid var(--text);outline-offset:2px}.st[aria-pressed=true]{color:var(--text)}.st[aria-pressed=true] .st__box{background:var(--rust);border-color:var(--rust);color:#fff}.bp-aside{font-size:var(--t-meta);grid-column:1/-1;justify-self:start}.bp-aside-note{margin-top:var(--s2);font-size:var(--t-meta);color:var(--text-2);grid-column:1/-1}.bp-why{margin:var(--s5) 0 0;padding-left:var(--s4);border-left:1px solid var(--line-strong);max-width:46ch;font:italic 400 var(--t-body)/1.55 var(--serif);color:var(--text-2)}@media (width>=768px){.bp-head{gap:0 var(--s7);grid-template:"id cover""status cover""why cover"1fr/minmax(0,1fr) 216px}.bp-cover .cover{--cover-w:216px}.bp-title{font-size:var(--t-h1)}.bp-subtitle{font-size:var(--t-h3)}.bp-status{align-items:flex-start;gap:var(--s4);margin-top:var(--s6);display:flex}.st__box{width:104px;height:56px}.bp-aside,.bp-aside-note{margin:-22px 0 0 var(--s2);align-self:center}.bp-why{margin-top:var(--s6)}}.bp-mark{margin-top:var(--s6)}.bp-mark__meta{justify-content:space-between;gap:var(--s4);font-size:var(--t-meta);color:var(--text-2);font-variant-numeric:tabular-nums;display:flex}.bp-mark__meta strong{font:400 var(--t-body)/1 var(--serif);color:var(--text)}.bp-mark .edge{margin:var(--s3) 0 0}.bp-mark .edge__pct{display:none}@media (width>=768px){.bp-mark{margin-top:var(--s7)}}.bp-next{gap:var(--s4);margin-top:var(--s6);padding:var(--s5) 0;border-block:1px solid var(--line);display:grid}.bp-next__text{font:400 19px/1.35 var(--serif)}.bp-next__text small{margin-top:var(--s1);font:400 var(--t-ui)/1.5 var(--sans);color:var(--text-2);display:block}.bp-next__acts{align-items:center;gap:var(--s2) var(--s5);flex-wrap:wrap;display:flex}.bp-next__acts .btn{flex:100%}@media (width>=768px){.bp-next{align-items:center;gap:var(--s6);grid-template-columns:minmax(0,1fr) auto}.bp-next__text{font-size:var(--t-h3)}.bp-next__acts .btn{flex:none}}.bp-tabs{margin-top:var(--s6)}.tabs__n{font-size:var(--t-meta);color:var(--text-2);font-variant-numeric:tabular-nums}.tabs__n--due{color:var(--rust-ink)}.tab-body{margin-top:var(--s6)}@media (width>=768px){.bp-tabs{margin-top:var(--s7)}}.bp-h2{font:400 var(--t-h3)/1.25 var(--serif);letter-spacing:-.01em}.bp-section{margin-top:var(--s7)}.bp-section>.t-meta{margin-top:var(--s1)}.bp-section .table-scroll{margin-top:var(--s4)}.bp-progress{gap:var(--s7);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=900px){.bp-progress{grid-template-columns:minmax(0,1fr) 264px}}.forecast{max-width:34em;font:400 var(--t-body)/1.55 var(--serif)}.forecast strong{color:#fff;white-space:nowrap;font-weight:500}.on-track{color:var(--sage)}.off-track{color:var(--amber)}@media (width>=768px){.forecast{font-size:var(--t-h3)}}.bp-main .quick-log{margin-top:var(--s6)}.bp-summary{max-width:60ch;margin-top:var(--s3);font:400 var(--t-body)/1.7 var(--serif)}.log-row td:first-child{white-space:nowrap}.log-row__actions{text-align:right;white-space:nowrap}.log-row__actions .link-btn{min-height:40px;margin-left:var(--s3);font-size:var(--t-meta)}.log-edit,.confirm{align-items:center;gap:var(--s2);font-size:var(--t-ui);flex-wrap:wrap;display:flex}.bp-side section+section{margin-top:var(--s6)}.facts{margin:var(--s3) 0 0;border-top:1px solid var(--line)}.facts div{justify-content:space-between;gap:var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--line);font-size:var(--t-ui);display:flex}.facts dt{color:var(--text-2)}.facts dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.tab-chapters,.tab-reviews,.tab-details{gap:var(--s7);grid-template-columns:minmax(0,1fr);display:grid}.tab-chapters .panel,.tab-reviews .panel,.tab-details .panel{border-top:0;padding-top:0}.section-heading{font:400 var(--t-h3)/1.25 var(--serif)}.owned{font-size:var(--t-ui);color:var(--text-2)}.cmap{height:24px;margin:var(--s3) 0 0;gap:2px;padding:0;list-style:none;display:flex}.cmap__seg{min-width:6px}.cmap__seg--owned{background:var(--sage)}.cmap__seg--draft{background:repeating-linear-gradient(135deg, var(--sage) 0 3px, #5f6e4c 3px 6px)}.cmap__seg--ready{background:var(--rust)}.cmap__seg--reading{background:repeating-linear-gradient(90deg,#a68b6c 0 2px,#6d5643 2px 4px)}.cmap__seg--unread{background:var(--raised);box-shadow:inset 0 0 0 1px var(--line)}.legend{gap:var(--s2) var(--s5);margin:var(--s4) 0 0;font-size:var(--t-meta);color:var(--text-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.legend li{align-items:center;gap:var(--s2);display:inline-flex}.legend__key{width:12px;height:12px}.chapter-table td.num:first-child{width:3ch;color:var(--text-2)}.chapter-title{font-weight:500}.chapter-action{text-align:right}.chapter-table th:nth-child(3),.chapter-table td:nth-child(3){display:none}.state{align-items:center;gap:var(--s2);font-size:var(--t-meta);white-space:nowrap;color:var(--text-2);font-weight:500;display:inline-flex}.state:before{content:"";background:currentColor;width:8px;height:8px}.state--owned,.state--draft{color:var(--sage)}.state--draft:before{background:0 0;box-shadow:inset 0 0 0 1.5px}.state--ready{color:var(--rust-ink)}.state--reading{color:var(--text)}.state--unread:before{background:var(--line-strong)}@media (width>=768px){.chapter-table th:nth-child(3),.chapter-table td:nth-child(3){display:table-cell}}.owncards{gap:var(--s7) var(--s6);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.owncard{padding-top:var(--s4);border-top:2px solid var(--text)}.owncard--todo{justify-items:start;gap:var(--s3);border-top:2px dashed var(--line-strong);display:grid}.owncard__head{justify-content:space-between;align-items:baseline;gap:var(--s2);flex-wrap:wrap;display:flex}.owncard__title{font:400 var(--t-h3)/1.3 var(--serif)}.owncard__body{gap:var(--s4);margin:var(--s5) 0 0;display:grid}.owncard__body dt{font-size:var(--t-meta);color:var(--text-2);font-weight:500}.owncard__body dd{margin:var(--s1) 0 0;font:400 var(--t-body)/1.6 var(--serif)}@media (width>=900px){.owncards{grid-template-columns:repeat(2,minmax(0,1fr))}}.learning{gap:var(--s5) var(--s4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.learning__item{gap:var(--s1);padding-top:var(--s3);border-top:1px solid var(--line);font-size:var(--t-ui);display:grid}.learning__n{font:400 40px/1 var(--serif);letter-spacing:-.02em;font-variant-numeric:tabular-nums}@media (width>=768px){.learning{grid-template-columns:repeat(4,minmax(0,1fr))}}.recall{align-items:center;gap:var(--s2);white-space:nowrap;font-size:var(--t-ui);font-weight:500;display:inline-flex}.recall:before{content:"";background:currentColor;width:8px;height:8px}.recall--remembered{color:var(--sage)}.recall--partly{color:var(--amber)}.recall--forgot{color:var(--rust-ink)}.used{font-size:var(--t-meta);color:var(--text-2);margin-top:2px;display:block}.review-grid th[scope=row]{min-width:150px;color:var(--text);font-size:var(--t-ui);font-weight:500}.due-link{color:var(--rust-ink);font-weight:500}.uses{gap:var(--s3);margin:var(--s3) 0 0;padding:0;list-style:none;display:grid}.uses li{padding-top:var(--s3);border-top:1px solid var(--line)}.dl{margin:var(--s3) 0 0}.dl-row{padding:var(--s3) 0;border-top:1px solid var(--line);gap:2px;display:grid}.dl-row dt{font-size:var(--t-meta);color:var(--text-2);font-weight:500}.dl-row dd{margin:0}.notes{margin-top:var(--s3);font:400 var(--t-body)/1.65 var(--serif);white-space:pre-wrap}.tags--lg{margin-top:var(--s3)}.tags--lg .tag{font-size:var(--t-ui);padding:0 var(--s3);line-height:30px}.swatch-row{align-items:center;gap:var(--s3);margin-top:var(--s4);display:flex}.set-aside{align-items:center;gap:var(--s1);flex-wrap:wrap;display:flex}@media (width>=768px){.dl-row{gap:var(--s4);grid-template-columns:180px minmax(0,1fr)}}@media (width>=900px){.tab-details{gap:var(--s7) var(--s6);grid-template-columns:repeat(2,minmax(0,1fr))}.set-aside{grid-column:1/-1}}.bookcase{--grain-h:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.006 0.42' numOctaves='3' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 0.09 0 0 0 0 0.05 0 0 0 0 0.02 1.5 0 0 0 -0.55'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");--grain-v:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='640'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.42 0.006' numOctaves='3' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 0.09 0 0 0 0 0.05 0 0 0 0 0.02 1.5 0 0 0 -0.55'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");--post:22px;--crown:18px;--walnut:#6a4329;--walnut-hi:#8d5e3b;--walnut-lo:#3a2213;--gap:var(--s5);padding:var(--crown) var(--post) 0;background: radial-gradient(ellipse 120% 70% at 50% 40%, transparent 40%, #00000073), repeating-linear-gradient(90deg, transparent 0 calc(25% - 1px), #00000059 calc(25% - 1px) 25%), linear-gradient(#2a1a1073, #2a1a1073), var(--grain-v) 0 0 / 220px 880px, #2a1a10;position:relative;box-shadow:0 2px #120a05,0 30px 60px -20px #000c,0 10px 20px -10px #0009}.bookcase:before,.bookcase:after{content:"";width:var(--post);z-index:2;background:var(--grain-v) 0 0 / 160px 640px, linear-gradient(90deg, var(--walnut-lo), var(--walnut-hi) 22%, var(--walnut) 55%, var(--walnut-lo));pointer-events:none;position:absolute;top:0;bottom:0}.bookcase:before{left:0;box-shadow:6px 0 14px #0000008c}.bookcase:after{right:0;box-shadow:-6px 0 14px #0000008c}.bookcase__crown{height:var(--crown);z-index:3;background:var(--grain-h) 0 0 / 640px 160px, linear-gradient(var(--walnut-hi), var(--walnut) 40%, var(--walnut-lo));position:absolute;inset:0 0 auto;box-shadow:0 10px 18px #0009,inset 0 1px #ffdcaa40}.tier{padding:44px var(--gap) 0;background:linear-gradient(#0000008c,#0000 26px),radial-gradient(18% 55% at 10% 0,#ffbe6e29,#0000 70%),radial-gradient(18% 55% at 50% 0,#ffbe6e29,#0000 70%),radial-gradient(18% 55% at 90% 0,#ffbe6e29,#0000 70%),radial-gradient(75% 85% at 50% 0,#ffb46424,#0000 75%);position:relative}.tier__books{z-index:1;grid-template-columns:repeat(var(--cols), minmax(0, 1fr));gap:var(--gap);align-items:end;min-height:160px;margin:0 0 -7px;padding:0;list-style:none;display:grid;position:relative}.plank{height:20px;margin:0 calc(var(--gap) * -1);background:linear-gradient(#a87650, #7a4f31 3px, transparent 3px), var(--grain-h) 0 0 / 640px 160px, linear-gradient(var(--walnut-hi) 3px, var(--walnut) 30%, var(--walnut-lo));position:relative;box-shadow:0 16px 18px -6px #000c,0 3px 3px #00000080}.plank:before{content:"";background:var(--grain-h) 0 0 / 640px 160px, linear-gradient(#3e2515, #6a4329 70%, #8d5e3b);height:10px;position:absolute;bottom:100%;left:0;right:0}.slot{min-width:0;container-type:inline-size}.shelf-book{-webkit-tap-highlight-color:transparent;display:block;position:relative}.shelf-book .cover{--cover-w:100cqw;transition:transform .3s var(--spring);box-shadow:0 1px #0009,4px 12px 18px -4px #000000bf,-3px 4px 10px -2px #0006}.shelf-book__light{z-index:1;pointer-events:none;transition:transform .3s var(--spring);background:linear-gradient(90deg,#0000 6%,#00000047 8%,#ffffff1a 10%,#0000 13%),linear-gradient(115deg,#0000 30%,#fff0d214 42%,#0000 55%),linear-gradient(#ffdca024,#0000 30% 70%,#00000047);position:absolute;inset:0}.shelf-book__pages{width:4px;transition:transform .3s var(--spring);background:repeating-linear-gradient(#efe3c8 0 1px,#c9b48f 1px 2px);position:absolute;top:1.5%;bottom:.5%;right:-3px;box-shadow:inset -1px 0 #00000040}.shelf-book:after{content:"";z-index:-1;height:10px;transition:opacity .3s ease, transform .3s var(--spring);background:radial-gradient(at 50% 30%,#0a0401d9,#0000 70%);position:absolute;bottom:-5px;left:-2%;right:-6%}.shelf-book:hover .cover,.shelf-book:hover .shelf-book__light,.shelf-book:hover .shelf-book__pages,.shelf-book:hover .flag{transform:translateY(-12px)rotate(-1.2deg)}.shelf-book:hover:after{opacity:.45;transform:scaleX(.8)}.shelf-book:active .cover,.shelf-book:active .shelf-book__light{transform:translateY(-5px)scale(.98)}.shelf-book:focus-visible{outline:2px solid var(--text);outline-offset:5px}.shelf-book.is-aside .cover{filter:saturate(.45)brightness(.8)}.shelf-book__tip{z-index:4;background:var(--bg);width:max-content;max-width:180px;color:var(--text);font-size:var(--t-meta);text-align:center;box-shadow:var(--lift-3);opacity:0;transition:opacity .18s ease, transform .22s var(--spring);pointer-events:none;padding:6px 10px;line-height:1.3;position:absolute;bottom:calc(100% + 20px);left:50%;transform:translate(-50%,6px)}.shelf-book:hover .shelf-book__tip,.shelf-book:focus-visible .shelf-book__tip{opacity:1;transform:translate(-50%)}@media (hover:none){.shelf-book__tip{display:none}}.flag{z-index:2;transition:transform .3s var(--spring);position:absolute}.flag--ribbon{aspect-ratio:18/34;background:linear-gradient(90deg, #8f3c22, var(--rust) 45%, #c8653f 60%, #8f3c22);clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);filter:drop-shadow(0 2px 2px #00000080);width:14%;max-width:18px;top:0;right:10%}.flag--done{color:#fff;background:radial-gradient(circle at 35% 30%,#8fa77a,#5f7a4e);border-radius:50%;place-items:center;width:26px;height:26px;display:grid;bottom:5%;right:7%;box-shadow:0 1px 3px #00000080}.flag--done .icon{stroke-width:2.6px;width:15px;height:15px}.slot--prop{justify-content:center;align-items:flex-end;display:flex;position:relative}.slot--prop svg{width:100%;max-width:150px;height:auto;display:block}.slot--stack svg{width:112%;max-width:none;margin-left:-6%}.slot--lantern:before{content:"";aspect-ratio:1;z-index:-1;pointer-events:none;background:radial-gradient(circle,#ffbe6452,#ffa0501a 35%,#0000 65%);width:220%;animation:3.2s ease-in-out infinite candle;position:absolute;bottom:30%;left:50%;translate:-50% 50%}@keyframes candle{40%{opacity:.8}60%{opacity:.95}}.lights{z-index:2;pointer-events:none;height:30px;position:absolute;inset:0 0 auto}.lights svg{filter:drop-shadow(0 4px 2px #00000080);width:100%;height:100%;position:absolute;inset:0}.lights b{background:radial-gradient(circle at 50% 60%,#fffbea 0 18%,#ffd889 40%,#f0a44a 100%);border-radius:50%/40% 40% 60% 60%;width:8px;height:11px;margin:0 0 0 -4px;animation:4s ease-in-out infinite glow;position:absolute;box-shadow:0 0 6px 2px #ffc878d9,0 0 22px 8px #ffaa5047}.lights b:before{content:"";background:#1a120c;height:4px;position:absolute;top:-3px;left:1px;right:1px}@keyframes glow{50%{opacity:.78}}@media (prefers-reduced-motion:reduce){.lights b,.slot--lantern:before{animation:none}.shelf-book:hover .cover,.shelf-book:hover .shelf-book__light,.shelf-book:hover .shelf-book__pages,.shelf-book:hover .flag{transform:none}}@media (width<=767px){.bookcase{--post:12px;--crown:12px;--gap:var(--s3)}.tier{padding-top:38px}.tier__books{min-height:120px}.plank{height:15px}.plank:before{height:7px}.flag--done{width:20px;height:20px}.flag--done .icon{width:12px;height:12px}.lights b{width:6px;height:9px;margin-left:-3px}}.form-grid{gap:var(--s4);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=640px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field--wide{grid-column:1/-1}}.field__opt{margin-left:var(--s1);color:var(--text-2);opacity:.75;font-weight:400}.field__hint{font-size:var(--t-meta);color:var(--text-2);margin:0;line-height:1.5}.field__error{font-size:var(--t-meta);color:var(--rust-ink);margin:0;line-height:1.5}.input[aria-invalid=true]{border-color:var(--rust-ink)}input[type=date].input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.form-actions{align-items:center;gap:var(--s2);margin-top:var(--s5);flex-wrap:wrap;display:flex}.btn[aria-busy=true]{opacity:.6;cursor:progress}.add-book{max-width:720px}.add-book .view-title{margin-top:var(--s4)}.add-book>.muted{margin:var(--s2) 0 var(--s5)}.back-link{min-height:44px;color:var(--text-2);font-size:var(--t-ui);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:4px;align-items:center;display:inline-flex}.back-link:hover{color:var(--text)}.back-link:active{opacity:.7}.back-link:focus-visible{outline:2px solid var(--text);outline-offset:2px}.more{margin-top:var(--s5);border-top:1px solid var(--line)}.more>.form-grid{padding-top:var(--s3)}.more__toggle{align-items:center;gap:var(--s2);min-height:48px;color:var(--text-2);font:500 var(--t-ui) var(--sans);cursor:pointer;list-style:none;display:flex}.more__toggle::-webkit-details-marker{display:none}.more__toggle:before{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:8px;height:8px;transition:transform .25s cubic-bezier(.34,1.4,.64,1);transform:rotate(-45deg)}.more[open]>.more__toggle:before{transform:rotate(45deg)}.more__toggle:hover{color:var(--text)}.more__toggle:focus-visible{outline:2px solid var(--text);outline-offset:2px}.more__toggle:active{opacity:.7}.panel-form{padding-top:var(--s2)}.tool-panel{margin:var(--s4) 0 var(--s5);padding:var(--s4) 0 var(--s5);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.empty+.tool-panel{max-width:720px}.tool-row .btn.is-on{border-color:var(--text);background:var(--raised)}.tab-details .panel__head{min-height:44px}.reorder-note{justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.reorder-note .t-meta{margin:0}.order-note{margin-top:var(--s3);color:var(--amber)}.move{gap:var(--s1);display:inline-flex}.icon-btn{border:1px solid var(--line-strong);width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;place-items:center;transition:transform .2s cubic-bezier(.34,1.4,.64,1);display:inline-grid}.icon-btn .icon{width:18px;height:18px}.icon-btn:hover:not(:disabled){border-color:var(--text-2);background:var(--raised)}.icon-btn:active:not(:disabled){transform:scale(.94)}.icon-btn:focus-visible{outline:2px solid var(--text);outline-offset:2px}.icon-btn:disabled{opacity:.3;cursor:default}.bp-switch{margin-top:var(--s5);padding:var(--s4) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.bp-switch p{max-width:60ch;font-size:var(--t-ui);margin:0;line-height:1.6}.bp-switch .form-actions{margin-top:var(--s3)}.main-col{min-width:0}.sample-note{padding:var(--s2) var(--gutter);border-bottom:1px solid var(--line);font-size:var(--t-meta);color:var(--text-2);margin:0}.sample-note[hidden]{display:none}.sample-note a{color:var(--text);text-underline-offset:3px}.sample-note a:hover{color:#fff}.sample-note a:focus-visible{outline:2px solid var(--text);outline-offset:2px}@media (prefers-reduced-motion:reduce){.more__toggle:before,.icon-btn{transition:none}}.edge.is-sliding .edge__fill,.edge.is-sliding .edge__marker{transition:transform .8s cubic-bezier(.34,1.3,.64,1)}.quick-log__row{align-items:center}.quick-log__saved{align-items:center;gap:var(--s1);font:600 var(--t-ui) var(--sans);color:var(--sage);opacity:0;transition:opacity .3s,transform .4s cubic-bezier(.34,1.4,.64,1);display:inline-flex;transform:translateY(4px)}.quick-log__saved .icon{width:18px;height:18px}.quick-log__saved.is-shown{opacity:1;transform:none}.quick-log__confirm{align-items:center;gap:var(--s2);margin-top:var(--s3);font-size:var(--t-ui);flex-wrap:wrap;line-height:1.5;display:flex}.quick-log__confirm p{flex-basis:100%;margin:0}@media (prefers-reduced-motion:reduce){.quick-log__saved{transition:none;transform:none}}.input:-webkit-autofill{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:0 0 0 1000px var(--raised) inset;transition:background-color 9999s}.input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:0 0 0 1000px var(--raised) inset;transition:background-color 9999s}.input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:0 0 0 1000px var(--raised) inset;transition:background-color 9999s}.chapter-add{gap:var(--s3);padding:var(--s4) 0;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#f2e7d509,#0000 70%);grid-template-columns:32px minmax(0,1fr);align-items:start;display:grid}.chapter-add__n{text-align:center;font:400 var(--t-body) var(--serif);color:var(--text-2);padding-top:34px}.chapter-add__field{gap:var(--s2);min-width:0;display:grid}.chapter-add__page,.chapter-add__acts{grid-column:2}.chapter-add__acts{gap:var(--s2);display:flex}@media (width>=720px){.chapter-add{grid-template-columns:32px minmax(0,1fr) 140px auto}.chapter-add__page,.chapter-add__acts{grid-column:auto}.chapter-add__acts{padding-top:26px}}.contents__lead{margin:0 0 var(--s4);max-width:62ch}.toc-grid{gap:var(--s4);display:grid}@media (width>=720px){.toc-grid{grid-template-columns:minmax(0,1fr) 240px}}.toc-example{align-content:start;gap:var(--s2);padding-left:var(--s4);border-left:1px solid var(--line);display:grid}.toc-example .t-meta{margin:0 0 var(--s2)}.toc-example__text{font:400 var(--t-meta)/1.8 var(--sans);color:var(--text-2);white-space:pre-wrap;margin:0}.toc{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.toc__line{align-items:baseline;gap:var(--s2);padding:var(--s2) 0;border-bottom:1px solid var(--line);font:400 var(--t-body)/1.5 var(--serif);display:flex}.toc__mark{font:600 var(--t-meta) var(--sans);color:var(--sage);flex:0 0 18px}.toc__text{overflow-wrap:anywhere;min-width:0}.toc__dots{min-width:var(--s4);border-bottom:1px dotted var(--line-strong);flex:1;transform:translateY(-4px)}.toc__page{font-variant-numeric:tabular-nums;color:var(--text-2)}.toc__line--read .toc__text{color:var(--text-2)}.toc__line--here{background:linear-gradient(90deg,#b4502f24,#0000 80%)}.toc__line--here .toc__mark{color:var(--rust-ink)}.toc__line--here .toc__text{font-weight:500}.toc__here{font:600 var(--t-meta) var(--sans);color:var(--rust-ink);flex-basis:100%;margin-left:26px}.toc__line--here{flex-wrap:wrap}.toc__line--heading{padding-top:var(--s4);font:600 var(--t-meta) var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}@media (width<=599px){.chapter-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.chapter-table tr{column-gap:var(--s2);padding:var(--s3) 0;border-bottom:1px solid var(--line);grid-template-columns:3ch minmax(0,1fr);display:grid}.chapter-table td{border:0;padding:0}.chapter-table td:first-child{grid-row:1/span 3}.chapter-table td:nth-child(4),.chapter-table td:nth-child(5){margin-top:var(--s2);text-align:left;grid-column:2}.chapter-table td:nth-child(5):empty{display:none}}.test-date{padding:var(--s2) var(--gutter);border-bottom:1px solid var(--line);font-size:var(--t-meta);color:var(--amber);background:#e2a75e1a;margin:0}.test-date[hidden]{display:none}.kept{margin-top:var(--s6);padding:var(--s5) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.kept__head{justify-content:space-between;align-items:baseline;gap:var(--s2);flex-wrap:wrap;display:flex}.kept__head .t-meta{margin:0}.kept__stats{gap:var(--s4);margin-top:var(--s4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=720px){.kept__stats{grid-template-columns:repeat(5,minmax(0,1fr))}}.kept__stat{gap:var(--s1);font-size:var(--t-meta);color:var(--text-2);display:grid}.kept__n{font:400 var(--t-h2)/1 var(--serif);font-variant-numeric:tabular-nums;color:var(--text)}.kept__stat--good .kept__n{color:var(--sage)}.kept__stat--use .kept__n{color:var(--rust-ink)}.kept__uses{gap:var(--s3);margin:var(--s5) 0 0;padding:0;list-style:none;display:grid}.kept__uses li{padding-left:var(--s4);border-left:2px solid var(--rust)}.kept__uses p{font:400 var(--t-body)/1.6 var(--serif);margin:0}.kept__uses p.t-meta{margin-top:var(--s1);font:400 var(--t-meta)/1.5 var(--sans);color:var(--text-2)}.kept__more{margin:var(--s4) 0 0}.chapter-edit-row td{padding:0}.chapter-edit-row .chapter-add{border-bottom:0}.chapter-edit-btn{min-height:32px;margin-left:var(--s2);font-size:var(--t-meta);vertical-align:baseline}@media (width<=599px){.chapter-table tr.chapter-edit-row,.chapter-table tr.chapter-edit-row td{display:block}}.card{max-width:760px}.card__top{justify-content:space-between;align-items:center;gap:var(--s2) var(--s4);flex-wrap:wrap;display:flex}.card__status{min-height:1.4em;font:500 var(--t-meta) var(--sans);color:var(--text-2);margin:0}.card__status[data-state=saved]{color:var(--sage)}.card__status[data-state=saved]:before{content:"✓ "}.card__status[data-state=failed],.card__status[data-state=blocked]{color:var(--rust-ink)}.card__head{margin-top:var(--s4);padding-bottom:var(--s5);border-bottom:1px solid var(--line);position:relative}.card__book{font:600 var(--t-meta) var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);margin:0}.card__title{margin-top:var(--s2);letter-spacing:-.03em}.card__lead,.card__owned{margin:var(--s3) 0 0;max-width:60ch}.stamp{margin:var(--s4) 0 0 var(--s1);padding:var(--s1) var(--s3);border:3px double var(--rust-ink);color:var(--rust-ink);font:900 var(--t-h3)/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;opacity:.92;display:inline-block;transform:rotate(-8deg)}.stamp--new{animation:.55s cubic-bezier(.34,1.5,.64,1) both stamp-land}@keyframes stamp-land{0%{opacity:0;transform:rotate(-14deg)scale(1.9)}60%{opacity:1}to{opacity:.92;transform:rotate(-8deg)scale(1)}}.card__section{gap:var(--s2);padding:var(--s5) 0;border-bottom:1px solid var(--line);display:grid}.card__h{align-items:center;gap:var(--s2);font:400 var(--t-h3)/1.2 var(--serif);letter-spacing:-.01em;margin:0;display:flex}.card__tick{border:1.5px solid var(--line-strong);place-items:center;width:20px;height:20px;transition:transform .3s cubic-bezier(.34,1.5,.64,1);display:inline-grid}.card__section.is-done .card__tick{border-color:var(--sage);background:var(--sage)}.card__section.is-done .card__tick:after{content:"";border-left:2px solid var(--bg);border-bottom:2px solid var(--bg);width:10px;height:5px;transform:translateY(-1px)rotate(-45deg)}@media (width>=720px){.stamp{margin:0;position:absolute;top:0;right:0}.card__head--owned .card__book,.card__head--owned .card__title{padding-right:150px}}.card__short{min-height:0;padding-top:var(--s2);padding-bottom:var(--s2);line-height:1.5}.card__text{min-height:96px;font:400 var(--t-body)/1.7 var(--serif)}.card__evidence{gap:var(--s3);display:grid}@media (width>=720px){.card__evidence{grid-template-columns:repeat(3,minmax(0,1fr))}}.card__evidence-help{margin-top:0}.card__foot{justify-content:space-between;align-items:center;gap:var(--s3);padding-top:var(--s5);flex-wrap:wrap;display:flex}.card__count{font:500 var(--t-ui) var(--sans);color:var(--text-2);margin:0}.card__foot .btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.card__error{margin-top:var(--s3)}.card .input:disabled{opacity:.7}@media (prefers-reduced-motion:reduce){.stamp--new{animation:none}.card__tick{transition:none}}.rv{max-width:980px}.rv__head{margin-top:var(--s4);padding-bottom:var(--s5);border-bottom:1px solid var(--line)}.rv__title{margin-top:var(--s2);letter-spacing:-.03em}.rv__lead{margin-top:var(--s5)}.rv__q{font:400 var(--t-h3)/1.3 var(--serif);letter-spacing:-.01em;margin:0;padding:0;display:block}.rv-recall{gap:var(--s3);max-width:720px;padding-top:var(--s5);display:grid}.rv-recall .t-meta{margin:0}.rv__warn{color:var(--amber);margin:0}.rv__warn:empty{display:none}.rv-compare{gap:var(--s5);padding:var(--s5) 0;border-bottom:1px solid var(--line);outline:none;display:grid}@media (width>=900px){.rv-compare{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}}.rv__label{margin:0 0 var(--s3);font:600 var(--t-meta) var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}.rv-mine__text{font:400 var(--t-body)/1.7 var(--serif);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.rv-card{padding:var(--s4);border:1px solid var(--line-strong);background:var(--raised);box-shadow:var(--lift-2);transform-origin:50%}.rv-card.is-flipping{animation:.6s cubic-bezier(.34,1.25,.64,1) both rv-flip}@keyframes rv-flip{0%{opacity:0;transform:scaleX(.02)}45%{opacity:1}to{opacity:1;transform:scaleX(1)}}.rv-card__body{gap:var(--s3);margin:0;display:grid}.rv-card__body dt{font:600 var(--t-meta) var(--sans);color:var(--text-2)}.rv-card__body dd{margin:var(--s1) 0 0;font:400 var(--t-body)/1.6 var(--serif);overflow-wrap:anywhere}.rv-rate{gap:var(--s5);padding-top:var(--s5);max-width:720px;display:grid}.choices{border:0;margin:0;padding:0}.choices__row{gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap;display:flex}.choice{position:relative}.choice input{opacity:0;width:1px;height:1px;position:absolute}.choice span{min-height:48px;padding:0 var(--s5);border:1px solid var(--line-strong);font:600 var(--t-ui) var(--sans);color:var(--text);cursor:pointer;align-items:center;transition:transform .2s cubic-bezier(.34,1.4,.64,1);display:inline-flex}.choice span:hover{border-color:var(--text-2);background:var(--raised)}.choice span:active{transform:scale(.97)}.choice input:focus-visible+span{outline:2px solid var(--text);outline-offset:2px}.choice input:checked+span{border-color:var(--text);background:var(--text);color:var(--bg)}.choice--remembered input:checked+span,.choice--yes input:checked+span{border-color:var(--sage);background:var(--sage)}.choice--forgot input:checked+span{border-color:var(--rust-ink);background:var(--rust-ink)}.rv__error:empty{display:none}.rv-done{padding-top:var(--s6)}.rv-done__mark{width:48px;height:48px;margin:0 0 var(--s3);background:var(--sage);color:var(--bg);font:700 22px/1 var(--sans);place-items:center;display:inline-grid}.rv-done .muted{margin:var(--s2) 0 0}@media (prefers-reduced-motion:reduce){.rv-card.is-flipping{animation:none}.choice span{transition:none}}
