*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#111114;color:#f4f4f5;font:15px/1.5 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",sans-serif}header,main{max-width:780px;margin:auto}header{padding:25px 18px 12px;display:flex;align-items:center;justify-content:space-between}h1{font-size:27px;margin:2px 0}h2{font-size:19px;margin:8px 0 13px}h3{font-size:16px;margin:4px 0 10px}small,.muted{font-size:12px;color:#a6a6af}main{padding:4px 15px 105px}.card{background:#1c1c21;border:1px solid #38383f;border-radius:17px;padding:16px;margin:12px 0}.row{display:flex;justify-content:space-between;align-items:center;gap:10px}.stack{display:grid;gap:9px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.flex{display:flex;flex-wrap:wrap;gap:8px}.flex>*{flex:1}.pill{font-size:11px;border:1px solid #5d5d67;border-radius:50px;padding:4px 9px;color:#d2d2d6}.ok{border-color:#a0a0a7;color:#fff}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #5a5a65;border-radius:10px;padding:10px 12px;background:#303037;color:#fff;touch-action:manipulation}button:active{transform:scale(.98)}button.primary{background:#f1f1f3;color:#121215;font-weight:700;border-color:#f1f1f3}button.small{padding:7px 10px;font-size:13px}button.ghost{background:transparent}button:disabled{opacity:.4;cursor:not-allowed}input,textarea,select{width:100%;background:#28282f;color:#fff;border:1px solid #565661;border-radius:10px;padding:11px;min-width:0}input[type=checkbox]{width:auto;accent-color:white}textarea{min-height:90px;resize:vertical}label{display:block;font-size:13px;margin:7px 0;color:#d4d4d8}nav{position:fixed;bottom:0;left:0;right:0;background:#1b1b20;border-top:1px solid #393940;display:flex;justify-content:center;padding:9px 5px calc(10px + env(safe-area-inset-bottom));z-index:5}nav button{border:0;background:transparent;color:#a7a7b1;font-size:12px;min-width:64px;flex:1;max-width:155px}nav button.active{color:white;background:#34343c}progress{width:100%;accent-color:#f3f3f5;height:12px}#toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:#efeff2;color:#17171a;border-radius:12px;padding:10px 16px;display:none;z-index:9;white-space:nowrap}.mutedblock{padding:10px;background:#26262c;border-radius:10px}.section{margin-top:24px}.habit{border-top:1px solid #38383e;padding:13px 0}.habit:first-child{border-top:0}.counter{display:flex;align-items:center;gap:7px}.counter input{width:95px;text-align:center}.counter button{padding:10px}.days{display:flex;gap:5px;flex-wrap:wrap}.days label{display:flex;align-items:center;gap:3px;background:#29292f;padding:7px;border-radius:8px;margin:0;font-size:12px}.listitem{border-top:1px solid #38383f;padding:13px 0}.listitem:first-child{border-top:0}.link{color:#ddd;text-decoration:underline}.bar{height:8px;border-radius:20px;background:#444;overflow:hidden}.bar>span{display:block;height:100%;background:#e4e4e7}pre{white-space:pre-wrap;word-break:break-word}#map{height:310px;width:100%;border-radius:13px;background:#24242a;overflow:hidden}#map .leaflet-container{background:#24242a} @media(min-width:700px){main{padding-left:24px;padding-right:24px}.grid{grid-template-columns:repeat(3,1fr)}}
/* POLARIS v1 home */
.polaris-hero{text-align:center;padding:30px 0 27px}.polaris-star{font-size:35px;line-height:1.4}.polaris-wordmark{font-size:29px;font-weight:650;letter-spacing:.23em;margin-left:.23em}.polaris-tagline{font-size:10px;letter-spacing:.18em;color:#9e9ea7;margin-top:4px}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.portal{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;padding:19px 16px;background:#242428;border:1px solid #37373d;border-radius:17px;min-width:0;min-height:165px}.portal strong{font-size:16px;letter-spacing:.07em}.portal small{font-size:11px;line-height:1.6;color:#a6a6af}.portal em{font-size:11px;color:#e5e5e9;font-style:normal;margin-top:auto;overflow-wrap:anywhere}.portal-icon{font-size:24px;line-height:1.2}.portal-arrow{position:absolute;right:14px;top:14px;color:#a9a9b0}.origin-portal{width:100%;min-height:unset;flex-direction:row;align-items:flex-start;gap:14px;margin:0 0 11px}.origin-portal>span:nth-child(2){display:flex;flex-direction:column;gap:6px;min-width:0}.origin-portal em{margin-top:3px}.home-note{text-align:center;color:#9999a2;font-size:12px;padding:24px 0 6px}@media(min-width:700px){.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* POLARIS 1.1 — editorial theme system */
:root,[data-theme="mist"]{--bg:#edf1f4;--surface:#f8fafb;--surface2:#e2e8ee;--ink:#34465b;--muted:#758596;--border:#d3dce5;--accent:#718ba5;--buttonText:#fff;color-scheme:light}
[data-theme="ivory"]{--bg:#f5f2e9;--surface:#fcfaf5;--surface2:#e9e3d7;--ink:#393b3b;--muted:#827b70;--border:#dcd5c9;--accent:#968976;--buttonText:#fff;color-scheme:light}
[data-theme="midnight"]{--bg:#1d252f;--surface:#273340;--surface2:#334355;--ink:#f0eee9;--muted:#a7b5c2;--border:#455365;--accent:#9db2c7;--buttonText:#1d252f;color-scheme:dark}
[data-theme="sage"]{--bg:#e9ede6;--surface:#f6f8f2;--surface2:#dce5d9;--ink:#39483e;--muted:#788b7b;--border:#cbd8ca;--accent:#829b86;--buttonText:#fff;color-scheme:light}
html{color-scheme:light}body{background:var(--bg);color:var(--ink);transition:background .2s,color .2s}small,.muted,label{color:var(--muted)}.card,.mutedblock{background:var(--surface);border-color:var(--border)}.card{box-shadow:none}button{background:var(--surface2);color:var(--ink);border-color:var(--border)}button.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}button.ghost{background:transparent}input,select,textarea{background:var(--surface);color:var(--ink);border-color:var(--border)}input[type=checkbox]{accent-color:var(--accent)}nav{background:var(--surface);border-color:var(--border)}nav button{color:var(--muted)}nav button.active{color:var(--ink);background:var(--surface2)}.pill{border-color:var(--border);color:var(--ink)}.ok{color:var(--ink);border-color:var(--accent)}.habit,.listitem{border-color:var(--border)}.days label{background:var(--surface2)}.bar{background:var(--surface2)}.bar>span{background:var(--accent)}progress{accent-color:var(--accent)}#toast{background:var(--ink);color:var(--bg)}#map{background:var(--surface2)}.link{color:var(--ink)}
header{padding-top:20px}header small{letter-spacing:.12em}#saveStatus{font-size:11px;color:var(--muted)}.home-editorial{padding:10px 0 32px}.home-kicker,.micro-label,.calendar-heading,.home-section-heading{font-size:10px;letter-spacing:.15em;font-weight:650}.home-kicker{display:flex;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:13px}.home-kicker span{color:var(--muted)}.home-month{font-family:Georgia,'Times New Roman',serif;font-size:clamp(43px,11vw,86px);letter-spacing:-.045em;line-height:1.1;font-weight:400;margin:24px 0 5px;display:flex;align-items:baseline;justify-content:space-between}.home-year{font:400 15px/1.2 -apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:0;color:var(--muted)}.home-intro{color:var(--muted);font-size:12px;margin-bottom:25px}.calendar-panel{padding:19px 17px 22px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.calendar-heading{display:flex;justify-content:space-between;color:var(--muted);margin-bottom:18px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px 3px;text-align:center}.cal-week{font-size:11px;color:var(--muted);padding:3px}.cal-day,.cal-empty{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:50%;font-size:13px;position:relative}.cal-day{background:var(--surface2)}.cal-day.is-today{background:var(--ink);color:var(--bg)}.cal-day.has-activity:not(.is-today):after{content:'';position:absolute;width:3px;height:3px;border-radius:50%;background:var(--accent);bottom:3px}.home-section-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid var(--border);padding:22px 0 9px;margin-bottom:12px}.home-section-heading span:last-child{color:var(--muted);font-weight:400;letter-spacing:.04em}.focus-panel{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:19px}.focus-number{font:400 44px/1.25 Georgia,serif;margin:7px 0}.focus-number span{font:400 17px sans-serif;color:var(--muted)}.focus-panel small{font-size:12px}.focus-ring{width:86px;height:86px;border-radius:50%;background:conic-gradient(var(--accent) var(--pct),var(--surface2) 0);display:grid;place-items:center;flex-shrink:0}.focus-ring:before{content:'';position:absolute;width:67px;height:67px;border-radius:50%;background:var(--surface)}.focus-ring span{position:relative;font-size:14px;font-weight:650}.direction-panel{position:relative;display:flex;flex-direction:column;gap:9px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:19px 40px 19px 18px}.direction-panel strong{font-size:17px;font-weight:500}.direction-arrow{position:absolute;right:17px;top:19px}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.overview-grid button{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;padding:17px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.overview-grid button>span{font-size:10px;letter-spacing:.1em}.overview-grid strong{font:400 33px Georgia,serif}.overview-grid small{font-size:11px}.home-compass{text-align:center;font-size:12px;color:var(--muted);padding:30px 8px 4px}.theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.theme-option{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border)}.theme-option.selected{outline:2px solid var(--accent);outline-offset:1px}.theme-swatch{display:inline-block;width:25px;height:25px;border-radius:50%;border:1px solid #9995}.theme-swatch.mist{background:#edf1f4}.theme-swatch.ivory{background:#f5f2e9}.theme-swatch.midnight{background:#1d252f}.theme-swatch.sage{background:#e9ede6}

/* Nutrition / v1.2 */
.nutrition-summary{padding:18px;background:var(--surface,#edf1f4);border-radius:14px;margin:12px 0}.nutrition-total{font-size:32px;font-weight:500;letter-spacing:-1px;margin:8px 0}.nutrition-total small{font-size:13px}.nutrition-macros{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 12px}.nutrition-macros>div{display:flex;flex-direction:column;gap:5px}.nutrition-macros b{font-size:18px}.nutrition-bar{display:flex;height:8px;border-radius:9px;overflow:hidden;background:#d9dfe3;margin-bottom:10px}.nutrition-bar span{display:block}.nutrition-meal{border-top:1px solid var(--border,#d5dbe0);padding:14px 0}.nutrition-meal summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none}.nutrition-meal summary::-webkit-details-marker{display:none}.nutrition-meal summary span:first-child{display:flex;flex-direction:column;gap:4px}.nutrition-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.nutrition-fields label,.nutrition-note{display:flex;flex-direction:column;gap:5px;font-size:12px}.nutrition-note textarea{min-height:66px}.nutrition-meal button{margin-top:10px}

/* Nutrition daily / v1.3 */
.nutrition-overview{background:var(--surface2);border-radius:12px;padding:18px;margin:18px 0}.nutrition-overview .nutrition-total{font:400 clamp(21px,6vw,30px) Georgia,serif;margin:10px 0 16px}.nutrition-progress{height:7px;border-radius:20px;background:var(--border);overflow:hidden;margin:9px 0}.nutrition-progress>span{display:block;height:100%;background:var(--accent);border-radius:20px}.nutrition-balances{display:grid;gap:15px;margin:15px 0 24px}.nutrition-balance .row{align-items:baseline}.nutrition-balance strong{font-size:14px;font-weight:600}.nutrition .nutrition-fields{margin-bottom:18px}.nutrition h3{font-size:12px;letter-spacing:.13em;margin:22px 0 10px}

/* POLARIS v1.4 — TASKS / INBOX */
.quick-capture{padding:18px 17px;margin-bottom:16px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.quick-capture .micro-label,.task-capture .micro-label{display:block;color:var(--muted);margin-bottom:11px}.quick-capture-row{display:flex;gap:8px;align-items:stretch}.quick-capture-row input{min-width:0;flex:1;margin:0}.quick-capture-row button{flex-shrink:0;white-space:nowrap;padding:10px 14px}.tasks-intro{padding:12px 1px 20px}.tasks-intro .micro-label{color:var(--muted)}.tasks-intro h2{font:400 clamp(27px,7vw,37px) Georgia,serif;margin:15px 0 6px;letter-spacing:-.025em}.tasks-intro p{font-size:12px;color:var(--muted);line-height:1.9}.task-capture{padding:20px 17px}.task-capture small{display:block;margin-top:10px;font-size:11px}.task-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 28px}.task-stat{display:flex;flex-direction:column;align-items:flex-start;gap:5px;border:1px solid var(--border);background:var(--surface);padding:19px 16px;text-align:left;border-radius:8px}.task-stat.is-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.task-stat>span{font-size:10px;letter-spacing:.14em;font-weight:600}.task-stat strong{font:400 36px Georgia,serif;line-height:1.4}.task-stat small{font-size:10px}.tasks-list-head{display:flex;align-items:end;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding-bottom:13px}.tasks-list-head .micro-label{color:var(--muted)}.tasks-list-head h2{font:400 30px Georgia,serif;margin:8px 0 0}.tasks-list-head select{width:auto;max-width:150px;margin:0}.task-card{padding:19px 0;border-bottom:1px solid var(--border)}.task-card-header{display:flex;align-items:start;justify-content:space-between;gap:8px}.task-title{font-size:15px;font-weight:600;line-height:1.7;overflow-wrap:anywhere}.task-is-done .task-title{text-decoration:line-through;color:var(--muted)}.task-note{font-size:12px;color:var(--muted);white-space:pre-wrap;line-height:1.8;margin:7px 0 0;overflow-wrap:anywhere}.task-meta{display:flex;align-items:center;gap:13px;font-size:10px;color:var(--muted);margin:9px 0}.task-overdue{color:#b4635c}.task-priority{font-size:10px;border:1px solid var(--accent);border-radius:12px;padding:4px 7px;flex-shrink:0}.task-actions{display:flex;flex-wrap:wrap;gap:7px}.task-actions button{padding:7px 12px;font-size:11px}.task-empty{text-align:center;color:var(--muted);font-size:12px;padding:40px 12px}.task-editor{display:grid;gap:12px;margin-bottom:22px}.task-editor .row{margin-bottom:2px}.task-editor label{display:flex;flex-direction:column;gap:6px}.task-editor .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.task-editor input,.task-editor select,.task-editor textarea{width:100%}
@media(max-width:390px){nav button{font-size:10px;padding-left:3px;padding-right:3px}.quick-capture-row button{padding:9px 10px}}

/* POLARIS v1.5 — data safety */
.backup-state{padding:13px 15px;background:var(--surface2);border-radius:9px;color:var(--ink);font-weight:600;font-size:13px}
.backup-actions{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}
.backup-reminder{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:9px;padding:11px 13px;margin:6px 0 13px;background:var(--surface);font-size:12px;color:var(--ink)}
.backup-reminder button{flex-shrink:0}

/* POLARIS v1.6 — today's small promise */
.promise-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:20px 17px 17px;margin-bottom:5px}
.promise-panel>.micro-label{color:var(--muted);margin-bottom:13px}
.promise-description{font-size:13px;color:var(--muted);margin:5px 0 14px}
.promise-create,.promise-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.promise-create input{flex:1;min-width:150px}
.promise-text{font:400 clamp(18px,5vw,23px)/1.5 Georgia,'Hiragino Kaku Gothic ProN',sans-serif;overflow-wrap:anywhere}
.promise-state{font-size:12px;color:var(--muted);margin:10px 0 15px}
.promise-skip{display:flex;gap:8px;align-items:center;margin-top:14px;flex-wrap:wrap}
.promise-skip input{flex:1;min-width:170px}
.promise-history{border-top:1px solid var(--border);padding-top:13px;margin-top:19px;font-size:12px}
.promise-history summary{cursor:pointer;color:var(--muted)}
.promise-history-item{border-top:1px solid var(--border);padding:11px 0 0;margin-top:11px;display:grid;gap:4px;overflow-wrap:anywhere}
.promise-history-item small{font-size:10px}

/* v1.7 / HOME: only due and high-priority next actions */
.home-actions{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:5px 17px 10px;margin-bottom:7px}
.home-action{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--border)}
.home-action-main{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}
.home-action-main strong{font-size:13px;font-weight:600;line-height:1.5}
.home-action-main small{font-size:10px;color:var(--muted)}
.home-action button{flex-shrink:0}
.home-actions-empty{font-size:12px;color:var(--muted);padding:13px 0 6px}
.home-action-link{width:100%;text-align:right;background:transparent;border:0;padding:13px 0 5px;color:var(--ink);font-size:11px}

/* LIBRARY */
.library-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0}
.library-stat{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid var(--border);background:var(--surface);border-radius:13px;padding:12px 2px;color:var(--ink)}
.library-stat b{font-size:23px;font-weight:650;font-variant-numeric:tabular-nums}.library-stat span{font-size:11px;color:var(--muted)}
.library-toggle{display:flex;align-items:center;gap:8px;font-size:13px}.library-toggle input{width:auto}
.library-book{border-bottom:1px solid var(--border);padding:15px 0}.library-book:last-child{border:0}
.library-book .row{align-items:start}.library-sub{display:block;color:var(--muted);margin-top:3px}
.library-note{white-space:pre-wrap;font-size:13px;line-height:1.6;margin:6px 0}
.library-book-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;align-items:center}.library-book-actions select{width:auto;min-width:110px;max-width:160px;padding:7px;font-size:12px}
.library-terms{margin-top:12px;border:1px solid var(--border);padding:11px;border-radius:12px}.library-terms summary{cursor:pointer;font-size:13px;font-weight:600}
.library-terms .stack{margin-top:12px}.library-term{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--border);padding:7px 0;font-size:13px}.library-term p{margin:4px 0;white-space:pre-wrap}
@media(max-width:410px){nav button{min-width:0;font-size:9px;padding:8px 2px}.library-stats{gap:5px}.library-stat span{font-size:10px}}

/* POLARIS v1.9 / LIBRARY DETAILS */
.library-page label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted)}
.library-page label input,.library-page label select,.library-page label textarea{color:var(--ink)}
.library-page .library-toggle{flex-direction:row;align-items:center;color:var(--ink)}
.library-editor-details{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--surface2)}
.library-editor-details>summary{font-size:13px;cursor:pointer;color:var(--ink)}
.library-editor-details>.stack{margin-top:14px}
.library-required{font-size:10px;color:var(--muted);font-weight:400}
.library-hint{font-size:10px;line-height:1.7;color:var(--muted);margin:1px 0 6px}
.library-cover-preview{min-height:75px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px;border:1px dashed var(--border);border-radius:8px;padding:8px}
.library-cover-preview img{max-height:130px;max-width:100%;object-fit:contain;border-radius:4px}
.library-book-head{display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;align-items:start}
.library-book-head>.library-book-cover{width:68px;height:96px;object-fit:cover;border-radius:5px;background:var(--surface2)}
.library-cover-empty{display:grid;place-items:center;color:var(--muted);font:12px Georgia,serif;letter-spacing:.12em;border:1px solid var(--border)}
.library-book-head .row{gap:8px;align-items:start}
.library-book-head b{overflow-wrap:anywhere;font-size:14px}
.library-impression{font-size:12px;white-space:pre-wrap;border-left:2px solid var(--accent);padding:7px 12px;margin:11px 0;background:var(--surface2)}
.library-meta{display:grid;gap:8px;padding:10px 0;font-size:12px}
.library-meta>div{display:grid;grid-template-columns:70px 1fr;gap:10px}.library-meta>div>span:first-child{color:var(--muted)}

.library-isbn-lookup{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;border:1px solid var(--border);background:var(--surface2);padding:12px;border-radius:12px}
.library-isbn-lookup>.library-hint{grid-column:1/-1}.library-isbn-lookup button{white-space:nowrap;margin-bottom:1px}
@media(max-width:390px){.library-isbn-lookup{grid-template-columns:1fr}.library-isbn-lookup>.library-hint{grid-column:1}}

/* POLARIS 2.1 - Library overview and page-linked notes */
.library-wishlist{display:grid;gap:0;margin-top:8px}.library-wishlist-item{display:flex;gap:8px;align-items:baseline;justify-content:space-between;min-width:0;width:100%;background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;text-align:left;padding:12px 4px;color:var(--ink)}.library-wishlist-item:last-child{border-bottom:0}.library-wishlist-item span{font-weight:600;font-size:14px;overflow-wrap:anywhere}.library-wishlist-item small{color:var(--muted);font-size:11px;text-align:right;min-width:65px}.library-overview{margin-top:12px}.library-note-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}.library-note-table th{text-align:left;color:var(--muted);font-weight:500}.library-note-table th:first-child,.library-note-table td:first-child{width:57px}.library-note-table th:last-child,.library-note-table td:last-child{width:53px}.library-note-table td,.library-note-table th{vertical-align:top;padding:9px 4px;border-bottom:1px solid var(--border);overflow-wrap:anywhere;white-space:pre-wrap}.library-note-table button{padding:4px;font-size:10px}.library-table-wrap{width:100%;overflow-x:auto}.library-note-entry{display:grid;gap:8px}.library-note-entry input{max-width:150px}.library-book-wish .library-book-cover{height:70px}.library-book-wish .library-book-head>.library-book-cover{height:70px}

/* v2.2 / Cross-book reading knowledge */
.library-knowledge input,.library-knowledge select{width:100%;margin-top:10px}.knowledge-result{padding:15px 0;border-bottom:1px solid var(--border)}.knowledge-result:last-child{border-bottom:0}.knowledge-source{display:flex;flex-wrap:wrap;gap:5px 12px;justify-content:space-between;color:var(--muted);font-size:11px;line-height:1.6}.knowledge-result p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin:9px 0 0;line-height:1.8}.knowledge-empty{padding:20px 0 8px}

/* v3.0: compact bookshelf list, expand only one book at a time by user choice */
.library-book{padding:0;border-bottom:1px solid var(--border)}
.library-book-entry{padding:0;border:0;background:transparent}
.library-book-summary{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none;padding:12px 1px;min-height:76px}
.library-book-summary::-webkit-details-marker{display:none}
.library-book-summary::marker{content:''}
.library-book-summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}
.library-book-summary .library-book-head{flex:1;min-width:0;grid-template-columns:46px minmax(0,1fr);gap:10px;align-items:center}
.library-book-summary .library-book-head>.library-book-cover,.library-book-wish .library-book-summary .library-book-cover{width:46px;height:64px;border-radius:4px}
.library-book-summary .library-book-head b{font-size:13px;line-height:1.45;display:block}
.library-book-summary .library-book-head .row{gap:5px;flex-wrap:wrap}
.library-book-summary .library-sub{font-size:11px;line-height:1.45;margin-top:2px}
.library-book-summary .pill{font-size:10px;padding:3px 6px}
.library-book-chevron{font-size:24px;color:var(--muted);flex:none;transform:rotate(0deg);transition:transform .15s ease}
.library-book-entry[open]>.library-book-summary .library-book-chevron{transform:rotate(180deg)}
.library-book-body{padding:0 2px 15px 56px}
.library-book-body>.library-terms:first-child{margin-top:2px}
@media(max-width:410px){.library-book-body{padding-left:0}.library-book-summary .library-book-head .row{align-items:center}}
