/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--cream:#f7f1e8;--paper:#fffdf9;--rose:#b77e91;--rose-dark:#8c5368;--rose-soft:#ead7de;--terracotta:#c98974;--sand:#d8c4aa;--ink:#312c2c;--muted:#867a76;--line:#e8ddd5;--wood:#a67a56;--wood-dark:#815d43}*{box-sizing:border-box}html{background:var(--cream)}body{background:var(--cream);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{color:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{z-index:30;background:#f1e6dd;border-right:1px solid #e3d5cb;flex-direction:column;width:244px;padding:27px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 10px 27px;display:flex}.brand-mark{background:var(--rose-dark);color:#fff8f4;border-radius:12px;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 8px 20px #8c536833}.brand strong{letter-spacing:-.3px;font-family:Georgia,serif;font-size:20px;display:block}.brand span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:1px;font-size:11px;display:block}.close-menu{display:none}.sidebar nav{flex:1}.sidebar nav p{color:#a18f86;letter-spacing:.16em;margin:14px 12px 8px;font-size:9px;font-weight:800}.sidebar nav button{color:#6f625e;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;width:100%;min-height:43px;margin:2px 0;padding:0 12px;font-size:13px;transition:all .18s;display:flex}.sidebar nav button:hover{color:var(--ink);background:#eadbd1}.sidebar nav button.active{color:var(--rose-dark);box-shadow:inset 3px 0 var(--rose), 0 3px 12px #7d55400a;background:#fff9f5;font-weight:700}.sidebar nav button em{color:#714357;background:#dfc0ca;border-radius:999px;margin-left:auto;padding:2px 7px;font-size:10px;font-style:normal}.sidebar-quote{color:#9a6a77;background:#f8f0ea;border:1px solid #decfc4;border-radius:13px;margin:10px 4px 18px;padding:13px}.sidebar-quote p{color:#796762;margin:7px 0 0;font-family:Georgia,serif;font-size:12px;font-style:italic;line-height:1.45}.profile{border-top:1px solid #ddcec3;align-items:center;gap:10px;padding:17px 6px 0;display:flex}.avatar{color:#fff;background:var(--terracotta);border-radius:50%;place-items:center;width:33px;height:33px;font-family:Georgia,serif;font-weight:700;display:grid}.profile div:nth-child(2){flex:1;min-width:0}.profile strong,.profile span{display:block}.profile strong{font-size:12px}.profile span{color:var(--muted);margin-top:2px;font-size:10px}.profile form button{color:#8a7470;cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;width:31px;height:31px;display:grid}.profile form button:hover{color:var(--rose-dark);background:#eadbd1}.main-content{width:calc(100% - 244px);min-width:0;margin-left:244px}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;background:#fffdf9db;align-items:center;gap:14px;height:72px;padding:0 34px;display:flex;position:sticky;top:0}.global-search{border:1px solid var(--line);color:#9d908a;background:#faf6f1;border-radius:12px;align-items:center;gap:9px;width:min(390px,40vw);height:39px;padding:0 13px;display:flex}.global-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:12px}.global-search input::placeholder{color:#a49791}.add-button{background:var(--rose-dark);color:#fff;cursor:pointer;border:0;border-radius:11px;align-items:center;gap:8px;height:39px;margin-left:auto;padding:0 16px;font-size:12px;font-weight:700;display:flex;box-shadow:0 7px 18px #8c53682b}.add-button:hover{background:#774257;transform:translateY(-1px)}.user-button,.menu-button{color:#786b67;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.menu-button,.mobile-brand{display:none}.page-wrap{max-width:1450px;margin:0 auto;padding:35px 38px 60px}.welcome-row{justify-content:space-between;align-items:end;gap:24px;margin-bottom:27px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:6px;font-weight:800;display:flex;color:#9a777f!important;font-size:10px!important}.welcome-row h1{letter-spacing:-.035em;margin:8px 0 7px;font-family:Georgia,serif;font-size:clamp(30px,3vw,42px);font-weight:500}.welcome-row h1 span{color:var(--rose);font-size:.7em}.welcome-row p{color:var(--muted);margin:0;font-size:13px}.year-button,.period-button{background:var(--paper);border:1px solid var(--line);color:#6d605c;cursor:pointer;border-radius:10px;align-items:center;gap:10px;height:38px;padding:0 13px;font-size:12px;display:flex}.dashboard-grid{grid-template-columns:minmax(370px,.9fr) 1.6fr;gap:17px;margin-bottom:32px;display:grid}.goal-card{color:#fff;background:linear-gradient(135deg,#8f596b,#b57b89);border-radius:18px;justify-content:space-between;align-items:center;min-height:190px;padding:25px 27px;display:flex;position:relative;overflow:hidden;box-shadow:0 13px 30px #79536121}.goal-card:after{content:"";border:1px solid #ffffff14;border-radius:50%;width:180px;height:180px;position:absolute;top:-75px;right:-70px}.goal-copy{z-index:1;min-width:0}.card-kicker{letter-spacing:.14em;color:#a0707c;align-items:center;gap:6px;font-size:9px;font-weight:800;display:flex}.goal-card .card-kicker{color:#f6dde5}.goal-card h2{margin:17px 0 6px;font-size:34px}.goal-card h2 span{opacity:.8;font-size:14px;font-weight:500}.goal-card p{color:#f4dfe5;margin:0;font-size:11px}.goal-meta{align-items:center;gap:9px;margin-top:21px;display:flex}.goal-meta span{background:#ffffff18;border:1px solid #ffffff21;border-radius:999px;padding:5px 8px;font-size:9px}.goal-meta button{color:#fff;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;font-size:10px;text-decoration:underline}.goal-ring{z-index:1;flex:none;width:112px;height:112px;position:relative}.goal-ring svg{width:100%;transform:rotate(-90deg)}.goal-ring circle{fill:none;stroke-width:8px}.ring-track{stroke:#ffffff2c}.ring-value{stroke:#fff8f2;stroke-linecap:round;transition:stroke-dashoffset .7s}.goal-ring strong{place-items:center;font-family:Georgia,serif;font-size:22px;display:grid;position:absolute;inset:0}.stats-grid{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.stat-card{border:1px solid var(--line);background:var(--paper);width:100%;color:inherit;font:inherit;text-align:left;border-radius:16px;grid-template-columns:auto 1fr;align-items:center;column-gap:13px;padding:18px;display:grid;box-shadow:0 8px 20px #5e48320a}.stat-card-link{cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}.stat-card-link:hover{border-color:#d3b8c0;transform:translateY(-2px);box-shadow:0 12px 25px #5e483216}.stat-card-link:focus-visible{outline-offset:2px;outline:3px solid #b77e9130}.stat-icon{color:#7a5660;border-radius:11px;place-items:center;width:37px;height:37px;display:grid}.stat-card strong{font-family:Georgia,serif;font-size:23px;font-weight:600;display:block}.stat-card span{color:var(--muted);margin-top:2px;font-size:10px;display:block}.stat-card small{color:#9e767c;grid-column:2;margin-top:7px;font-size:9px}.content-grid{grid-template-columns:1.55fr 1fr;align-items:stretch;gap:17px;display:grid}.left-column,.chart-card,.library-preview{border:1px solid var(--line);background:var(--paper);border-radius:17px;padding:22px;box-shadow:0 8px 24px #5e483208}.section-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px;display:flex}.section-heading h2{margin:4px 0 0;font-family:Georgia,serif;font-size:20px;font-weight:500}.section-heading>button{color:var(--rose-dark);cursor:pointer;background:0 0;border:0;align-items:center;font-size:10px;font-weight:700;display:flex}.current-books{grid-template-columns:1fr 1fr;gap:13px;display:grid}.reading-card{background:#fdf9f5;border:1px solid #eee4dc;border-radius:14px;gap:14px;min-width:0;padding:14px;display:flex}.mini-cover{text-align:center;cursor:pointer;border:0;border-radius:5px 9px 9px 5px;flex-direction:column;flex:none;justify-content:center;align-items:center;width:86px;height:128px;padding:8px;display:flex;position:relative;overflow:hidden;box-shadow:5px 8px 14px #47302527}.mini-cover:before{content:"";border-left:1px solid #ffffff30;position:absolute;top:0;bottom:0;left:6px}.mini-cover span{text-transform:uppercase;font-family:Georgia,serif;font-size:11px;line-height:1.25}.mini-cover small{opacity:.8;margin-top:11px;font-size:7px}.reading-info{flex:1;min-width:0}.genre-pill{color:#815565;background:#eddee2;border-radius:999px;padding:4px 8px;font-size:8px;font-weight:700;display:inline-flex}.reading-info h3{white-space:nowrap;text-overflow:ellipsis;margin:8px 0 3px;font-family:Georgia,serif;font-size:15px;overflow:hidden}.reading-info>p{color:var(--muted);margin:0 0 15px;font-size:10px}.progress-label{color:var(--muted);justify-content:space-between;font-size:8px;display:flex}.progress-label strong{color:var(--rose-dark)}.progress-bar{background:#eadfd9;border-radius:999px;height:5px;margin:6px 0 12px;overflow:hidden}.progress-bar i{border-radius:inherit;background:var(--rose);height:100%;display:block}.progress-button{color:#7d5360;cursor:pointer;background:0 0;border:0;padding:0;font-size:8px;font-weight:700}.chart-card{min-width:0}.chart-card .section-heading{margin-bottom:6px}.chart-total strong{font-family:Georgia,serif;font-size:26px}.chart-total span{color:var(--muted);margin-left:7px;font-size:9px}.period-button{height:31px;font-size:9px}.chart-wrap{height:170px;margin-top:8px}.library-preview{margin-top:17px;padding-bottom:0;overflow:hidden}.shelf-stack{margin:0 -22px}.cozy-shelf{position:relative}.shelf-stack>.cozy-shelf+.cozy-shelf{margin-top:18px}.shelf-wall{background-color:#f5ece4;background-image:linear-gradient(90deg,#ede1d6 1px,#0000 1px),linear-gradient(#efe4da 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:72px 72px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;align-items:flex-end;min-height:245px;padding:27px 0 0;display:flex;position:relative}.book-row{align-items:flex-end;gap:8px;width:100%;min-height:206px;padding:0 18px;display:flex;overflow:visible}.book-spine{padding:calc(9px * var(--spine-scale,1)) calc(5px * var(--spine-scale,1)) calc(7px * var(--spine-scale,1));cursor:pointer;transform-origin:bottom;border:0;border-radius:4px 5px 2px 2px;flex-direction:column;flex:none;align-items:center;transition:transform .2s,filter .2s;display:flex;box-shadow:inset 4px 0 #ffffff12,4px 5px 8px #593b2530}.book-spine:nth-child(3n){transform:rotate(-1.4deg)}.book-spine:hover{filter:brightness(1.08);z-index:2;transform:translateY(-9px)rotate(0)}.spine-ornament{font-size:calc(9px * var(--spine-scale,1))}.spine-title{writing-mode:vertical-rl;text-transform:uppercase;font-family:Georgia,serif;font-size:calc(9px * var(--spine-scale,1));letter-spacing:.04em;max-height:calc(130px * var(--spine-scale,1));margin:auto;overflow:hidden;transform:rotate(180deg)}.spine-author{text-transform:uppercase;font-size:calc(6px * var(--spine-scale,1));letter-spacing:.08em;opacity:.8}.book-hover-preview{aspect-ratio:2/3;pointer-events:none;z-index:100;background-position:50%;background-size:cover;border:3px solid #fffaf5;border-radius:7px;width:92px;position:fixed;transform:translate(-50%,calc(-100% - 14px));box-shadow:0 14px 32px #38261e45}.wood-shelf{background:linear-gradient(#b18a68,#8f674b);border-radius:2px 2px 8px 8px;height:20px;box-shadow:0 8px 16px #5137243b,inset 0 2px #d0ae8f}.empty-search{color:var(--muted);align-self:center;margin:auto;font-size:12px}.backdrop{display:none}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:80;background:#2d222280;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.book-modal{background:#fffaf5;border-radius:21px;grid-template-columns:180px 1fr;gap:30px;width:min(590px,100%);padding:28px;display:grid;position:relative;box-shadow:0 30px 90px #2f1d1d55}.modal-close{cursor:pointer;background:#f0e4dd;border:0;border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:15px;right:15px}.modal-cover{text-align:center;border-radius:7px 13px 13px 7px;flex-direction:column;justify-content:center;align-items:center;height:270px;padding:20px;display:flex;box-shadow:8px 12px 25px #3e292933}.modal-cover span{text-transform:uppercase;font:20px Georgia,serif}.modal-cover small{margin-top:18px}.modal-copy{align-self:center}.modal-copy h2{margin:12px 0 5px;font:29px Georgia,serif}.modal-author{color:var(--muted);font-size:13px}.stars{color:#b57b52;gap:3px;margin:15px 0;display:flex}.modal-copy dl{margin:20px 0}.modal-copy dl div{border-bottom:1px solid var(--line);justify-content:space-between;padding:8px 0;font-size:11px;display:flex}.modal-copy dt{color:var(--muted)}.modal-copy dd{margin:0;font-weight:700}.primary-action{background:var(--rose-dark);color:#fff;cursor:pointer;border:0;border-radius:10px;width:100%;height:39px;font-size:11px;font-weight:700}.notice{z-index:120;color:#7f564d;background:#f8e8df;border:1px solid #ecd3c7;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;width:min(420px,100vw - 36px);padding:12px 13px;font-size:11px;display:flex;position:fixed;top:18px;right:18px;box-shadow:0 12px 35px #3e29292b}.notice.success{color:#4c6b54;background:#e6efe8;border-color:#ccdccc}.notice button{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.loading-state{color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:10px 0 20px;font-size:12px;display:flex}.loading-state span{border:2px solid #decbd1;border-top-color:var(--rose-dark);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.workspace-card{border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:25px;box-shadow:0 9px 28px #5e48320a}.workspace-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.workspace-toolbar h2{margin:6px 0 5px;font:28px Georgia,serif}.workspace-toolbar p{color:var(--muted);margin:0;font-size:11px}.workspace-toolbar>svg{color:var(--rose)}.secondary-action{color:var(--rose-dark);cursor:pointer;background:#fff8f5;border:1px solid #dbc8ce;border-radius:10px;align-items:center;gap:7px;padding:10px 14px;font-size:11px;font-weight:700;display:flex}.filter-note{color:#7d6064;background:#f5e9e5;border-radius:9px;padding:9px 12px;font-size:10px}.view-switch,.segmented{background:#f3ebe6;border-radius:11px;gap:2px;padding:4px;display:flex}.view-switch button,.segmented button{color:#8a7c76;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:36px;height:32px;padding:0 11px;font-size:10px;display:flex}.view-switch button.active,.segmented button.active{color:var(--rose-dark);background:#fffdf9;box-shadow:0 2px 9px #49332613}.full-shelf{margin:0 -25px -25px;overflow:hidden}.full-shelf .shelf-stack{margin:0}.full-shelf .shelf-wall{min-height:310px}.full-shelf .book-row{min-height:270px;padding-inline:18px}.full-shelf .book-spine{height:calc(var(--spine-height,180px) * 1.05)}.book-spine.is-dragging{opacity:.7;filter:brightness(1.13);z-index:10;box-shadow:0 18px 30px #51372455}.book-spine.is-photo{background-color:#e8ddd5;padding:0;box-shadow:4px 5px 8px #593b2530}.book-gallery{grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:22px;display:grid}.gallery-book{text-align:left;cursor:pointer;background:0 0;border:0;min-width:0;padding:0}.gallery-cover{aspect-ratio:2/3;text-align:center;cursor:pointer;color:#fff;border:0;border-radius:7px 12px 12px 7px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:auto;padding:14px;display:flex;box-shadow:6px 10px 20px #48302324}.gallery-cover span{font:15px Georgia,serif}.gallery-cover small{margin-top:12px;font-size:8px}.gallery-book>strong,.gallery-book>span,.gallery-book>em{display:block}.gallery-book>strong{white-space:nowrap;text-overflow:ellipsis;margin-top:11px;font:14px Georgia,serif;overflow:hidden}.gallery-book>span{color:var(--muted);margin-top:3px;font-size:9px}.gallery-book>em{color:var(--rose-dark);margin-top:5px;font-size:8px;font-style:normal;font-weight:700}.book-table-wrap{overflow-x:auto}.book-table{border-collapse:collapse;width:100%;min-width:620px}.book-table th{text-align:left;color:#9b8b84;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--line);padding:11px 12px;font-size:8px}.book-table td{color:#675b57;cursor:pointer;border-bottom:1px solid #f0e7e1;padding:13px 12px;font-size:10px}.book-table tr:hover td{background:#fdf8f4}.book-table td:first-child strong,.book-table td:first-child span{display:block}.book-table td:first-child strong{color:var(--ink);font:13px Georgia,serif}.book-table td:first-child span{color:var(--muted);margin-top:3px;font-size:9px}.status{border-radius:999px;padding:4px 8px;font-size:8px;font-weight:700;display:inline-flex}.status-reading{color:#587164;background:#dfe9e3}.status-finished{color:#85596a;background:#eadbe1}.status-pal{color:#7d6a4f;background:#eee5d6}.status-abandoned{color:#716866;background:#e7e3e2}.empty-state{text-align:center;color:#a37b87;padding:35px 20px}.empty-state h3{color:var(--ink);margin:10px 0 5px;font:20px Georgia,serif}.empty-state p{color:var(--muted);max-width:400px;margin:0 auto 16px;font-size:11px;line-height:1.6}.empty-state button{background:var(--rose-dark);color:#fff;cursor:pointer;border:0;border-radius:9px;align-items:center;gap:6px;padding:10px 14px;font-size:10px;display:inline-flex}.collection-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.pal-summary,.analytics-cards{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;display:grid}.analytics-cards{grid-template-columns:repeat(4,1fr)}.analytics-grid{grid-template-columns:1.4fr 1fr;gap:16px;display:grid}.chart-panel{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:22px}.chart-panel h2{margin:0 0 15px;font:19px Georgia,serif}.large-chart{height:280px}.chart-panel-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.chart-panel-heading h2{margin-bottom:4px}.chart-panel-heading p{color:var(--muted);margin:0;font-size:9px}.chart-panel-heading>span{color:var(--rose-dark);background:#f3e6e9;border-radius:999px;flex:none;padding:6px 9px;font-size:9px;font-weight:750}.month-picker{grid-template-columns:repeat(auto-fit,minmax(54px,1fr));gap:6px;margin-top:5px;display:grid}.month-picker button{color:#786c66;cursor:pointer;background:#fdf9f5;border:1px solid #e6d9d2;border-radius:9px;min-width:0;padding:7px 4px;font:10px Georgia,serif;transition:border-color .16s,background .16s,transform .16s}.month-picker button:hover{border-color:#cbaab4;transform:translateY(-1px)}.month-picker button.active{border-color:var(--rose);color:var(--rose-dark);background:#f2e3e8;box-shadow:0 0 0 2px #b77e9114}.month-picker small{color:var(--muted);margin-top:3px;font:7px Arial,sans-serif;display:block}.monthly-details{border:1px solid var(--line);background:var(--paper);border-radius:18px;margin-top:17px;padding:25px;box-shadow:0 9px 28px #5e48320a}.monthly-details-heading h2{margin:6px 0 5px;font:28px Georgia,serif}.monthly-details-heading p{max-width:720px;color:var(--muted);margin:0;font-size:10px;line-height:1.55}.monthly-facts{grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0;display:grid}.monthly-facts article{background:linear-gradient(145deg,#fdf9f5,#faf2ee);border:1px solid #eadfd8;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;column-gap:9px;min-width:0;padding:15px;display:grid}.monthly-facts svg{color:var(--rose-dark);grid-row:1/3}.monthly-facts strong{min-width:0;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font:20px Georgia,serif;overflow:hidden}.monthly-facts span{color:var(--muted);font-size:9px}.monthly-facts small{color:#9e767c;grid-column:1/-1;margin-top:9px;font-size:8px;line-height:1.4}.monthly-content-grid{grid-template-columns:minmax(240px,.72fr) minmax(0,1.8fr);gap:16px;display:grid}.monthly-genre-panel,.monthly-books-panel{background:#fdfaf7;border:1px solid #eadfd8;border-radius:15px;min-width:0;padding:18px}.monthly-content-grid h3{margin:0;font:18px Georgia,serif}.monthly-genre-chart{height:190px}.genre-legend{gap:7px;display:grid}.genre-legend>span{color:#746762;grid-template-columns:9px 1fr auto;align-items:center;gap:7px;font-size:9px;display:grid}.genre-legend i{border-radius:50%;width:8px;height:8px}.genre-legend strong{color:var(--ink);font-size:9px}.monthly-books-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px;display:flex}.monthly-books-heading>span{color:var(--rose-dark);background:#f3e6e9;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:750}.monthly-book-gallery{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:17px}.monthly-gallery-book .gallery-cover{width:100%}.monthly-book-meta{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.monthly-book-meta em,.monthly-book-meta span{color:#7c6065;background:#f1e6e1;border-radius:999px;padding:4px 6px;font-size:7px;font-style:normal;line-height:1}.monthly-book-meta span{color:#587164;background:#e8ede8}.search-books{max-width:850px;margin:0 auto}.search-books>label{color:#9d7481;background:#fbf7f3;border:1px solid #d9cbd0;border-radius:13px;align-items:center;gap:11px;height:52px;padding:0 16px;display:flex}.search-books>label input{color:var(--ink);background:0 0;border:0;outline:0;flex:1}.search-books>p{text-align:center;color:var(--muted);font-size:10px}.search-books>.api-search-warning{color:#994f47;background:#fff0ed;border:1px solid #e7c7c1;border-radius:9px;margin:12px 0 0;padding:9px 11px;font-size:10px;line-height:1.45}.api-result{border-bottom:1px solid var(--line);grid-template-columns:54px 1fr auto;align-items:center;gap:15px;padding:16px 3px;display:grid}.api-cover{color:#a78a91;background:#eee3dc;border-radius:4px;place-items:center;width:54px;height:78px;display:grid;overflow:hidden}.api-cover img{object-fit:cover;width:100%;height:100%}.api-result div:nth-child(2)>span{text-transform:uppercase;color:var(--rose-dark);letter-spacing:.08em;font-size:7px;font-weight:800}.api-result h3{margin:4px 0 3px;font:16px Georgia,serif}.api-result p,.api-result small{color:var(--muted);margin:0;font-size:9px;display:block}.api-result small{margin-top:5px}.api-result>button{color:var(--rose-dark);cursor:pointer;background:#fffaf7;border:1px solid #d9c4cb;border-radius:9px;padding:9px 12px;font-size:9px;font-weight:700}.api-amazon-link{color:var(--rose-dark);margin-top:5px;font-size:9px;text-decoration:underline;display:inline-block}.search-books>.api-retry-status{color:#55705a;background:#edf4ee;border:1px solid #d4dfd6;border-radius:9px;margin:12px 0 0;padding:9px 11px;line-height:1.45}.book-form{max-width:850px;margin:0 auto}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.book-form label,.modal-form label{color:#675a56;flex-direction:column;gap:6px;font-size:10px;font-weight:700;display:flex}.book-form input,.book-form select,.book-form textarea,.modal-form input,.modal-form textarea,.modal-actions select,.goal-settings input{width:100%;color:var(--ink);background:#fdfaf7;border:1px solid #dfd2ca;border-radius:9px;outline:0;padding:10px 11px;font-size:11px}.book-form input:focus,.book-form select:focus,.book-form textarea:focus,.modal-form input:focus,.modal-form textarea:focus{border-color:var(--rose);box-shadow:0 0 0 3px #b77e9118}.book-form label em{color:#a64747;font-size:8px;font-style:normal}.full-field{margin-top:16px}.upload-zone{cursor:pointer;background:#fbf5f3;border:1px dashed #cdb9bf;border-radius:12px;justify-content:center;align-items:center;min-height:84px;margin-top:16px;color:var(--rose-dark)!important}.upload-zone input{display:none}.form-submit{height:44px;margin-top:17px}.primary-action:disabled{opacity:.6;cursor:wait}.theme-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.theme-option{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fdf9f5;border-radius:13px;grid-template-columns:1fr auto;padding:14px;display:grid;position:relative}.theme-option.active{border-color:var(--rose);box-shadow:0 0 0 2px #b77e9118}.theme-option>span{border-radius:8px;grid-column:1/-1;height:45px;margin-bottom:11px;display:flex;overflow:hidden}.theme-option i{flex:1}.theme-option strong{font:13px Georgia,serif}.theme-option svg{color:var(--rose-dark)}.goal-settings{border-top:1px solid var(--line);margin-top:28px;padding-top:23px}.goal-settings h3{margin:0 0 4px;font:19px Georgia,serif}.goal-settings>p{color:var(--muted);font-size:10px}.goal-settings form{gap:9px;max-width:380px;display:flex}.goal-settings form button{background:var(--rose-dark);color:#fff;white-space:nowrap;cursor:pointer;border:0;border-radius:9px;padding:0 14px;font-size:10px}.admin-grid{grid-template-columns:repeat(4,1fr);gap:13px;display:grid}.admin-grid article{border:1px solid var(--line);background:#faf5f1;border-radius:12px;padding:18px}.admin-grid strong,.admin-grid span{display:block}.admin-grid strong{color:var(--rose-dark);font:27px Georgia,serif}.admin-grid span{color:var(--muted);margin-top:4px;font-size:9px}.security-note{color:#4f6b55;background:#e9f0ea;border-radius:13px;gap:13px;margin-top:18px;padding:17px;display:flex}.security-note strong{font-size:11px}.security-note p{margin:4px 0 0;font-size:9px;line-height:1.5}.book-modal-large{grid-template-columns:220px minmax(0,1fr);align-items:start;width:min(1160px,100vw - 40px);height:min(900px,94vh);max-height:94vh;overflow:hidden}.book-modal-large>.modal-copy{scrollbar-gutter:stable;min-width:0;max-height:calc(94vh - 56px);padding-right:8px;overflow-y:auto}.book-modal-side{position:sticky;top:0}.book-modal-side .modal-cover{cursor:default;border:0;width:100%}.favorite-button,.side-export-button{width:100%;color:var(--rose-dark);cursor:pointer;background:0 0;border:1px solid #dcc7cd;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:37px;margin-top:15px;font-size:9px;display:flex}.favorite-button.active{background:#eddce2}.side-export-button{background:#f8efeb;margin-top:8px}.side-export-button:disabled{opacity:.6;cursor:wait}.modal-tabs{border-bottom:1px solid var(--line);gap:3px;margin-top:19px;display:flex;overflow-x:auto}.modal-tabs button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:9px 10px;font-size:9px}.modal-tabs button.active{color:var(--rose-dark);border-color:var(--rose-dark);font-weight:700}.modal-panel{padding-top:5px}.book-description{color:#756963;max-height:180px;font-size:10px;line-height:1.65;overflow:auto}.modal-actions{align-items:center;gap:10px;display:flex}.modal-actions select{flex:1}.danger-action{color:#a14b45;cursor:pointer;background:#fff5f3;border:1px solid #e2bdb9;border-radius:9px;height:37px;padding:0 12px;font-size:9px}.modal-form{gap:12px;padding-top:18px;display:grid}.progress-bar.large{height:8px}.quote-list{max-height:150px;margin-top:15px;overflow:auto}.quote-list blockquote{border-left:3px solid var(--rose);color:#6f5b60;background:#f8f0ec;margin:8px 0;padding:11px;font:italic 11px Georgia,serif}.quote-list cite{color:var(--muted);margin-top:5px;font:8px Arial,sans-serif;display:block}.purchase-line{border-top:1px solid var(--line);justify-content:space-between;padding-top:10px;font-size:9px;display:flex}.purchase-line span{color:var(--muted)}.reading-dates{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.reading-dates>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.reading-dates label{color:#675a56;gap:5px;font-size:9px;font-weight:700;display:grid}.reading-dates input{width:100%;color:var(--ink);background:#fdfaf7;border:1px solid #dfd2ca;border-radius:8px;padding:8px;font-size:10px}.reading-dates>button{min-height:34px;margin-top:10px}.book-edit-form{padding:18px 0 4px}.book-form input.color-picker{cursor:pointer;height:43px;padding:3px}.upload-zone.compact{min-height:64px}.rating-stars button{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:1px;display:grid}.rating-stars button:hover{transform:scale(1.15)}.review-workspace{grid-template-columns:minmax(0,1.08fr) minmax(290px,.92fr);gap:18px;padding-top:18px;display:grid}.review-form,.quote-manager{border:1px solid var(--line);background:#fdf9f5;border-radius:15px;min-width:0;padding:17px}.review-section-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px;display:flex}.review-section-heading h3{margin:4px 0 0;font:19px Georgia,serif}.review-section-heading>span{color:var(--rose-dark);background:#f0e3e6;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:750}.export-review-button{color:var(--rose-dark);cursor:pointer;white-space:nowrap;background:#fff8f5;border:1px solid #d7bdc5;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:9px;font-weight:700;display:inline-flex}.export-review-button:disabled{opacity:.6;cursor:wait}.review-ratings-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.review-rating{background:#fffdf9;border:1px solid #eadfd8;border-radius:11px;padding:11px}.review-rating>div:first-child{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.review-rating strong{font:13px Georgia,serif}.review-rating span{color:var(--muted);text-align:right;font-size:7px}.review-rating-icons{gap:3px;margin-top:9px;display:flex}.review-rating-icons button{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:1px;transition:transform .14s,opacity .14s;display:grid}.review-rating-icons button:hover{transform:translateY(-2px)scale(1.08)}.review-rating-icons button[aria-pressed=false]{opacity:.42}.review-fields{grid-template-columns:1fr 1fr;gap:11px;margin-top:13px;display:grid}.review-fields label,.quote-form label{color:#675a56;gap:6px;font-size:9px;font-weight:700;display:grid}.review-fields input,.review-fields textarea,.quote-form input,.quote-form textarea{width:100%;color:var(--ink);resize:vertical;background:#fffdf9;border:1px solid #dfd2ca;border-radius:9px;outline:0;padding:9px 10px;font-size:10px}.review-fields input:focus,.review-fields textarea:focus,.quote-form input:focus,.quote-form textarea:focus{border-color:var(--rose);box-shadow:0 0 0 3px #b77e9118}.review-opinion{grid-column:1/-1}.save-review-button{margin-top:13px}.quote-form{grid-template-columns:90px 1fr;gap:10px;display:grid}.quote-text-field{grid-column:1/-1}.quote-form-actions{grid-column:1/-1;gap:8px;display:flex}.quote-form-actions .primary-action{flex:1}.quote-form-actions .secondary-action{flex:none}.review-quote-list{gap:9px;max-height:335px;margin-top:15px;display:grid}.review-quote-list article{background:#fffdf9;border:1px solid #eadfd8;border-radius:10px;padding:11px}.review-quote-list blockquote{background:0 0;border:0;margin:0;padding:0;font:italic 11px/1.5 Georgia,serif}.review-quote-list article>div{justify-content:space-between;align-items:center;gap:9px;margin-top:9px;display:flex}.review-quote-list article>div>span{color:var(--muted);font-size:8px}.review-quote-list article>div>div{gap:5px;display:flex}.review-quote-list button{color:#7f5a64;cursor:pointer;background:#f2e7e3;border:0;border-radius:7px;align-items:center;gap:4px;padding:6px 7px;font-size:7px;display:inline-flex}.review-quote-list button:last-child{color:#a14b45;background:#fff0ed}.empty-quotes{text-align:center;color:var(--muted);border:1px dashed #d8c9c2;border-radius:10px;margin:15px 0 0;padding:18px;font-size:9px}.login-page{background:radial-gradient(circle at 12% 15%, #ead7de 0 8%, transparent 30%), radial-gradient(circle at 88% 82%, #d8c4aa80 0 7%, transparent 28%), var(--cream);place-items:center;min-height:100vh;padding:28px 18px;display:grid;position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";pointer-events:none;border:1px solid #b77e9121;border-radius:50%;position:absolute}.login-page:before{width:420px;height:420px;top:-230px;right:-120px}.login-page:after{width:330px;height:330px;bottom:-190px;left:-100px}.login-card{z-index:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffaf5e8;border:1px solid #e2d4ca;border-radius:24px;width:min(430px,100%);padding:42px;position:relative;box-shadow:0 28px 80px #5c3b3024}.login-brand{align-items:center;gap:12px;margin-bottom:34px;display:flex}.login-brand>span{background:var(--rose-dark);color:#fff;border-radius:14px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 9px 22px #8c536832}.login-brand strong,.login-brand small{display:block}.login-brand strong{font:21px Georgia,serif}.login-brand small{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;margin-top:2px;font-size:9px}.login-kicker{color:var(--rose-dark);letter-spacing:.16em;margin:0 0 10px;font-size:9px;font-weight:800}.login-card h1{letter-spacing:-.025em;margin:0;font:34px Georgia,serif}.login-intro{color:var(--muted);margin:10px 0 25px;font-size:12px;line-height:1.65}.login-card form{gap:16px;display:grid}.login-card form label{color:#675a56;font-size:10px;font-weight:700}.login-card form label>div{color:#a3868d;background:#fffdf9;border:1px solid #dfd2ca;border-radius:11px;align-items:center;gap:10px;height:46px;margin-top:7px;padding:0 13px;display:flex}.login-card form label>div:focus-within{border-color:var(--rose);box-shadow:0 0 0 3px #b77e9118}.login-card form input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1}.login-card form>button{background:var(--rose-dark);color:#fff;cursor:pointer;border:0;border-radius:11px;height:46px;margin-top:3px;font-size:11px;font-weight:700;box-shadow:0 9px 22px #8c53682c}.login-card form>button:hover{background:#784256;transform:translateY(-1px)}.login-card form>button:disabled{opacity:.65;cursor:wait}.login-error{color:#994f47;background:#fff0ed;border:1px solid #e7c7c1;border-radius:9px;margin:-3px 0 0;padding:9px 11px;font-size:10px;line-height:1.45}.login-security{color:#94837d;justify-content:center;align-items:center;gap:6px;margin:23px 0 0;font-size:9px;display:flex}@media (width<=1100px){.dashboard-grid{grid-template-columns:1fr}.goal-card{min-height:175px}.content-grid{grid-template-columns:1fr}.current-books,.analytics-cards{grid-template-columns:1fr 1fr}.analytics-grid{grid-template-columns:1fr}.pal-summary{grid-template-columns:1fr 1fr 1fr}}@media (width<=780px){.sidebar{width:min(285px,86vw);transition:transform .25s;transform:translate(-105%);box-shadow:18px 0 40px #38282233}.sidebar.is-open{transform:translate(0)}.close-menu{color:#695d58;background:0 0;border:0;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:20px;right:14px}.main-content{width:100%;margin-left:0}.topbar{height:64px;padding:0 17px}.menu-button,.mobile-brand{display:grid}.mobile-brand{white-space:nowrap;font:18px Georgia,serif}.global-search{background:0 0;border:0;width:39px;margin-left:auto;padding:0 10px}.global-search input{display:none}.add-button{justify-content:center;width:39px;margin-left:0;padding:0}.add-button span,.user-button{display:none}.page-wrap{padding:25px 16px 45px}.backdrop{z-index:25;background:#34262666;border:0;display:block;position:fixed;inset:0}.current-books,.collection-grid{grid-template-columns:1fr}.library-preview{padding:18px 15px 0}.cozy-shelf{margin:0 -15px}.shelf-wall{min-height:170px;padding:24px 15px 0}.book-row{min-height:145px;padding:0 28px;overflow-x:auto}.full-shelf .shelf-wall{min-height:220px}.full-shelf .book-row{min-height:190px}.plant{transform-origin:bottom;left:3px;transform:scale(.78)}.candle{transform-origin:bottom;right:8px;transform:scale(.8)}.workspace-card{padding:18px 15px}.workspace-toolbar{align-items:flex-start}.workspace-toolbar h2{font-size:23px}.full-shelf{margin:0 -15px -18px}.pal-summary,.theme-grid,.admin-grid{grid-template-columns:1fr 1fr}.api-result{grid-template-columns:48px 1fr}.api-result>button{grid-column:2;justify-self:start}.form-grid{grid-template-columns:1fr}.book-modal-large{grid-template-columns:125px 1fr;gap:18px}.book-modal-side .modal-cover{height:190px}.analytics-grid{grid-template-columns:1fr}}@media (width<=520px){.welcome-row{align-items:start}.year-button{margin-top:20px;padding:0 10px}.dashboard-grid{display:block}.goal-card{padding:21px}.goal-card h2{font-size:30px}.goal-ring{width:94px;height:94px}.stats-grid{grid-template-columns:1fr 1fr;margin-top:13px}.stat-card{column-gap:10px;padding:14px 12px}.stat-icon{width:32px;height:32px}.stat-card strong{font-size:19px}.left-column,.chart-card{padding:18px 15px}.reading-card{gap:11px;padding:11px}.mini-cover{width:75px;height:114px}.book-modal{grid-template-columns:105px 1fr;gap:18px;padding:22px 18px}.modal-cover{height:160px;padding:10px}.modal-cover span{font-size:12px}.modal-cover small{font-size:8px}.modal-copy h2{padding-right:20px;font-size:21px}.modal-copy dl{margin:12px 0}.modal-copy dl div:nth-child(3){display:none}.pal-summary,.analytics-cards,.theme-grid,.admin-grid{grid-template-columns:1fr}.segmented,.workspace-toolbar{flex-direction:column}.book-modal-large{grid-template-columns:85px 1fr;gap:13px;padding:18px 13px}.book-modal-side .modal-cover{height:130px}.favorite-button{font-size:0}.favorite-button svg{margin:0}.modal-tabs button{padding-inline:6px}.modal-actions{flex-direction:column}.modal-actions>*{width:100%}.goal-settings form{flex-direction:column}.goal-settings form button{min-height:39px}.shelf-wall{min-height:125px}.book-row{gap:5px;min-height:105px}.full-shelf .shelf-wall{min-height:160px}.full-shelf .book-row{min-height:140px}.login-card{border-radius:20px;padding:31px 22px}.login-card h1{font-size:29px}}@media (width<=1100px){.monthly-facts{grid-template-columns:1fr 1fr}.review-workspace{grid-template-columns:1fr}}@media (width<=780px){.monthly-details{padding:18px 15px}.monthly-content-grid{grid-template-columns:1fr}.month-picker{grid-template-columns:repeat(4,1fr)}.book-modal-large{width:calc(100vw - 24px);height:94vh}.review-section-heading{flex-wrap:wrap}}@media (width<=520px){.chart-panel-heading{display:block}.chart-panel-heading>span{margin-top:9px;display:inline-flex}.monthly-facts{grid-template-columns:1fr}.month-picker{grid-template-columns:repeat(3,1fr)}.monthly-book-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.review-ratings-grid,.review-fields{grid-template-columns:1fr}.review-opinion{grid-column:auto}.review-form,.quote-manager{padding:13px}.quote-form{grid-template-columns:74px 1fr}.review-quote-list article>div{flex-direction:column;align-items:flex-start}.side-export-button{font-size:0}.side-export-button svg{margin:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.book-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.medium-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;width:fit-content;padding:4px 7px;font-size:8px;font-weight:750;line-height:1;display:inline-flex}.medium-paper{color:#755f42;background:#eee5d6}.medium-ebook{color:#476871;background:#dce7e9}.medium-audio{color:#674f7c;background:#e5dfee}.library-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.medium-filter{background:#f3ebe6;border-radius:11px;gap:2px;padding:4px;display:flex}.medium-filter button{color:#8a7c76;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;height:32px;padding:0 10px;font-size:9px;display:flex}.medium-filter button.active{color:var(--rose-dark);background:#fffdf9;box-shadow:0 2px 9px #49332613}.support-note{margin-right:7px;display:inline-flex}.gallery-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px;display:flex}.gallery-meta>em{color:var(--rose-dark);font-size:8px;font-style:normal;font-weight:700}.format-select{color:var(--ink);background:#fdfaf7;border:1px solid #dfd2ca;border-radius:8px;padding:6px 8px;font-size:10px}.decoration-studio{background:linear-gradient(135deg,#fbf3ef,#f8f4eb);border:1px solid #eadbd5;border-radius:14px;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);align-items:center;gap:16px;margin:-6px 0 20px;padding:15px;display:grid}.decoration-title{color:var(--rose-dark);align-items:center;gap:7px;font:15px Georgia,serif;display:flex}.decoration-studio p{color:var(--muted);margin:5px 0 0;font-size:9px;line-height:1.45}.decoration-palette{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:7px;min-width:0;display:grid}.decoration-palette button{color:#75645e;cursor:pointer;background:#fffaf6;border:1px solid #e4d5ce;border-radius:10px;justify-items:center;gap:2px;min-width:0;padding:6px 4px 7px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.decoration-palette button:hover:not(:disabled){border-color:#bd899a;transform:translateY(-2px);box-shadow:0 7px 16px #6a434310}.decoration-palette button:disabled{opacity:.42;cursor:not-allowed}.decoration-palette button>span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:7px;overflow:hidden}.decoration-image{object-fit:contain;object-position:center bottom;pointer-events:none;width:100%;height:100%;display:block}.decoration-palette .decoration-image{width:64px;height:88px}.decoration-empty-action{color:var(--rose-dark);cursor:pointer;background:#fffaf6;border:1px dashed #cdb9bf;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:48px;padding:9px 13px;font-size:9px;display:flex}.shelf-decoration{cursor:grab;touch-action:none;transform-origin:bottom;flex:none;justify-content:center;align-items:flex-end;height:128px;display:flex;position:relative}.shelf-decoration:active{cursor:grabbing}.shelf-decoration>.decoration-image{filter:drop-shadow(3px 6px 5px #553c2e2c);width:100%;height:100%;transition:transform .18s}.shelf-decoration:hover>.decoration-image{transform:translateY(-6px)}.shelf-decoration.is-dragging{z-index:12;opacity:.72}.shelf-decoration>button{z-index:2;color:#9b514d;cursor:pointer;opacity:0;background:#fff8f5;border:1px solid #e4c7c4;border-radius:50%;place-items:center;width:24px;height:24px;transition:opacity .15s,transform .15s;display:grid;position:absolute;top:2px;right:-3px;transform:scale(.85)}.shelf-decoration:hover>button,.shelf-decoration:focus-within>button{opacity:1;transform:scale(1)}.decoration-admin{margin-top:16px}.decoration-admin-form{grid-template-columns:1fr 1fr;align-items:end;gap:14px;display:grid}.decoration-admin-form label{color:#675a56;gap:7px;font-size:10px;font-weight:700;display:grid}.decoration-admin-form input:not([type=range]),.decoration-admin-form select,.decoration-admin-form textarea{width:100%;color:var(--ink);background:#fdfaf7;border:1px solid #dfd2ca;border-radius:9px;padding:10px 11px;font-family:inherit;font-size:11px}.decoration-admin-form .upload-zone{grid-column:1/-1;margin:0}.decoration-admin-form>button{grid-column:1/-1}.decoration-admin-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px;margin-top:22px;display:grid}.decoration-admin-grid article{border:1px solid var(--line);text-align:center;background:#fdf9f5;border-radius:13px;justify-items:center;gap:6px;min-width:0;padding:12px;display:grid}.decoration-admin-grid article>div{max-width:100%;height:120px}.decoration-admin-grid strong{font:13px Georgia,serif}.decoration-admin-grid small{color:var(--muted);font-size:8px}.decoration-admin-grid button{color:#a14b45;cursor:pointer;background:#fff5f3;border:1px solid #e2bdb9;border-radius:8px;align-items:center;gap:5px;padding:7px 9px;font-size:8px;display:flex}.decoration-admin-empty{color:var(--muted);text-align:center;border:1px dashed #d8c9c2;border-radius:11px;margin:20px 0 0;padding:17px;font-size:10px}.status-pending{color:#8a5a3d;background:#f1ded7}.status-expired{color:#716866;background:#e7e3e2}.status-accepted{color:#587164;background:#dfe9e3}.status-refused{color:#a14b45;background:#f3dcda}.press-pill{color:#5f4d85;background:#e4dff0;gap:4px}.invite-list{grid-template-columns:1fr}.invite-list article{text-align:left;grid-template-columns:1fr auto;justify-items:start;padding:14px 16px}.invite-list article>small{margin-bottom:2px}.invite-actions{grid-column:1/-1;gap:8px;margin-top:6px;display:flex}.invite-actions button:first-child{color:#675a56;background:#fdfaf7;border-color:#dfd2ca}@media (width<=780px){.library-controls{justify-content:space-between;width:100%}.medium-filter{max-width:100%;overflow-x:auto}.decoration-studio{grid-template-columns:1fr}.decoration-palette{padding-bottom:4px;display:flex;overflow-x:auto}.decoration-palette button{flex:0 0 82px}.shelf-stack,.full-shelf .shelf-stack,.cozy-shelf{margin-inline:0}.shelf-wall{padding-inline:0}.book-row,.full-shelf .book-row{padding-inline:16px;overflow:visible}.shelf-decoration>button{opacity:1}}@media (width<=520px){.medium-filter button{padding-inline:8px}.medium-filter button span{display:none}.book-row,.full-shelf .book-row{padding-inline:13px}.decoration-admin-form{grid-template-columns:1fr}.decoration-admin-form .upload-zone,.decoration-admin-form>button{grid-column:1}}.photos-panel{padding-top:18px}.photos-intro{color:var(--muted);margin:0 0 15px;font-size:10px;line-height:1.5}.photos-error{color:#994f47;background:#fff0ed;border:1px solid #e7c7c1;border-radius:9px;margin:0 0 15px;padding:9px 11px;font-size:10px;line-height:1.45}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;display:grid}.photo-slot{border:1px solid var(--line);background:#fdf9f5;border-radius:14px;gap:8px;padding:12px;display:grid}.photo-slot-media{width:100%;position:relative}.photo-slot-preview{aspect-ratio:3/4;background:#fbf5f3;border:1px dashed #cdb9bf;border-radius:10px;place-items:center;max-height:220px;margin:0 auto;display:grid;overflow:hidden}.photo-slot-preview img{object-fit:contain;width:100%;height:100%;display:block}.photo-slot-preview span{color:var(--muted);text-align:center;padding:0 10px;font-size:9px}.photo-slot-delete{color:#9b514d;cursor:pointer;background:#fff8f5e0;border:1px solid #e4c7c4;border-radius:50%;place-items:center;width:26px;height:26px;display:grid;position:absolute;top:6px;right:6px}.photo-slot>strong{font:12px Georgia,serif}.photo-slot-actions{gap:6px;display:grid}.photo-slot-actions button{color:var(--rose-dark);cursor:pointer;background:#fff8f5;border:1px solid #dbc8ce;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 9px;font-size:9px;font-weight:700;display:flex}.photo-slot-actions button:disabled{opacity:.6;cursor:wait}.shelf-display-section{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.shelf-display-modes{flex-wrap:wrap;gap:7px;margin:10px 0 18px;display:flex}.shelf-display-modes button{color:var(--rose-dark);cursor:pointer;background:#fff8f5;border:1px solid #dbc8ce;border-radius:999px;padding:8px 13px;font-size:9px;font-weight:700}.shelf-display-modes button.active{background:var(--rose-dark);color:#fff;border-color:var(--rose-dark)}.shelf-display-modes button:disabled{opacity:.4;cursor:not-allowed}.shelf-size-control label{color:#675a56;margin-bottom:8px;font-size:10px;font-weight:700;display:block}.shelf-size-row{align-items:center;gap:12px;display:flex}.shelf-size-row input[type=range]{accent-color:var(--rose-dark);flex:1}.shelf-size-row button{color:var(--rose-dark);cursor:pointer;white-space:nowrap;background:#fff8f5;border:1px solid #dbc8ce;border-radius:999px;flex:none;padding:7px 12px;font-size:9px;font-weight:700}.shelf-size-row button.active{background:#f0e3e6}.shelf-size-hint{color:var(--muted);margin:10px 0 0;font-size:9px;line-height:1.5}.scanner-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#201717c2;place-items:center;gap:14px;padding:20px;display:grid;position:fixed;inset:0}.scanner-stage{background:#100c0c;border-radius:14px;width:min(560px,94vw);height:min(70vh,720px);position:relative;overflow:hidden;box-shadow:0 30px 90px #1a101055}.scanner-rotate{z-index:5;color:#fdf8f4;cursor:pointer;background:#100c0ccc;border:1px solid #fff3;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:10px;right:10px}.scanner-rotate:disabled{opacity:.5;cursor:wait}.scanner-stage svg{touch-action:none;width:100%;height:100%;display:block}.scanner-quad{fill:#b77e9130;stroke:#f7f1e8;stroke-width:.6%;vector-effect:non-scaling-stroke}.scanner-handle{fill:#fffdf9;stroke:var(--rose-dark);stroke-width:.5%;vector-effect:non-scaling-stroke;pointer-events:none}.scanner-handle-hit{fill:#fffdf914;cursor:grab;touch-action:none}.scanner-handle-hit:active{cursor:grabbing}.scanner-magnifier{z-index:210;pointer-events:none;background:#100c0c;border:3px solid #fdf8f4;border-radius:50%;width:128px;height:128px;position:fixed;overflow:hidden;transform:translate(-50%,-100%);box-shadow:0 12px 30px #00000059}.scanner-magnifier.is-below{transform:translate(-50%)}.scanner-magnifier svg{width:100%;height:100%;display:block}.scanner-magnifier line{stroke:#fdf8f4d9;stroke-width:1.4%;vector-effect:non-scaling-stroke}.scanner-magnifier circle{fill:none;stroke:var(--rose-dark);stroke-width:2%;vector-effect:non-scaling-stroke}.scanner-loading{color:#f7f1e8;text-align:center;margin:0;padding:60px 20px;font-size:11px}.scanner-hint{color:#f7f1e8cc;text-align:center;max-width:420px;margin:0;font-size:10px}.scanner-actions{gap:10px;width:min(560px,94vw);display:flex}.scanner-actions button{flex:1;justify-content:center;align-items:center;gap:6px;width:auto;display:flex}.scanner-actions button svg{flex-shrink:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
