:root{--bg-desk: #ddd7c8;--page-left: #f3efe4;--page-right: #fbf9f4;--page-card: #f8f5ec;--spine-dark: #1a2129;--spine-dark-hover: #26303c;--ink-primary: #1f2328;--ink-secondary: #686158;--ink-muted: #938b7f;--terracotta: #b84a39;--terracotta-soft: rgba(184, 74, 57, .12);--forest: #26463b;--forest-soft: rgba(38, 70, 59, .12);--gold: #c59b4f;--gold-soft: rgba(197, 155, 79, .28);--border-hairline: #dfd8c8;--border-strong: #c8beaa;--font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh;background-color:var(--bg-desk);background-image:radial-gradient(circle at 18% 12%,rgba(255,252,245,.55) 0%,transparent 55%),radial-gradient(circle at 85% 88%,rgba(140,122,95,.18) 0%,transparent 55%);color:var(--ink-primary);font-family:var(--font-sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.library-viewport{min-height:100vh;padding:28px 32px;display:flex;justify-content:center;align-items:stretch}.book-shell{width:100%;max-width:1380px;min-height:max(calc(100vh - 56px),980px);display:grid;grid-template-columns:74px 1fr;border-radius:18px 22px 22px 18px;background:var(--page-right);box-shadow:3px 0 #efeae0,4px 0 #d5ccb9,7px 0 #f4f0e7,8px 0 #cfc5b1,11px 0 #ece7dc,12px 0 #bfb49e,0 24px 60px #1a161038,0 4px 16px #1a16101a;overflow:hidden;position:relative}.spine-rail{background:linear-gradient(180deg,#1d242d,#151b22);color:#e6dfd3;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:32px;padding:24px 0;border-right:2px solid rgba(197,155,79,.35);box-shadow:inset -6px 0 12px #00000059;z-index:3}.spine-monogram{width:42px;height:42px;border-radius:50%;border:1px solid rgba(197,155,79,.55);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:20px;font-weight:700;color:var(--gold);letter-spacing:.04em;background:#c59b4f14}.spine-nav{display:flex;flex-direction:column;gap:14px;align-items:center}.spine-btn{width:44px;height:44px;border-radius:50%;border:1px solid transparent;background:transparent;color:#b8b0a2;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;position:relative}.spine-btn:hover{color:#fff;background:#ffffff14}.spine-btn.active{background:var(--terracotta);color:#fff8f5;box-shadow:0 4px 14px #b84a3973}.spine-footer{display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:auto}.book-spread{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100%;position:relative}.book-page{padding:36px 42px 44px;display:flex;flex-direction:column;position:relative;min-width:0}.book-page-left{background-color:var(--page-left);background-image:linear-gradient(90deg,rgba(0,0,0,.03) 0%,transparent 6%,transparent 91%,rgba(30,24,16,.07) 98%,rgba(30,24,16,.14) 100%);border-right:1px solid #d5ccb9}.book-page-right{background-color:var(--page-right);background-image:linear-gradient(90deg,rgba(30,24,16,.1) 0%,rgba(30,24,16,.03) 3%,transparent 9%,transparent 100%)}.page-folio-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;margin-bottom:22px;border-bottom:1px solid var(--border-hairline);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-secondary)}.page-folio-number{font-family:var(--font-serif);font-style:italic;font-size:14px;letter-spacing:.04em;text-transform:none}.editorial-hero{margin-bottom:26px}.editorial-greeting-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.editorial-greeting{font-family:var(--font-serif);font-size:36px;font-weight:600;line-height:1.15;margin:0 0 8px;color:var(--ink-primary);letter-spacing:-.01em}.name-edit-trigger{background:none;border:none;border-bottom:1px dashed var(--gold);color:var(--ink-primary);font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;padding:0 2px;cursor:pointer}.name-edit-trigger:hover{color:var(--terracotta);border-bottom-color:var(--terracotta)}.name-edit-inline{display:inline-flex;align-items:center;gap:6px}.name-edit-input{font-family:var(--font-serif);font-size:28px;padding:2px 10px;border:1px solid var(--border-strong);border-radius:6px;background:var(--page-right);width:170px}.editorial-subtitle{margin:0;color:var(--ink-secondary);font-size:14px;max-width:460px}.week-strip-card{background:#fffdf8a6;border:1px solid var(--border-hairline);border-radius:14px;padding:16px 20px;margin-bottom:26px}.week-strip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:8px;flex-wrap:wrap}.week-strip-title{font-family:var(--font-serif);font-size:21px;font-weight:600;margin:0}.week-strip-controls{display:flex;align-items:center;gap:6px}.icon-circle-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--border-hairline);background:var(--page-right);color:var(--ink-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.icon-circle-btn:hover{border-color:var(--ink-primary);background:#fff}.today-pill-btn{font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;border:1px solid var(--border-strong);background:var(--page-right);cursor:pointer;transition:all .15s ease}.today-pill-btn:hover{border-color:var(--ink-primary)}.date-jump-input{font-size:12px;padding:4px 8px;border-radius:8px;border:1px solid var(--border-hairline);background:var(--page-right);color:var(--ink-secondary)}.week-strip-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}.week-day-pill{border:1px solid transparent;background:transparent;padding:10px 4px;border-radius:999px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:all .18s ease;position:relative}.week-day-pill:hover{background:#e2dbcb73}.week-day-pill.weekend .week-day-name,.week-day-pill.weekend .week-day-num{color:var(--terracotta)}.week-day-pill.selected{background:#e6dfd0;border-color:var(--border-strong);box-shadow:inset 0 1px 2px #fff9,0 4px 10px #1e181012}.week-day-pill.selected .week-day-name,.week-day-pill.selected .week-day-num{color:var(--ink-primary);font-weight:700}.week-day-name{font-size:12px;color:var(--ink-secondary);font-weight:500}.week-day-num{font-size:14px;font-weight:600;color:var(--ink-primary);font-variant-numeric:tabular-nums}.week-day-dot{width:5px;height:5px;border-radius:50%;background:transparent}.week-day-dot.active{background:var(--terracotta)}.section-header-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;gap:12px}.section-title{font-family:var(--font-serif);font-size:25px;font-weight:600;margin:0;color:var(--ink-primary)}.section-counter{font-size:13px;font-weight:600;color:var(--terracotta);font-variant-numeric:tabular-nums}.habit-ledger-list{display:flex;flex-direction:column;gap:12px;margin-bottom:22px}.habit-card{background:var(--page-right);border:1px solid var(--border-hairline);border-radius:12px;padding:14px 16px;transition:all .2s ease;position:relative}.habit-card:hover{border-color:var(--border-strong);box-shadow:0 4px 14px #1e18100d}.habit-card.completed{background:linear-gradient(90deg,rgba(38,70,59,.05) 0%,var(--page-right) 100%);border-left:3px solid var(--forest)}.habit-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.habit-main-info{display:flex;align-items:flex-start;gap:12px;flex:1}.ink-checkbox-btn{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--border-strong);background:var(--page-left);color:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;margin-top:2px;transition:all .18s ease}.ink-checkbox-btn:hover{border-color:var(--forest)}.ink-checkbox-btn.checked{background:var(--forest);border-color:var(--forest);color:#fbf9f4;box-shadow:0 2px 8px #26463b4d}.habit-title{font-family:var(--font-serif);font-size:20px;font-weight:600;margin:0;line-height:1.2}.habit-card.completed .habit-title{text-decoration:line-through;text-decoration-color:#26463b73;color:var(--ink-secondary)}.habit-desc{margin:3px 0 0;font-size:13px;color:var(--ink-secondary)}.habit-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}.vintage-badge{font-size:11px;padding:2px 9px;border-radius:999px;border:1px solid var(--border-hairline);background:var(--page-left);color:var(--ink-secondary);white-space:nowrap}.vintage-badge.due{border-color:#c59b4f80;color:#7c5c22;background:#c59b4f1a}.vintage-badge.done{border-color:#26463b59;color:var(--forest);background:var(--forest-soft);font-weight:600}.habit-numeric-row{margin-top:12px;padding-top:10px;border-top:1px dashed var(--border-hairline);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.numeric-fraction{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.numeric-fraction .current-val{color:var(--terracotta);font-size:16px;font-weight:700}.numeric-controls{display:flex;align-items:center;gap:6px}.numeric-input{width:68px;padding:4px 8px;border:1px solid var(--border-strong);border-radius:6px;background:var(--page-left);text-align:center;font-variant-numeric:tabular-nums}.mini-pill-btn{padding:4px 10px;font-size:12px;font-weight:600;border-radius:999px;border:1px solid var(--border-strong);background:var(--page-left);cursor:pointer;transition:all .15s ease}.mini-pill-btn:hover{background:var(--spine-dark);color:#fff;border-color:var(--spine-dark)}.mini-pill-btn.subtle{border-color:transparent;background:transparent;color:var(--ink-muted)}.mini-pill-btn.subtle:hover{color:var(--terracotta)}.habit-progress-track{width:100%;height:4px;background:#e6dfd0;border-radius:999px;overflow:hidden;margin-top:8px}.habit-progress-fill{height:100%;background:var(--terracotta);transition:width .25s ease}.habit-card.completed .habit-progress-fill{background:var(--forest)}.catalog-drawer{background:#fffdf8b3;border:1px solid var(--border-strong);border-radius:12px;padding:14px 18px;margin-top:8px}.catalog-drawer summary{cursor:pointer;font-family:var(--font-serif);font-size:18px;font-weight:600;color:var(--ink-primary);list-style:none;display:flex;align-items:center;justify-content:space-between}.catalog-drawer summary::-webkit-details-marker{display:none}.vintage-form{margin-top:14px;display:flex;flex-direction:column;gap:12px}.form-grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.field-group{display:flex;flex-direction:column;gap:4px;min-width:0}.field-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-secondary);font-weight:600}.vintage-input,.vintage-select{width:100%;min-width:0;padding:8px 12px;border-radius:8px;border:1px solid var(--border-strong);background:var(--page-right);color:var(--ink-primary);outline:none;transition:border-color .15s ease}.vintage-input:focus,.vintage-select:focus,.journal-textarea:focus{border-color:var(--terracotta)}.weekday-selector{display:flex;flex-wrap:wrap;gap:6px}.weekday-chip{padding:5px 10px;border-radius:999px;border:1px solid var(--border-strong);background:var(--page-right);font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.weekday-chip.active{background:var(--spine-dark);color:#fff;border-color:var(--spine-dark)}.ink-pill-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--spine-dark);color:#fbf9f4;border:none;border-radius:999px;padding:10px 20px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;align-self:flex-start}.ink-pill-btn:hover:not(:disabled){background:var(--terracotta);transform:translateY(-1px)}.ink-pill-btn:disabled{opacity:.6;cursor:not-allowed}.journal-header-block{margin-bottom:18px}.journal-date-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--terracotta);font-weight:600;margin-bottom:4px}.ex-libris-plate{background:var(--page-left);border:1px solid var(--border-strong);outline:1px solid var(--border-hairline);outline-offset:-5px;border-radius:10px;padding:14px 18px;margin-bottom:20px}.ex-libris-title{font-family:var(--font-serif);font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-secondary);margin:0 0 8px;display:flex;align-items:center;gap:8px}.habit-snapshot-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px}.snapshot-group-label{font-weight:600;font-size:12px;margin-bottom:4px;display:block}.snapshot-group-label.done{color:var(--forest)}.snapshot-group-label.pending{color:var(--ink-secondary)}.snapshot-pill-list{display:flex;flex-wrap:wrap;gap:5px}.snapshot-item-tag{display:inline-block;padding:2px 8px;border-radius:6px;font-size:12px;background:var(--page-right);border:1px solid var(--border-hairline)}.snapshot-item-tag.done{border-color:#26463b59;color:var(--forest);background:#26463b12}.journal-meta-bar{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-hairline)}.location-input-wrap{display:flex;align-items:center;gap:8px;background:var(--page-left);border:1px solid var(--border-hairline);border-radius:999px;padding:6px 14px;color:var(--ink-secondary)}.location-input-wrap input{border:none;background:transparent;width:100%;outline:none;color:var(--ink-primary);font-size:14px}.mood-seals-row{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;overflow-x:auto}.mood-seal-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border-radius:999px;border:1px solid var(--border-hairline);background:var(--page-left);color:var(--ink-secondary);font-size:12px;font-weight:500;white-space:nowrap;flex-shrink:0;cursor:pointer;transition:all .16s ease}.mood-seal-btn:hover{border-color:var(--gold);color:var(--ink-primary)}.mood-seal-btn.selected{background:var(--spine-dark);color:var(--gold);border-color:var(--spine-dark);font-weight:600;box-shadow:0 3px 10px #1a212933}.journal-title-input{width:100%;border:none;border-bottom:1px solid var(--border-hairline);background:transparent;font-family:var(--font-serif);font-size:28px;font-weight:600;padding:6px 0 10px;margin-bottom:14px;color:var(--ink-primary);outline:none}.journal-title-input::placeholder{color:var(--ink-muted);font-style:italic}.journal-textarea{width:100%;min-height:210px;padding:6px 2px;border:none;background-color:transparent;background-image:repeating-linear-gradient(to bottom,transparent 0px,transparent 29px,rgba(200,190,170,.45) 30px);line-height:30px;font-family:var(--font-serif);font-size:19px;color:var(--ink-primary);resize:vertical;outline:none}.journal-actions-row{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:12px}.bookshelf-section{margin-top:30px;padding-top:22px;border-top:1px solid var(--border-hairline)}.bookshelf-stage{margin-top:14px;padding:20px 18px 0;background:linear-gradient(180deg,#e6dfd059,#d4cab68c);border:1px solid var(--border-hairline);border-bottom:10px solid #5a3e2b;border-radius:12px 12px 4px 4px;box-shadow:inset 0 -4px 10px #00000014,0 6px #3d281a,0 10px 18px #1e140c24;overflow-x:auto}.bookshelf-row{display:flex;align-items:flex-end;gap:8px;min-height:186px;padding-bottom:2px}.book-spine{width:48px;min-height:168px;border:none;border-radius:4px 4px 2px 2px;padding:14px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:space-between;position:relative;color:#f7f2e7;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease;box-shadow:inset 4px 0 6px #ffffff2e,inset -5px 0 8px #00000061,2px 0 6px #00000038;flex-shrink:0}.book-spine:before,.book-spine:after{content:"";width:100%;height:5px;border-top:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);opacity:.78;flex-shrink:0}.book-spine:hover{transform:translateY(-10px) rotate(-1.5deg);z-index:2;box-shadow:inset 4px 0 6px #ffffff40,inset -5px 0 8px #00000061,0 12px 18px #00000047}.book-spine.active-spine{transform:translateY(-8px);outline:2px solid var(--gold);outline-offset:1px}.spine-indigo{background-color:#1f3044;min-height:174px}.spine-forest{background-color:#234237;min-height:166px}.spine-ochre{background-color:#b87d2d;min-height:180px}.spine-leather{background-color:#6e3f28;min-height:162px}.spine-crimson{background-color:#7c2d26;min-height:170px}.spine-slate{background-color:#3a404a;min-height:158px}.spine-vertical-text{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);font-family:var(--font-serif);font-size:13px;font-weight:600;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:112px;padding:4px 0}.spine-date-stamp{font-size:9px;letter-spacing:.08em;color:#fff5dcd9;font-weight:700}.auth-stage{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-book-card{width:100%;max-width:460px;background:var(--page-right);border:1px solid var(--border-strong);border-left:16px solid var(--spine-dark);border-radius:10px 18px 18px 10px;padding:40px 38px;box-shadow:3px 0 #efeae0,4px 0 #cfc5b1,7px 0 #ece7dc,8px 0 #bfb49e,0 24px 50px #1a161033}.auth-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--terracotta);font-weight:700;margin-bottom:6px}.auth-title{font-family:var(--font-serif);font-size:38px;font-weight:600;margin:0 0 8px;line-height:1.1}.auth-subtitle{color:var(--ink-secondary);font-size:14px;margin:0 0 26px}.status-banner{padding:10px 14px;border-radius:8px;font-size:13px;margin-top:14px}.status-banner.error{background:var(--terracotta-soft);color:var(--terracotta);border:1px solid rgba(184,74,57,.3)}.status-banner.info{background:var(--forest-soft);color:var(--forest);border:1px solid rgba(38,70,59,.3)}.mobile-page-tabs{display:none}@media(max-width:980px){.library-viewport{padding:10px}.book-shell{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;border-radius:14px;min-height:calc(100vh - 20px)}.spine-rail{flex-direction:row;justify-content:space-between;gap:12px;padding:12px 18px;border-right:none;border-bottom:2px solid rgba(197,155,79,.35)}.spine-nav{display:none}.spine-footer{flex-direction:row;margin-top:0}.mobile-page-tabs{display:grid;grid-template-columns:1fr 1fr;background:#e9e2d2;padding:6px;gap:6px;border-bottom:1px solid var(--border-strong)}.mobile-tab-btn{padding:8px 12px;border-radius:8px;border:none;background:transparent;font-family:var(--font-serif);font-size:17px;font-weight:600;cursor:pointer;color:var(--ink-secondary)}.mobile-tab-btn.active{background:var(--page-right);color:var(--ink-primary);box-shadow:0 2px 6px #00000014}.book-spread{grid-template-columns:1fr}.book-page{padding:22px 18px 30px}.book-page.mobile-hidden{display:none}.editorial-greeting{font-size:32px}.habit-snapshot-columns,.form-grid-2{grid-template-columns:1fr}}.reading-stats-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:24px}.reading-stat-cell{background:#fffdf8b3;border:1px solid var(--border-hairline);border-radius:10px;padding:10px 12px;text-align:center;min-width:0}.reading-stat-num{display:block;font-family:var(--font-serif);font-size:26px;font-weight:700;line-height:1.1;color:var(--terracotta);font-variant-numeric:tabular-nums}.reading-stat-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-secondary);margin-top:2px}.currently-reading-card{display:flex;align-items:flex-start;gap:16px;background:var(--page-right);border:1px solid var(--border-hairline);border-radius:12px;padding:14px 16px;transition:all .2s ease;min-width:0}.currently-reading-card:hover{border-color:var(--border-strong);box-shadow:0 4px 14px #1e18100f}.currently-reading-info{flex:1;min-width:0}.hardcover-mini-trigger{background:none;border:none;padding:0;cursor:pointer;flex-shrink:0}.book-color-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;margin-top:5px;border:1.5px solid var(--gold)}.hardcover-art{width:100%;aspect-ratio:2 / 3;border-radius:4px 10px 10px 4px;padding:10px 10px 10px 16px;position:relative;display:flex;flex-direction:column;color:#f7f1e3;box-shadow:inset 10px 0 12px #00000059,inset 2px 0 #ffffff29,inset -2px 0 4px #0003,3px 5px 12px #1a140c38;overflow:hidden;text-align:center}.hardcover-art.mini{width:68px;aspect-ratio:2 / 3;padding:6px 6px 6px 10px;border-radius:3px 7px 7px 3px}.hardcover-art:before{content:"";position:absolute;top:0;bottom:0;left:9px;width:2px;background:linear-gradient(90deg,#00000073,#ffffff24)}.hardcover-art.mini:before{left:5px}.hardcover-inner-frame{flex:1;border:1px solid rgba(197,155,79,.58);outline:1px solid rgba(197,155,79,.25);outline-offset:-4px;padding:10px 8px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:6px;overflow:hidden}.hardcover-art.mini .hardcover-inner-frame{padding:5px 4px;outline-offset:-2px}.hardcover-kicker{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#f4d699e6;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hardcover-art.mini .hardcover-kicker{font-size:7px}.hardcover-cover-title{font-family:var(--font-serif);font-size:17px;font-weight:700;line-height:1.15;color:#fff8ea;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.hardcover-art.mini .hardcover-cover-title{font-size:11px;-webkit-line-clamp:3}.hardcover-cover-author{font-family:var(--font-serif);font-style:italic;font-size:12px;color:#f7f1e3d9;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hardcover-cover-stars{font-size:10px;color:var(--gold);letter-spacing:.08em}.hardcover-art.mini .hardcover-cover-stars{font-size:8px}.cover-indigo{background:linear-gradient(155deg,#253951,#172434)}.cover-forest{background:linear-gradient(155deg,#2b5043,#1c352c)}.cover-ochre{background:linear-gradient(155deg,#c68a37,#9b661e)}.cover-crimson{background:linear-gradient(155deg,#8c342c,#63211b)}.cover-leather{background:linear-gradient(155deg,#7e492f,#58311e)}.cover-slate{background:linear-gradient(155deg,#454d59,#2d323a)}.cover-swatch-row{display:flex;align-items:center;gap:8px;padding:5px 0}.cover-swatch-btn{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,border-color .15s ease}.cover-swatch-btn:hover{transform:scale(1.1)}.cover-swatch-btn.active{border-color:var(--gold);box-shadow:0 0 0 2px var(--ink-primary)}.star-rating-row{display:flex;align-items:center;gap:4px;padding:2px 0}.star-btn{background:none;border:1px solid var(--border-hairline);border-radius:6px;width:30px;height:30px;font-size:16px;color:var(--ink-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}.star-btn.filled{color:var(--gold);background:var(--spine-dark);border-color:var(--spine-dark)}.bookshelf-controls-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border-hairline)}.view-toggle-group{display:inline-flex;background:var(--page-left);border:1px solid var(--border-hairline);border-radius:999px;padding:3px;gap:2px}.view-toggle-btn{border:none;background:transparent;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600;color:var(--ink-secondary);cursor:pointer;transition:all .15s ease}.view-toggle-btn.active{background:var(--spine-dark);color:#fbf9f4}.inspector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.shelf-tiers-list{display:flex;flex-direction:column;gap:24px;margin-top:8px}.shelf-tier-block{min-width:0}.shelf-year-heading{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-serif);font-size:19px;font-weight:600;color:var(--ink-primary);margin-bottom:8px;border-bottom:1px dashed var(--border-hairline);padding-bottom:4px}.shelf-year-heading span:last-child{font-family:var(--font-sans);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-secondary)}.hardcover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:18px;margin-top:10px}.hardcover-card{background:transparent;border:none;padding:4px;border-radius:10px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:transform .2s ease;min-width:0}.hardcover-card:hover{transform:translateY(-4px)}.hardcover-card.active-cover .hardcover-art{outline:2px solid var(--gold);outline-offset:2px}.hardcover-meta{min-width:0;width:100%}.hardcover-meta-title{font-family:var(--font-serif);font-size:16px;font-weight:600;color:var(--ink-primary);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hardcover-meta-author{font-family:var(--font-serif);font-style:italic;font-size:13px;color:var(--ink-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hardcover-meta-date{font-size:11px;font-weight:600;color:var(--terracotta);margin-top:2px}@media(max-width:980px){.mobile-tab-btn{font-size:14px;padding:7px 8px}.currently-reading-card{flex-direction:column}}
