:root{--ink:#34251f;--muted:#8c7a6c;--paper:#f8f4ed;--paper-deep:#f0e9dd;--line:#e8dfd3;--sidebar:#30221c;--sidebar-muted:#bbaa9c;--terracotta:#a7563e;--terracotta-dark:#87432f;--sage:#7b8b70;--rose:#bb786b;--gold:#c49a58;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif;--shadow:0 12px 36px rgba(70,47,32,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(167,86,62,.35);outline-offset:2px}.app-shell{display:grid;grid-template-columns:254px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--sidebar);color:#f8f1e7;padding:29px 19px 20px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;padding:0 5px 38px}.brand-mark{width:41px;height:41px;border:1px solid rgba(224,185,130,.55);border-radius:50%;display:grid;place-items:center;color:#e1b981;font-family:var(--serif);font-size:25px;font-style:italic;line-height:1}.brand-words{display:flex;flex-direction:column;gap:1px}.brand-words strong{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:.1px}.brand-words small{color:#bfae9f;font-size:10px;letter-spacing:1.15px;text-transform:uppercase}.side-label,.eyebrow,.shelf-heading-kicker,.date-card small,.summary-label,.page-footer>span:first-child{font-size:9px;letter-spacing:1.55px;font-weight:700}.side-label{color:#aa9685;padding:0 11px 10px}.nav-list{display:grid;gap:4px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;border:0;border-radius:8px;background:transparent;color:#d7c9bc;text-align:left;padding:11px 12px;font-size:12px;transition:.18s}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item.active{background:#50362b;color:#fff4e8}.nav-icon{font-family:Georgia,serif;font-size:17px;color:#cda77e;width:16px;text-align:center}.nav-count{margin-left:auto;color:#b9a799;font-size:11px}.sidebar-note{margin:auto 5px 20px;padding:17px 16px 16px;border:1px solid rgba(225,193,150,.18);border-radius:9px;background:rgba(255,255,255,.025);position:relative}.note-sparkle{font-size:18px;color:#d0a975;margin-bottom:5px}.sidebar-note p{font-family:var(--serif);font-size:15px;line-height:1.45;color:#eee0cf;margin:0 0 13px}.sidebar-note span{font-size:8px;letter-spacing:1.15px;color:#ae9a86}.sidebar-bottom{padding:14px 7px 0;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:8px;color:#bead9d;font-size:10px}.privacy-dot{height:7px;width:7px;border-radius:50%;background:#a2b78b;box-shadow:0 0 0 3px rgba(162,183,139,.12);flex:none}.text-button{border:0;background:none;color:#e1bb8f;text-decoration:underline;text-underline-offset:3px;font-size:10px;margin-left:auto;padding:4px 0}.main-area{min-width:0}.topbar{height:82px;border-bottom:1px solid var(--line);padding:0 clamp(25px,4.6vw,68px);display:flex;justify-content:space-between;align-items:center;background:rgba(250,247,241,.92);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.breadcrumb{display:flex;gap:9px;align-items:center;color:#9b887a;font-size:9px;letter-spacing:1.45px;font-weight:600}.breadcrumb strong{color:#665247;font-size:9px}.breadcrumb-slash{color:#c7b7a8}.top-actions{display:flex;gap:12px;align-items:center}.search-box{display:flex;align-items:center;gap:9px;width:min(270px,28vw);border:1px solid var(--line);border-radius:7px;background:#fffdf9;height:38px;padding:0 10px}.search-icon{font-size:21px;color:#a68e7d;line-height:1}.search-box input{border:0;outline:0;background:transparent;min-width:0;width:100%;font-size:11px;color:var(--ink)}.search-box input::placeholder{color:#b5a698}.search-box:focus-within{border-color:#bc9274;box-shadow:0 0 0 3px rgba(167,86,62,.09)}.search-box kbd{border:1px solid #e9dfd3;background:#f7f1e8;color:#9c8b7b;padding:1px 5px;border-radius:4px;font-size:9px;white-space:nowrap}.button{border:1px solid transparent;border-radius:6px;padding:10px 15px;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,transform .15s;white-space:nowrap}.button:active{transform:translateY(1px)}.button-primary{background:var(--terracotta);color:white;box-shadow:0 3px 8px rgba(135,67,47,.12)}.button-primary:hover{background:var(--terracotta-dark)}.button-soft{border-color:#e4d8c9;color:#765749;background:#fffaf2}.button-soft:hover{background:#f3e9dc}.add-book-top{padding:10px 14px}.add-book-top span{font-size:16px;line-height:10px}.content-wrap{max-width:1360px;margin:0 auto;padding:36px clamp(25px,4.6vw,68px) 22px}.welcome-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px}.eyebrow{display:flex;align-items:center;gap:9px;color:#9a755d}.eyebrow-line{display:inline-block;width:18px;height:1px;background:#bb8d69}.welcome-row h1{font:600 clamp(34px,3.7vw,48px)/1.12 var(--serif);letter-spacing:-1.3px;margin:10px 0 7px;color:#3d2b23}.title-period{color:#b86c4e}.welcome-copy{font-size:12px;color:#927e6f;margin:0}.date-card{display:flex;align-items:center;gap:10px;background:#f0e8dc;border:1px solid #e8ddcf;border-radius:7px;padding:11px 15px 11px 12px;margin-bottom:4px}.date-icon{font-size:20px;color:#b88453}.date-card div{display:grid;gap:2px}.date-card small{color:#a48b72;font-size:8px}.date-card strong{font:500 13px var(--serif);color:#685348}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:39px}.summary-card{position:relative;overflow:hidden;min-height:117px;border:1px solid #e9e0d5;border-radius:8px;background:rgba(255,253,249,.85);padding:16px 18px 13px;box-shadow:0 3px 9px rgba(69,44,26,.025)}.summary-total{background:#f2e9dd;border-color:#e9dccd}.summary-label{font-size:8px;color:#947e6c;display:flex;align-items:center;gap:7px}.summary-icon{font-size:15px;color:#b68551}.icon-rose{color:#bf8073}.icon-green{color:#778a6c}.summary-value{font:600 28px/1.1 var(--serif);margin-top:7px;color:#47342a}.summary-foot{font-size:10px;color:#9a887a;margin-top:3px}.summary-decoration{position:absolute;right:20px;bottom:8px;color:#d4b894;font-size:42px;font-family:Georgia;transform:rotate(-15deg)}.summary-mini-line{height:3px;width:41px;background:#eee5da;position:absolute;right:19px;bottom:21px;border-radius:4px}.summary-mini-line span{display:block;width:0;height:100%;background:#bf8073;border-radius:4px;transition:width .3s}.mini-stars{position:absolute;right:17px;bottom:13px;color:#c6a778;font-size:9px;letter-spacing:3px}.shelf-section{min-height:320px}.shelf-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:13px}.shelf-heading-kicker{color:#a28d7a;font-size:8px;margin-bottom:4px}.shelf-heading h2{font:600 22px/1.2 var(--serif);margin:0;color:#413026;letter-spacing:-.25px}.heading-count{font:500 10px var(--sans);color:#a58e7d;vertical-align:middle;margin-left:5px}.shelf-controls{display:flex;gap:6px;align-items:center}.sort-select-wrap select{appearance:none;border:0;background:transparent;color:#8a7869;font-size:10px;padding:7px 20px 7px 8px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#a5907d 50%),linear-gradient(135deg,#a5907d 50%,transparent 50%);background-position:calc(100% - 9px) 11px,calc(100% - 5px) 11px;background-size:4px 4px;background-repeat:no-repeat}.view-toggle{height:29px;width:29px;border:1px solid transparent;border-radius:5px;background:transparent;color:#9a8776;font-size:15px}.view-toggle.active{background:#eee5d9;color:#795945;border-color:#e7dccd}.filter-pills{display:flex;gap:7px;overflow:auto;padding:0 0 17px;scrollbar-width:none}.filter-pills::-webkit-scrollbar{display:none}.filter-pill{border:1px solid #e9e0d6;border-radius:20px;padding:6px 11px;background:#fffdf9;color:#907d6e;font-size:10px;white-space:nowrap;transition:.15s}.filter-pill span{margin-left:5px;color:#b3a293;font-size:9px}.filter-pill.active{background:#f0e6da;border-color:#e4d4c2;color:#714f3b}.filter-pill.active span{color:#a47558}.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 16px}.book-grid.list-view{grid-template-columns:1fr;gap:9px}.book-card{min-width:0;border-radius:8px;border:1px solid #ece3d8;background:#fffdf9;padding:10px;box-shadow:0 3px 10px rgba(72,48,31,.025);transition:transform .18s,box-shadow .18s;position:relative}.book-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.cover-wrap{height:190px;display:flex;justify-content:center;align-items:center;background:#f2ece3;border-radius:5px;overflow:hidden;position:relative}.book-cover{height:170px;width:116px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:17px 11px;text-align:center;box-shadow:5px 6px 12px rgba(40,25,17,.18);isolation:isolate}.book-cover:before,.book-cover:after{content:"";position:absolute;z-index:-1}.book-cover:before{inset:8px;border:1px solid rgba(250,240,217,.35)}.book-cover:after{width:87px;height:87px;border:1px solid rgba(255,245,223,.18);border-radius:50%;top:25px;left:14px}.cover-terra{background:linear-gradient(145deg,#b3654b,#79392f);color:#f8e4c2}.cover-sage{background:linear-gradient(145deg,#8b9a79,#576750);color:#f2e6c9}.cover-night{background:linear-gradient(145deg,#52516e,#2c354f);color:#f4e8c9}.cover-ochre{background:linear-gradient(145deg,#c59652,#8e5d37);color:#fff0ca}.cover-rose{background:linear-gradient(145deg,#c78b84,#905e61);color:#fff0dc}.cover-blue{background:linear-gradient(145deg,#7497a1,#42646d);color:#f3ead1}.cover-ribbon{font-size:6px;letter-spacing:1.7px;opacity:.88;text-transform:uppercase;margin-bottom:21px}.cover-title{font:600 16px/1.17 var(--serif);max-width:100%;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.cover-author{font-size:7px;letter-spacing:.7px;margin-top:10px;opacity:.82;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cover-orbit{position:absolute;border:1px solid currentColor;opacity:.45;width:45px;height:45px;border-radius:50%;bottom:-21px;right:-8px}.cover-format{position:absolute;top:8px;left:8px;z-index:2;background:rgba(255,252,244,.86);color:#735843;border-radius:3px;padding:3px 5px;font-size:7px;font-weight:700;letter-spacing:.55px}.cover-corner{position:absolute;right:8px;bottom:9px;font-size:10px;opacity:.8}.book-info{padding:10px 2px 2px}.book-info-top{display:flex;gap:8px;justify-content:space-between;align-items:flex-start}.book-title{font:600 14px/1.28 var(--serif);margin:0;color:#49362b;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:36px}.card-menu{height:22px;width:22px;border:0;border-radius:50%;background:transparent;color:#a89583;flex:none;font-size:17px;line-height:1}.card-menu:hover{background:#f1e9de;color:#654939}.book-author{font-size:10px;color:#9b897a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px;min-height:15px}.book-meta-row{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:10px}.status-badge,.format-badge{border-radius:20px;padding:4px 7px;font-size:8px;letter-spacing:.1px;white-space:nowrap}.status-badge.status-reading{background:#f5e3db;color:#a65d4b}.status-badge.status-to-read{background:#f2ebdc;color:#9d7747}.status-badge.status-finished{background:#e8eee4;color:#718367}.status-badge.status-link{background:#e6edf0;color:#66818a}.format-badge{color:#a59281;background:#f6f2eb;font-weight:600}.book-progress{margin-top:10px}.book-progress-line{height:3px;background:#efe8de;border-radius:3px;overflow:hidden}.book-progress-line span{height:100%;background:#b8735d;display:block;border-radius:3px}.book-progress-caption{display:flex;justify-content:space-between;color:#a28f7e;font-size:8px;margin-top:5px}.card-open{width:100%;border:0;background:transparent;color:#9e674f;font-size:9px;text-align:left;padding:8px 1px 0;margin-top:2px}.card-open:hover{color:var(--terracotta-dark);text-decoration:underline;text-underline-offset:3px}.book-grid.list-view .book-card{display:grid;grid-template-columns:79px minmax(0,1fr) auto;gap:13px;align-items:center;padding:9px 13px}.book-grid.list-view .cover-wrap{height:91px;width:68px}.book-grid.list-view .book-cover{height:80px;width:54px;padding:7px 5px}.book-grid.list-view .cover-title{font-size:8px}.book-grid.list-view .cover-ribbon,.book-grid.list-view .cover-author,.book-grid.list-view .cover-orbit,.book-grid.list-view .cover-corner{display:none}.book-grid.list-view .cover-format{top:4px;left:4px;font-size:6px;padding:2px 3px}.book-grid.list-view .book-info{padding:2px}.book-grid.list-view .book-title{min-height:0;-webkit-line-clamp:1}.book-grid.list-view .book-meta-row{justify-content:flex-start;margin-top:6px}.book-grid.list-view .book-progress{max-width:240px;margin-top:6px}.book-grid.list-view .card-open{width:auto;margin:0;padding:9px 13px;border:1px solid #e9ded1;border-radius:5px}.empty-state{min-height:352px;border:1px dashed #dfd1c0;border-radius:9px;background:linear-gradient(135deg,rgba(246,239,228,.62),rgba(255,253,249,.66));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px}.empty-illustration{width:170px;height:88px;position:relative;margin-bottom:8px}.empty-book{position:absolute;bottom:9px;width:34px;height:58px;border-radius:4px 6px 5px 4px;box-shadow:4px 5px 8px rgba(72,45,29,.12);border-left:5px solid rgba(255,255,255,.3)}.empty-book-one{left:40px;background:#a95a43;transform:rotate(-9deg)}.empty-book-two{left:69px;height:70px;background:#75856d;transform:rotate(1deg)}.empty-book-three{left:98px;background:#c49a58;transform:rotate(8deg)}.empty-sun{position:absolute;left:21px;top:3px;color:#be9863;font-size:27px}.empty-state .eyebrow{justify-content:center;font-size:8px}.empty-state h3{font:600 24px/1.2 var(--serif);color:#46342a;margin:10px 0 6px}.empty-state p{max-width:360px;margin:0;color:#958272;font-size:11px}.empty-actions{display:flex;gap:8px;margin-top:18px}.empty-actions .button{font-size:10px}.page-footer{display:flex;justify-content:space-between;color:#b09d8d;font-size:9px;margin-top:46px;padding-top:13px;border-top:1px solid #eee5db}.page-footer>span:first-child{font-size:8px}.page-footer b{color:#bf8c68;font-weight:400}.mobile-nav{display:none}

.dialog{border:1px solid #eadfd1;border-radius:12px;padding:0;background:#fbf8f2;color:var(--ink);box-shadow:0 22px 80px rgba(48,32,22,.25);max-height:min(90vh,820px);overflow:auto}.dialog::backdrop{background:rgba(37,26,20,.52);backdrop-filter:blur(3px)}.entry-dialog{width:min(560px,calc(100vw - 28px))}.dialog-form{padding:25px 28px 22px}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:17px}.dialog-header h2{font:600 27px/1.1 var(--serif);margin:8px 0 0;letter-spacing:-.4px}.close-button{width:30px;height:30px;border:0;background:transparent;color:#9f8b7a;border-radius:50%;font-size:24px;line-height:1}.close-button:hover{background:#f0e7dc}.entry-tabs{display:flex;gap:4px;padding:3px;background:#f1e9dd;border-radius:7px;margin-bottom:17px}.entry-tab{width:50%;border:0;background:transparent;border-radius:5px;padding:8px;color:#927b68;font-size:10px;font-weight:600}.entry-tab.active{background:#fffaf3;color:#704b38;box-shadow:0 1px 4px rgba(64,41,25,.1)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 12px}.form-field{display:flex;flex-direction:column;gap:6px;min-width:0}.form-field>span,.progress-label-row{color:#755c4c;font-size:10px;font-weight:600}.form-field b{color:#b76149}.field-full{grid-column:1/-1}.optional-label{margin-left:5px;color:#ad9a87;font-size:8px;letter-spacing:.7px}.form-field input:not([type=file]),.form-field select,.form-field textarea{width:100%;border:1px solid #e5dacd;border-radius:5px;background:#fffdf9;padding:9px 10px;color:#4c392e;font-size:11px;outline:none}.form-field textarea{resize:vertical;min-height:61px}.form-field input::placeholder,.form-field textarea::placeholder{color:#b8a796}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#bb8a6a;box-shadow:0 0 0 3px rgba(167,86,62,.08)}.form-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#a5907d 50%),linear-gradient(135deg,#a5907d 50%,transparent 50%);background-position:calc(100% - 13px) 14px,calc(100% - 9px) 14px;background-size:4px 4px;background-repeat:no-repeat}.file-drop{display:flex;align-items:center;gap:10px;border:1px dashed #dac9b5;border-radius:6px;background:#fffaf3;padding:10px 11px;cursor:pointer}.file-drop:hover{border-color:#b68564;background:#faf0e3}.file-drop-icon{width:28px;height:28px;border:1px solid #e5d7c5;border-radius:50%;display:grid;place-items:center;color:#a86f50;font-size:17px}.file-drop-text{display:flex;flex-direction:column;gap:1px}.file-drop-text strong{font-size:10px;color:#795a46;font-weight:600}.file-drop-text small{font-size:9px;color:#a18d7b}.file-drop input{position:absolute;width:1px;height:1px;opacity:0}.progress-label-row{display:flex;justify-content:space-between}.progress-label-row span:last-child{color:#a86b54}.page-fields{display:flex;align-items:center;gap:8px;color:#a38f7e;font-size:10px}.page-fields input{max-width:105px}.page-help{font-size:9px;margin-left:auto;color:#af9d8d}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #eee5db;margin-top:20px;padding-top:15px}.dialog-actions .button{font-size:10px}.detail-dialog{width:min(610px,calc(100vw - 28px));padding:0}.detail-body{padding:26px}.detail-header{display:flex;justify-content:space-between;align-items:flex-start}.detail-title{font:600 29px/1.15 var(--serif);margin:6px 0 4px;color:#3e2d23}.detail-author{font-size:12px;color:#917d6d}.detail-cover-row{display:grid;grid-template-columns:112px 1fr;gap:21px;align-items:center;padding:13px 0 18px;border-bottom:1px solid #eee4d8}.detail-cover-row .cover-wrap{height:157px}.detail-cover-row .book-cover{height:135px;width:93px}.detail-meta{display:grid;gap:11px}.detail-meta-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #f0e9df;padding-bottom:8px;font-size:10px}.detail-meta-line span:first-child{color:#a18d7a}.detail-meta-line strong{font-weight:600;color:#614a3a;text-align:right}.detail-section{padding-top:16px}.detail-section-title{font-size:9px;font-weight:700;letter-spacing:1px;color:#a28a74;margin-bottom:9px}.detail-progress-inputs{display:flex;align-items:center;gap:8px}.detail-progress-inputs input,.detail-progress-inputs select{border:1px solid #e4d9cc;border-radius:5px;background:#fffdf9;padding:8px;color:#4c392e;font-size:10px}.detail-progress-inputs input{width:92px}.detail-progress-inputs select{flex:1}.detail-notes{font:italic 13px/1.55 var(--serif);color:#796454;background:#f4eee5;border-radius:6px;padding:12px 14px;white-space:pre-wrap}.detail-url{font-size:11px;color:#9a5f47;word-break:break-all}.detail-actions{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:20px;padding-top:14px;border-top:1px solid #eee4d8}.detail-actions-right{display:flex;gap:7px}.danger-button{border:1px solid #eddbd5;color:#ac5d50;background:#fff8f5;border-radius:5px;font-size:10px;padding:9px 11px}.danger-button:hover{background:#f9e7e2}.backup-dialog{width:min(560px,calc(100vw - 28px));padding:25px 28px 21px}.backup-dialog .dialog-header{margin-bottom:10px}.backup-intro{font-size:11px;color:#907d6d;line-height:1.6;margin:0 0 18px;max-width:460px}.backup-action-card{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #eee4d8}.backup-action-icon{height:31px;width:31px;border-radius:50%;display:grid;place-items:center;background:#f2e3d8;color:#aa6651;font-size:16px}.backup-upload{background:#e8ede4;color:#788b6f}.backup-action-card strong{font:600 14px var(--serif);color:#594337}.backup-action-card p{font-size:9px;color:#a18e7d;margin:3px 0 0;line-height:1.4}.backup-action-card .button{font-size:9px;padding:8px 12px}.restore-label{position:relative;overflow:hidden}.restore-label input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.backup-private{display:flex;align-items:center;gap:9px;border-radius:5px;background:#f1eee5;color:#988a78;font-size:9px;padding:10px 12px;margin-top:9px}.toast{position:fixed;right:24px;bottom:24px;z-index:20;background:#3d2b23;color:#fff8ef;padding:11px 15px;border-radius:7px;box-shadow:0 8px 25px rgba(41,28,21,.2);font-size:11px;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:1100px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding-left:14px;padding-right:14px}.book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.content-wrap{padding-left:30px;padding-right:30px}.topbar{padding-left:30px;padding-right:30px}.summary-card{padding-left:14px}.date-card{display:none}}
@media(max-width:760px){.app-shell{display:block;padding-bottom:65px}.sidebar{display:none}.main-area{min-height:100vh}.topbar{height:62px;padding:0 17px}.breadcrumb{font-size:8px;gap:6px}.breadcrumb strong{font-size:8px}.search-box{width:36px;border:0;background:transparent;padding:0 8px;gap:0}.search-box:focus-within{position:absolute;left:12px;right:125px;width:auto;background:#fffdf9;border:1px solid var(--line);z-index:2}.search-box input{width:0;opacity:0}.search-box:focus-within input{width:100%;opacity:1}.search-box kbd{display:none}.search-icon{font-size:22px}.top-actions{gap:6px}.add-book-top{font-size:9px;padding:8px 10px}.content-wrap{padding:28px 17px 18px}.welcome-row{margin-bottom:20px}.welcome-row h1{font-size:35px}.welcome-copy{font-size:10px;max-width:250px}.summary-grid{gap:7px;margin-bottom:30px}.summary-card{padding:11px 10px;min-height:99px}.summary-label{font-size:7px;letter-spacing:.8px}.summary-icon{font-size:12px}.summary-value{font-size:25px;margin-top:6px}.summary-foot{font-size:8px;line-height:1.35}.summary-decoration{right:5px;font-size:27px}.summary-mini-line{right:9px;bottom:17px;width:28px}.mini-stars{right:6px;bottom:10px;font-size:7px;letter-spacing:1px}.shelf-heading{align-items:center}.shelf-heading h2{font-size:20px}.shelf-controls{gap:0}.sort-select-wrap select{font-size:9px;padding-left:2px}.view-toggle{display:none}.filter-pills{margin-right:-17px;padding-right:17px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.book-card{padding:7px}.cover-wrap{height:153px}.book-cover{height:137px;width:94px}.cover-title{font-size:13px}.cover-ribbon{margin-bottom:17px}.book-title{font-size:12px;min-height:31px}.book-author{font-size:9px}.book-meta-row{margin-top:8px}.status-badge,.format-badge{font-size:7px;padding:4px 6px}.book-grid.list-view .book-card{grid-template-columns:57px minmax(0,1fr);gap:9px;padding:8px}.book-grid.list-view .cover-wrap{height:76px;width:54px}.book-grid.list-view .book-cover{height:66px;width:45px}.book-grid.list-view .book-title{font-size:12px}.book-grid.list-view .card-open{grid-column:2;justify-self:start;padding:6px 8px}.empty-state{min-height:330px;padding:18px}.empty-state h3{font-size:22px}.empty-state p{font-size:10px}.empty-actions{flex-direction:column}.page-footer{font-size:8px;margin-top:30px}.page-footer span:last-child{max-width:160px;text-align:right}.mobile-nav{height:63px;position:fixed;bottom:0;left:0;right:0;z-index:8;display:flex;justify-content:space-around;align-items:center;background:rgba(250,247,241,.97);border-top:1px solid #e6dbcf;backdrop-filter:blur(12px);padding-bottom:env(safe-area-inset-bottom)}.mobile-nav-item{width:20%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:transparent;color:#9f8d7e;font-size:8px}.mobile-nav-item span{font-size:17px;line-height:1;color:#9a806b}.mobile-nav-item.active{color:#9d5942;font-weight:600}.mobile-nav-item.active span{color:#a95840}.dialog-form{padding:21px 19px 18px}.form-grid{gap:11px 9px}.form-field input:not([type=file]),.form-field select,.form-field textarea{font-size:10px;padding:9px}.detail-body{padding:21px}.detail-title{font-size:24px}.backup-dialog{padding:21px 19px}.backup-action-card{grid-template-columns:30px 1fr;gap:9px}.backup-action-card>button,.backup-action-card>.restore-label{grid-column:2;justify-self:start}.backup-action-card .button{padding:7px 10px}.toast{left:14px;right:14px;bottom:76px;text-align:center}}
@media(max-width:390px){.welcome-row h1{font-size:31px}.summary-label{letter-spacing:.4px}.summary-value{font-size:22px}.summary-card{padding-left:8px;padding-right:8px}.filter-pill{padding:6px 9px}.book-grid{gap:8px}.cover-wrap{height:140px}.book-cover{height:126px;width:87px}.book-meta-row{gap:3px}.status-badge,.format-badge{padding:4px 5px}.detail-cover-row{grid-template-columns:90px 1fr;gap:14px}.detail-cover-row .cover-wrap{height:137px}.detail-cover-row .book-cover{height:118px;width:81px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
[hidden]{display:none!important}

.about-room{margin-top:52px;padding:34px 0 14px;border-top:1px solid var(--line);max-width:980px;color:var(--ink)}
.about-room h2{font:500 clamp(25px,3vw,34px)/1.2 var(--serif);letter-spacing:-.55px;margin:12px 0 12px;color:#49352c}
.about-lede{max-width:760px;color:#75665a;font-size:14px;line-height:1.8;margin:0 0 24px}
.about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.about-card{padding:19px 18px;border:1px solid var(--line);border-radius:9px;background:rgba(255,253,249,.7)}
.about-card h3,.about-faq h3{font:600 16px/1.35 var(--serif);color:#68493a;margin:0 0 8px}
.about-card p,.about-faq details p{font-size:12px;line-height:1.75;color:#796a5e;margin:0}
.about-faq{margin-top:29px;max-width:760px}
.about-faq h3{font-size:18px;margin-bottom:10px}
.about-faq details{border-top:1px solid var(--line);padding:13px 2px}
.about-faq details:last-child{border-bottom:1px solid var(--line)}
.about-faq summary{cursor:pointer;color:#513b30;font-family:var(--serif);font-size:15px;font-weight:600}
.about-faq details p{padding:8px 20px 0 0}
.page-footer a{color:inherit;text-underline-offset:3px}
@media(max-width:760px){.about-room{margin-top:37px;padding-top:27px}.about-grid{grid-template-columns:1fr;gap:9px}.about-card{padding:15px}.about-card h3{font-size:15px}.about-lede{font-size:12px}}
