:root{--paper:#251a20;--paper2:#2f2329;--ink:#f0e2cf;--ink2:#c6b1a0;--wood:#8f6e52;--wood2:#331d13;--accent:#dca457;--green:#4c9a6a;--gold:#e3c88f;--wine:#7c3143;--panel:oklch(.92 .03 330 / .06);--panel2:oklch(.9 .03 330 / .12);--line:oklch(.75 .04 40 / .16);--shadow:0 18px 40px -18px oklch(0 0 0 / .75);--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:Nunito,system-ui,sans-serif;color:var(--ink);background:radial-gradient(1100px 520px at 50% -10%,oklch(.4 .1 325 / .5),transparent 62%),radial-gradient(760px 480px at 8% 18%,oklch(.44 .11 55 / .26),transparent 60%),radial-gradient(900px 620px at 100% 100%,oklch(.32 .08 300 / .5),transparent 55%),linear-gradient(180deg,#150d15,#211420 48%,#170f1d);background-attachment:fixed;min-height:100dvh;-webkit-tap-highlight-color:transparent}.serif{font-family:Cormorant Garamond,serif}header{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:12px;padding:14px 18px;padding-top:calc(14px + env(safe-area-inset-top));background:linear-gradient(180deg,#53234af7,#280f2afa);color:#f2e4cd;box-shadow:0 6px 24px -12px #0009,inset 0 -1px #d6b17d38}header .logo{width:40px;height:40px;border-radius:50%;object-fit:cover;box-shadow:0 4px 10px -4px #00000080}header h1{font-size:19px;font-weight:800;letter-spacing:.3px;flex:1}header h1 small{display:block;font-size:11px;font-weight:600;opacity:.75}header .actions{display:flex;gap:6px;align-items:center}.hbtn{border:1px solid oklch(1 0 0 / .18);background:#ffffff12;color:#f0e2cc;border-radius:10px;padding:8px 10px;font:600 12px/1 Nunito,sans-serif;cursor:pointer;display:flex;align-items:center;gap:6px;transition:.2s}.hbtn:hover{background:#ffffff26}.hbtn svg{width:16px;height:16px;flex:none}.hbtn.ghost{opacity:.85}.hbtn.coffee{background:linear-gradient(135deg,#fd0,#f7a825);color:#3d2c00;border:none;font-weight:800;text-decoration:none;box-shadow:0 4px 14px -4px #eebe008c;box-shadow:0 4px 14px -4px oklch(.82 .17 90 / .55);animation:coffee-glow 3.2s ease-in-out infinite}.hbtn.coffee:hover{background:linear-gradient(135deg,#ffe94d,#fbb33f);transform:translateY(-1px)}@keyframes coffee-glow{0%,to{box-shadow:0 4px 14px -4px #eebe008c;box-shadow:0 4px 14px -4px oklch(.82 .17 90 / .55)}50%{box-shadow:0 4px 20px -2px #fac700cc;box-shadow:0 4px 20px -2px oklch(.85 .19 90 / .8)}}@media (max-width:560px){header h1 small{display:none}.hbtn span{display:none}}nav.tabs{display:flex;gap:6px;padding:12px 18px 0}nav.tabs button,nav.tabs a{flex:1;font:800 15px Nunito,sans-serif;padding:12px;border:none;cursor:pointer;border-radius:14px 14px 0 0;background:#ffffff0d;color:var(--ink2);transition:.2s;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}nav.tabs button.active,nav.tabs a.active{background:var(--paper2);color:var(--ink);box-shadow:0 -6px 18px -14px #00000080,inset 0 2px #d9af758c}nav.tabs button svg,nav.tabs a svg{width:18px;height:18px}main{padding:16px 18px 90px;max-width:1200px;margin:0 auto}.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:6px 0 4px}.status-filters{display:flex;flex-wrap:wrap;gap:8px;flex:1 0 100%}.filter-field{display:flex;flex-direction:column;gap:6px;width:min(100%,240px);font:700 11.5px Nunito,sans-serif;color:var(--ink2)}.filter-search{flex:1;min-width:180px}.filter-field select,.filter-field input{width:100%;color-scheme:dark;font:600 14px Nunito,sans-serif;color:var(--ink);background:#0000003d;border:1.5px solid var(--line);border-radius:10px;padding:9px 11px;outline:none}.filter-field input:focus{border-color:var(--accent)}.pill{border:1px solid var(--line);background:var(--panel);color:var(--ink2);border-radius:999px;padding:6px 12px;font:600 12px/1 Nunito,sans-serif;cursor:pointer;transition:.15s}.pill.on{background:var(--green);color:#0f1a12;border-color:var(--green)}.pill:first-letter{text-transform:uppercase}.statsRow{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px;font-size:12.5px;color:var(--ink2)}.statsRow b{color:var(--ink)}.quote-of-day{position:relative;margin:14px 0 4px;padding:18px 22px 14px 46px;background:linear-gradient(160deg,oklch(.32 .045 340 / .9),var(--paper2));border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:12px;cursor:pointer;box-shadow:0 10px 30px -18px #000c;transition:border-color .2s,transform .2s var(--ease)}.quote-of-day:hover{border-color:var(--accent);transform:translateY(-1px)}.quote-of-day .qod-star{position:absolute;left:16px;top:16px;font-size:17px}.quote-of-day .qod-text{margin:0;font:italic 500 18px/1.5 Cormorant Garamond,serif;color:var(--ink)}.quote-of-day .qod-cite{margin:8px 0 0;font:700 12px Nunito,sans-serif;color:var(--ink2)}@media (max-width:640px){.quote-of-day{padding:14px 16px 12px 40px}.quote-of-day .qod-text{font-size:16px}}.shelf-section+.shelf-section{margin-top:36px}.shelf-section{scroll-margin-top:90px}.shelf-section h2{display:flex;align-items:center;justify-content:space-between;gap:12px;font:700 24px Cormorant Garamond,serif;color:var(--ink);margin:22px 8px 0}.shelf-section h2 span{font:700 11px Nunito,sans-serif;color:var(--ink2)}.shelf-section .shelf{margin-top:20px}.shelf{margin:30px 0 6px;position:relative}.shelf-wood{position:relative;padding:16px 14px 0;border-radius:14px 14px 6px 6px;background:radial-gradient(120% 85% at 50% -30%,oklch(.45 .08 340 / .5),transparent 62%),radial-gradient(60% 30% at 50% 100%,oklch(.5 .12 60 / .22),transparent 70%),linear-gradient(180deg,#26141c,#180d12);box-shadow:inset 0 14px 28px -20px #000000f2,0 8px 26px -18px #000c}.shelf-wood:before{content:"";position:absolute;inset:12px auto 12px 8px;width:6px;border-radius:3px;background:linear-gradient(180deg,#8a6748,#4c3020);box-shadow:0 0 8px #0006}.shelf-wood:after{content:"";position:absolute;inset:12px 8px 12px auto;width:6px;border-radius:3px;background:linear-gradient(180deg,#8a6748,#4c3020);box-shadow:0 0 8px #0006}.books{display:flex;align-items:flex-end;gap:4px;min-height:162px;padding:6px 6px 15px;position:relative;z-index:2}.book-card{flex:none;position:relative;cursor:pointer;line-height:0;z-index:1;transition:transform .3s var(--ease),filter .3s}.book-card[draggable=true]{cursor:grab}.book-card.dragging{opacity:.35;transform:scale(.92);cursor:grabbing;z-index:5}.shelf-section.drag-over .shelf-wood{outline:2px dashed var(--accent);outline-offset:-2px;box-shadow:inset 0 14px 28px -20px #000000f2,0 8px 26px -18px #000c,inset 0 0 60px #b5a28224}.shelf-section.drag-over h2{color:var(--accent)}.book-card .cover-wrap{position:relative;width:var(--w,60px);height:var(--h,120px);border-radius:3px 8px 8px 3px;overflow:hidden;background:linear-gradient(120deg,#3a2a1c,#58422a);box-shadow:0 12px 22px -10px #000000bf,inset 4px 0 8px -4px #00000080;transition:transform .35s var(--ease),box-shadow .35s}.book-card:hover{z-index:6}.book-card:hover .cover-wrap{transform:translateY(-7px) rotate(0) scale(1.03);box-shadow:0 22px 34px -14px #000000d9,inset 4px 0 8px -4px #00000080}.book-card:active .cover-wrap{transform:translateY(-2px) scale(1)}.book-card img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1;border-radius:inherit}.fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;font-family:Cormorant Garamond,serif;font-weight:700;font-size:15px;letter-spacing:2px;color:var(--gold);text-shadow:0 1px 3px oklch(0 0 0 / .65);background:linear-gradient(150deg,var(--g1),var(--g2))}.book-card .fallback{box-shadow:inset 0 0 0 1px #d6b1744d,inset 5px 0 10px -5px #0000008c,inset -2px 0 6px -4px #0006}.book-card .fallback:before,.book-card .fallback:after{content:"";position:absolute;left:7px;right:7px;height:2px;border-top:1px solid oklch(.8 .09 80 / .5);border-bottom:1px solid oklch(.8 .09 80 / .5)}.book-card .fallback:before{top:11px}.book-card .fallback:after{bottom:11px}.book-card.lean{transform:rotate(7deg) translate(-7px);z-index:3}.book-card.leanl{transform:rotate(-6deg);z-index:3}.book-card.lean .cover-wrap,.book-card.leanl .cover-wrap{box-shadow:0 16px 26px -12px #000c,inset 4px 0 8px -4px #00000073}.book-card.short{opacity:.96}.deco{flex:none;align-self:flex-end;width:66px;height:120px;position:relative;z-index:0;margin-bottom:15px}.deco .dbookend{position:absolute;right:0;bottom:0;width:11px;height:98px;border-radius:3px;background:linear-gradient(180deg,#7a5433,#4a331f);box-shadow:0 10px 18px -8px #0009}.deco .dstack{position:absolute;left:6px;bottom:0;width:36px;height:46px;border-radius:4px 8px 8px 4px;background:linear-gradient(180deg,#8a6d4f,#5f4529);box-shadow:0 10px 18px -8px #0009}.deco .dstack:before{content:"";position:absolute;top:-15px;left:3px;width:29px;height:12px;border-radius:3px 6px 6px 3px;background:linear-gradient(180deg,#9b5f5a,#5c304c)}.deco .dstack:after{content:"";position:absolute;top:-29px;left:8px;width:21px;height:12px;border-radius:2px 5px 5px 2px;background:linear-gradient(180deg,#2e4a6b,#1c1a2b)}.rail{position:relative;height:20px;margin-top:-2px;border-radius:5px 5px 14px 14px;background:linear-gradient(180deg,#e6c08c,#a9835c 24%,#63432a 58%,#382011);box-shadow:inset 0 2px 3px #ffffff4d,0 14px 26px -12px #000000bf}.rail:before{content:"";position:absolute;top:0;right:9px;bottom:0;left:9px;border-top:1px solid oklch(.85 .1 80 / .4)}@media (max-width:900px){.books{min-height:138px}.deco{width:56px;height:106px}}@media (max-width:560px){.books{min-height:122px;gap:3px}.deco{display:none}}.shelf-cat{position:absolute;right:16px;bottom:-2px;z-index:4;width:46px;height:54px;pointer-events:none;filter:drop-shadow(0 -1px 1px oklch(.7 .1 310 / .28)) drop-shadow(0 6px 8px oklch(0 0 0 / .45))}.cat-body{position:absolute;left:11px;bottom:0;width:27px;height:32px;background:#1b1220;border-radius:50% 52% 46% 44%/60% 60% 30% 30%;box-shadow:inset 0 2px 2px -1px #9783be59}.cat-head{position:absolute;left:2px;bottom:25px;width:24px;height:20px;background:#1b1220;border-radius:50% 50% 48% 48%;box-shadow:inset 0 2px 2px -1px #9783be59;animation:catLook 7s ease-in-out infinite}.cat-ear{position:absolute;top:-6px;width:9px;height:10px;background:#1b1220;clip-path:polygon(50% 0,6% 100%,94% 100%)}.cat-ear.e-l{left:2px;transform:rotate(-16deg)}.cat-ear.e-r{right:2px;transform:rotate(16deg)}.cat-eye{position:absolute;top:9px;width:4px;height:6px;border-radius:50%;background:#f0cd6e;box-shadow:0 0 5px #f0cd6e90;animation:catBlink 5.2s ease-in-out infinite}.cat-eye.y-l{left:6px}.cat-eye.y-r{right:6px}.cat-tail{position:absolute;right:0;bottom:1px;width:23px;height:9px;background:#1b1220;border-radius:9px;transform-origin:right center;animation:catTail 3.4s ease-in-out infinite}.cat-tail:after{content:"";position:absolute;left:-3px;top:-3px;width:9px;height:9px;border-radius:50%;background:#1b1220}.cat-paw{position:absolute;left:2px;bottom:4px;width:15px;height:8px;background:#1b1220;border-radius:8px;transform-origin:right center;animation:catTap 4.6s ease-in-out infinite}.shelf-cat.batting .cat-paw{animation:catBat .55s cubic-bezier(.3,1.4,.5,1) 1}.shelf-cat.batting .cat-head{animation:none}.shelf-cat.batting .cat-tail{animation-duration:.8s}.book-card.cat-wobble .cover-wrap{animation:catWobble .8s ease}@keyframes catTail{0%,to{transform:rotate(0)}50%{transform:rotate(-18deg)}}@keyframes catBlink{0%,91%,to{transform:scaleY(1)}94%{transform:scaleY(.12)}}@keyframes catLook{0%,70%,to{transform:rotate(0)}78%,90%{transform:rotate(-8deg)}}@keyframes catTap{0%,86%,to{transform:translate(0)}90%{transform:translate(-9px) rotate(-10deg)}94%{transform:translate(0)}}@keyframes catBat{0%{transform:translate(0) rotate(0)}35%{transform:translate(-20px) rotate(-14deg)}65%{transform:translate(-5px) rotate(4deg)}to{transform:translate(0) rotate(0)}}@keyframes catWobble{0%{transform:rotate(0)}30%{transform:rotate(-6deg) translate(-3px)}55%{transform:rotate(3deg)}78%{transform:rotate(-1.5deg)}to{transform:rotate(0)}}.magic-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.moon{position:absolute;top:150px;right:6%;width:58px;height:58px;border-radius:50%;background:radial-gradient(circle at 34% 34%,#fff6dc,#f2d488 52%,#d9a94e 82%);box-shadow:0 0 26px 6px #e2c16266,0 0 90px 34px #bda25724}.moon:after{content:"";position:absolute;top:-7%;right:-16%;width:76%;height:76%;border-radius:50%;background:#1a1020}.moon:before{content:"";position:absolute;top:-34%;right:-34%;bottom:-34%;left:-34%;border-radius:50%;background:radial-gradient(circle,oklch(.85 .12 95 / .16),transparent 65%)}.aurora{position:absolute;top:-20%;left:-15%;width:70%;height:60%;border-radius:50%;background:radial-gradient(ellipse,oklch(.6 .14 310 / .14),transparent 65%);filter:blur(30px);animation:auroraDrift 26s ease-in-out infinite alternate}@keyframes auroraDrift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(34vw,10vh,0) scale(1.25)}}.sparkle{position:absolute;background:radial-gradient(circle,#fff 8%,var(--c) 42%,transparent 75%);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);filter:drop-shadow(0 0 6px var(--c)) drop-shadow(0 0 14px var(--c));opacity:.15;animation:twinkle var(--t) ease-in-out var(--d) infinite}@keyframes twinkle{0%,to{opacity:.18;transform:scale(.55) rotate(0)}50%{opacity:1;transform:scale(1.25) rotate(20deg)}}.mote{position:absolute;border-radius:50%;background:radial-gradient(circle,var(--c),transparent 70%);filter:blur(.4px);opacity:0;animation:moteFloat var(--t) linear var(--d) infinite}@keyframes moteFloat{0%{transform:translateZ(0);opacity:0}15%{opacity:.8}65%{opacity:.5}to{transform:translate3d(var(--dx),-24vh,0);opacity:0}}main,header,nav.tabs{position:relative;z-index:1}#empty{padding:40px 10px;text-align:center;color:var(--ink2);font-size:14px}#modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:none;background:#1d0c088c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#modal.open{display:block}.fly-cover{position:fixed;z-index:66;pointer-events:none;border-radius:4px 12px 12px 4px;overflow:hidden;box-shadow:0 30px 70px -20px #000c;transition:left .55s var(--ease),top .55s var(--ease),width .55s var(--ease),height .55s var(--ease)}.fly-cover img,.fly-cover .fallback{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.panel{position:fixed;z-index:65;opacity:0;transition:opacity .35s ease .25s;top:0;right:0;bottom:0;width:min(560px,100%);height:100%;overflow-y:auto;background:var(--paper);color:var(--ink);box-shadow:-30px 0 60px -30px #000000b3;padding:20px 22px calc(24px + env(safe-area-inset-bottom))}#modal.open .panel{opacity:1}@media (max-width:760px){.panel{width:100%;top:auto;bottom:0;height:62%;min-height:380px;border-radius:22px 22px 0 0;box-shadow:0 -20px 60px -20px #000000b3}}.panel h2{font:700 24px/1.15 Cormorant Garamond,serif}.panel .sub{font-size:13px;color:var(--ink2);margin:2px 0 4px}.panel .mini{font-size:11.5px;color:var(--ink2);line-height:1.5}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.chip{font:600 11.5px/1 Nunito,sans-serif;padding:6px 9px;border-radius:8px;background:#5032241a;color:var(--ink2)}.chip b{color:var(--ink)}.field{margin:12px 0}.field label{display:block;font:700 11.5px Nunito,sans-serif;letter-spacing:.6px;text-transform:uppercase;color:var(--ink2);margin-bottom:6px}.stars{display:flex;gap:6px}.stars span{cursor:pointer;font-size:26px;line-height:1;color:#b5a28247;transition:transform .15s,color .15s}.stars span:hover{color:#dfa94f}.stars span.on{color:#dfa94f;transform:scale(1.12)}input[type=number],input[type=date],select,textarea{width:100%;font:600 14px Nunito,sans-serif;color:var(--ink);background:#0000003d;border:1.5px solid var(--line);border-radius:10px;padding:9px 11px;outline:none}input[type=date]{color-scheme:dark}input::placeholder,textarea::placeholder{color:#c8bbb18c}textarea{resize:vertical;min-height:54px}input:focus,select:focus,textarea:focus{border-color:var(--accent)}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.pp{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:12px;color:var(--ink2)}.pp .bar{flex:1;height:6px;background:#6e605b38;border-radius:99px;overflow:hidden}.pp .bar>div{height:100%;background:var(--accent);border-radius:99px;transition:width .3s var(--ease)}.reading-progress{margin:10px 0;color:var(--ink2);font:700 12px Nunito,sans-serif}.reading-inputs{margin:14px 0 8px}.mbtn{border:none;border-radius:12px;padding:11px;font:800 14px Nunito,sans-serif;cursor:pointer;transition:.15s}.mbtn.primary{background:var(--accent);color:#fbf4e8;width:100%}.mbtn.primary:hover{filter:brightness(1.08)}.mbtn.ghost2{background:#5032241a;color:var(--ink2);padding:8px 12px;font:700 13px}.mbtn.danger{background:#ca55511f;color:#a03a1e}.mfoot{display:flex;gap:8px;margin-top:14px;align-items:center}.entry{background:var(--panel);border-radius:10px;padding:9px 11px;margin-top:6px;font-size:13px;border:1px solid var(--line);cursor:pointer}.entry:hover{border-color:var(--accent)}.entry .d{font-size:11.5px;color:var(--ink2);display:flex;justify-content:space-between;gap:8px}.entry .x{cursor:pointer;background:none;border:none;color:#a03a1e;font:800 13px Nunito,sans-serif}#diaryView .dstats{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 14px}.dbox{flex:1;min-width:120px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.dbox .v{font:800 22px Cormorant Garamond,serif;color:var(--ink)}.dbox .l{font-size:11.5px;color:var(--ink2);text-transform:uppercase;letter-spacing:.5px}.big{width:100%;background:var(--green);color:#f6ebd9;border:none;border-radius:14px;padding:14px;font:800 15px Nunito,sans-serif;cursor:pointer;box-shadow:var(--shadow);transition:.15s}.big:hover{filter:brightness(1.08)}.day{margin:16px 0}.day h3{font:700 15px Nunito,sans-serif;color:var(--ink);border-bottom:1px dashed oklch(.4 .04 45 / .3);padding-bottom:6px}.day .total{float:right;font:700 12.5px;color:var(--accent)}.mbox{display:flex;gap:10px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:8px;cursor:pointer}.mbox:hover{border-color:var(--accent)}.mbox img,.mbox .fbmini{width:40px;height:58px;border-radius:3px 7px 7px 3px;object-fit:cover;flex:none;box-shadow:0 6px 12px -6px #00000080}.mbox .fbmini{display:flex;align-items:center;justify-content:center;font:800 12px Cormorant Garamond,serif;color:var(--gold);text-shadow:0 1px 2px oklch(0 0 0 / .6);background:linear-gradient(150deg,var(--g1),var(--g2))}.mbox .bd{flex:1}.mbox .bt{font:700 13.5px}.mbox .bp{font-size:12px;color:var(--ink2)}.mbox .n{font-size:12.5px;margin-top:3px;color:var(--ink);white-space:pre-wrap}.mbox .x{cursor:pointer;background:none;border:none;color:#a03a1e;font:800 14px Nunito,sans-serif}.nbook{display:flex;gap:10px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:8px;cursor:pointer}.nbook:hover{border-color:var(--accent)}.nbook img,.nbook .fbmini{width:40px;height:58px;border-radius:3px 7px 7px 3px;object-fit:cover;flex:none;box-shadow:0 6px 12px -6px #00000080}.nbook .fbmini{display:flex;align-items:center;justify-content:center;font:800 12px Cormorant Garamond,serif;color:var(--gold);text-shadow:0 1px 2px oklch(0 0 0 / .6);background:linear-gradient(150deg,var(--g1),var(--g2))}.coverbtn{background:none;border:none;padding:0;margin:0;flex:none;cursor:pointer;display:block;line-height:0}.nbook .cwrap{position:relative;display:block;width:40px;height:58px;flex:none;border-radius:3px 7px 7px 3px;overflow:hidden;box-shadow:0 6px 12px -6px #00000080}.nbook .coverbtn{position:relative}.nbook .cover-wrap{position:relative;overflow:hidden}.nbook .cover-wrap img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.nbook .cwrap img,.nbook .cwrap .fbmini{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:0;box-shadow:none}.nbook .bd{flex:1;min-width:0}.nbook .bt{font:700 13.5px}.nbook .bmeta{font-size:11px;color:var(--ink2);margin-top:2px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.nbook .st{color:var(--accent);letter-spacing:1px}.nbook .n{border-left:2px solid var(--line);padding-left:8px;margin-top:6px;font-size:12.5px;color:var(--ink);white-space:pre-wrap}.nbook .r{background:#44373459;border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-top:6px;font-size:13px;color:var(--ink);white-space:pre-wrap}.nbook .editl{flex:none;align-self:center;font-size:11px;color:var(--accent);white-space:nowrap}.section-label{font:700 12.5px;color:var(--ink2);text-transform:uppercase;letter-spacing:.08em;margin:18px 0 2px}#toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%) translateY(20px);background:#3a2230;color:#f4e6d2;padding:11px 18px;border-radius:12px;font:700 13px Nunito,sans-serif;opacity:0;transition:.3s var(--ease);z-index:100;pointer-events:none;box-shadow:var(--shadow)}#toast.show{opacity:1;transform:translate(-50%) translateY(0)}#syncform{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:none;background:#1d0c0880;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}#syncform.open{display:flex}#syncform .sheet{width:100%;max-width:520px;margin:0 auto;display:flex;flex-direction:column;max-height:88dvh;overflow-y:auto;background:var(--paper);border-radius:22px 22px 0 0;padding:18px 20px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px -20px #000000b3}#syncform .hint{font-size:13px;color:var(--ink2);margin-bottom:10px;line-height:1.45}#syncform .mini{font-size:11.5px;color:var(--ink2);line-height:1.5;margin-top:6px}.syncstat{display:flex;align-items:center;gap:8px;font:700 13px Nunito,sans-serif;padding:9px 12px;border-radius:10px;background:#5032241a;color:var(--ink2);margin-bottom:12px}.syncstat .s{width:10px;height:10px;border-radius:50%;background:#bdb3a4;flex:none}.syncstat.ok .s{background:#3e8f5a}.syncstat.err .s{background:#c0502e}.syncstat.load .s{background:transparent;border:2px solid oklch(.4 .05 45 / .3);border-top-color:var(--accent);animation:spin .8s linear infinite}header .hbtn:has(#syncDot){padding-right:14px;position:relative}#syncDot{width:9px;height:9px;border-radius:50%;background:#8d8577;position:absolute;right:5px;top:5px;box-shadow:0 0 0 2px #3f271de6}#syncDot.on{background:#6fce8f}#syncDot.err{background:#ff9066}#syncDot.sync{background:#f6c96b}.week{display:flex;gap:10px;align-items:flex-end;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:14px;height:110px}.week .wcol{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;height:100%}.week .wcol .bar{width:100%;max-width:34px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#e0a470,#a8662f);min-height:3px;transition:height .4s var(--ease)}.week .wcol.today .bar{background:linear-gradient(180deg,#3e8f5a,#2c6a41)}.week .wcol span.l{font-size:10px;color:var(--ink2)}.week .wcol span.v{font-size:10.5px;color:var(--ink);font-weight:800}#loading{padding:60px 20px;text-align:center;font:700 15px Cormorant Garamond,serif;color:var(--ink2)}@keyframes spin{to{transform:rotate(360deg)}}.spin{display:inline-block;width:20px;height:20px;border:3px solid oklch(.4 .05 45 / .25);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.cite-btn{display:flex;align-items:center;gap:8px;width:100%;margin-top:8px;background:#49352f4d;border:1px dashed var(--line);color:var(--ink2);border-radius:10px;padding:10px 12px;font:700 12.5px Nunito,sans-serif;cursor:pointer}.cite-btn:hover{color:var(--ink);border-color:var(--accent)}.cite-btn b{color:var(--accent)}#citacoes{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;display:flex;align-items:center;justify-content:center;background:#0e0503cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:leituraIn .3s ease both}@keyframes leituraIn{0%{opacity:0}to{opacity:1}}#citacoes .xclose{position:absolute;top:calc(14px + env(safe-area-inset-top));right:16px;z-index:5;width:38px;height:38px;border:none;border-radius:50%;background:#00000080;color:#fff;font-size:18px;cursor:pointer}#citacoes .cit-book{position:relative;width:min(92vw,540px);height:min(74vh,640px);transform-style:preserve-3d;perspective:1800px}#citacoes .pagina{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:7px;background:linear-gradient(160deg,#f7f0dd,#ecdfc4);box-shadow:0 40px 90px -30px #000,inset 0 0 0 1px #78644638;padding:40px 34px 56px;display:flex;flex-direction:column}#citacoes .pagina.cit-in-fwd{animation:citFocusIn .55s .3s var(--ease) both}#citacoes .pagina.cit-out{z-index:3;pointer-events:none;transform-origin:left center;backface-visibility:hidden;animation:citLeafFwd .62s cubic-bezier(.5,.05,.35,1) both}#citacoes .pagina.cit-in-back{z-index:5;transform-origin:left center;backface-visibility:hidden;animation:citLeafBack .62s .26s cubic-bezier(.5,.05,.35,1) both}#citacoes .pagina.cit-still{z-index:0}#citacoes .cit-leaf{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;border-radius:7px;background:linear-gradient(135deg,#f6eeda,#e9dcc0);box-shadow:0 30px 60px -26px #000,inset 0 0 0 1px #78644640;transform-origin:left center;backface-visibility:hidden;animation:citLeafFwd .62s var(--delay,0s) cubic-bezier(.5,.05,.35,1) both;pointer-events:none}#citacoes .cit-book.back .cit-leaf{animation-name:citLeafBack}@keyframes citLeafFwd{0%{transform:rotateY(0)}78%{transform:rotateY(-96deg)}to{transform:rotateY(-172deg);opacity:0}}@keyframes citLeafBack{0%{transform:rotateY(-172deg);opacity:0}25%{opacity:1}to{transform:rotateY(0)}}@keyframes citFocusIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}#citacoes .page-mark{font:700 11px Nunito,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#a08e6d;margin-bottom:16px;text-align:center}#citacoes .quote{flex:1;min-height:0;overflow-y:auto;font:500 clamp(21px,3vw,28px)/1.65 "Cormorant Garamond",serif;color:#33271a;white-space:pre-wrap;display:flex;flex-direction:column;align-items:center;justify-content:safe center;text-align:center;padding:12px 0}#citacoes .quote-text{flex:none;max-width:100%;width:34ch;overflow-wrap:anywhere;font-style:italic}#citacoes .quote-text:before{content:"“"}#citacoes .quote-text:after{content:"”"}#citacoes .pnum{text-align:center;font:800 13px Nunito,sans-serif;color:#8c7450;margin-top:16px;letter-spacing:.08em}.cit-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:46px;height:46px;border-radius:50%;border:1px solid oklch(1 0 0 / .22);background:#0000006b;color:#f3e9d2;font-size:26px;line-height:1;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .2s,opacity .2s}.cit-nav:hover{background:#0000009e}.cit-nav:disabled{opacity:.22;cursor:default}.cit-nav.prev{left:-58px}.cit-nav.next{right:-58px}.cit-tools{position:absolute;left:16px;bottom:14px;display:flex;gap:2px}.cit-tools button{width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:#8c7450;font-size:15px;cursor:pointer;opacity:.55;transition:opacity .18s,background .18s}.cit-tools button:hover{opacity:1;background:#8c745026}.cit-tools button:disabled{opacity:.3;cursor:default}.cit-count{position:absolute;right:18px;bottom:18px;font:800 11px Nunito,sans-serif;color:#a08e6d;letter-spacing:.1em}.cit-empty{margin:auto;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.cit-empty p{font-size:20px;color:#5a4632;margin:0}.cit-empty .mbtn{width:auto;padding:10px 18px;background:#754b60;color:#fff3ec;border:none;border-radius:10px;font-weight:700;cursor:pointer}.cit-pg{display:flex;align-items:center;gap:6px;color:#725c3f;font:800 10px Nunito,sans-serif;text-transform:uppercase;letter-spacing:.06em}.cit-pg input{width:74px;background:#e8dcc4;border:1px solid #c8b797;color:#2f2419;padding:6px 8px;border-radius:8px;font:600 13px Nunito,sans-serif}@media (max-width:640px){.cit-nav{top:auto;bottom:64px}.cit-nav.prev{left:10px}.cit-nav.next{right:10px}#citacoes .pagina{padding:34px 24px 52px}}@media (prefers-reduced-motion:reduce){#citacoes,#citacoes .pagina{animation:none}}#flipview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:88;display:none;background:#1606049e;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);align-items:center;justify-content:center;padding:20px}#flipview.open{display:flex}.flip-book{width:min(70vw,300px);height:min(72vh,450px);max-width:300px;max-height:450px;aspect-ratio:2/3;perspective:1500px;cursor:pointer}.flip-book:focus-visible{outline:2px solid var(--accent);outline-offset:8px}#flipview.open{animation:leituraIn .25s ease both}.flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.5,.05,.3,1)}.flip-book.flipped .flip-inner{transform:rotateY(180deg)}.flip-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border-radius:4px 12px 12px 4px;overflow:hidden;box-shadow:0 34px 70px -26px #000000d9}.flip-face.front{background:linear-gradient(150deg,var(--g1),var(--g2))}.flip-face img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.flip-face .fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font:800 34px Cormorant Garamond,serif;color:var(--gold);text-shadow:0 1px 3px oklch(0 0 0 / .6);background:linear-gradient(150deg,var(--g1),var(--g2))}.flip-face.back{transform:rotateY(180deg);background:linear-gradient(150deg,#2c221a,#3a2d21);color:var(--ink);padding:20px 18px 16px;display:flex;flex-direction:column}.flip-face.back .blab{font:700 11px Nunito,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.flip-face.back .rv{flex:1;overflow-y:auto;font:600 13px/1.55 Nunito,sans-serif;white-space:pre-wrap}.flip-face.back .rv.empty{color:var(--ink2);font-style:italic}.flip-face.back .hint{font-size:11px;color:var(--accent);margin-top:10px;text-align:right}.flip-face.back .edit-review{margin-top:16px;width:100%}.flip-face.back .edit-review:disabled{opacity:.5;cursor:wait}#caderno{position:fixed;top:0;right:0;bottom:0;left:0;z-index:92;display:none;background:#0e0503d1;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);align-items:center;justify-content:center;padding:60px 18px 18px}#caderno.open{display:flex;animation:reviewFocus .45s ease both}@keyframes reviewFocus{0%{background:#1606049e;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}to{background:#0e0503d1;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}}.cad-stage{position:relative;width:min(100%,600px);height:min(78dvh,660px);max-height:calc(100dvh - 78px);perspective:1800px}.caderno{position:relative;width:100%;height:100%;border-radius:4px 12px 12px 4px;padding:58px 30px 18px;box-shadow:0 44px 90px -30px #000000e6,inset 6px 0 12px -7px #715b3b;background:linear-gradient(90deg,#e0d0ae 0,#e0d0ae 9px,#f3e9d2 9px);display:flex;flex-direction:column;animation:notebookRise .85s .15s var(--ease) both;transform-origin:center bottom}.caderno:before{content:"";position:absolute;top:0;bottom:0;left:38px;width:1px;background:#c88d82;opacity:.5;pointer-events:none}.caderno h3{font:700 21px Cormorant Garamond,serif;color:#3a2c1d;margin-bottom:6px;padding-left:24px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:0}.caderno .hint{font:600 11.5px Nunito,sans-serif;color:#8a7758;margin-bottom:14px;padding-left:24px}.cad-writing{flex:1;min-height:68px;display:flex;margin-left:24px;background:repeating-linear-gradient(180deg,transparent 0 33px,#d8cbb0 33px 34px)}.caderno textarea{width:100%;height:100%;min-height:0;background:transparent;border:none;outline:none;resize:none;color:#2f2419;caret-color:#784b31;font:400 15px/34px Courier New,Courier,monospace;padding:6px 4px 0 0;-moz-tab-size:4;tab-size:4}.caderno textarea::placeholder{color:#9c8a70}.cad-writing.typing{animation:typeStrike .13s ease-out}.caderno .row{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:14px}.caderno .row .mbtn.ghost2{color:#725c3f;border-color:#c8b797;background:#e8dcc4}#cadSound{margin-right:auto;font-size:11px}.cad-cover{position:absolute;z-index:2;top:-40px;left:calc(50% - 30px);width:60px;height:90px;max-height:none;cursor:default;pointer-events:none;transform-origin:top left}.cad-cover.docking{animation:coverDock .95s var(--ease) both}.cad-cover.docked .flip-inner{transform:rotateY(360deg);transition:transform .85s .1s var(--ease)}.cad-cover .flip-face{box-shadow:0 12px 22px -8px #0009}.cad-cover .fallback{font-size:18px}@keyframes coverDock{0%{transform:translate(var(--cover-x),var(--cover-y)) scale(var(--cover-scale))}to{transform:translate(0) scale(1)}}@keyframes notebookRise{0%{opacity:0;transform:translateY(90px) rotateX(14deg) scale(.82);filter:blur(4px)}to{opacity:1;transform:translateY(0) rotateX(0) scale(1);filter:blur(0)}}@keyframes typeStrike{0%{transform:translateY(1.2px)}55%{transform:translateY(-.4px)}to{transform:translateY(0)}}@media (max-width:480px){.caderno{padding:54px 18px 14px}.caderno:before{left:28px}.caderno h3,.caderno .hint{padding-left:20px}.cad-writing{margin-left:20px}.caderno textarea{font-size:16px}}@media (max-height:560px){#caderno{padding:44px 12px 12px}.cad-stage{height:calc(100dvh - 56px);max-height:calc(100dvh - 56px)}.caderno{padding-top:32px}.caderno .hint{margin-bottom:6px}.cad-writing{min-height:34px}.cad-cover{top:-28px;left:calc(50% - 20px);width:40px;height:60px}}@media (prefers-reduced-motion:reduce){#flipview.open,#caderno.open,.caderno,.cad-cover.docking,.cad-writing.typing,#leitura.open,#leitura .leaf,#leitura .pagina{animation:none}.flip-inner,.cad-cover.docked .flip-inner,.pp .bar>div{transition:none}.cat-head,.cat-eye,.cat-tail,.cat-paw,.book-card.cat-wobble .cover-wrap,.hbtn.coffee,.sparkle,.mote,.aurora{animation:none}.sparkle{opacity:.3}.mote{opacity:.25}.aurora{opacity:.5}}
