@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:var(--ink);background:var(--page,#faf8f4);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--plum:#65477b;--ink:#302b35;--muted:#746d79;--line:#e9e3e9;--surface:#fffefb;--lavender:#f0e9f4}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button,a,summary,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--plum)}button{color:inherit}a{color:var(--plum)}svg{flex-shrink:0}h1,h2,h3,p{margin:0}button{border:0}input,select,textarea{min-width:0}input,textarea{width:100%}a,button,summary{touch-action:manipulation}.site-header{border-bottom:1px solid var(--line);background:var(--theme-surface,#fffdfa)}.header-inner{max-width:1120px;padding:24px 38px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font:26px "DM Serif Display",Georgia,serif;white-space:nowrap}.brand em{font-style:italic;color:var(--plum)}.brand-icon{display:grid;place-items:center;background:var(--lavender);color:var(--plum);width:45px;height:45px;border-radius:14px}.brand-subtitle{display:block;font:9px DM Sans,sans-serif;letter-spacing:2px;margin-top:4px;color:var(--text-soft,#8b7e92)}.header-actions{display:flex;gap:8px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border-radius:11px;padding:12px 18px;font-weight:500;font-size:14px;text-decoration:none;transition:background .15s,transform .15s}.primary-button{background:var(--button-bg,var(--plum));color:var(--on-accent,#fff);box-shadow:0 3px 8px #65477b17}.primary-button:hover:not(:disabled){background:var(--button-hover,#513564);transform:translateY(-1px)}.secondary-button{background:var(--theme-surface,#fffdfa);border:1px solid var(--theme-line,#e2d9e7);color:var(--accent-ink,#5e466f)}.secondary-button:hover:not(:disabled){background:var(--lavender)}.preview-button{background:transparent;font-size:13px}.main-content{max-width:1120px;margin:auto;padding:24px 38px 36px}.demo-notice{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--text-soft,#716779);font-size:11px;line-height:1.6}.demo-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-dot,#9f86b3)}.notice-divider{color:var(--text-soft,#b6a9bf);margin:0 2px}.hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:42px 0 32px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:var(--accent-ink,#927ba1);margin-bottom:12px}.hero h1{font:clamp(36px,5vw,52px)/1.1 "DM Serif Display",Georgia,serif;letter-spacing:-1.5px}.hero-dot{color:var(--text-soft,#a98bb8)}.hero-description{font-size:14px;line-height:1.8;color:var(--muted);max-width:510px;margin-top:15px}.add-button{flex-shrink:0}.shelf-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin:0 0 23px}.shelf-tabs button{display:flex;align-items:center;gap:8px;background:transparent;border-bottom:2px solid transparent;margin-bottom:-1px;padding:15px 0;font-size:14px;color:var(--muted);min-height:48px}.shelf-tabs button[aria-selected=true]{color:var(--plum);border-color:var(--plum);font-weight:600}.shelf-tabs button>span{font-size:11px;padding:3px 7px;border-radius:6px;background:var(--accent-soft,#f0ebf2);color:var(--text-soft,#776080)}.toolbar{display:flex;gap:12px;align-items:center}.search-field{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);padding:0 15px;border-radius:11px;flex:1;color:var(--text-soft,#9b8da4);min-height:48px}.search-field input{border:0;background:transparent;font-size:14px;color:var(--ink);padding:13px 0;outline-offset:1px}.search-field input:focus{outline:none}.search-field:focus-within{outline:2px solid var(--focus-ring,#bca6c8);outline-offset:2px}.search-field input::placeholder{color:var(--theme-ink,#9b929e)}.priority-filter{display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--muted);min-height:48px}.priority-filter select{border:0;background:transparent;color:var(--ink);font-size:13px;max-width:185px;min-height:44px;padding:0 3px}.save-feedback{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.7;color:var(--success-ink,#486451);min-height:15px;margin-top:12px}.save-feedback:empty{margin-top:0;min-height:0}.save-feedback:not(:empty){padding:9px 0}.results-heading{display:flex;justify-content:space-between;gap:10px;color:var(--text-soft,#8e8593);font-size:11px;padding:22px 0 15px}.sort-label{color:var(--label-ink,#a397ab)}.book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.book-card{position:relative;background:var(--surface);border:1px solid var(--theme-line,#e9e2e9);border-radius:16px;padding:24px 22px 0;display:grid;grid-template-columns:92px minmax(0,1fr);column-gap:22px;align-content:start;box-shadow:0 3px 8px #35223f03;min-width:0;transition:border-color .2s}.book-card:hover{border-color:var(--line-strong,#d4c5dc)}.book-cover{width:92px;height:140px;border-radius:3px 7px 7px 3px;border-left:5px solid #00000024;box-shadow:3px 4px 7px #302b3524,inset -1px 0 #ffffff25;background:#32483e;color:#f8edcf;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:13px 7px 10px;text-align:center;overflow:hidden;position:relative}.cover-0{background:linear-gradient(145deg,#304e47,#172e2c)}.cover-1{background:linear-gradient(145deg,#69536f,#3e304c)}.cover-2{background:linear-gradient(145deg,#a27057,#684638)}.cover-3{background:linear-gradient(145deg,#2f435b,#192c43)}.cover-author{font-size:7px;letter-spacing:1px;text-transform:uppercase;overflow:hidden;max-height:18px}.cover-title{font:14px/1.18 "DM Serif Display",Georgia,serif;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow-wrap:anywhere}.cover-ornament{opacity:.75;display:grid;place-items:center;position:relative}.cover-ornament:before,.cover-ornament:after{content:"";height:1px;width:16px;background:currentColor;opacity:.4;position:absolute;left:-21px}.cover-ornament:after{left:auto;right:-21px}.cover-line{width:22px;height:1px;background:currentColor;opacity:.4;margin-top:7px}.book-info{min-width:0}.book-meta{min-height:22px}.priority,.owned-badge{display:inline-flex;gap:6px;align-items:center;font-size:10px;line-height:1.6;font-weight:500;padding:3px 7px;border-radius:5px;background:#f1eaf5;color:#765287}.priority>span{width:4px;height:4px;border-radius:50%;background:currentColor}.priority-medium{background:#f6f0e4;color:#987a43}.priority-low,.priority-none{background:#f0efef;color:#848087}.owned-badge{background:#eaf0e9;color:#597259}.book-info h2{font:23px/1.18 "DM Serif Display",Georgia,serif;margin:9px 0 7px;overflow-wrap:anywhere;letter-spacing:-.3px}.book-author{color:var(--theme-muted,#847989);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.genre-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:13px}.genre-tags span{color:var(--tag-ink,#8b7c91);font-size:10px;border:1px solid var(--theme-line,#ece5ee);border-radius:4px;padding:3px 6px;overflow-wrap:anywhere}.book-edition{display:flex;gap:6px;flex-wrap:wrap;font-size:10px;color:var(--text-soft,#9a8ea1);margin-top:11px;line-height:1.7}.book-edition>span{color:var(--text-soft,#b8a9c0)}.book-details{grid-column:1/-1;border-top:1px solid var(--theme-line,#eee8ee);margin-top:20px;min-width:0}.book-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:45px;font-size:11px;color:var(--accent-ink,#897593);cursor:pointer}.book-details summary::-webkit-details-marker{display:none}.book-details[open] summary svg{transform:rotate(180deg)}.detail-content{padding:0 0 17px;font-size:12px;line-height:1.6}.detail-content dl{margin:0}.detail-content dl>div{display:flex;justify-content:space-between;gap:15px;padding:4px 0}.detail-content dt{color:var(--text-soft,#918298)}.detail-content dd{margin:0;text-align:right;overflow-wrap:anywhere;min-width:0}.book-note{background:var(--note-bg,#f6f1f7);border-radius:9px;padding:12px;margin-top:12px}.book-note>span{font-size:10px;color:var(--text-soft,#947e9f);text-transform:uppercase;letter-spacing:1px}.book-note p{margin-top:5px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--theme-muted,#67556f)}.purchase-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;overflow-wrap:anywhere}.card-actions{grid-column:1/-1;border-top:1px solid var(--theme-line,#f1ebf1);display:flex;justify-content:flex-end;padding:2px 0 5px}.text-button{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:6px 3px;font-size:11px;color:var(--accent-ink,#8b7995);background:transparent}.text-button:hover{color:var(--accent-ink,#4f335f)}.library-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:28px 0 8px;color:var(--text-soft,#aa9ab1);font-size:11px}.library-footer>span,.library-footer>div{display:flex;align-items:center;gap:7px}.library-footer>div{gap:19px}.single-tab-note{font-size:11px;color:var(--text-soft,#9b8fa3);line-height:1.7;margin-top:10px}.guest-notice{margin-top:20px;display:flex;gap:12px;padding:15px 18px;border-radius:12px;background:var(--accent-soft,#f0eaf4);color:var(--text-soft,#6f527f);font-size:12px;line-height:1.6}.guest-notice strong{font-weight:600}.guest-notice p{margin-top:3px;color:var(--text-soft,#8c739b)}.guest-footer{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--text-soft,#a18aaa);font-size:11px;margin-top:38px}.error-banner{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border:1px solid var(--theme-line,#eac9c2);background:var(--error-bg,#fff3ee);border-radius:10px;margin-top:16px;color:var(--error-ink,#8b483a);font-size:13px;line-height:1.6}.error-banner .text-button{color:var(--error-ink,#8b483a);text-decoration:underline}.error-banner>div{min-width:0}.empty-state{text-align:center;padding:50px 20px 60px}.empty-icon{display:grid;place-items:center;border-radius:50%;background:var(--lavender);width:70px;height:70px;color:var(--text-soft,#a38bb1);margin:0 auto 20px}.empty-state h2{font:26px "DM Serif Display",Georgia,serif}.empty-state p{color:var(--muted);font-size:13px;line-height:1.8;margin:12px auto 22px;max-width:340px}.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}.modal-backdrop{position:fixed;inset:0;z-index:10;background:#241a32aa;backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;padding:22px}.form-panel{width:100%;max-width:560px;max-height:calc(100dvh - 44px);overflow-y:auto;overscroll-behavior:contain;background:var(--theme-surface,#fffcf8);border-radius:20px;box-shadow:0 24px 100px #10051b44}.form-header{display:flex;justify-content:space-between;align-items:center;padding:24px 25px;border-bottom:1px solid var(--line);gap:10px}.form-heading{display:flex;gap:13px;align-items:center}.icon-tile{display:grid;place-items:center;width:43px;height:43px;background:var(--lavender);color:var(--plum);border-radius:12px}.form-heading .eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:5px}.form-heading h2{font:28px "DM Serif Display",Georgia,serif}.icon-button{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:transparent;color:var(--accent-ink,#9b89a4);flex-shrink:0}.icon-button:hover{background:var(--lavender)}.form-fields{padding:24px 25px 6px}.form-fields label{display:block;font-size:12px;font-weight:500;margin-bottom:16px;color:var(--label-ink,#66546f)}.form-fields input,.form-fields select,.form-fields textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--theme-line,#e4dce8);border-radius:9px;padding:12px;font-size:16px;color:var(--ink);background:var(--theme-surface,#fffefc);min-height:46px;outline-offset:2px}.form-fields input:focus,.form-fields select:focus,.form-fields textarea:focus{outline:2px solid var(--focus-ring,#baa2c6)}.form-fields input::placeholder,.form-fields textarea::placeholder{color:var(--theme-ink,#afa1b7);font-size:13px}.form-fields select{padding-right:5px}.form-fields textarea{resize:vertical;line-height:1.6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px;min-width:0}.form-row>label{min-width:0}.field-hint{font-size:10px;color:var(--text-soft,#9e8da6);margin:-8px 0 19px;line-height:1.5}.field-error{font-size:12px;color:var(--error-ink,#ad4e43);margin:-8px 0 18px}.form-fields [aria-invalid=true]{border-color:var(--theme-line,#b85348)}.form-footer{padding:18px 25px 24px;border-top:1px solid var(--line);background:var(--theme-surface,#fffcf8);display:flex;flex-direction:column;gap:15px}.form-footer-actions{display:flex;justify-content:flex-end;gap:10px}.delete-button{align-self:flex-start;background:transparent;color:var(--error-ink,#a77070);font-size:11px;display:flex;gap:7px;align-items:center;min-height:40px}.stale-notice{font-size:12px;line-height:1.7;background:var(--warning-bg,#f6eddf);color:var(--warning-ink,#8d7046);border-radius:9px;padding:13px;margin-bottom:16px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1000px){.book-card{grid-template-columns:105px minmax(0,1fr);padding:26px 25px 0;column-gap:24px}.book-cover{width:105px;height:155px}.cover-title{font-size:16px}.book-info h2{font-size:26px}.book-edition,.priority,.owned-badge,.genre-tags span{font-size:11px}.cover-author{font-size:8px}}@media(max-width:700px){.header-inner{padding:18px 20px}.brand{font-size:22px;gap:9px}.brand-icon{width:39px;height:39px;border-radius:12px}.brand-subtitle{font-size:7px;letter-spacing:1.4px}.preview-button{border:0;padding:10px;background:var(--accent-soft,#f0eaf4);min-width:43px}.preview-button span{display:none}.main-content{padding:18px 20px 26px}.demo-notice{font-size:10px;gap:6px}.demo-notice>span:last-child{flex-basis:100%;padding-left:12px}.notice-divider{display:none}.hero{display:block;padding:30px 0 25px}.hero h1{font-size:39px;letter-spacing:-1.1px}.eyebrow{font-size:9px;letter-spacing:1.8px}.hero-description{font-size:13px;line-height:1.8;max-width:340px;margin-top:13px}.add-button{margin-top:22px;min-height:45px;width:100%;font-size:14px}.shelf-tabs{gap:24px;margin-bottom:20px}.shelf-tabs button{font-size:13px;gap:7px;padding:12px 0}.toolbar{gap:8px}.search-field{padding:0 11px;gap:8px;min-width:0}.search-field input{font-size:16px}.search-field input::placeholder{font-size:12px}.priority-filter{padding:0 7px;gap:3px}.priority-filter>svg{display:none}.priority-filter select{font-size:11px;width:111px;padding:0}.book-grid{grid-template-columns:1fr;gap:15px}.book-card{padding:21px 18px 0;column-gap:19px;grid-template-columns:88px minmax(0,1fr)}.book-cover{width:88px;height:134px}.book-info h2{font-size:23px}.book-author{font-size:12px}.results-heading{font-size:10px;padding:19px 0 13px}.sort-label{font-size:9px}.book-details{margin-top:18px}.book-details summary{font-size:11px;min-height:44px}.card-actions .text-button{min-height:40px}.library-footer{align-items:flex-start;padding-top:25px;flex-direction:column;gap:11px}.library-footer>div{gap:22px}.library-footer .text-button{min-height:44px}.guest-notice{font-size:11px;padding:13px}.guest-notice p{line-height:1.7}.header-actions .secondary-button{font-size:11px;padding:10px}.modal-backdrop{padding:12px;align-items:center}.form-panel{max-height:calc(100dvh - 24px);border-radius:17px}.form-header{padding:19px 18px}.form-fields{padding:20px 18px 6px}.form-footer{padding:16px 18px 20px}.form-footer .primary-button{flex:1}.form-footer-actions{width:100%}.form-row{gap:10px}.form-fields select{font-size:14px}.form-heading h2{font-size:26px}}@media(max-width:350px){.header-inner,.main-content{padding:16px}.brand{font-size:20px}.brand-icon{width:34px;height:34px}.hero h1{font-size:34px}.book-card{padding:18px 15px 0;gap:14px;grid-template-columns:77px minmax(0,1fr)}.book-cover{width:77px;height:123px}.cover-title{font-size:13px}.book-info h2{font-size:21px}.genre-tags{gap:4px}.genre-tags span{font-size:9px;padding:2px 4px}.form-row{grid-template-columns:1fr}.shelf-tabs{gap:18px}.shelf-tabs button{font-size:12px}.sort-label{display:none}.priority-filter select{width:102px}.form-heading .eyebrow{font-size:7px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.results-section{margin-top:23px}.loading-label{font-size:12px;color:var(--muted);padding:12px 0}.card-top{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;margin:-10px -5px 13px 0}.card-top-actions{flex-shrink:0}.book-edit{padding:8px;min-height:44px;border-radius:8px}.book-edit:hover{background:var(--lavender)}.book-card{row-gap:0}.book-info h2{margin-top:0}.book-details{padding-bottom:3px}.owned-badge{font-weight:600;background:#e5efe5;color:#466d4b;padding:5px 8px}.view-toggle{display:flex;align-items:center;padding:4px;gap:3px;border:1px solid var(--line);border-radius:11px;background:var(--accent-soft,#f0ebf2);flex-shrink:0}.view-toggle button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 10px;border-radius:7px;background:transparent;color:var(--text-soft,#9784a1);font-size:11px}.view-toggle button[aria-pressed=true]{background:var(--surface);color:var(--plum);box-shadow:0 1px 4px #302b3510}@media(max-width:900px){.view-toggle button>span{display:none}.view-toggle button{padding:8px 10px}}@media(max-width:700px){.toolbar{flex-wrap:wrap;justify-content:space-between;gap:12px}.search-field{flex-basis:100%;flex-grow:1}.priority-filter{padding:0 10px;min-height:44px}.priority-filter>svg{display:block}.priority-filter select{width:132px;font-size:12px}.view-toggle{padding:3px}.view-toggle button{min-height:38px;padding:8px 10px;font-size:11px}.view-toggle button>span{display:inline}.results-section{margin-top:20px}.card-top{margin:-9px -3px 12px 0;min-height:42px}.book-card{row-gap:0}}@media(max-width:350px){.view-toggle button{padding:8px}.priority-filter{padding:0 6px;gap:4px}.priority-filter select{width:113px}}.book-card{align-items:start;padding-bottom:0}.book-info .card-top{margin:-9px -5px 7px 0;gap:6px;min-height:44px;grid-column:auto}.book-info .book-meta{min-width:0}.book-info .card-top .priority,.book-info .card-top .owned-badge{white-space:nowrap}.book-info .book-author{color:var(--theme-muted,#706077);font-size:13px;font-weight:500;line-height:1.6}.book-info .book-edit{padding:8px 6px;white-space:nowrap}.compact-book-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}.compact-book-list li+li{border-top:1px solid var(--line)}.compact-book-row{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:86px;padding:18px 20px;text-align:left;background:transparent}.compact-book-row:hover{background:var(--hover-bg,#f5f0f7)}.compact-book-row:focus-visible{outline:2px solid var(--plum);outline-offset:-3px}.compact-book-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.compact-book-title{font:19px/1.35 "DM Serif Display",Georgia,serif;color:var(--ink);overflow-wrap:anywhere}.compact-book-author{font-size:13px;line-height:1.5;color:var(--theme-muted,#74617e);overflow-wrap:anywhere}.compact-book-meta{display:flex;align-items:center;gap:12px;flex-shrink:0}.compact-book-meta .priority,.compact-book-meta .owned-badge{white-space:nowrap;font-size:11px}.compact-book-chevron{color:var(--accent-ink,#947da1)}@media(max-width:700px){.compact-book-row{padding:16px 14px;gap:12px;min-height:80px}.compact-book-title{font-size:17px}.compact-book-author{font-size:12px}.compact-book-meta{gap:7px}}@media(max-width:350px){.compact-book-row{padding:14px 10px;gap:8px}.compact-book-meta{gap:4px}.compact-book-meta .priority,.compact-book-meta .owned-badge{font-size:10px;padding:3px 5px}}.detail-dialog-header{padding:25px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.detail-dialog-header>div{min-width:0}.detail-dialog-header .eyebrow{margin-bottom:9px}.detail-dialog-header h2{font:30px/1.2 "DM Serif Display",Georgia,serif;overflow-wrap:anywhere}.detail-dialog-author{font-size:14px;color:var(--theme-muted,#75617f);line-height:1.7;margin-top:10px;overflow-wrap:anywhere}.detail-dialog-content{padding:22px 25px 10px}.detail-dialog-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.detail-dialog-meta .genre-tags{margin-top:0}.detail-dialog-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding:18px 25px 22px}.detail-dialog-footer .primary-button{flex-shrink:0}@media(max-width:700px){.book-card{padding-bottom:0}.book-info .card-top{margin:-9px -4px 6px 0}.book-info .book-author{font-size:13px}.detail-dialog-header{padding:22px 18px;gap:10px}.detail-dialog-header h2{font-size:27px}.detail-dialog-content{padding:20px 18px 8px}.detail-dialog-footer{padding:16px 18px 20px}}@media(max-width:350px){.book-info .card-top{gap:3px;margin-right:-7px}.book-info .book-edit{padding:8px 4px;gap:4px;font-size:10px}.book-info .card-top .priority,.book-info .card-top .owned-badge{padding:3px 5px;font-size:9px;gap:4px}}.author-label{color:var(--theme-muted,#8b7d94);font-weight:400}.genre-tags span{background:transparent;border-color:var(--theme-line,#ece5ee);color:var(--tag-ink,#8b7c91)}.detail-content .edition-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;margin:0 0 20px;padding:16px 0;border-top:1px solid var(--line)}.detail-content .edition-facts>div{display:block;padding:0;min-width:0;max-width:100%;flex:0 1 auto}.detail-content .edition-facts dt{font-size:11px;line-height:1.5;margin-bottom:6px}.detail-content .edition-facts dd{text-align:left;font-size:12px;line-height:1.6}.book-note{padding:16px 18px;margin-top:0;border-radius:10px}.book-note>span{font-size:10px;letter-spacing:1.4px}.book-note p{margin-top:8px;line-height:1.7}.purchase-link{color:var(--plum);font-weight:600;min-height:44px;text-underline-offset:4px;gap:8px;font-size:13px;margin-top:14px}.purchase-link svg{width:17px;height:17px}.purchase-link:hover{color:var(--text-soft,#493057)}.book-detail-dialog{max-width:560px;background:var(--surface)}.detail-dialog-header{position:relative;display:grid;grid-template-columns:100px minmax(0,1fr);align-items:stretch;gap:22px;padding:30px 51px 24px 27px;border:0}.detail-dialog-heading{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;min-height:150px}.detail-dialog-header .detail-dialog-cover{width:100px;height:auto;min-height:150px;align-self:stretch}.detail-dialog-header .eyebrow{margin:0;font-size:10px;letter-spacing:2px}.detail-dialog-header h2{font:30px/1.15 "DM Serif Display",Georgia,serif;letter-spacing:-.4px}.detail-dialog-author{font-size:13px;line-height:1.6;margin:0}.detail-dialog-priority{display:flex;align-items:center;min-width:0}.detail-dialog-priority .priority,.detail-dialog-priority .owned-badge{font-size:11px;line-height:1.5;padding:5px 8px}.detail-dialog-close{position:absolute;right:5px;top:8px}.detail-dialog-content{padding:0 27px 22px}.detail-dialog-content>.genre-tags{margin:0 0 23px}.detail-dialog-content .detail-content{padding:0;font-size:13px}.detail-dialog-content .edition-facts dd{font-size:13px}.detail-dialog-footer{padding:18px 27px 23px}.compact-book-copy{flex:1}.compact-book-row .list-book-cover{width:43px;height:65px;min-width:43px;padding:5px 3px;border-left-width:3px;box-shadow:2px 2px 4px #302b351f;flex-shrink:0}.list-book-cover .cover-author{font-size:4px;letter-spacing:.2px;max-height:9px}.list-book-cover .cover-title{font-size:8px;line-height:1.15;-webkit-line-clamp:3}.list-book-cover .cover-ornament svg{width:12px;height:12px}.list-book-cover .cover-ornament:before,.list-book-cover .cover-ornament:after{display:none}.list-book-cover .cover-line{width:12px;margin-top:2px}@media(max-width:700px){.detail-dialog-header{padding:28px 43px 23px 20px;grid-template-columns:86px minmax(0,1fr);gap:17px}.detail-dialog-header .detail-dialog-cover{width:86px;min-height:145px}.detail-dialog-heading{min-height:145px;gap:10px}.detail-dialog-header h2{font-size:27px}.detail-dialog-content{padding:0 20px 20px}.detail-dialog-footer{padding:17px 20px 21px}.detail-dialog-author{font-size:12px}.compact-book-row{gap:12px}}@media(max-width:350px){.detail-dialog-header{padding-left:16px;padding-right:38px;gap:13px;grid-template-columns:75px minmax(0,1fr)}.detail-dialog-header .detail-dialog-cover{width:75px}.detail-dialog-header h2{font-size:24px}.detail-dialog-header .cover-title{font-size:13px}.detail-dialog-header .cover-author{font-size:6px}.detail-dialog-content{padding-left:16px;padding-right:16px}.detail-content .edition-facts{gap:12px}.detail-content .edition-facts dt{font-size:10px}.detail-content .edition-facts dd{font-size:11px}.compact-book-row{gap:8px}.compact-book-row .list-book-cover{width:35px;min-width:35px;height:54px}.compact-book-title{font-size:16px}.compact-book-author{font-size:11px}}.detail-content .edition-facts>div:nth-child(2),.detail-content .edition-facts>div:nth-child(2) dd{text-align:center}.detail-content .edition-facts>div:last-child,.detail-content .edition-facts>div:last-child dd{text-align:right}.genre-tags span{background:var(--tag-bg,#f3f1ed);border-color:var(--theme-line,#e7e3dc);color:var(--tag-ink,#7c776e)}.book-details{border-top:0}.book-details summary{padding:0 12px;border:1px solid var(--theme-line,#e4dbe9);border-radius:8px;color:var(--accent-ink,#80668f);font-weight:500;gap:12px}.book-details summary:hover{border-color:var(--line-strong,#cab7d6);background:var(--hover-bg,#fcfafc)}.detail-content .edition-facts{border-bottom:1px solid var(--line)}.book-details .edition-facts{border-top:0;padding-top:20px;padding-bottom:20px}.purchase-link{display:flex;justify-content:center;align-items:center;width:100%;min-height:46px;padding:12px 16px;border-radius:9px;background:var(--button-bg,var(--plum));color:var(--on-accent,#fff);text-decoration:none;font-weight:500;margin:20px 0 10px;text-align:center;gap:8px}.purchase-link:hover{background:var(--button-hover,#513564);color:var(--on-accent,#fff)}.form-fields label{font-weight:600;color:var(--label-ink,#51405c)}.form-fields input,.form-fields select,.form-fields textarea{font-weight:400}.book-card{padding-bottom:24px}@media(min-width:1000px){.book-card{padding-bottom:26px}}@media(max-width:700px){.book-card{padding-bottom:21px}}@media(max-width:350px){.book-card{padding-bottom:18px}}.detail-content:not(.has-note) .edition-facts{border-bottom:0;margin-bottom:0}.tabbed-editor .form-header h2{font:29px/1.2 "DM Serif Display",Georgia,serif}.tabbed-editor .form-fields{padding:23px 24px 8px}.editor-tabs{display:flex;gap:5px;padding:5px;background:var(--accent-soft,#f0ebf2);border-radius:10px;margin-bottom:23px}.editor-tabs button{flex:1;min-height:42px;padding:9px 6px;border:0;border-radius:7px;background:transparent;color:var(--text-soft,#9784a1);font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:6px}.editor-tabs button[aria-selected=true]{background:var(--surface);color:var(--plum);box-shadow:0 1px 4px #302b3510}.tab-error-dot{width:5px;height:5px;border-radius:50%;background:var(--error-ink,#ad4e43)}.tabbed-editor .editor-panel{min-height:330px}.tabbed-editor .form-fields label{font-size:14px;font-weight:600;color:var(--label-ink,#51405c);margin-bottom:19px}.tabbed-editor .form-fields input,.tabbed-editor .form-fields select,.tabbed-editor .form-fields textarea{font-size:15px;font-weight:400;color:var(--theme-ink,#403847);background:var(--theme-surface,#fff);border-color:var(--theme-line,#ddd4e3);margin-top:8px;padding:11px 12px;min-height:46px}.tabbed-editor .form-fields .editor-ownership{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:500;color:var(--text-soft,#65536e);margin:0 0 18px}.tabbed-editor .form-fields .editor-ownership input{width:18px;height:18px;min-height:18px;flex-shrink:0;margin:0;padding:0;accent-color:var(--plum)}.editor-inline-help{display:none;font-size:11px;font-weight:400;line-height:1.6;color:var(--text-soft,#938699);margin-top:6px}.tabbed-editor label:focus-within+.editor-inline-help{display:block;margin-top:-11px;margin-bottom:16px}.tabbed-editor [hidden]{display:none!important}@media(max-width:700px){.tabbed-editor .form-fields{padding:21px 18px 8px}.tabbed-editor .form-fields input,.tabbed-editor .form-fields select,.tabbed-editor .form-fields textarea{font-size:16px}}@media(max-width:350px){.tabbed-editor .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}.book-card .book-details{padding-bottom:0}.book-card .book-details>.detail-content{padding-bottom:0}.book-card .book-details .purchase-link:last-child{margin-bottom:0}.detail-dialog-footer{justify-content:space-between}.tabbed-editor .form-footer-actions{justify-content:space-between;width:100%}.tabbed-editor .form-footer-actions>.primary-button{flex:0 0 auto}.toolbar .search-field{min-width:0}.genre-filter{display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--muted);min-height:48px;min-width:0}.genre-filter select{border:0;background:transparent;color:var(--ink);font-size:13px;width:140px;max-width:160px;min-height:44px;padding:0 3px;min-width:0}@media(max-width:700px){.toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.toolbar .search-field{grid-column:1/-1}.toolbar .priority-filter,.toolbar .genre-filter{min-width:0;padding:0 10px;gap:0;min-height:44px}.toolbar .priority-filter>svg,.toolbar .genre-filter>svg{display:none}.toolbar .priority-filter select,.toolbar .genre-filter select{width:100%;max-width:100%;min-width:0;font-size:12px}}.shelf-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);margin-bottom:23px}.shelf-navigation .shelf-tabs{border-bottom:0;margin:0;min-width:0;align-self:stretch}.shelf-navigation .view-toggle{margin:4px 0 8px auto;padding:3px;gap:2px;border-radius:10px}.shelf-navigation .view-toggle button{min-height:34px;padding:7px 9px}.shelf-navigation .view-toggle button>svg{width:15px;height:15px}@media(max-width:700px){.shelf-navigation{gap:12px;margin-bottom:20px}.shelf-navigation .shelf-tabs{gap:18px}.shelf-navigation .view-toggle button>span{display:none}.shelf-navigation .view-toggle button{width:34px;min-height:34px;padding:7px}}@media(max-width:380px){.shelf-navigation{gap:8px}.shelf-navigation .shelf-tabs{gap:12px}.shelf-navigation .shelf-tabs button{font-size:11px;gap:4px}.shelf-navigation .shelf-tabs button>svg{display:none}.shelf-navigation .shelf-tabs button>span{font-size:10px;padding:3px 5px}}:root[data-theme=sage]{--plum:#426651;--page:#f6f7f2;--ink:#29362e;--muted:#66736a;--line:#dfe5dc;--surface:#fffefb;--lavender:#e8eee4;--accent-soft:#e8eee4;--accent-ink:#52715c;--text-soft:#768273;--label-ink:#3e5746;--note-bg:#edf1e9;--hover-bg:#f0f3eb;--focus-ring:#8aa78c;--button-hover:#345340;--line-strong:#aebfac}:root[data-mode=dark]{--page:#201c25;--ink:#f0eaf3;--muted:#c2b6c9;--line:#443a4d;--surface:#2a2431;--plum:#c8a6df;--lavender:#3a2d46;--accent-soft:#3a2f43;--accent-ink:#cdb2df;--text-soft:#b3a4bf;--label-ink:#e3d3ed;--note-bg:#342b3c;--hover-bg:#352c3e;--focus-ring:#a68aba;--line-strong:#80668f;--button-bg:#79558f;--button-hover:#8c64a2;--on-accent:#fff;--tag-bg:#353236;--tag-ink:#c7c0b5;--error-bg:#452c2b;--error-ink:#eda99c;--warning-bg:#403527;--warning-ink:#e2c18d;--success-ink:#a5cdb0;color-scheme:dark}:root[data-mode=dark][data-theme=sage]{--page:#171f1c;--ink:#ecf0e8;--muted:#b5c3b8;--line:#35463b;--surface:#222d26;--plum:#a9c6a7;--lavender:#304437;--accent-soft:#2c3e32;--accent-ink:#b1cdb2;--text-soft:#a6b7a8;--label-ink:#d6e5d4;--note-bg:#2b392e;--hover-bg:#2d3d32;--focus-ring:#8fb293;--line-strong:#67846a;--button-bg:#3f7156;--button-hover:#4c8465}:root[data-mode=dark] .priority-high{background:#493455;color:#e2bdf4}:root[data-mode=dark] .priority-medium{background:#483a24;color:#f0ce8c}:root[data-mode=dark] .priority-low,:root[data-mode=dark] .priority-none{background:#3c3a3e;color:#c9c5cd}:root[data-mode=dark] .owned-badge{background:#2d4535;color:#b5d4b4}:root[data-mode=dark] select option{background:var(--surface);color:var(--ink)}.settings-button{width:44px;padding:10px;background:var(--lavender);border-color:transparent;color:var(--plum);flex-shrink:0}.appearance-panel{max-width:480px}.appearance-content{padding:24px}.appearance-content fieldset{border:0;margin:0;padding:0;min-width:0}.appearance-content fieldset+fieldset{margin-top:28px}.appearance-content legend{font-size:14px;font-weight:600;color:var(--label-ink,#51405c);margin-bottom:12px;padding:0}.appearance-content fieldset>p{font-size:11px;line-height:1.7;color:var(--muted);margin-top:10px}.appearance-modes,.appearance-themes{display:grid;gap:9px;grid-template-columns:repeat(3,minmax(0,1fr))}.appearance-themes{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-choice{position:relative;cursor:pointer;min-width:0}.appearance-choice>input{position:absolute;opacity:0;width:1px;height:1px}.appearance-choice>span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--muted);padding:15px 8px;font-size:12px;min-height:83px}.appearance-choice>input:checked+span{border-color:var(--plum);background:var(--lavender);color:var(--plum);box-shadow:inset 0 0 0 1px var(--plum)}.appearance-choice>input:focus-visible+span{outline:2px solid var(--plum);outline-offset:3px}.theme-swatch{display:flex;gap:0;width:61px;height:22px;border:1px solid #00000018;border-radius:6px;overflow:hidden}.theme-swatch i{flex:1;background:#65477b}.theme-swatch i:nth-child(2){background:#ddd0e7}.theme-swatch i:nth-child(3){background:#faf8f4}.swatch-sage i{background:#426651}.swatch-sage i:nth-child(2){background:#c8d5c1}.swatch-sage i:nth-child(3){background:#f6f7f2}.appearance-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.appearance-footer>span{color:var(--muted);font-size:11px;text-align:right}@media(max-width:700px){.header-inner{gap:10px}.header-actions{gap:6px}.appearance-content{padding:22px 18px}}@media(max-width:380px){.header-inner{padding-left:16px;padding-right:16px}.brand{font-size:20px;gap:7px}.brand-icon{width:32px;height:34px}.header-actions .secondary-button{width:38px;min-width:38px;padding:8px}.brand-subtitle{font-size:6px;letter-spacing:1px}}:root[data-theme=sage],:root[data-theme=blue],:root[data-theme=autumn],:root[data-mode=dark]{--theme-surface:var(--surface);--theme-ink:var(--ink);--theme-muted:var(--muted);--theme-line:var(--line);--accent-dot:var(--plum)}:root[data-theme=blue]{--plum:#436787;--page:#f5f7fa;--ink:#2b3543;--muted:#657185;--line:#dce3ec;--surface:#fffefb;--lavender:#e6edf5;--accent-soft:#e6edf5;--accent-ink:#4e6e91;--text-soft:#6c7b90;--label-ink:#3c526d;--note-bg:#edf1f7;--hover-bg:#edf2f8;--focus-ring:#8ca7c4;--button-hover:#34536e;--line-strong:#afc1d5}:root[data-mode=dark][data-theme=blue]{--page:#19212b;--ink:#eaf0f7;--muted:#b5c2d2;--line:#36465a;--surface:#232e3c;--plum:#a5c2e2;--lavender:#2e425a;--accent-soft:#2c3d53;--accent-ink:#b0cbe8;--text-soft:#a4b5ca;--label-ink:#d6e4f3;--note-bg:#2b394b;--hover-bg:#2d4055;--focus-ring:#8baed4;--line-strong:#6885a6;--button-bg:#416b95;--button-hover:#4e7eab}.swatch-blue i{background:#436787}.swatch-blue i:nth-child(2){background:#c5d5e7}.swatch-blue i:nth-child(3){background:#f5f7fa}:root[data-theme=sage] .priority-high{background:#e8efe4;color:#4f6e49}:root[data-theme=blue] .priority-high{background:#e7eff7;color:#476b91}:root[data-mode=dark][data-theme=sage] .priority-high{background:#344d3b;color:#c1ddba}:root[data-mode=dark][data-theme=blue] .priority-high{background:#2e4661;color:#b8d7f3}:root[data-theme=autumn]{--plum:#955534;--page:#fbf5eb;--ink:#403029;--muted:#7a6659;--line:#e9dac9;--surface:#fffcf6;--lavender:#f3e4d2;--accent-soft:#f3e4d2;--accent-ink:#905a3b;--text-soft:#8b705b;--label-ink:#69432d;--note-bg:#f7eadb;--hover-bg:#f9eee0;--focus-ring:#c79566;--button-hover:#774126;--line-strong:#c9a780}:root[data-mode=dark][data-theme=autumn]{--page:#261e19;--ink:#f4eadd;--muted:#cdbba7;--line:#514033;--surface:#33271f;--plum:#e3b383;--lavender:#4b3525;--accent-soft:#483224;--accent-ink:#e4bb92;--text-soft:#c4a78a;--label-ink:#f0d5b8;--note-bg:#3f3024;--hover-bg:#493426;--focus-ring:#b98e62;--line-strong:#926d4d;--button-bg:#9a5e38;--button-hover:#ac6c42}:root[data-theme=autumn] .priority-high{background:#f3e4d2;color:#925332}:root[data-mode=dark][data-theme=autumn] .priority-high{background:#573b26;color:#f0c18d}.swatch-autumn i{background:#955534}.swatch-autumn i:nth-child(2){background:#d9ad69}.swatch-autumn i:nth-child(3){background:#fbf5eb}:root[data-theme=autumn] .app-shell{position:relative;isolation:isolate;min-height:100dvh}:root[data-theme=autumn] .app-shell:before,:root[data-theme=autumn] .app-shell:after{content:"";position:fixed;top:0;bottom:0;width:150px;pointer-events:none;z-index:-1;background:url(/autumn-leaves.svg) left 160px/150px 680px repeat-y;opacity:.16}:root[data-theme=autumn] .app-shell:before{left:0}:root[data-theme=autumn] .app-shell:after{right:0;transform:scaleX(-1);background-position:left 360px;opacity:.12}:root[data-mode=dark][data-theme=autumn] .app-shell:before{opacity:.19}:root[data-mode=dark][data-theme=autumn] .app-shell:after{opacity:.15}@media(max-width:700px){:root[data-theme=autumn] .app-shell:before,:root[data-theme=autumn] .app-shell:after{width:48px;background-size:95px 560px;background-position:-47px 180px}:root[data-theme=autumn] .app-shell:after{background-position:-47px 390px}}.guest-shelf{align-self:stretch;display:flex;align-items:stretch;min-width:0}.guest-shelf-label{display:flex;align-items:center;gap:8px;min-height:48px;padding:15px 0;margin-bottom:-1px;border-bottom:2px solid var(--plum);color:var(--plum);font-size:14px;font-weight:600}.guest-shelf-label .shelf-count{font-size:11px;padding:3px 7px;border-radius:6px;background:var(--accent-soft,#f0ebf2);color:var(--accent-ink,#776080)}@media(max-width:700px){.guest-shelf-label{font-size:13px;gap:7px;padding:12px 0}:root[data-theme=autumn] .hero{position:relative;isolation:isolate}:root[data-theme=autumn] .hero:before{content:"";position:absolute;right:0;top:4px;width:70px;height:78px;background:url(/autumn-sprig.svg) center/contain no-repeat;opacity:.26;pointer-events:none;z-index:-1}:root[data-theme=autumn] .hero:after{content:"";position:absolute;left:-16px;top:109px;width:30px;height:39px;background:url(/autumn-sprig.svg) center/contain no-repeat;opacity:.18;transform:rotate(-42deg);pointer-events:none;z-index:-1}:root[data-mode=dark][data-theme=autumn] .hero:before{opacity:.34}:root[data-mode=dark][data-theme=autumn] .hero:after{opacity:.25}}.login-panel{max-width:440px;margin:12vh auto;padding:32px;border:1px solid var(--line);border-radius:24px;background:var(--surface);text-align:center}.login-panel h1{font-family:Georgia,serif}.login-panel .primary-button{display:inline-flex;text-decoration:none;margin:16px}.auth-recovery{max-width:700px;margin:16px auto;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}@media(max-width:600px){.login-panel{margin:12vh 20px}.header-actions:has(button:nth-child(3)){flex-wrap:wrap;justify-content:flex-end}}.import-panel{max-width:600px}.import-panel .form-fields{display:grid;gap:16px}.import-panel input[type=file]{max-width:100%}.import-summary{padding:16px;border:1px solid var(--line);border-radius:12px}
