:root,[data-theme=chill]{--wall:#efe6d5;--light:#fff6e1e6;--ink:#2f2620;--ink-soft:#85735f;--accent:#b5533f;--accent-ink:#fff;--plank-top:#ecd2ab;--plank:#d3aa78;--plank-edge:#a97c4e;--plank-shadow:#5c3c1e38;--book-shadow:#462d1473;--card:#faf5ec;--chip:#eadfcc;--line:#50371e1f;--scrim:#281c1259;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=nuit]{--wall:#1c1714;--light:#ffaa5a29;--ink:#f1e5d3;--ink-soft:#a7927d;--accent:#e2876a;--accent-ink:#24170f;--plank-top:#6a4a33;--plank:#4e3524;--plank-edge:#2f1f14;--plank-shadow:#00000073;--book-shadow:#000000b3;--card:#2a221c;--chip:#3a2f26;--line:#ffe6c81a;--scrim:#0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=teckel]{--wall:#f3e4cf;--light:#ffeecdf2;--ink:#3a2214;--ink-soft:#8d6547;--accent:#a9532a;--accent-ink:#fff8ef;--plank-top:#d4925e;--plank:#b46a38;--plank-edge:#7c401b;--plank-shadow:#6e371442;--book-shadow:#5f301273;--card:#fbf1e3;--chip:#f0dcc2;--line:#78411924;--scrim:#3a221461;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=romance]{--wall:#f8ebe7;--light:#ffe4e2f2;--ink:#4a1825;--ink-soft:#9a6470;--accent:#b0445a;--accent-ink:#fff6f4;--plank-top:#fbeee9;--plank:#e6c3bb;--plank-edge:#c9a35b;--plank-shadow:#963c503d;--book-shadow:#78283c61;--card:#fff8f5;--chip:#f3dcd8;--line:#8c3c5024;--scrim:#4a182552;--gold:#c9a35b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){[data-theme=auto]{--wall:#1c1714;--light:#ffaa5a29;--ink:#f1e5d3;--ink-soft:#a7927d;--accent:#e2876a;--accent-ink:#24170f;--plank-top:#6a4a33;--plank:#4e3524;--plank-edge:#2f1f14;--plank-shadow:#00000073;--book-shadow:#000000b3;--card:#2a221c;--chip:#3a2f26;--line:#ffe6c81a;--scrim:#0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--wall)}body{min-height:100dvh;color:var(--ink);background:radial-gradient(140% 70% at 10% -10%, var(--light), transparent 60%) fixed, var(--wall);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}button,input,textarea{font:inherit;color:inherit}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select,[contenteditable]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}button{cursor:pointer}h1,h2,h3,.serif{font-optical-sizing:auto;font-family:Fraunces,Iowan Old Style,Georgia,serif}.splash{justify-content:center;align-items:center;min-height:100dvh;display:flex}.ribbon{background:var(--accent);clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%);flex:none;width:18px;height:42px;display:block}.ribbon.big{width:26px;height:60px}.splash .ribbon{transform-origin:top;animation:1.6s ease-in-out infinite sway}@keyframes sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}.btn{border:0;border-radius:18px;justify-content:center;align-items:center;gap:10px;min-height:56px;padding:0 20px;font-size:17px;font-weight:500;transition:transform .15s,opacity .2s;display:flex}.btn:active{transform:scale(.97)}.btn.primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 14px 24px -14px var(--accent)}.btn.primary:disabled{opacity:.4}.btn.secondary{background:var(--chip)}.btn.ghost{color:var(--ink-soft);background:0 0;min-height:48px;font-size:15px}.btn.big{min-height:64px;font-size:18px}.btn.small{border-radius:14px;min-height:46px;font-size:15px}.message.error{color:var(--accent);font-style:normal}.message{text-align:center;color:var(--ink-soft);margin:0;font-style:italic;line-height:1.45}.dots{justify-content:center;gap:7px;padding:12px;display:flex}.dots i{background:var(--accent);border-radius:50%;width:9px;height:9px;animation:1s ease-in-out infinite pulse}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}.login{max-width:520px;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 64px) 20px calc(env(safe-area-inset-bottom) + 20px);flex-direction:column;justify-content:space-between;gap:32px;margin:0 auto;display:flex}.login-top h1{letter-spacing:-.02em;margin:22px 0 6px;font-size:44px;font-weight:500}.login-top p{color:var(--ink-soft);margin:0;font-family:Fraunces,Georgia,serif;font-size:18px;font-style:italic}.login-fields{gap:14px;display:grid}.login-fields label{color:var(--ink-soft);gap:6px;font-size:14px;display:grid}.login-fields input,.search input,.manual-form input,.review{border:1.5px solid var(--line);background:var(--card);border-radius:14px;outline:none;min-height:54px;padding:0 16px;font-size:17px}.login-fields input:focus,.search input:focus,.manual-form input:focus,.review:focus{border-color:var(--accent)}.login-error{color:var(--accent);margin:0}.pw{display:block;position:relative}.pw input{width:100%;padding-right:84px}.eye{background:var(--chip);border:0;border-radius:10px;padding:0 14px;font-size:14px;position:absolute;top:6px;bottom:6px;right:6px}.shelf,.settings{max-width:640px;padding:calc(env(safe-area-inset-top) + 28px) 0 calc(env(safe-area-inset-bottom) + 120px);margin:0 auto}.shelf-head{padding:0 20px 18px}.shelf-head.with-dog{justify-content:space-between;align-items:flex-end;gap:6px;padding-right:8px;display:flex}.dog-perch{background:linear-gradient(to bottom, transparent 0 102px, var(--plank-top) 102px 106px, var(--plank) 106px 115px, var(--plank-edge) 115px 117px, transparent 117px);flex:0 0 158px;height:118px;margin-bottom:-4px;position:relative}.teckel-float{z-index:30;transform-origin:0 0;will-change:transform;opacity:0;position:fixed;top:0;left:0}.teckel-float canvas{touch-action:manipulation;display:block}.with-dog .eyebrow{white-space:nowrap}.with-dog .count{font-size:14px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:13px}.shelf-head h1{letter-spacing:-.02em;margin:2px 0 4px;font-size:52px;font-style:italic;font-weight:500;line-height:1}.shelf-head .count{color:var(--ink-soft);margin:0;font-size:15px}.plank-section{margin-top:26px}.plank-label{align-items:baseline;gap:8px;margin:0 20px -6px;font-size:21px;font-weight:500;display:flex}.plank-label small{color:var(--ink-soft);font-family:-apple-system,system-ui,sans-serif;font-size:13px;font-weight:400}.planks{background-image:linear-gradient(to bottom, transparent 0 152px, var(--plank-top) 152px 158px, var(--plank) 158px 170px, var(--plank-edge) 170px 172px, var(--plank-shadow) 172px, transparent 192px);background-size:100% 196px;flex-wrap:wrap;align-items:flex-end;gap:40px 9px;padding:0 18px 40px;display:flex}.book{height:156px;animation:.6s cubic-bezier(.2,.8,.2,1) both rise;animation-delay:calc(var(--i,0) * 35ms);background:0 0;border:0;align-items:flex-end;padding:0;display:flex;position:relative}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}.book-body{margin-bottom:1px;line-height:0;transition:transform .25s cubic-bezier(.2,.8,.2,1);display:block;position:relative}.book:active .book-body{transform:translateY(-8px)}@media (hover:hover){.book:hover .book-body{transform:translateY(-6px)}}.book-body:after{content:"";pointer-events:none;background:linear-gradient(90deg,#00000040,#ffffff2e 2.5%,#0000000f 5%,#0000 9% 96%,#0000001f);border-radius:1px 3px 3px 1px;position:absolute;inset:0}.cover-img{object-fit:cover;width:auto;max-width:140px;box-shadow:6px -3px 12px -4px var(--book-shadow), 1px 1px 1px #00000040;background:var(--chip);border-radius:1px 3px 3px 1px;display:block}.cover-drawn{text-align:center;color:hsl(var(--h) 40% 92%);background:radial-gradient(120% 80% at 30% 20%, hsl(var(--h) 45% 46%), hsl(calc(var(--h) + 25) 40% 28%));flex-direction:column;justify-content:space-between;align-items:center;padding:14% 9% 12%;font-family:Fraunces,Georgia,serif;line-height:1.15;display:flex}.cd-title{-webkit-line-clamp:5;-webkit-box-orient:vertical;font-size:1.15em;font-weight:600;display:-webkit-box;overflow:hidden}.cd-rule{opacity:.6;background:currentColor;width:30%;height:1px}.cd-author{opacity:.85;font-size:.85em;font-style:italic}.stars-mini{z-index:1;text-align:center;color:#f4c25a;letter-spacing:1.5px;white-space:nowrap;text-shadow:0 1px #3c230a8c;font-size:9px;line-height:1;position:absolute;bottom:-13px;left:0;right:0}.book.just-added .book-body{animation:.9s cubic-bezier(.3,1.4,.5,1) both drop}@keyframes drop{0%{opacity:0;transform:translateY(-70px)rotate(-4deg)}60%{opacity:1}}.reading{text-align:left;background:var(--card);width:calc(100% - 32px);box-shadow:0 20px 34px -24px var(--book-shadow);border:0;border-radius:24px;align-items:flex-end;gap:18px;margin:6px 16px 8px;padding:18px;animation:.6s cubic-bezier(.2,.8,.2,1) both rise;display:flex}.reading .cover-img{max-width:110px}.reading-info{flex:1;min-width:0}.tag{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600;display:inline-block}.reading h3{margin:6px 0 4px;font-size:22px;font-weight:500;line-height:1.15}.by{color:var(--ink-soft);margin:0;font-family:Fraunces,Georgia,serif;font-style:italic}.progress{color:var(--ink-soft);gap:6px;margin-top:14px;font-size:13px;display:grid}.progress .bar{background:var(--chip);border-radius:99px;height:6px;overflow:hidden}.progress .bar i{background:var(--accent);border-radius:99px;height:100%;transition:width .6s;display:block}.empty{gap:20px;padding-top:10px;display:grid}.empty .planks{justify-content:center;align-items:center;min-height:196px}.empty-hint{text-align:left;height:156px;color:var(--ink-soft);background:0 0;border:0;align-items:center;padding:0 4px;font-family:Fraunces,Georgia,serif;font-size:20px;font-style:italic;display:flex}.empty .btn{margin:0 20px}.tabbar{left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 10px);z-index:10;background:var(--card);border:1px solid var(--line);width:min(380px,100% - 32px);height:66px;box-shadow:0 18px 40px -18px var(--book-shadow);border-radius:24px;grid-template-columns:1fr auto 1fr;align-items:center;margin:0 auto;padding:0 10px;display:grid;position:fixed}.tabbar button{color:var(--ink-soft);background:0 0;border:0;justify-items:center;gap:2px;min-height:56px;font-size:12px;display:grid}.tabbar button.on{color:var(--ink);font-weight:600}.tabbar .ti{font-size:17px;line-height:1}.tabbar .add-btn{background:var(--accent);width:66px;height:66px;color:var(--accent-ink);box-shadow:0 12px 22px -8px var(--accent), 0 0 0 6px var(--wall);border-radius:50%;justify-content:center;align-items:center;margin-top:-26px;font-size:34px;font-weight:300;transition:transform .15s;display:flex}.tabbar .add-btn:active{transform:scale(.92)}.sheet-wrap{z-index:20;background:var(--scrim);align-items:flex-end;animation:.25s both fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.sheet-stack{width:100%;max-width:560px;margin:0 auto;animation:.38s cubic-bezier(.2,.9,.25,1) both up;position:relative}.dog-anchor{pointer-events:none;width:270px;height:165px;position:absolute;bottom:100%;right:4px}.sheet{overscroll-behavior:contain;background:var(--card);width:100%;max-height:84dvh;padding:8px 20px calc(env(safe-area-inset-bottom) + 24px);border-radius:28px 28px 0 0;align-content:start;gap:16px;display:grid;overflow-y:auto}@keyframes up{0%{transform:translateY(100%)}}.sheet-grip{background:var(--line);border:0;border-radius:99px;justify-self:center;width:44px;height:5px;margin:4px 0 6px;padding:0}.sheet-title{margin:0;font-size:26px;font-weight:500}.add-actions{gap:10px;display:grid}.ico{font-size:22px}.loading{padding:30px 0}.viewfinder[hidden]{display:none}.viewfinder{aspect-ratio:3/4;background:#000;border-radius:22px;position:relative;overflow:hidden}.viewfinder video{object-fit:cover;width:100%;height:100%;display:block}.aim{border:2px solid #ffffffe6;border-radius:16px;height:24%;position:absolute;top:37%;left:12%;right:12%;overflow:hidden;box-shadow:0 0 0 999px #00000061}.aim i{background:var(--accent);height:2px;box-shadow:0 0 12px var(--accent);animation:1.8s ease-in-out infinite scanline;position:absolute;top:0;left:6%;right:6%}@keyframes scanline{0%,to{transform:translateY(8px)}50%{transform:translateY(100px)}}.vf-hint{text-align:center;color:#fff;text-shadow:0 1px 4px #00000080;gap:4px;margin:0;font-size:15px;display:grid;position:absolute;top:16px;left:0;right:0}.vf-hint small{opacity:.85;font-size:13px}.vf-actions{justify-content:center;gap:10px;display:flex;position:absolute;bottom:16px;left:0;right:0}.vf-btn{color:#222;cursor:pointer;background:#ffffffeb;border:0;border-radius:999px;align-items:center;min-height:46px;padding:0 18px;font-size:15px;display:flex}.search{gap:8px;display:flex}.search input{flex:1;min-width:0}.results{gap:4px;margin:0;padding:0;list-style:none;display:grid}.results button{text-align:left;background:0 0;border:0;border-radius:14px;align-items:center;gap:14px;width:100%;padding:8px;display:flex}.results button:active{background:var(--chip)}.results .cover-img{box-shadow:2px 2px 6px -2px var(--book-shadow)}.results span{gap:3px;display:grid}.results strong{font-family:Fraunces,Georgia,serif;font-size:17px;font-weight:500}.results small{color:var(--ink-soft)}.manual-form{gap:12px;display:grid}.found{text-align:center;justify-items:center;gap:10px;padding-top:6px;display:grid}.found .found-cover{max-width:170px;animation:.5s both rise}.found h2{margin:10px 0 0;font-size:26px;font-weight:500;line-height:1.15}.found .btn{width:100%}.meta{color:var(--ink-soft);margin:0;font-size:13px}.chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.chip{border:1.5px solid var(--line);background:0 0;border-radius:999px;min-height:42px;padding:0 12px;font-size:14.5px;transition:background .2s,color .2s}.chip.on{background:var(--ink);color:var(--wall);border-color:var(--ink)}.bs-top{align-items:flex-end;gap:18px;display:flex}.bs-top .cover-img{max-width:135px}.bs-titles h2{margin:0 0 6px;font-size:25px;font-weight:500;line-height:1.12}.bs-titles .sub{color:var(--ink-soft);margin:0 0 6px}.bs-titles .meta{margin-top:8px}.book-sheet .chips{justify-content:flex-start}.bs-block{border-top:1px solid var(--line);gap:8px;padding-top:14px;display:grid}.bs-row{color:var(--ink-soft);justify-content:space-between;font-size:14px;display:flex}.bs-row strong{color:var(--ink);font-weight:600}.stars{gap:4px;display:flex}.stars button{color:var(--chip);background:0 0;border:0;padding:2px;font-size:34px;line-height:1;transition:transform .15s,color .15s}.stars button.on{color:#e8a93a}.stars button:active{transform:scale(1.25)}.review{resize:vertical;min-height:96px;padding:14px 16px;font-size:16px;line-height:1.45}.summary{color:var(--ink-soft);-webkit-line-clamp:5;-webkit-box-orient:vertical;margin:0;font-size:15px;line-height:1.55;display:-webkit-box;overflow:hidden}.summary.open{-webkit-line-clamp:unset}.summary.muted{font-style:italic}.range{appearance:none;background:0 0;width:100%;height:30px}.range::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent) var(--p), var(--chip) var(--p));border-radius:99px;height:6px}.range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--card);border:2px solid var(--accent);border-radius:50%;width:26px;height:26px;margin-top:-10px;box-shadow:0 2px 6px #0003}.range::-moz-range-track{background:linear-gradient(90deg, var(--accent) var(--p), var(--chip) var(--p));border-radius:99px;height:6px}.range::-moz-range-thumb{background:var(--card);border:2px solid var(--accent);border-radius:50%;width:22px;height:22px}.delete{min-height:50px;color:var(--ink-soft);background:0 0;border:0;border-radius:14px;margin-top:8px;font-size:15px}.delete.sure{background:var(--accent);color:var(--accent-ink)}.settings section{margin-top:18px;padding:0 16px}.settings .plank-label{margin:0 4px 12px}.themes{grid-template-columns:1fr 1fr;gap:10px;display:grid}.theme-card{text-align:left;background:var(--card);border:2px solid #0000;border-radius:18px;justify-items:start;gap:4px;padding:12px;display:grid}.theme-card.on{border-color:var(--accent)}.theme-card:disabled{opacity:.5}.theme-card small{color:var(--ink-soft);font-size:12px}.swatch{border-radius:12px;width:100%;height:54px;margin-bottom:6px}.t-auto .swatch{background:linear-gradient(110deg,#efe6d5 0 50%,#1c1714 50%)}.t-chill .swatch{background:linear-gradient(#efe6d5 0 62%,#ecd2ab 62% 70%,#d3aa78 70%)}.t-nuit .swatch{background:radial-gradient(80% 90% at 20% 0,#ffaa5a59,#0000),linear-gradient(#1c1714 0 62%,#6a4a33 62% 70%,#4e3524 70%)}.t-teckel .swatch{background:linear-gradient(#f2e3cf 0 62%,#b86b3a 62%)}.t-romance .swatch{background:radial-gradient(circle at 78% 30%,#b0445a 0 9px,#0000 10px),linear-gradient(#f8ebe7 0 62%,#fdf5f1 62% 72%,#c9a35b 72% 76%,#f1ddd6 76%)}.settings-list{gap:2px;display:grid}.settings-list>button{text-align:left;background:var(--card);border:0;border-radius:14px;min-height:54px;padding:0 16px;font-size:16px}.diag{color:var(--ink-soft);gap:6px;margin:4px 0 8px;padding:12px 16px;font-size:14px;display:grid}.diag div{justify-content:space-between;gap:12px;display:flex}.diag dd{word-break:break-all;text-align:right}.diag dt,.diag dd{margin:0}.diag dd{color:var(--ink);font-weight:600}.credits{text-align:center;color:var(--ink-soft);opacity:.8;margin:6px 16px 0;font-size:11px}.colophon{text-align:center;color:var(--ink-soft);margin:30px 0 0;font-family:Fraunces,Georgia,serif;font-style:italic}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.petals{z-index:5;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}[data-theme=romance] body{background:radial-gradient(120% 60% at 85% -10%, #ffd6d6e6, transparent 60%) fixed, radial-gradient(90% 50% at 0% 100%, #f2cec499, transparent 70%) fixed, var(--wall)}[data-theme=romance] .shelf-head h1{letter-spacing:0;background:linear-gradient(100deg,#5e1a2a 0 38%,#e2bc6e 47%,#fff1c9 50%,#e2bc6e 53%,#5e1a2a 62% 100%) 0 0/300% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;margin:-4px 0 -2px -4px;padding:0 .2em .08em .04em;font-family:Pinyon Script,Snell Roundhand,cursive;font-size:66px;font-style:normal;font-weight:400;line-height:1.25;animation:2.6s cubic-bezier(.4,0,.2,1) .3s both foil}@keyframes foil{0%{background-position:100% 0}to{background-position:0 0}}[data-theme=romance] .eyebrow{color:var(--accent);letter-spacing:.2em}[data-theme=romance] .plank-label,[data-theme=romance] .sheet-title,[data-theme=romance] .reading h3,[data-theme=romance] .bs-titles h2,[data-theme=romance] .found h2{letter-spacing:.005em;font-family:Cormorant Garamond,Fraunces,Georgia,serif;font-style:italic;font-weight:600}[data-theme=romance] .plank-label{color:var(--ink);font-size:27px}[data-theme=romance] .reading h3{font-size:26px}[data-theme=romance] .bs-titles h2,[data-theme=romance] .found h2{font-size:30px}[data-theme=romance] .sheet-title{font-size:32px}[data-theme=romance] .tag{color:var(--accent)}[data-theme=romance] .chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}[data-theme=romance] .stars button.on{color:var(--accent)}[data-theme=romance] .stars-mini{color:#c9405e;text-shadow:0 1px #ffffffb3;letter-spacing:2px;font-size:10px}[data-theme=romance] .reading{border:1px solid #c9a35b59}[data-theme=romance] .progress .bar i{background:linear-gradient(90deg, #d97b8e, var(--accent))}.with-seal{justify-content:space-between;align-items:center;gap:10px;display:flex}.wax-seal{background:radial-gradient(circle at 35% 30%,#c9566b,#8e2337 55%,#5d1222);border-radius:47% 53% 44% 56%/55% 45%;flex:none;width:66px;height:66px;margin:6px 8px 0 0;animation:.7s cubic-bezier(.3,1.5,.5,1) .2s both seal;position:relative;transform:rotate(-9deg);box-shadow:0 6px 12px -4px #5d12228c,inset 0 -3px 5px #00000040,inset 0 2px 3px #ffbec859}.wax-seal:before{content:"";border-radius:50%;position:absolute;inset:9px;box-shadow:inset 0 2px 3px #0006,inset 0 -1px 2px #ffb4be59,0 1px #ffbec840}.wax-seal b{color:#6e1a2b;text-shadow:0 1px #ffaab980,0 -1px 1px #00000059;justify-content:center;align-items:center;padding-top:4px;font-family:Pinyon Script,cursive;font-size:34px;font-weight:400;display:flex;position:absolute;inset:0}@keyframes seal{0%{opacity:0;transform:rotate(-30deg)scale(1.6)}70%{opacity:1}}[data-theme=romance] .reading{position:relative;overflow:visible}.ribbon-mark{pointer-events:none;transform-origin:50% 0;width:17px;height:104px;animation:5s ease-in-out infinite sway-ribbon;position:absolute;top:-8px;right:26px}.ribbon-mark:before{content:"";clip-path:polygon(0 0,100% 0,100% 100%,50% 84%,0 100%);filter:drop-shadow(1px 2px 2px #50142359);background:linear-gradient(90deg,#5c1826,#8e2a3d 22%,#c4566b 46%,#e17d8f 52%,#a3374b 70%,#5c1826);position:absolute;inset:0 0 12px}.ribbon-mark i{background:linear-gradient(135deg,#f6dd9a,#c9a35b 50%,#8f6a26);color:#0000;filter:drop-shadow(0 1px 1px #5a3c0a73);-webkit-background-clip:text;background-clip:text;font-size:17px;font-style:normal;line-height:1;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.ribbon-mark i:before{content:"♥︎"}.ribbon-mark i:after{content:"";background:#b8914a;width:1px;height:8px;position:absolute;top:-7px;left:50%;transform:translate(-50%)}@keyframes sway-ribbon{0%,to{transform:rotate(-1.6deg)}50%{transform:rotate(1.6deg)}}.env-screen{z-index:60;padding:calc(env(safe-area-inset-top) + 40px) 20px calc(env(safe-area-inset-bottom) + 22px);color:#fbeee6;text-align:center;background:radial-gradient(120% 70% at 50% 0,#8a2a3c,#4a1222 55%,#2a0a13);grid-template-rows:auto 1fr auto;justify-items:center;animation:.5s both fade;display:grid;position:fixed;inset:0;overflow:hidden}.env-kicker{letter-spacing:.24em;text-transform:uppercase;color:#e9c27a;margin:0;font-size:12px}.env-title{background:linear-gradient(100deg,#f3d692,#fff4d6 50%,#d7ab58);color:#0000;-webkit-background-clip:text;background-clip:text;margin:8px 0 0;font-family:Pinyon Script,cursive;font-size:46px;font-weight:400;line-height:1.2}.env-screen.big .env-title{font-size:54px}.env-title:first-letter{text-transform:uppercase}.env-stage{aspect-ratio:1.45;perspective:900px;align-self:center;width:min(320px,86vw);margin-top:40px;position:relative}.env-back,.env-front,.env-flap{position:absolute;left:0;right:0}.env-back{background:#e9dcc5;border-radius:6px;inset:0;box-shadow:0 30px 50px -20px #0009}.env-front{z-index:3;pointer-events:none;clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);background:linear-gradient(to top right,#0000 calc(50% - 1px),#785a3229 50%,#0000 calc(50% + 1px)) 0/50% 100% no-repeat,linear-gradient(to top left,#0000 calc(50% - 1px),#785a3229 50%,#0000 calc(50% + 1px)) 100%/50% 100% no-repeat,linear-gradient(#f6ecdc,#efe2cc);border-radius:6px;inset:0}.env-flap{z-index:4;transform-origin:50% 0;clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 2px 2px #00000026);background:linear-gradient(#efe2cc,#e3d3b8);height:58%;transition:transform .7s cubic-bezier(.5,0,.3,1);top:0}.is-open .env-flap{z-index:1;transition:transform .7s cubic-bezier(.5,0,.3,1),z-index 0s .35s;transform:rotateX(180deg)}.env-seal{z-index:5;background:radial-gradient(circle at 35% 30%,#d0606f,#92253a 55%,#5d1222);border:0;border-radius:47% 53% 44% 56%/55% 45%;width:64px;height:64px;margin:-32px 0 0 -32px;padding:0;transition:transform .4s,opacity .4s;animation:2.2s ease-in-out infinite seal-pulse;position:absolute;top:58%;left:50%;box-shadow:0 6px 14px -4px #0009,inset 0 -3px 5px #0000004d,inset 0 2px 3px #ffbec866}.env-seal b{color:#6e1a2b;text-shadow:0 1px #ffaab980;font-family:Pinyon Script,cursive;font-size:32px;font-weight:400}@keyframes seal-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.is-open .env-seal{opacity:0;pointer-events:none;animation:none;transform:scale(.4)rotate(40deg)}.env-letter{z-index:2;background:repeating-linear-gradient(#fffaf2 0 10px,#f3e6e2 10px 11px);border-radius:3px;transition:transform .7s cubic-bezier(.3,.8,.3,1) .45s;position:absolute;inset:9% 7%}.is-open .env-letter{transform:translateY(-58%)}.env-stage{transition:opacity .5s 1.05s,transform .6s 1.05s}.is-open .env-stage{opacity:0;pointer-events:none;transform:translateY(50px)scale(.92)}.env-full{z-index:8;left:18px;right:18px;top:calc(env(safe-area-inset-top) + 150px);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 260px);opacity:0;pointer-events:none;background:#fffaf2;border-radius:6px;transition:opacity .6s 1.2s,transform .7s cubic-bezier(.2,.9,.3,1) 1.2s;position:absolute;overflow-y:auto;transform:translateY(40px)scale(.96);box-shadow:0 30px 60px -20px #0009}.is-open .env-full{opacity:1;pointer-events:auto;transform:none}.env-paper{text-align:left;color:#3d1620;background:repeating-linear-gradient(#0000 0 31px,#b0445a24 31px 32px) 0 22px/100% 32px;padding:22px 22px 20px;font-family:Cormorant Garamond,Georgia,serif;font-size:21px;font-style:italic;font-weight:500;line-height:32px}.env-paper p{margin:0 0 32px}.env-paper p:nth-last-child(2){margin-bottom:0}.env-sign{text-align:right;color:#8e2337;font-family:Pinyon Script,cursive;font-size:34px;font-style:normal;line-height:64px;margin:0!important}.env-foot{align-items:center;min-height:60px;display:flex}.env-hint{color:#fbeee6bf;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:19px;font-style:italic}.env-cta{color:#4a1222;opacity:0;background:#f3d692;min-width:220px;animation:.5s 2s forwards fade-in}@keyframes fade-in{to{opacity:1}}.install{text-align:center;max-width:480px;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 48px) 22px calc(env(safe-area-inset-bottom) + 20px);flex-direction:column;align-items:center;margin:0 auto;display:flex}.install-icon{width:92px;height:92px;box-shadow:0 18px 30px -14px var(--book-shadow);border-radius:22px;animation:.6s both rise}.install h1{margin:26px 0 8px;font-size:30px;font-weight:500;line-height:1.15}.install-sub{color:var(--ink-soft);margin:0;font-family:Fraunces,Georgia,serif;font-size:17px;font-style:italic}.install-steps{text-align:left;gap:12px;width:100%;margin:34px 0 0;padding:0;list-style:none;display:grid}.install-steps li,.install-steps p{background:var(--card);border-radius:18px;align-items:flex-start;gap:14px;margin:0;padding:16px;font-size:16px;line-height:1.45;display:flex}.install-steps li{animation:.6s both rise}.install-steps li:nth-child(2){animation-delay:.1s}.install-steps li:nth-child(3){animation-delay:.2s}.install-steps .n{background:var(--accent);width:28px;height:28px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:600;display:grid}.install-steps small{color:var(--ink-soft);font-size:13px;display:block}.pill{background:var(--chip);white-space:nowrap;vertical-align:middle;border-radius:999px;align-items:center;gap:6px;padding:2px 10px 2px 8px;font-weight:600;display:inline-flex}.install-skip{color:var(--ink-soft);text-underline-offset:3px;background:0 0;border:0;margin-top:auto;padding:18px;font-size:14px;text-decoration:underline}.noa-gate{gap:12px;display:grid}.noa-gate input,.noa-add select,.noa-add input{border:1.5px solid var(--line);background:var(--card);min-height:52px;color:var(--ink);border-radius:14px;padding:0 14px;font-size:17px}.message.ok{color:#3f7d4f;font-style:normal}.review.tall{min-height:170px}.mots{gap:10px;margin:0;padding:0;list-style:none;display:grid}.mots li{background:var(--chip);border-radius:14px;gap:6px;padding:12px 14px;display:grid}.mots li div{justify-content:space-between;gap:10px;font-size:14px;display:flex}.mots li small{color:var(--ink-soft);white-space:nowrap}.mots li p{white-space:pre-wrap;margin:0;font-size:15px;line-height:1.4}.link{color:var(--accent);background:0 0;border:0;justify-self:start;padding:0;font-size:14px}.noa-add{gap:10px;display:grid}.recap{z-index:55;color:#fff7ee;-webkit-user-select:none;user-select:none;text-align:center;padding:calc(env(safe-area-inset-top) + 50px) 24px calc(env(safe-area-inset-bottom) + 30px);justify-content:center;align-items:center;transition:background .6s;display:flex;position:fixed;inset:0;overflow:hidden}.recap.r1{background:radial-gradient(120% 80% at 20% 0,#8b3a2b,#3a1712 70%)}.recap.r2{background:radial-gradient(120% 80% at 80% 10%,#2f5a4f,#10241f 70%)}.recap.r3{background:radial-gradient(120% 80% at 50% 0,#b5602f,#4a1e0c 70%)}.recap.r4{background:radial-gradient(120% 80% at 10% 90%,#5b2a5e,#1d0c22 70%)}.recap.r5{background:radial-gradient(120% 80% at 90% 90%,#a8344f,#3b0d1a 70%)}.recap.r6{background:radial-gradient(120% 80% at 50% 30%,#c9a35b,#3d2a0c 75%)}.recap-bars{left:14px;right:14px;top:calc(env(safe-area-inset-top) + 12px);gap:4px;display:flex;position:absolute}.recap-bars i{background:#ffffff47;border-radius:3px;flex:1;height:3px;overflow:hidden}.recap-bars i.done{background:#fffffff2}.recap-bars i.now{background:linear-gradient(90deg,#fffffff2 50%,#ffffff47 50%) 100%/200% 100%;animation:.6s forwards bar}@keyframes bar{to{background-position:0}}.recap-close{right:14px;top:calc(env(safe-area-inset-top) + 26px);color:#fff;background:#ffffff1f;border:0;border-radius:50%;width:40px;height:40px;font-size:16px;position:absolute}.recap-slide{justify-items:center;gap:6px;animation:.6s cubic-bezier(.2,.8,.2,1) both rise;display:grid}.recap .rk{letter-spacing:.2em;text-transform:uppercase;opacity:.8;margin:0;font-size:13px}.recap h2{margin:6px 0;font-family:Fraunces,Georgia,serif;font-size:40px;font-weight:500;line-height:1.1}.recap h2.huge{letter-spacing:-.03em;font-size:112px;font-style:italic;line-height:1}.recap h2.trope{font-family:Cormorant Garamond,Georgia,serif;font-size:48px;font-style:italic}.recap h3{margin:14px 0 0;font-family:Fraunces,Georgia,serif;font-size:24px;font-weight:500}.recap .rt{opacity:.9;margin:0;font-family:Fraunces,Georgia,serif;font-size:20px;font-style:italic}.recap .fact{background:#ffffff1f;border-radius:999px;margin:10px 0 0;padding:8px 16px;font-size:15px}.recap .hint{opacity:.6;margin-top:40px;font-size:13px}.recap .sign{color:#f3d692;margin-top:30px;font-family:Pinyon Script,cursive;font-size:38px}.recap .stars-big{letter-spacing:4px;color:#ffd27a;margin:4px 0 0;font-size:30px}.fan{justify-content:center;height:150px;margin-top:34px;display:flex}.fan span{transform-origin:50% 120%;transform:rotate(var(--r));animation:.7s cubic-bezier(.2,.9,.3,1.2) both fan-in;animation-delay:var(--d);margin:0 -18px}@keyframes fan-in{0%{opacity:0;transform:rotate(0)translateY(40px)}}.fan.small{height:130px}.fav{margin-top:20px;animation:.7s both rise}.fav .cover-img{box-shadow:0 30px 50px -20px #000000b3}.shelf-head .count{text-align:left;color:var(--ink-soft);background:0 0;border:0;padding:0;font-size:15px}.shelf-head .count:not(:disabled){cursor:pointer}.count-go{color:var(--accent);font-weight:600}.finder{gap:10px;margin:4px 16px 14px;display:grid}.finder-row{gap:8px;display:flex}.search-box{background:var(--card);border:1.5px solid var(--line);min-width:0;min-height:46px;color:var(--ink-soft);border-radius:14px;flex:1;align-items:center;gap:8px;padding:0 14px;display:flex}.search-box:focus-within{border-color:var(--accent)}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:16px}.search-box input::-webkit-search-cancel-button{display:none}.sort-btn{border:1.5px solid var(--line);background:var(--card);border-radius:14px;justify-items:start;min-width:82px;padding:4px 12px;font-size:14px;font-weight:600;display:grid}.sort-btn small{color:var(--ink-soft);font-size:11px;font-weight:400}.trope-row{scrollbar-width:none;gap:6px;margin:0 -16px;padding:0 16px 2px;display:flex;overflow-x:auto}.trope-row::-webkit-scrollbar{display:none}.chip.small{flex:none;min-height:34px;padding:0 12px;font-size:13px}.no-result{margin:30px 20px}.tome{z-index:1;color:#3b2a1e;background:#fffcf5eb;border-radius:5px;padding:2px 5px;font-size:10px;font-weight:700;line-height:1.2;position:absolute;top:4px;left:4px;box-shadow:0 1px 3px #00000040}.book.lent .cover-img{filter:grayscale(.85)brightness(1.04);opacity:.55}.lent-tag{z-index:1;text-align:center;color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;font-style:italic;position:absolute;bottom:-14px;left:-6px;right:-6px;overflow:hidden}.s-envie .cover-img{opacity:.72;outline:1.5px dashed var(--accent);outline-offset:3px}.s-envie .plank-label:after{content:"pas encore à toi";color:var(--ink-soft);margin-left:4px;font-family:-apple-system,system-ui,sans-serif;font-size:12px;font-style:italic;font-weight:400}.trope-pick{flex-wrap:wrap;gap:6px;display:flex}.chip-input{border:1.5px dashed var(--line);width:96px;min-height:34px;color:var(--ink);background:0 0;border-radius:999px;outline:none;padding:0 12px;font-size:13px}.series-row{gap:8px;display:flex}.series-row input,.lend-input{border:1.5px solid var(--line);background:var(--card);min-height:48px;color:var(--ink);border-radius:14px;outline:none;min-width:0;padding:0 14px;font-size:16px}.series-row input:first-child{flex:1}.tome-input{width:84px}.series-row input:focus,.lend-input:focus{border-color:var(--accent)}.series-info{color:var(--ink-soft);margin:2px 0 0;font-size:14px;line-height:1.45}.series-info b{color:var(--accent);font-weight:600}.bs-row .link{font-size:13px}.settings-list>button small{color:var(--ink-soft);margin-top:2px;font-size:13px;display:block}.settings-list .plank-label{margin:6px 4px 8px}.settings-list{margin-top:18px}.chip.small.more{color:var(--ink-soft);border-style:dashed}.install-card{background:var(--card);border:1px solid var(--line);box-shadow:0 14px 26px -20px var(--book-shadow);border-radius:18px;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;margin:0 16px 18px;padding:12px 12px 12px 14px;animation:.5s both rise;display:grid}.settings .install-card{margin:0 0 6px}.install-card img{border-radius:11px;width:44px;height:44px}.install-card strong{font-size:15px;display:block}.install-card small{color:var(--ink-soft);margin-top:2px;font-size:12.5px;line-height:1.3;display:block}.install-card .btn{min-width:92px}.install-help{color:var(--ink-soft);grid-column:1/-1;margin:4px 0 0;font-size:14px;line-height:1.45}.cover-img.cutout{box-shadow:none;filter:drop-shadow(5px -2px 6px var(--book-shadow));background:0 0;border-radius:0}.book-body:has(.cutout):after{display:none}.cover-change{margin-top:10px;font-size:14px}.cover-choices{flex-wrap:wrap;align-items:flex-end;gap:12px;padding:4px 2px 6px;display:flex}.cover-choices button{background:0 0;border:2px solid #0000;border-radius:8px;padding:4px;line-height:0}.cover-choices button.on{border-color:var(--accent)}.spine{color:#fffaf0f2;background:linear-gradient(90deg, #00000047, #ffffff24 18%, #fff0 40%, #0000001a 80%, #0000004d), var(--bg);box-shadow:3px -1px 6px -3px var(--book-shadow), inset 0 0 0 .5px #00000026;border-radius:2px 2px 1px 1px;flex-direction:column;justify-content:space-between;align-items:center;padding:8px 0 7px;display:flex;position:relative;overflow:hidden}.spine.light{color:#1e140fe6}.sp-title{writing-mode:vertical-rl;letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;flex:1;min-height:0;padding:6px 0;font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.05;overflow:hidden;transform:rotate(180deg)}.sp-author{writing-mode:vertical-rl;letter-spacing:.06em;text-transform:uppercase;opacity:.8;max-height:30%;font-size:8px;overflow:hidden;transform:rotate(180deg)}.sp-band{opacity:.85;background:linear-gradient(90deg,#a8813e,#e9cf8c 50%,#a8813e);flex:none;width:100%;height:2px;margin:2px 0}.book.as-spine .book-body:after{display:none}.book.as-spine.lent .spine{filter:grayscale(.85);opacity:.55}.planks.has-spines{gap:40px 2px}.planks.has-spines .book:not(.as-spine){margin:0 6px}.stars-mini.compact{letter-spacing:0;font-size:9px}.deco{pointer-events:none;align-self:flex-end;margin:0 4px 1px;line-height:0;animation:.6s both rise;display:block}.deco-svg{filter:drop-shadow(3px -1px 3px var(--plank-shadow));display:block;overflow:visible}.deco .flame{transform-origin:50% 100%;transform-box:fill-box;animation:1.6s ease-in-out infinite flame}.deco .flicker{animation:2.2s ease-in-out infinite flicker}@keyframes flame{0%,to{transform:scale(1)rotate(-2deg)}50%{transform:scale(.92,1.08)rotate(2deg)}}@keyframes flicker{0%,to{opacity:.9}50%{opacity:.55}}.deco .steam{animation:3.2s ease-in-out infinite steam}.deco .steam.s2{animation-delay:1.4s}@keyframes steam{0%{opacity:0;transform:translateY(6px)}30%{opacity:.7}to{opacity:0;transform:translateY(-8px)}}.deco .bulb{animation:2.4s ease-in-out infinite bulb}.deco .bulb.b0{fill:#ffd25a}.deco .bulb.b1{fill:#ff7a6a;animation-delay:.8s}.deco .bulb.b2{fill:#8fd0ff;animation-delay:1.6s}@keyframes bulb{0%,to{opacity:1}50%{opacity:.35}}.deco .sand-fall{animation:.9s linear infinite flicker}[data-season=hiver] .planks{background-image:linear-gradient(to bottom, transparent 0 147px, #fff0 147px, #fdfdff 150px 154px, #fff9 155px, transparent 157px), linear-gradient(to bottom, transparent 0 152px, var(--plank-top) 152px 158px, var(--plank) 158px 170px, var(--plank-edge) 170px 172px, var(--plank-shadow) 172px, transparent 192px)}.label-actions{gap:6px;margin-left:auto;display:flex}.label-btn{border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:6px 12px;font-family:-apple-system,system-ui,sans-serif;font-size:13px;font-style:normal;font-weight:500}.due-tag{z-index:1;text-align:center;color:var(--ink-soft);white-space:nowrap;font-size:9.5px;font-weight:600;position:absolute;bottom:-14px;left:-6px;right:-6px}.due-tag.soon{color:#c0392b}.reading-actions{gap:8px;margin-top:12px;display:flex}.reading-actions .btn{border-radius:12px;min-height:40px;padding:0 14px;font-size:14px}.reading-mode{z-index:50;text-align:center;padding:calc(env(safe-area-inset-top) + 64px) 22px calc(env(safe-area-inset-bottom) + 24px);color:#f4e8d8;background:radial-gradient(110% 70% at 50% 0,#3b2a1e,#17110d 70%);flex-direction:column;align-items:center;animation:.5s both fade;display:flex;position:fixed;inset:0;overflow-y:auto}.reading-mode .rm-cover{animation:.7s both rise}.reading-mode.running .rm-cover{animation:6s ease-in-out infinite breathe}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.reading-mode h2{margin:18px 0 4px;font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:500}.rm-time{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:8px 0;font-family:Fraunces,Georgia,serif;font-size:64px}.rm-bar{background:#ffffff1f;border-radius:4px;width:min(260px,70vw);height:4px;overflow:hidden}.rm-bar i{background:#e9b872;height:100%;transition:width .5s linear;display:block}.rm-chips{margin-top:18px}.reading-mode .chip{color:#f4e8d8;border-color:#ffffff2e}.reading-mode .chip.on{color:#2a1d14;background:#f4e8d8;border-color:#f4e8d8}.rm-actions{gap:8px;width:100%;margin-top:auto;padding-top:24px;display:grid}.reading-mode .btn.secondary{color:#f4e8d8;background:#ffffff1f}.reading-mode .btn.ghost{color:#f4e8d8b3}.rm-end{gap:12px;width:100%;margin-top:auto;display:grid}.rm-end p{margin:0;font-size:17px}.rm-end input{text-align:center;color:#fff;background:#ffffff1a;border:0;border-radius:14px;min-height:54px;padding:0 16px;font-size:20px}.pick{z-index:45;background:var(--scrim);justify-content:center;align-items:center;animation:.3s both fade;display:flex;position:fixed;inset:0}.pick-inner{background:var(--card);text-align:center;border-radius:28px;width:min(380px,92vw);max-height:92dvh;padding:22px 18px;animation:.4s both rise;overflow-y:auto}.pick .rk{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 0 10px;font-size:12px}.pick-tropes{margin:0 -18px 6px;padding:0 18px 4px}.pick-stage{perspective:900px;justify-content:center;align-items:center;height:280px;display:flex;position:relative}.pick-card{line-height:0;position:absolute}.pick-back{background:repeating-linear-gradient(45deg, var(--accent) 0 10px, color-mix(in srgb, var(--accent) 80%, #000) 10px 20px);width:150px;height:225px;box-shadow:0 16px 30px -14px var(--book-shadow);border:5px solid var(--card);outline:1px solid var(--line);border-radius:6px;display:block}.shuffle .pick-card{animation:.65s ease-in-out infinite alternate shuffle;animation-delay:calc(var(--i) * -.13s)}@keyframes shuffle{0%{transform:translate(-60px)rotate(-10deg)}to{transform:translate(60px)rotate(10deg)}}.pick-card.revealed{cursor:pointer;animation:.7s cubic-bezier(.2,.9,.3,1.2) both flip}@keyframes flip{0%{transform:rotateY(90deg)scale(.8)}to{transform:rotateY(0)scale(1)}}.pick-result h3{margin:8px 0 2px;font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:500}.pick-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.chips.left{justify-content:flex-start}.dates-row{gap:10px;display:flex}.dates-row label{color:var(--ink-soft);flex:1;gap:4px;font-size:13px;display:grid}.dates-row input,.due-input{border:1.5px solid var(--line);background:var(--card);min-height:46px;color:var(--ink);border-radius:12px;padding:0 10px;font-size:15px}.rereads{align-items:center}.stepper{gap:6px;display:flex}.stepper button{border:1.5px solid var(--line);background:var(--card);border-radius:50%;width:38px;height:38px;font-size:20px;line-height:1}.quote{background:var(--chip);border-radius:14px;margin:0;padding:12px 14px}.quote blockquote{-webkit-user-select:text;user-select:text;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:19px;font-style:italic;font-weight:500;line-height:1.4}.quote figcaption{color:var(--ink-soft);align-items:center;gap:14px;margin-top:6px;font-size:13px;display:flex}.quote figcaption .link:first-of-type{margin-left:auto}.link.muted{color:var(--ink-soft)}.quote-add{gap:8px;display:grid}.photo-btn{cursor:pointer;flex:1}.verdict{z-index:2;color:#2a1d14;text-align:left;background:#fffcf6f5;border-radius:16px;gap:4px;padding:14px 16px;animation:.3s both rise;display:grid;position:absolute;bottom:76px;left:12px;right:12px}.verdict strong{font-size:18px}.verdict span{color:#6b5a4c;font-size:14px}.verdict.have strong{color:#2f7a4a}.verdict.wish strong{color:#b0445a}.verdict.new strong{color:#a9532a}.verdict-actions{gap:8px;margin-top:6px;display:flex}.verdict-actions button{color:#fff;background:#2a1d14;border:0;border-radius:12px;flex:1;min-height:40px;font-size:14px}.verdict-actions button:first-child{color:#2a1d14;background:#f0dcc2}.check-btn{color:var(--ink);font-weight:600}.badges{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.badge{background:var(--card);text-align:center;opacity:.55;filter:grayscale();border-radius:16px;justify-items:center;gap:2px;padding:12px 6px;display:grid}.badge.on{opacity:1;filter:none;box-shadow:0 10px 20px -16px var(--book-shadow)}.b-icon{font-size:28px;line-height:1.2}.badge strong{font-size:12px;line-height:1.2}.badge small{color:var(--ink-soft);font-size:10.5px;line-height:1.2}.settings .plank-label small{margin-left:4px}.settings-file{background:var(--card);cursor:pointer;border-radius:14px;min-height:54px;padding:12px 16px;font-size:16px;display:block}.settings-file small,.settings-list>button small{color:var(--ink-soft);margin-top:2px;font-size:13px;display:block}.settings-list>button{padding:12px 16px}.noa-photo{object-fit:cover;border-radius:10px;width:56px;height:56px}.toast{left:16px;right:16px;top:calc(env(safe-area-inset-top) + 12px);z-index:70;background:var(--card);max-width:420px;color:var(--ink);border:1px solid var(--line);border-radius:18px;align-items:center;gap:12px;margin:0 auto;padding:14px 16px;animation:4.2s both toast;display:flex;position:fixed;box-shadow:0 20px 40px -18px #00000073}.toast .t-icon{font-size:30px}.toast strong{font-size:15px;display:block}.toast small{color:var(--ink-soft);font-size:13px}@keyframes toast{0%{transform:translateY(-140%)}10%,85%{transform:none}to{transform:translateY(-140%)}}html,body{max-width:100%;overflow-x:hidden}.sheet>*,.bs-block>*,.found>*,.add-actions>*{min-width:0}.sheet{overflow-x:hidden}input,textarea,select{box-sizing:border-box;min-width:0;max-width:100%}input[type=date]{appearance:none;width:100%;min-width:0;display:block}.dates-row{flex-wrap:wrap}.dates-row label{flex:140px;min-width:0}.series-row,.series-row>*{min-width:0}.series-row input:first-child{flex:auto;width:0}.tome-input{flex:0 0 76px;width:76px}.due-input{flex:0 150px;width:150px}.chips,.trope-pick{min-width:0}.chip{max-width:100%}.bs-top{min-width:0}.bs-titles{overflow-wrap:anywhere;min-width:0}.quote blockquote{overflow-wrap:anywhere}@media (width<=360px){.sheet{padding-left:14px;padding-right:14px}.due-input{flex-basis:100%;width:100%}.series-row:has(.due-input){flex-wrap:wrap}.bs-top .cover-img{max-width:104px}}.deco-btn{cursor:pointer;background:0 0;border:0;align-self:flex-end;padding:0;line-height:0}.deco-btn .deco{pointer-events:none}.deco-btn:active .deco{transition:transform .15s;transform:translateY(-4px)}.deco-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.deco-tile{background:var(--chip);text-align:center;border-radius:16px;align-content:start;justify-items:center;gap:6px;min-width:0;padding:12px 6px;display:grid}.deco-tile.on{background:var(--card);box-shadow:inset 0 0 0 2px var(--accent)}.deco-tile.locked{opacity:.5;filter:grayscale()}.deco-tile strong{font-size:13px;line-height:1.2}.deco-tile small{color:var(--ink-soft);font-size:11px}.deco-tile select{border:1px solid var(--line);background:var(--card);width:100%;min-height:32px;color:var(--ink);border-radius:10px;font-size:12px}.deco-preview{justify-content:center;align-items:flex-end;height:92px;display:flex}.deco-preview .deco{margin:0;animation:none}.deco-preview .deco-svg{width:auto;max-height:88px}.deco-tile .chip{white-space:nowrap;min-height:32px;padding:0 10px;font-size:12px}.book-sheet{gap:14px}.status-row{scrollbar-width:none;gap:6px;margin:0 -20px;padding:2px 20px;display:flex;overflow-x:auto}.status-row::-webkit-scrollbar{display:none}.status-row .chip{flex:none;min-height:38px;font-size:14px}.bs-progress{gap:6px;display:grid}.book-sheet .stars{justify-content:flex-start}.bs-review{background:var(--wall);cursor:pointer;white-space:pre-wrap;border-radius:16px;margin:0;padding:14px 16px 10px;font-family:Cormorant Garamond,Fraunces,Georgia,serif;font-size:19px;font-style:italic;line-height:1.45}.bs-review small{color:var(--ink-soft);margin-top:6px;font-family:-apple-system,system-ui,sans-serif;font-size:11px;font-style:normal;display:block}.bs-write{border:1.5px dashed var(--line);color:var(--ink-soft);background:0 0;border-radius:999px;justify-self:start;padding:10px 16px;font-size:15px}.bs-edit{gap:8px;display:grid}.carnet{background:var(--wall);border-radius:18px;overflow:hidden}.c-row+.c-row{border-top:1px solid var(--line)}.c-head{text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;min-height:52px;padding:0 14px;font-size:15px;display:flex}.c-icon{text-align:center;flex:none;width:22px}.c-label{flex:none;font-weight:500}.c-value{text-align:right;min-width:0;color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;overflow:hidden}.c-chev{color:var(--ink-soft);flex:none;font-size:20px;line-height:1;transition:transform .2s}.c-row.open .c-chev{transform:rotate(90deg)}.c-row.open{background:var(--card)}.c-body{gap:10px;min-width:0;padding:2px 14px 16px;animation:.25s both rise;display:grid}.c-body .quote{background:var(--wall)}.field{color:var(--ink-soft);gap:4px;min-width:0;font-size:13px;display:grid}.field input{border:1.5px solid var(--line);background:var(--card);min-height:46px;color:var(--ink);border-radius:12px;padding:0 12px;font-size:16px}.field .series-row input{flex:auto;width:0}.bs-summary{justify-items:start;gap:4px;display:grid}.bs-label{color:var(--ink-soft);font-size:13px}@media (width<=360px){.status-row{margin:0 -14px;padding:2px 14px}}
