:root{--paper:#fafaf9;--ink:#292524;--muted:#78716c;--line:#e7e5e4;--card:#fff;--blush:#f5f5f4;--accent:#6366f1;--accent-hover:#4f46e5;--accent-soft:#d97757;--accent-ink:#fafaf9;--danger:#f43f5e;--ok:#16a34a;--shadow:0 1px 0 #2925240a;--radius:12px;--radius-lg:16px;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-display:"Instrument Serif", "Iowan Old Style", Georgia, serif;--font-brand:Bitter, "Iowan Old Style", Georgia, serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}button,input,textarea{font:inherit}#app{min-height:100vh}a{color:inherit}.shell{flex-direction:column;width:min(720px,100% - 32px);min-height:100vh;margin:0 auto;display:flex}.shell .hero,.shell .page{flex:1}.site-header{z-index:40;background:color-mix(in srgb, var(--paper) 78%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;height:56px;padding:0;display:flex;position:sticky;top:0}.wordmark{font-family:var(--font-brand);letter-spacing:-.02em;color:var(--ink);text-transform:none;font-size:20px;font-weight:600;text-decoration:none}.nav-links{font-size:13px;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:4px;font-weight:600;display:flex}.nav-links a,.nav-links button.link,.nav-links button.account-name{color:var(--ink);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;padding:6px 10px;text-decoration:none}.nav-links a:hover,.nav-links button.link:hover,.nav-links button.account-name:hover,.nav-links button.account-name[aria-expanded=true]{color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.nav-links .account-name{text-transform:none;letter-spacing:0;font-family:var(--font-sans);font-weight:500}.account-wrap{position:relative}.account-panel{background:var(--card);border:1px solid var(--line);min-width:168px;box-shadow:var(--shadow);z-index:12;border-radius:12px;gap:2px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.account-item{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--ink);background:0 0;border:0;border-radius:8px;padding:10px 12px;font-size:15px;display:block}.account-item:hover,.account-item:focus-visible{background:var(--blush)}.bell-wrap{position:relative}.bell{width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.badge{background:var(--accent);min-width:16px;height:16px;color:var(--accent-ink);border-radius:999px;padding:0 4px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;line-height:16px;position:absolute;top:2px;right:2px}.bell-panel{background:var(--card);border:1px solid var(--line);width:min(320px,70vw);max-height:min(70vh,420px);box-shadow:var(--shadow);z-index:12;border-radius:12px;gap:8px;padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.bell-item{text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;gap:2px;padding:8px;display:grid}.bell-item:hover{background:var(--blush)}.bell-item strong{font-size:15px}.bell-item span{color:var(--muted);font-size:13px}.tabs{flex-wrap:wrap;gap:8px 16px;margin:0 0 24px;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:6px 0;font-family:ui-sans-serif,system-ui,sans-serif;font-size:15px}.tabs button.active{color:var(--ink);border-bottom-color:var(--accent)}.timeline-toolbar{justify-content:space-between;align-items:flex-start;gap:16px;margin:0 0 24px;display:flex}.timeline-toolbar .hint{max-width:42ch;margin:0}.axis-switch{border:1px solid var(--line);background:#fff;border-radius:999px;flex-shrink:0;padding:3px;display:inline-flex}.axis-switch button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 12px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;font-weight:600}.axis-switch button.active{background:var(--ink);color:#fff}.timeline-track{margin:0;padding:0;list-style:none}.timeline-track.is-vertical{padding-left:18px;position:relative}.timeline-track.is-vertical:before{content:"";background:linear-gradient(180deg, var(--accent), var(--line));border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:7px}.timeline-track.is-vertical .timeline-node{padding:0 0 22px 22px;position:relative}.timeline-track.is-vertical .timeline-node:last-child{padding-bottom:0}.timeline-dot{background:var(--card);border:3px solid var(--accent);width:14px;height:14px;box-shadow:0 0 0 3px var(--paper);border-radius:50%;position:absolute}.timeline-track.is-vertical .timeline-dot{top:18px;left:0;transform:translate(-22px)}.timeline-node[data-kind=add_book] .timeline-dot{border-color:var(--accent)}.timeline-node[data-kind=remove_book] .timeline-dot{border-color:var(--muted)}.timeline-node[data-kind=tag] .timeline-dot{border-color:#7c3aed}.timeline-node[data-kind=club] .timeline-dot{border-color:#0f766e}.timeline-node[data-kind=follow] .timeline-dot{border-color:var(--ok)}.timeline-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:14px 16px 12px}.timeline-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:700}.timeline-card h3{margin:0;font-size:18px;line-height:1.3}.timeline-detail{color:var(--muted);margin:6px 0 0;font-size:15px}.timeline-card time{color:var(--muted);margin-top:8px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;display:block}.timeline-track.is-horizontal{scroll-snap-type:x proximity;scrollbar-width:thin;align-items:stretch;gap:0;padding:8px 4px 20px;display:flex;overflow-x:auto}.timeline-track.is-horizontal .timeline-node{scroll-snap-align:start;flex:0 0 240px;height:340px;position:relative}.timeline-track.is-horizontal .timeline-node:before{content:"";background:var(--line);height:2px;position:absolute;top:50%;left:0;right:0}.timeline-track.is-horizontal .timeline-dot{z-index:1;top:50%;left:50%;transform:translate(-50%,-50%)}.timeline-track.is-horizontal .timeline-card{z-index:1;position:absolute;left:8px;right:8px}.timeline-track.is-horizontal .timeline-node:nth-child(odd) .timeline-card{bottom:calc(50% + 16px)}.timeline-track.is-horizontal .timeline-node:nth-child(2n) .timeline-card{top:calc(50% + 16px)}.library-tools{flex-wrap:wrap;gap:8px;margin:-8px 0 24px;display:flex}.file-input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.modal.wide{width:min(520px,100%)}.import-steps{color:var(--ink);margin:14px 0 18px;padding-left:1.2em}.import-steps li{margin:0 0 8px}.import-steps a{text-underline-offset:3px;text-decoration:underline}.preview-book{grid-template-columns:132px 1fr;align-items:start;gap:18px;margin:12px 0 8px;display:grid}.preview-cover{aspect-ratio:3/4;object-fit:cover;object-position:center;background:#efe8df;border-radius:10px;width:100%;display:block}.preview-cover.fallback{align-items:flex-end;padding:12px;display:flex}.preview-cover.fallback strong{letter-spacing:-.03em;font-size:16px;font-weight:500;line-height:1.2}.preview-body h2{letter-spacing:-.03em;margin:0 0 6px;font-size:28px;font-weight:500}@media (width<=640px){.preview-book{grid-template-columns:96px 1fr;gap:14px}.preview-body h2{font-size:22px}}.cadence{border:0;margin:0 0 14px;padding:0;font-family:ui-sans-serif,system-ui,sans-serif;font-size:15px}.cadence legend{color:var(--muted);margin-bottom:8px;padding:0;font-size:13px}.cadence-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.cadence-option{cursor:pointer;min-width:0;position:relative}.cadence-option input{appearance:none;z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;box-shadow:none;accent-color:#0000;background:0 0;border:0;outline:none;margin:0;position:absolute;inset:0}.cadence-option span{border:1px solid var(--line);background:var(--card);min-height:44px;color:var(--muted);text-align:center;opacity:.38;box-shadow:none;border-radius:12px;outline:none;justify-content:center;align-items:center;padding:10px 12px;font-size:15px;line-height:1.2;display:flex}.cadence-option:hover span{color:var(--muted);border-color:var(--line);background:var(--card);box-shadow:none;opacity:.7}.cadence-option:has(input:checked) span{border-color:var(--line);background:var(--card);color:var(--ink);box-shadow:none;opacity:1;outline:none}.cadence-option:has(input:checked):hover span{color:var(--ink);border-color:var(--line);background:var(--card);box-shadow:none;opacity:1}.cadence-option:has(input:focus-visible) span{outline:2px solid var(--ink);outline-offset:2px}.check{cursor:pointer;align-items:center;gap:8px;margin:0 0 16px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:15px;display:flex}.check input{width:16px;height:16px;accent-color:var(--accent)}.book.unread{box-shadow:0 0 0 1px #f0d7b8}.hero{flex-direction:column;padding:48px 0 8px;display:flex}.hero h1,.page-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 16px;font-size:clamp(40px,8vw,72px);font-weight:400;line-height:1.08}.hero h1,.lede{text-align:center}.lede{color:var(--muted);margin:0 0 32px;font-size:18px;line-height:1.55}.discover{margin:-8px 0 28px}.discover .shelf{margin:0}.home-empty{text-align:center;margin:-12px 0 20px}.claim{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.claim-guest{grid-template-columns:minmax(0,1fr) auto;gap:12px 10px;display:grid}.claim-guest .btn{align-self:stretch;min-width:96px;height:auto}.claim-guest .fine-print,.claim-guest .error{text-align:center;grid-column:1;margin:0}.home-add{flex-wrap:nowrap}.home-add-field{flex:auto;min-width:0}.home-add .claim-field{flex:auto;min-width:0;padding-left:18px}.home-add .claim-field input{padding-left:0}.shelf{margin:0 0 20px;position:relative}.shelf-track{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;grid-auto-columns:calc(33.3333% - 5.33333px);grid-auto-flow:column;gap:8px;padding:2px;display:grid;overflow-x:auto}.shelf.peek .shelf-track{grid-auto-columns:calc(33.3333% - 11.3333px)}.shelf-track::-webkit-scrollbar{display:none}.shelf-card{scroll-snap-align:start;aspect-ratio:3/4;border:1px solid var(--line);appearance:none;min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;background:#efe8df;border-radius:12px;padding:0;position:relative;overflow:hidden}button.shelf-card:hover{box-shadow:none}button.shelf-card:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.shelf-card.placeholder{box-shadow:none;cursor:default;background:0 0;border-style:dashed}.shelf-cover{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.nsfw-cover{border-radius:inherit;position:relative;overflow:hidden}.shelf-card .nsfw-cover,.preview-book>.nsfw-cover{width:100%}.book.has-cover>.nsfw-cover{width:96px}.book.pinned.has-cover>.nsfw-cover{width:132px}.shelf-card .nsfw-cover{height:100%}.nsfw-cover.is-blurred img{filter:blur(28px);pointer-events:none;transform:scale(1.22)}.nsfw-cover-show{z-index:1;color:#fffdf8;cursor:pointer;background:#1c1917bd;border:0;border-radius:999px;padding:5px 10px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;line-height:1.2;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.nsfw-cover-show:hover,.nsfw-cover-show:focus-visible{background:#1c1917e0}.shelf-fallback{flex-direction:column;justify-content:flex-end;gap:4px;height:100%;padding:12px;display:flex}.shelf-fallback strong{letter-spacing:-.03em;font-size:15px;font-weight:500;line-height:1.2}.shelf-fallback span{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px}.shelf-arrow{z-index:2;border:1px solid var(--line);background:var(--card);width:32px;height:32px;color:var(--ink);cursor:pointer;box-shadow:var(--shadow);border-radius:999px;margin-top:-16px;padding:0;font-size:22px;line-height:1;position:absolute;top:50%}.shelf-arrow:disabled{opacity:.35;cursor:default}.shelf-arrow.prev{left:-8px}.shelf-arrow.next{right:-8px}.claim-field{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;box-shadow:none;flex:280px;align-items:center;padding:6px 6px 6px 16px;display:flex}.claim-field.available{box-shadow:0 0 0 1px #16a34a, var(--shadow);border-color:#16a34a}.claim-field.taken{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger), var(--shadow)}.claim-prefix{color:var(--muted);white-space:nowrap;font-family:var(--font-mono);font-size:13px}.claim-field input,.field input,.field textarea{width:100%;color:var(--ink);background:0 0;border:0;outline:none}.claim-field input{min-width:0;padding:10px 12px 10px 0}.btn{appearance:none;border-radius:var(--radius);background:var(--ink);min-height:32px;color:var(--accent-ink);cursor:pointer;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid #0000;justify-content:center;align-items:center;padding:7px 16px;font-size:13px;font-weight:600;transition:background 75ms,border-color 75ms,transform 75ms;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.accent{background:var(--accent);color:var(--accent-ink);border-color:var(--accent-hover)}.btn.accent:hover:not(:disabled){background:var(--accent-hover)}.btn.ghost{background:var(--card);color:var(--ink);border:1px solid var(--line)}.btn.ghost:hover:not(:disabled){background:var(--blush);border-color:#d6d3d1}.btn.danger{background:var(--danger);color:#fff}.btn.ghost.danger{color:var(--danger);background:0 0;border-color:#f0c9c6}.btn.small{padding:8px 14px;font-size:14px}.fine-print,.hint,.error,.ok{font-family:var(--font-sans);font-size:13px}.fine-print,.hint{color:var(--muted)}.error{color:var(--danger)}.ok{color:var(--ok)}.points{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);gap:0;margin:48px 0 0;padding:0;list-style:none;display:grid;overflow:hidden}.points li{border-top:1px solid var(--line);padding:20px 24px}.points li:first-child{border-top:0}.points strong{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.page{padding:24px 0 80px}.profile-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.profile-head .page-title{margin-bottom:8px}.profile-head .username{margin:0}.profile-head .hint{margin:8px 0 0}.profile-head .btn{flex-shrink:0;margin-top:6px}.tag-pref{cursor:pointer;align-items:flex-start;gap:10px;margin:0 0 24px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:15px;display:flex}.tag-pref input{margin-top:3px}.tag-pref em{color:var(--muted);margin-top:4px;font-size:14px;font-style:normal;display:block}.mention-pref{margin-top:12px}.feedback-page .page-title{text-align:center}.banner{background:var(--blush);border-radius:var(--radius);border:1px solid #f0d7b8;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding:14px 16px;display:flex}.banner.confirmed{background:#f3f7ea;border-color:#d5e2b6}.book{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:20px 48px 20px 20px;position:relative}.book.can-pin{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.book.holding{touch-action:none}.book.holding:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;background:radial-gradient(circle at var(--ox,50%) var(--oy,50%), #f075f00d, transparent 38%);position:absolute;inset:0}.book-galaxy{border-radius:inherit;pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.book-galaxy-ripple,.book-galaxy-mote{left:var(--ox,50%);top:var(--oy,50%);position:absolute}.book-galaxy-ripple{background:conic-gradient(#ff2d6f,#ff7a18,#ffe14a,#3dff7a,#2ee8ff,#4d6dff,#c44dff,#ff2d6f);border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;animation:1.5s ease-out forwards galaxy-ripple;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 1.15px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,#0000 calc(100% - 1.15px),#000 calc(100% - 1px))}.book-galaxy-mote{width:7px;height:var(--size,1.3px);margin:calc(var(--size,1.3px) / -2) 0 0 -1px;background:linear-gradient(90deg, transparent 0%, hsl(var(--hue,300) 100% 68%) 52%, #fff 100%);box-shadow:0 0 3px hsl(var(--hue,300) 100% 64% / .7);transform-origin:1px;animation:galaxy-meteor var(--dur,.7s) linear var(--delay,0s) forwards;border-radius:999px}.book-galaxy-mote:after{content:"";clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);background:#fff;width:3px;height:3px;margin-top:-1.5px;position:absolute;top:50%;right:-1.5px}.book-comet{pointer-events:none;z-index:3;width:calc(100% + 2px);height:calc(100% + 2px);position:absolute;inset:-1px;overflow:visible}.book-comet-core{stroke-linecap:round;stroke-linejoin:round;stroke-width:1px;vector-effect:non-scaling-stroke;animation:1.1s linear infinite galaxy-hue-plain}.book-comet-head{fill:#fff}@keyframes galaxy-hue-plain{to{filter:hue-rotate(360deg)}}@keyframes galaxy-ripple{0%{opacity:.14;transform:scale(.35)}to{opacity:0;transform:scale(18)}}@keyframes galaxy-meteor{0%{transform:translate(0, 0) rotate(var(--angle)) scaleX(.35);opacity:0}8%{opacity:1}to{transform:translate(calc(var(--tx) - var(--ox)), calc(var(--ty) - var(--oy))) rotate(var(--angle)) scaleX(.85);opacity:0}}.book.pin-burst:after{content:"";border-radius:inherit;pointer-events:none;z-index:3;animation:.84s ease-out forwards pin-burst-ring;position:absolute;inset:-2px;box-shadow:0 0 0 2px #ffe14a,0 0 22px #ff2d6f,0 0 36px #2ee8ff}.book-burst{pointer-events:none;z-index:4;border-radius:inherit;position:absolute;inset:0;overflow:visible}.book-burst-flash,.book-burst-ring,.book-burst-star,.book-burst-spark{left:var(--sx,50%);top:var(--sy,50%);position:absolute}.book-burst-flash{background:radial-gradient(circle,#fff 0 28%,#ffe14a 42%,#0000 72%);border-radius:50%;width:28px;height:28px;margin:-14px 0 0 -14px;animation:.84s ease-out forwards galaxy-slam-flash}.book-burst-ring{background:conic-gradient(from 40deg,#ff2d6f,#ff7a18,#ffe14a,#3dff7a,#2ee8ff,#4d6dff,#c44dff,#ff2d6f);border-radius:50%;width:18px;height:18px;margin:-9px 0 0 -9px;animation:.84s cubic-bezier(.12,.7,.2,1) forwards galaxy-slam-ring;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 5px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 5px),#000 calc(100% - 3px))}.book-burst-ring.late{opacity:.7;animation-delay:80ms}.book-burst-star{clip-path:polygon(50% 0,61% 36%,100% 50%,61% 64%,50% 100%,39% 64%,0 50%,39% 36%);filter:drop-shadow(0 0 10px #fff)drop-shadow(0 0 18px #ff7ad9);background:radial-gradient(circle,#fff 0 22%,#0000 56%),conic-gradient(#ff2d6f,#ffe14a,#3dff7a,#2ee8ff,#4d6dff,#c44dff,#ff2d6f);width:34px;height:34px;margin:-17px 0 0 -17px;animation:.84s ease-out forwards galaxy-slam-star}.book-burst-shimmer{border-radius:inherit;background:linear-gradient(115deg,#0000 28%,#ffe14a57 46%,#2ee8ff47 54%,#0000 70%);animation:.84s ease-out forwards pin-burst-shimmer;position:absolute;inset:0;transform:translate(-130%)skew(-16deg)}.book-burst-spark{background:hsl(calc(var(--i) * 22.5) 100% 60%);width:8px;height:8px;box-shadow:0 0 10px hsl(calc(var(--i) * 22.5) 100% 58%);border-radius:999px;margin:-4px 0 0 -4px;animation:.84s cubic-bezier(.1,.72,.2,1) forwards pin-burst-spark}@keyframes pin-burst-ring{0%{opacity:.95;transform:scale(.985)}to{opacity:0;transform:scale(1.04)}}@keyframes pin-burst-shimmer{0%{opacity:.95;transform:translate(-130%)skew(-16deg)}to{opacity:0;transform:translate(130%)skew(-16deg)}}@keyframes pin-burst-spark{0%{opacity:1;transform:rotate(calc(var(--i) * 22.5deg)) translateY(6px) scale(.55)}62%{opacity:1}to{opacity:0;transform:rotate(calc(var(--i) * 22.5deg)) translateY(-92px) scale(.15)}}@keyframes galaxy-slam-flash{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(6.4)}}@keyframes galaxy-slam-ring{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(9)}}@keyframes galaxy-slam-star{0%{opacity:1;transform:scale(.2)rotate(-12deg)}40%{opacity:1;transform:scale(1.35)rotate(8deg)}to{opacity:0;transform:scale(.2)rotate(28deg)}}@media (prefers-reduced-motion:reduce){.book-comet,.book-galaxy,.book-burst,.book.holding:before,.book.pin-burst:after{display:none}}.book-eye{z-index:2;width:36px;height:36px;color:var(--ink);cursor:pointer;background:#fffaf4eb;border:0;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:10px;right:10px}.book-eye:hover,.book-eye:focus-visible{background:var(--blush)}.book-eye:disabled{opacity:.5;cursor:not-allowed}.book-save{z-index:2;width:36px;height:36px;color:var(--ink);cursor:pointer;background:#fffaf4eb;border:0;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:10px;right:10px}.book-save.dim{opacity:.38}.book-save:not(.dim){color:var(--ink);opacity:1}.book-save:hover,.book-save:focus-visible{background:var(--blush)}.book-save.dim:hover,.book-save.dim:focus-visible{opacity:.7}.book-save:disabled{cursor:wait}.book-kicker.muted{color:var(--muted)}.read-flag{background:var(--accent);color:var(--accent-ink);border-radius:999px;align-items:center;padding:8px 14px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:14px;display:inline-flex}.book.private{background:var(--blush)}.book.has-cover{grid-template-columns:96px 1fr;align-items:start;gap:16px;display:grid}.book.pinned.has-cover{grid-template-columns:132px 1fr}.cover{aspect-ratio:3/4;object-fit:cover;object-position:center;background:#efe8df;border-radius:10px;width:100%;display:block}.book-body{min-width:0}.book.pinned{box-shadow:var(--shadow);padding:28px 52px 28px 28px}.book-kicker{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-soft);margin:0 0 8px;font-size:12px;font-weight:600}.book h2,.book h3{letter-spacing:-.03em;margin:0 0 6px;font-weight:500}.book h2{font-size:32px}.author,.note{color:var(--muted);margin:0}.note{margin-top:10px}.book-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.book.has-cover .book-actions,.book.has-cover .book-flash{grid-column:1/-1}.book-actions .btn,.book-actions .read-flag{white-space:nowrap;flex:none}.book-flash{margin:10px 0 0}.empty,.loading,.crash{color:var(--muted);padding:48px 0}.field{gap:6px;margin-bottom:14px;display:grid}.field label{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.field input,.field textarea{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:12px 14px}.pill-field{border:1px solid var(--line);background:var(--card);cursor:text;border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px;min-height:48px;padding:8px 10px;display:flex}.pill-field:focus-within{border-color:var(--ink)}.mention-pill{background:var(--blush);color:var(--ink);border:1px solid #f0d7b8;border-radius:999px;align-items:center;gap:2px;padding:4px 6px 4px 10px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:14px;line-height:1.2;display:inline-flex}.mention-pill button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:16px;line-height:1}.mention-pill button:hover{color:var(--ink)}.pill-input-wrap{flex:8rem;min-width:7rem;position:relative}.pill-placeholder{color:var(--muted);pointer-events:none;white-space:nowrap;align-items:center;padding:6px 4px;display:flex;position:absolute;inset:0;overflow:hidden}.pill-field input{border-radius:0;outline:none;width:100%;min-width:0;background:0 0!important;border:0!important;padding:6px 4px!important}.suggest{position:relative}.suggest-list{z-index:8;background:var(--card);border:1px solid var(--line);max-height:260px;box-shadow:var(--shadow);border-radius:12px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% - 6px);left:0;right:0;overflow:auto}.suggest-list li{cursor:pointer;border-radius:8px;padding:10px 12px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:15px}.suggest-list li strong{font-weight:600;display:block}.suggest-list li span{color:var(--muted);font-size:13px;display:block}.suggest-kind{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-left:8px;font-size:11px;font-style:normal;font-weight:600}.suggest-list li.active,.suggest-list li:hover{background:var(--blush)}.suggest-empty{color:var(--muted);cursor:default}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-top:28px;padding:20px}.danger-panel{border-color:#f0c9c6}.fold-panel{padding:8px 12px}.fold-toggle{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:12px 8px;display:flex}.fold-toggle:hover,.fold-toggle:focus-visible{background:var(--blush)}.fold-heading{letter-spacing:-.03em;font-size:22px;font-weight:500}.fold-affordance{color:var(--muted);flex-shrink:0;align-items:center;gap:10px;display:inline-flex}.fold-hint{font-family:ui-sans-serif,system-ui,sans-serif;font-size:14px}.fold-chevron{border:1px solid var(--line);width:32px;height:32px;color:var(--ink);background:#fffaf4eb;border-radius:999px;place-items:center;transition:transform .16s;display:grid}.fold-panel.open .fold-chevron{transform:rotate(180deg)}.danger-panel .fold-chevron{color:var(--danger);border-color:#f0c9c6}.fold-body{padding:4px 8px 12px}.fold-body .hint{margin-top:0}.overlay{z-index:20;background:#1c19176b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--card);width:min(440px,100%);box-shadow:var(--shadow);border-radius:20px;padding:28px;position:relative}.modal h2{letter-spacing:-.03em;margin:0 0 8px;font-size:28px}.modal-close{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:12px;right:12px}.modal-close:hover,.modal-close:focus-visible{color:var(--ink);background:var(--blush)}.modal-close:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.tag-modal,.club-modal{padding-bottom:0;overflow:hidden}.tag-modal h2,.club-modal h2{padding-right:36px}:is(.tag-modal .field,.club-modal .field:has(+.modal-actions),.club-modal .field:has(+.error)){margin-bottom:0;padding-bottom:24px}.modal-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.tag-modal .modal-actions,.club-modal .modal-actions{text-align:center;justify-content:center;align-items:center;margin:0 -28px;padding:18px 28px 20px;position:relative}.tag-modal .modal-actions:before,.club-modal .modal-actions:before{content:"";background-image:repeating-linear-gradient(90deg, var(--line) 0 7px, transparent 7px 13px);height:2px;position:absolute;top:0;left:16px;right:16px}.text-action{appearance:none;width:100%;box-shadow:none;color:var(--accent-soft);cursor:pointer;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;text-align:center;text-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;font-size:13px;font-weight:600;display:block}.text-action:hover,.text-action:focus-visible{color:var(--accent-soft);text-shadow:none;background:0 0}.text-action:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}.text-action:disabled{opacity:.5;cursor:not-allowed}.username{color:var(--muted);margin:0 0 28px;font-family:ui-sans-serif,system-ui,sans-serif}.census-slot{flex-shrink:0;margin-top:auto;padding-top:32px}.census{text-align:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:none;margin:0;padding:28px 24px 26px;position:relative;overflow:hidden}.census-kicker{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-soft);margin:0 0 10px;font-size:12px;font-weight:600}.census-count{font-family:var(--font-display);letter-spacing:-.05em;font-variant-numeric:tabular-nums;margin:0;font-size:clamp(192px,40vw,288px);font-weight:400;line-height:1;display:inline-block;position:relative}.census-count.bounce{animation:.42s ease-out census-bounce}.census-count.pending{min-width:3ch}.census-shine{pointer-events:none;background:linear-gradient(100deg,#0000 35%,#ffffffb3 50%,#0000 65%);animation:2.8s ease-in-out .4s infinite census-shine;position:absolute;inset:-8px -20%;transform:translate(-120%)skew(-18deg)}.census-copy{color:var(--muted);margin:14px 0 0;font-size:15px}.census-spark{background:var(--accent);opacity:0;width:10px;height:10px;animation:2.4s ease-in-out infinite census-spark;position:absolute;transform:rotate(45deg)}.census-spark.a{top:16px;left:22px}.census-spark.b{animation-delay:.8s;top:28px;right:28px}.census-spark.c{animation-delay:1.5s;bottom:18px;left:46%}.census-pop{color:var(--accent);font-family:ui-sans-serif,system-ui,sans-serif;font-size:16px;font-weight:600;animation:.9s ease-out forwards census-pop;position:absolute;top:-10px;right:-8px}@keyframes census-shine{0%{transform:translate(-130%)skew(-18deg)}55%,to{transform:translate(160%)skew(-18deg)}}@keyframes census-spark{0%,to{opacity:0;transform:rotate(45deg)scale(.3)}45%{opacity:.9;transform:rotate(45deg)scale(1)}}@keyframes census-bounce{0%{transform:scale(1)}35%{transform:scale(1.08)}70%{transform:scale(.97)}to{transform:scale(1)}}@keyframes census-pop{0%{opacity:0;transform:translateY(6px)scale(.7)}25%{opacity:1;transform:translateY(-8px)scale(1.12)}to{opacity:0;transform:translateY(-26px)scale(.9)}}.site-footer{border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;justify-content:center;align-items:center;margin-top:12px;padding:28px 0;font-size:12px;font-weight:600;display:flex}.site-footer nav{flex-wrap:wrap;justify-content:center;gap:8px 28px;display:flex}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover,.site-footer a.router-link-active{color:var(--ink)}.hp{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.page button.link{font:inherit;color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;margin-left:8px;padding:0;text-decoration:underline}.legal h2{letter-spacing:-.03em;margin:32px 0 10px;font-size:22px;font-weight:500}.legal p{margin:0 0 12px}.legal ul{margin:0 0 16px;padding-left:1.2em}.legal li{margin:0 0 8px}.legal a{text-underline-offset:3px;text-decoration:underline}@media (width<=640px){.hero{padding:36px 0 8px}.profile-head{flex-wrap:wrap}.claim-field{flex:100%}.claim-guest{grid-template-columns:1fr}.claim .btn{width:100%}.home-add{flex-wrap:nowrap}.home-add .claim-field{flex:auto}.home-add .btn{flex:none;width:auto;padding:12px 18px}.timeline-toolbar{flex-wrap:wrap}.timeline-track.is-horizontal .timeline-node{flex-basis:200px;height:300px}.shelf-track{grid-auto-columns:calc(33.3333% - 5.33333px)}.shelf.peek .shelf-track{grid-auto-columns:calc(33.3333% - 9.33333px)}.banner,.modal-actions{flex-direction:column;align-items:stretch}.tag-modal .modal-actions,.club-modal .modal-actions{text-align:center;flex-direction:row;justify-content:center;align-items:center}.site-header{padding-top:16px}.book.has-cover,.book.pinned.has-cover{grid-template-columns:96px 1fr}.book.has-cover>.nsfw-cover,.book.pinned.has-cover>.nsfw-cover{width:96px}.book-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.book-actions .btn,.book-actions .read-flag{text-align:center;white-space:nowrap;justify-content:center;width:100%}.census{flex-direction:column;justify-content:center;align-items:center;padding:36px 16px 32px;display:flex}.census-kicker{margin-bottom:14px}.census-count{font-size:clamp(192px,52vw,288px)}.census-copy{max-width:16em;margin-top:18px}.census-spark.a{top:22px;left:22px}.census-spark.b{top:28px;right:24px}.census-spark.c{bottom:24px}}[data-sonner-toaster]{--border-radius:12px;--normal-bg:var(--card);--normal-border:var(--line);--normal-text:var(--ink);font-family:ui-sans-serif,system-ui,sans-serif}html[dir=ltr],[data-sonner-toaster][dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0}html[dir=rtl],[data-sonner-toaster][dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto}[data-sonner-toaster]{width:var(--width);--gray1:#fcfcfc;--gray2:#f8f8f8;--gray3:#f3f3f3;--gray4:#ededed;--gray5:#e8e8e8;--gray6:#e2e2e2;--gray7:#dbdbdb;--gray8:#c7c7c7;--gray9:#8f8f8f;--gray10:#858585;--gray11:#6f6f6f;--gray12:#171717;--border-radius:8px;box-sizing:border-box;z-index:999999999;outline:none;margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;list-style:none;transition:transform .4s;position:fixed}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translate(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);opacity:0;transform:var(--y);touch-action:none;box-sizing:border-box;overflow-wrap:anywhere;outline:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;position:absolute}[data-sonner-toast][data-styled=true]{background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);width:var(--width);align-items:center;gap:6px;padding:16px;font-size:13px;display:flex;box-shadow:0 4px 12px #0000001a}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-y-position=top]{--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap));top:0}[data-sonner-toast][data-y-position=bottom]{--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap));bottom:0}[data-sonner-toast][data-styled=true] [data-description]{color:#3f3f3f;font-weight:400;line-height:1.4}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{color:inherit;font-weight:500;line-height:1.5}[data-sonner-toast][data-styled=true] [data-icon]{width:16px;height:16px;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end);flex-shrink:0;justify-content:flex-start;align-items:center;display:flex;position:relative}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform-origin:50%;animation:.3s forwards sonner-fade-in;transform:scale(.8)}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{flex-direction:column;gap:2px;display:flex}[data-sonner-toast][data-styled=true] [data-button]{height:24px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);cursor:pointer;border:none;border-radius:4px;outline:none;flex-shrink:0;align-items:center;padding-left:8px;padding-right:8px;font-size:12px;font-weight:500;transition:opacity .4s,box-shadow .2s;display:flex}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px #0006}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:#00000014}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:#ffffff4d}[data-sonner-toaster] [data-close-button-position=top-left]{--toast-close-button-left:0;--toast-close-button-right:unset;--toast-close-button-top:0;--toast-close-button-bottom:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster] [data-close-button-position=top-right]{--toast-close-button-left:unset;--toast-close-button-right:0;--toast-close-button-top:0;--toast-close-button-bottom:unset;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster] [data-close-button-position=bottom-left]{--toast-close-button-left:0;--toast-close-button-right:unset;--toast-close-button-top:unset;--toast-close-button-bottom:0;--toast-close-button-transform:translate(-35%, 35%)}[data-sonner-toaster] [data-close-button-position=bottom-right]{--toast-close-button-left:unset;--toast-close-button-right:0;--toast-close-button-top:unset;--toast-close-button-bottom:0;--toast-close-button-transform:translate(35%, 35%)}[data-sonner-toast][data-styled=true] [data-close-button]{left:var(--toast-close-button-left);right:var(--toast-close-button-right);top:var(--toast-close-button-top);bottom:var(--toast-close-button-bottom);width:20px;height:20px;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);cursor:pointer;z-index:1;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .1s,background .2s,border-color .2s;display:flex;position:absolute}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]:before{content:"";z-index:-1;height:100%;position:absolute;left:-100%;right:-100%}[data-sonner-toast][data-y-position=top][data-swiping=true]:before{bottom:50%;transform:scaleY(3)translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]:before{top:50%;transform:scaleY(3)translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]:before{content:"";position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]:after{content:"";height:calc(var(--gap) + 1px);width:100%;position:absolute;bottom:100%;left:0}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * .05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--toasts-before) * .05 + 1));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]:before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0px)) translateX(var(--swipe-amount-x,0px));transition:none}[data-sonner-toast][data-swiped=true]{-webkit-user-select:none;user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (width<=600px){[data-sonner-toaster]{right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%;position:fixed}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{width:calc(100% - var(--mobile-offset-left) * 2);left:0;right:0}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:calc(var(--mobile-offset-bottom) + max(env(safe-area-inset-bottom), 0px))}[data-sonner-toaster][data-y-position=top]{top:calc(var(--mobile-offset-top) + max(env(safe-area-inset-top), 0px))}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:#ecfdf3;--success-border:#bffcd9;--success-text:#008a2e;--info-bg:#f0f8ff;--info-border:#dde7fd;--info-text:#0973dc;--warning-bg:#fffcf0;--warning-border:#fbeeb1;--warning-text:#dc7609;--error-bg:#fff0f0;--error-border:#ffe0e1;--error-text:#e60000}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:#333;--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:#1f1f1f;--normal-border:#333;--normal-border-hover:#404040;--normal-text:var(--gray1);--success-bg:#001f0f;--success-border:#003d1c;--success-text:#59f3a6;--info-bg:#000d1f;--info-border:#19233e;--info-text:#5896f3;--warning-bg:#1d1f00;--warning-border:#2e2e00;--warning-text:#f3cf58;--error-bg:#2d0607;--error-border:#4d0408;--error-text:#ff9ea1}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);z-index:10;position:absolute;inset:0}.sonner-loading-wrapper[data-visible=false]{transform-origin:50%;animation:.2s forwards sonner-fade-out}.sonner-spinner{height:var(--size);width:var(--size);position:relative;top:50%;left:50%}.sonner-loading-bar{background:var(--gray11);border-radius:6px;width:24%;height:8%;animation:1.2s linear infinite sonner-spin;position:absolute;top:-3.9%;left:-10%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg)translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg)translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg)translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg)translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg)translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg)translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg)translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg)translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg)translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg)translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg)translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg)translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{transform-origin:50%;transition:opacity .2s,transform .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8)translate(-50%,-50%)}
