:root,[data-theme=bambou]{--h:150;--c:0.11}[data-theme=ocean]{--h:245;--c:0.13}[data-theme=lavande]{--h:295;--c:0.12}[data-theme=terracotta]{--h:40;--c:0.13}[data-theme=cerise]{--h:355;--c:0.15}[data-theme=encre]{--h:260;--c:0.015}:root,[data-theme]{--bg:oklch(98.6% calc(var(--c) * 0.07) var(--h));--surface:oklch(100% 0 0);--surface-2:oklch(96.5% calc(var(--c) * 0.22) var(--h));--fg:oklch(22% calc(var(--c) * 0.15) var(--h));--muted:oklch(50% calc(var(--c) * 0.2) var(--h));--line:oklch(25% calc(var(--c) * 0.2) var(--h)/0.09);--line-strong:oklch(25% calc(var(--c) * 0.2) var(--h)/0.17);--accent:oklch(54% var(--c) var(--h));--accent-strong:oklch(45% var(--c) var(--h));--accent-fg:oklch(99% 0.005 var(--h));--accent-soft:oklch(54% var(--c) var(--h)/0.13);--glass:oklch(99.5% calc(var(--c) * 0.04) var(--h)/0.78);--glass-strong:oklch(99.5% calc(var(--c) * 0.04) var(--h)/0.9);--glass-edge:oklch(25% calc(var(--c) * 0.2) var(--h)/0.08);--blob-1:oklch(88% calc(var(--c) * 0.9) var(--h)/0.45);--blob-2:oklch(92% calc(var(--c) * 0.7) calc(var(--h) + 50)/0.35);--blob-3:oklch(94% calc(var(--c) * 0.5) calc(var(--h) - 40)/0.3);--lent:oklch(55% 0.13 65);--lent-soft:oklch(75% 0.15 75/0.2);--late:oklch(55% 0.2 27);--late-soft:oklch(62% 0.2 27/0.14);--ok:oklch(52% 0.13 150);--ok-soft:oklch(65% 0.15 150/0.16);--shadow:0 1px 2px oklch(25% 0.03 var(--h)/0.05),0 4px 16px oklch(25% 0.03 var(--h)/0.05);--shadow-lift:0 2px 6px oklch(25% 0.03 var(--h)/0.07),0 16px 36px oklch(25% 0.04 var(--h)/0.11);color-scheme:light;--logo-bg:oklch(52% calc(var(--c) * 1.05) var(--h));--logo-ink:oklch(38% var(--c) var(--h));--logo-soft:oklch(90% calc(var(--c) * 0.35) var(--h))}.logo{flex:none}.auth-head .logo{margin:0 auto 12px;display:block}@media (prefers-color-scheme:dark){:root:not([data-mode=light]),:root:not([data-mode=light]) [data-theme]{--bg:oklch(15% calc(var(--c) * 0.1) var(--h));--surface:oklch(19.5% calc(var(--c) * 0.12) var(--h));--surface-2:oklch(24% calc(var(--c) * 0.16) var(--h));--fg:oklch(95% calc(var(--c) * 0.04) var(--h));--muted:oklch(72% calc(var(--c) * 0.15) var(--h));--line:oklch(100% 0 0/0.08);--line-strong:oklch(100% 0 0/0.15);--accent:oklch(74% calc(var(--c) * 1.05) var(--h));--accent-strong:oklch(84% calc(var(--c) * 0.85) var(--h));--accent-fg:oklch(16% calc(var(--c) * 0.3) var(--h));--accent-soft:oklch(74% var(--c) var(--h)/0.18);--glass:oklch(17% calc(var(--c) * 0.1) var(--h)/0.78);--glass-strong:oklch(19% calc(var(--c) * 0.12) var(--h)/0.9);--glass-edge:oklch(100% 0 0/0.1);--blob-1:oklch(35% calc(var(--c) * 0.9) var(--h)/0.35);--blob-2:oklch(30% calc(var(--c) * 0.7) calc(var(--h) + 50)/0.3);--blob-3:oklch(28% calc(var(--c) * 0.6) calc(var(--h) - 40)/0.25);--lent:oklch(83% 0.12 80);--lent-soft:oklch(75% 0.14 75/0.18);--late:oklch(74% 0.16 25);--late-soft:oklch(65% 0.18 25/0.2);--ok:oklch(80% 0.14 150);--ok-soft:oklch(70% 0.15 150/0.18);--shadow:0 1px 1px oklch(0% 0 0/0.2),0 8px 24px oklch(0% 0 0/0.3);--shadow-lift:0 2px 4px oklch(0% 0 0/0.3),0 18px 40px oklch(0% 0 0/0.45);color-scheme:dark}}:root[data-mode=dark],:root[data-mode=dark] [data-theme]{--bg:oklch(15% calc(var(--c) * 0.1) var(--h));--surface:oklch(19.5% calc(var(--c) * 0.12) var(--h));--surface-2:oklch(24% calc(var(--c) * 0.16) var(--h));--fg:oklch(95% calc(var(--c) * 0.04) var(--h));--muted:oklch(72% calc(var(--c) * 0.15) var(--h));--line:oklch(100% 0 0/0.08);--line-strong:oklch(100% 0 0/0.15);--accent:oklch(74% calc(var(--c) * 1.05) var(--h));--accent-strong:oklch(84% calc(var(--c) * 0.85) var(--h));--accent-fg:oklch(16% calc(var(--c) * 0.3) var(--h));--accent-soft:oklch(74% var(--c) var(--h)/0.18);--glass:oklch(17% calc(var(--c) * 0.1) var(--h)/0.78);--glass-strong:oklch(19% calc(var(--c) * 0.12) var(--h)/0.9);--glass-edge:oklch(100% 0 0/0.1);--blob-1:oklch(35% calc(var(--c) * 0.9) var(--h)/0.35);--blob-2:oklch(30% calc(var(--c) * 0.7) calc(var(--h) + 50)/0.3);--blob-3:oklch(28% calc(var(--c) * 0.6) calc(var(--h) - 40)/0.25);--lent:oklch(83% 0.12 80);--lent-soft:oklch(75% 0.14 75/0.18);--late:oklch(74% 0.16 25);--late-soft:oklch(65% 0.18 25/0.2);--ok:oklch(80% 0.14 150);--ok-soft:oklch(70% 0.15 150/0.18);--shadow:0 1px 1px oklch(0% 0 0/0.2),0 8px 24px oklch(0% 0 0/0.3);--shadow-lift:0 2px 4px oklch(0% 0 0/0.3),0 18px 40px oklch(0% 0 0/0.45);color-scheme:dark}:root{--font:"Nunito Variable",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,system-ui,sans-serif;--font-display:"Fraunces Variable",Georgia,"Times New Roman",serif;--font-mono:ui-monospace,"SF Mono",Menlo,monospace;--radius:18px;--radius-sm:12px;--blur:blur(20px) saturate(160%)}*{box-sizing:border-box}body,html{margin:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font);font-size:16px;line-height:1.5;letter-spacing:0;-webkit-font-smoothing:antialiased;min-height:100dvh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0;line-height:1.15}.book-title,.brand-text strong,.choice-name,.slip strong,.spine,h1,h2,h3{font-variation-settings:"SOFT" 100}h1{font-size:clamp(1.9rem,1.5rem + 1.6vw,2.5rem);letter-spacing:-.015em}h1,h2{font-weight:650}h2{font-size:1.25rem;letter-spacing:-.018em}ul{padding-left:1.2em}.muted{color:var(--muted)}.small{font-size:.875rem}.label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.stack{display:flex;flex-direction:column;gap:14px}::selection{background:var(--accent-soft)}.glass{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-edge);box-shadow:var(--shadow)}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.glass{background:var(--surface)}}.backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(70vmax 34vmax at 12% -6%,var(--blob-1),transparent 70%),radial-gradient(50vmax 28vmax at 100% 0,var(--blob-2),transparent 70%),radial-gradient(60vmax 30vmax at 50% 110%,var(--blob-3),transparent 70%),var(--bg)}.app{position:relative;isolation:isolate}.wrap{max-width:1120px;margin:0 auto;padding:28px 20px 64px}.app-foot{margin-top:48px;text-align:center}.app-foot a{color:var(--muted)}.narrow{max-width:440px}.page-title{margin:6px 0 22px}.title-row{align-items:center;justify-content:space-between;gap:16px}.title-main,.title-row{display:flex;flex-wrap:wrap}.title-main{align-items:baseline;gap:4px 14px;min-width:0;margin:6px 0 22px}.title-row .page-title{margin:0}.title-main .person-edit[open]{flex-basis:100%}.title-action{margin-bottom:22px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;border-width:0 0 1px;border-color:var(--line);border-radius:0;box-shadow:none}.topbar-in{max-width:1120px;margin:0 auto;padding:10px 20px;gap:16px}.brand,.topbar-in{display:flex;align-items:center}.brand{gap:10px;color:inherit;min-width:0}.brand a:hover,.brand:hover{text-decoration:none}.brand a{color:inherit}.brand-logo{display:flex;flex:none;border-radius:12px}.brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.brand-text strong{font-family:var(--font-display);font-size:1.1rem;font-weight:700;letter-spacing:-.02em}.brand-text span{font-size:.8rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-text .brand-family{font-size:.95rem;font-weight:600;color:var(--accent)}.nav{gap:2px;margin-left:auto;padding:3px;border-radius:999px;border:1px solid var(--line);background:var(--surface)}.nav,.nav a{display:flex}.nav a{position:relative;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;color:var(--muted);font-weight:590;font-size:.9rem;white-space:nowrap;transition:background .2s,color .2s}.nav a:hover{color:var(--fg);text-decoration:none}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-strong)}.nav a[aria-current=page] svg{color:var(--accent)}.tab-icon{display:inline-flex}.topbar-actions{display:flex;gap:2px}.icon-btn{display:grid;place-items:center;width:38px;height:38px;min-height:0;padding:0;border-radius:999px;border:0;background:none;color:var(--muted);cursor:pointer;box-shadow:none}.icon-btn:hover,.icon-btn[aria-current=page]{background:var(--accent-soft);color:var(--accent-strong)}.count{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:oklch(63% .22 27);color:#fff;font-size:.7rem;line-height:18px;text-align:center;font-weight:700}.tabbar{display:none}@media (min-width:761px) and (max-width:1060px){.topbar-in{flex-wrap:wrap;row-gap:8px}.brand{flex:1 1 auto}.topbar-actions{margin-left:auto}.nav{order:3;flex:1 1 100%;margin-left:0}.nav a{flex:1 1;justify-content:center}}@media (max-width:420px){.topbar .brand,.topbar-in{gap:8px}.topbar .brand .logo{width:36px;height:36px}.topbar .brand-text strong{white-space:nowrap;font-size:1rem}.topbar-actions{gap:0}.topbar-actions .icon-btn{width:32px;height:36px}}@media (max-width:760px){.wrap{padding:18px 16px calc(96px + env(safe-area-inset-bottom))}.topbar-in{padding:8px 16px}.brand-text .brand-family{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;line-height:1.2}.title-action{position:fixed;z-index:31;right:16px;bottom:calc(88px + env(safe-area-inset-bottom));margin:0}.title-action .add-link{width:58px;height:58px;padding:0;border-radius:999px;justify-content:center;box-shadow:var(--shadow-lift)}.title-action .add-link span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.topbar-actions{margin-left:auto}.nav{display:none}.tabbar{position:fixed;z-index:30;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));display:flex;justify-content:space-around;padding:6px;border-radius:28px;background:var(--glass-strong);border:1px solid var(--line);box-shadow:var(--shadow-lift)}.tabbar a{position:relative;flex:1 1;display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 2px 4px;border-radius:22px;color:var(--muted);font-size:.68rem;font-weight:600}.tabbar a:hover{text-decoration:none}.tabbar a[aria-current=page]{color:var(--accent);background:var(--accent-soft)}.tabbar .count{position:absolute;top:2px;left:calc(50% + 6px)}}.btn,button{font:inherit;font-weight:650;font-size:.94rem;cursor:pointer;border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);border-radius:999px;padding:9px 18px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .2s,border-color .2s,transform .1s,filter .2s}.btn:hover,button:hover{background:var(--surface-2);border-color:color-mix(in oklch,var(--accent) 35%,var(--line-strong));text-decoration:none}.btn:active,button:active{transform:scale(.97)}button:disabled{opacity:.55;cursor:progress}.page-progress{position:fixed;top:env(safe-area-inset-top,0);left:0;z-index:10000;height:4px;width:0;opacity:0;pointer-events:none;background:var(--accent);box-shadow:0 0 10px var(--accent);border-radius:0 4px 4px 0}.page-loading.on .page-progress{opacity:1;animation:page-progress 8s cubic-bezier(.1,.7,.2,1) forwards}@keyframes page-progress{0%{width:0}10%{width:35%}to{width:92%}}.page-spinner{position:fixed;top:50%;left:50%;z-index:10000;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;display:grid;place-items:center;opacity:0;visibility:hidden;pointer-events:none;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lift)}.page-spinner:before{content:"";width:26px;height:26px;border:3px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.page-loading.on .page-spinner{visibility:visible;animation:page-spinner-in .2s ease-out .5s forwards}@keyframes page-spinner-in{to{opacity:1}}button[data-pending=spin]:before{content:"";display:inline-block;flex:none;width:13px;height:13px;margin-right:6px;vertical-align:-2px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:spin .8s linear infinite}@media (prefers-reduced-motion:reduce){.page-loading.on .page-progress{animation:none;width:100%;opacity:.7}}:focus-visible{outline:3px solid color-mix(in oklch,var(--accent) 50%,transparent);outline-offset:2px}.btn.primary,button.primary{background:var(--accent);border-color:transparent;color:var(--accent-fg);box-shadow:0 1px 2px color-mix(in oklch,var(--accent) 30%,transparent),0 6px 16px color-mix(in oklch,var(--accent) 22%,transparent)}.btn.primary:hover,button.primary:hover{background:var(--accent);border-color:transparent;filter:brightness(1.07)}button.tinted{background:var(--accent-soft);border-color:transparent;color:var(--accent-strong)}button.ghost{background:none;border-color:transparent;color:var(--accent)}button.ghost:hover{background:var(--accent-soft);border-color:transparent}button.danger{color:var(--late)}input,select,textarea{font:inherit;font-size:16px;color:var(--fg);background-color:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:10px 14px;min-height:44px;min-width:0;width:100%;transition:box-shadow .2s,background .2s}input::placeholder,textarea::placeholder{color:var(--muted)}input:hover,select:hover,textarea:hover{border-color:color-mix(in oklch,var(--accent) 30%,var(--line-strong))}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:38px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%238b938d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px}input:focus,select:focus,textarea:focus{outline:none;background-color:var(--surface);box-shadow:0 0 0 4px var(--accent-soft);border-color:var(--accent)}label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.88rem;color:var(--muted)}form.inline{display:inline}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.private-line{align-items:center}.private-line .pill{align-self:center}.row>label{flex:1 1 180px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:22px}.toolbar .filter{display:grid;min-width:0;max-width:100%;position:relative}.toolbar .filter-size,.toolbar .filter>select{grid-area:1/1}.toolbar .filter select{width:100%;contain:inline-size}.toolbar .filter-size{z-index:1;align-self:center;pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 35px 0 15px;font-size:.92rem}.toolbar .filter select{color:transparent}.toolbar .filter select option{color:var(--fg);background-color:var(--surface);font-weight:400}.toolbar .filter.on .filter-size{color:var(--accent-strong)}.search{position:relative;flex:1 1 240px;display:flex}.search svg{position:absolute;left:14px;top:50%;translate:0 -50%;color:var(--muted);pointer-events:none}.search input{padding-left:42px;background:var(--surface);border-radius:999px;box-shadow:var(--shadow)}.toolbar .filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex-basis:100%}.toolbar .filter select{border-radius:999px;padding:8px 34px 8px 14px;font-size:.92rem;box-shadow:var(--shadow)}.toolbar .filter.on select{border-color:var(--accent);background-color:var(--accent-soft);color:transparent;font-weight:600}.toolbar .filter.on .filter-size{font-weight:600}.toolbar .clear-filters{font-size:.9rem;font-weight:600;padding:0 6px;white-space:nowrap}.toolbar .search{flex:1 1;min-width:0}.toolbar .filter-panel{flex:none}.toolbar:has(>.filter-panel:not([open]))>.filters{display:none}.filter-panel>summary{list-style:none;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.filter-panel>summary::-webkit-details-marker{display:none}.filter-panel>summary .count{position:static;background:var(--accent)}.toolbar .filter-toggle{min-height:44px;padding-inline:16px}.filter-word+.filter-count{color:var(--muted)}.filter-word+.filter-count:before{content:"·";margin-right:8px}@media (max-width:640px){.filter-word{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.filter-word+.filter-count{color:inherit}.filter-word+.filter-count:before{content:none}.toolbar .filter-toggle{padding-inline:14px;gap:6px}.toolbar .filters{gap:6px}.toolbar .filter{flex:1 0 auto;font-weight:500}.toolbar .filter.on{font-weight:600}.toolbar .filter select,.toolbar .filter-size{font-size:.86rem}.toolbar .filter select{padding:8px 22px 8px 9px;background-position:right 7px center;background-size:12px}.toolbar .filter-size{padding:0 23px 0 10px}}.notice{color:var(--fg);border-radius:var(--radius);padding:14px 18px;margin-bottom:20px}.notice:not(.glass){background:var(--accent-soft)}.notice.glass{background:var(--surface);border-left:4px solid var(--accent)}.notice.warn{background:var(--lent-soft)}.notice h2{margin-bottom:4px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}details.add{margin-bottom:16px}details.add>summary{list-style:none}details.add>summary::-webkit-details-marker{display:none}details.add[open]>summary{margin-bottom:12px}.shelf{margin-bottom:36px}.shelf-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}.books{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));grid-gap:14px;gap:14px}.book{display:grid;grid-template-columns:54px 1fr;grid-gap:16px;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;min-width:0;box-shadow:var(--shadow);transition:box-shadow .3s,transform .3s,border-color .3s}@media (hover:hover){.book:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px);border-color:color-mix(in oklch,var(--accent) 25%,var(--line))}}.spine{width:54px;height:78px;border-radius:5px 10px 10px 5px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-weight:700;letter-spacing:.02em;text-shadow:0 1px 1px rgb(0 0 0/.25);background-image:linear-gradient(90deg,rgb(0 0 0/.2) 0 5px,rgb(255 255 255/.14) 5px 7px,transparent 7px),linear-gradient(160deg,rgb(255 255 255/.22),transparent 60%);box-shadow:0 6px 14px rgb(0 0 0/.18)}.book-body{min-width:0;display:flex;flex-direction:column;gap:3px}.book-title{font-family:var(--font-display);font-weight:650;font-size:1.04rem;line-height:1.25;letter-spacing:-.015em;overflow-wrap:anywhere}.book-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}.book details>summary,.book-actions button{min-height:32px;padding:5px 14px;font-size:.85rem}.book details>summary{list-style:none;display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--line-strong);font-weight:600;cursor:pointer}.book details>summary::-webkit-details-marker{display:none}.book details.lend>summary{background:var(--accent-soft);border-color:transparent;color:var(--accent-strong)}.book details.remove>summary{background:none;border-color:transparent;color:var(--muted)}.book details[open]{flex-basis:100%;order:2}.book details[open]>summary{background:var(--surface-2);color:var(--fg)}:is(.book details,.admin-actions,.meeting-propose,.meeting-map,.edit-book,.book-hero details.lend,.book-hero details.more-actions,.remove-book)[open]>summary:after{content:"✕";margin-left:10px;font-size:.8em;font-weight:600;opacity:.65}.book details form{margin-top:8px;display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm)}.book details form input,.book details form select{background-color:var(--surface)}.pill{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;padding:3px 10px;border-radius:999px}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill.free{background:var(--ok-soft);color:var(--ok)}.pill.lent{background:var(--lent-soft);color:var(--lent)}.pill.late{background:var(--late-soft);color:var(--late)}.pill.asked{background:var(--accent-soft);color:var(--accent-strong)}.pill.lang{background:var(--surface-2);color:var(--muted)}.choices{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.choices legend:not(.sr-only){width:100%;margin-bottom:8px}.choices label{flex-direction:row;align-items:center;gap:8px;padding:6px 14px 6px 10px;border:1px solid var(--line-strong);border-radius:999px;color:var(--fg);cursor:pointer}.choices label:has(input:checked){background:var(--accent-soft);border-color:transparent;color:var(--accent-strong)}.choices input{width:18px;height:18px;min-height:0;padding:0;margin:0;accent-color:var(--accent)}.choices details{width:100%}.choices details>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.choices summary{cursor:pointer;font-size:.88rem;font-weight:600;color:var(--accent-strong)}.slips{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));grid-gap:14px;gap:14px;margin-bottom:32px}.slip{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:8px;min-width:0;box-shadow:var(--shadow)}.slip.late{box-shadow:inset 0 0 0 1.5px var(--late),var(--shadow)}.slip strong{font-family:var(--font-display);font-size:1.08rem;font-weight:650;letter-spacing:-.015em}.slip-row{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding-bottom:6px}.slip-more>summary{cursor:pointer;font-size:.88rem;font-weight:600;color:var(--accent-strong)}.slip-more[open]{display:flex;flex-direction:column;gap:10px}.slip-more .row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.slip-more label{display:flex;flex-direction:column;gap:4px;font-size:.88rem;flex:1 1 160px;min-width:0}.slip-more input[type=date]{width:100%;min-width:0}.stamp{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:590;font-size:.9rem}.stamp.late{color:var(--late)}.section-title{margin:8px 0 14px;display:flex;align-items:center;gap:10px}.empty{color:var(--muted);padding:24px;margin:0 0 28px;border-radius:var(--radius);text-align:center;border:1.5px dashed var(--line-strong)}.empty>p{margin:0 0 14px}.code{font-family:var(--font-mono);font-size:1.25rem;font-weight:700;letter-spacing:.15em;background:var(--accent-soft);color:var(--accent-strong);padding:6px 14px;border-radius:var(--radius-sm);display:inline-block;align-self:flex-start}.error{color:var(--late);font-size:.9rem;margin:0}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));grid-gap:16px;gap:16px;align-items:start}.list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0;border-bottom:1px solid var(--line)}.list li:last-child{border-bottom:0}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-family:var(--font-display);font-weight:650;flex:none}.list .grow{flex:1 1 160px;min-width:0;display:flex;flex-direction:column}.auth{position:relative;isolation:isolate;min-height:100dvh;display:grid;place-items:center;padding:24px 16px}.auth-card{width:100%;max-width:420px}.auth-head{text-align:center;margin-bottom:20px}.auth-head p{margin:8px 0 0}.auth .panel{padding:24px}.auth .panel button.primary{width:100%}.choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,136px),1fr));grid-gap:10px;gap:10px}.choice{position:relative;display:flex;flex-direction:column;gap:8px;text-align:left;align-items:stretch;padding:10px 10px 12px;border-radius:18px;background:var(--surface);border:1px solid var(--line);min-height:0;font-weight:400;box-shadow:var(--shadow)}.choice[aria-pressed=true]{box-shadow:0 0 0 3px var(--accent),var(--shadow)}.choice-name{font-family:var(--font-display);font-weight:650;font-size:.98rem;display:flex;align-items:center;justify-content:space-between;padding:0 4px}.choice-name svg{color:var(--accent)}.choice-hint{color:var(--muted);font-size:.82rem;padding:0 4px}.preview{position:relative;height:64px;border-radius:12px;overflow:hidden;background:radial-gradient(60% 90% at 15% 10%,var(--blob-1),transparent 70%),radial-gradient(60% 90% at 90% 30%,var(--blob-2),transparent 70%),var(--bg)}.preview span{position:absolute;left:10px;right:10px;bottom:10px;height:22px;border-radius:999px;background:var(--accent)}.segmented{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;background:var(--surface);border:1px solid var(--line);border-radius:999px;align-self:flex-start}.segmented button{background:none;border-color:transparent;color:var(--muted);min-height:34px;padding:6px 16px}.segmented button:hover{background:var(--surface-2);border-color:transparent;color:var(--fg)}.segmented button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-strong)}.reminders ul{margin:6px 0 8px;padding-left:18px}.reminders li{margin:2px 0}a.book-title{color:inherit;text-decoration:none}a.book-title:hover{text-decoration:underline;text-underline-offset:3px}textarea{resize:vertical;min-height:88px}.stars{color:oklch(78% .16 75);letter-spacing:1px}.stars .off{color:var(--line)}.back-link{display:inline-block;margin-bottom:14px}.book-page{gap:16px;max-width:760px}.book-hero,.book-page{display:flex;flex-direction:column}.book-hero{gap:14px}.book-head{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}.book-state{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.book-state .pill{align-self:center}.book-main-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px}.book-main-actions>details[open]{flex-basis:100%}.book-main-actions>details>summary{list-style:none}.book-main-actions>details>summary::-webkit-details-marker{display:none}.more-list{margin-top:10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.more-item{display:flex;flex-direction:column;gap:6px;padding:12px 14px}.more-item+.more-item{border-top:1px solid var(--line)}.more-item>summary{cursor:pointer;font-weight:600}.more-item[open]>summary{margin-bottom:10px}.more-item.owner-picker{flex-direction:row;align-items:center}.annonce{gap:14px}.annonce,.annonce-part{display:flex;flex-direction:column}.annonce-part{gap:6px}.annonce-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.annonce-title{margin:0;padding:10px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-2);font-weight:600;overflow-wrap:anywhere}.annonce-fields{margin:0;display:flex;flex-direction:column;gap:4px}.annonce-fields div{display:flex;gap:10px;align-items:baseline}.annonce-fields dt{flex:0 0 76px;color:var(--muted);font-size:.875rem}.annonce-fields dd{margin:0;font-weight:600;min-width:0;overflow-wrap:anywhere}.sale-form{margin-top:8px;padding-top:12px;border-top:1px solid var(--line)}.grow-wrap{display:grid}.grow-wrap>textarea{resize:none;overflow:hidden}.grow-wrap:after{content:attr(data-value) " ";white-space:pre-wrap;overflow-wrap:anywhere;visibility:hidden;font-size:16px;padding:10px 14px;border:1px solid transparent}.grow-wrap:after,.grow-wrap>textarea{grid-area:1/1/2/2;min-width:0}.link-button{align-self:flex-start;min-height:0;padding:0;border:0;background:none;box-shadow:none;color:var(--fg);font-weight:600;text-align:left;cursor:pointer}.book-hero p{margin:0}.cover.big,.spine.big{width:120px;height:176px;font-size:1.6rem}.book-page-title{font-size:1.6rem;line-height:1.15;margin:0;letter-spacing:-.02em}@media (max-width:480px){.book-head{gap:14px}.book-head :is(.cover.big,.spine.big){width:84px;height:124px;font-size:1.2rem}.book-page-title{font-size:1.35rem}}.description{white-space:pre-line;margin:8px 0 0;line-height:1.55}.rate{border:0;padding:0;margin:0;display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}.rate legend{width:100%;margin-bottom:4px}.rate input{position:absolute;opacity:0;width:1px;height:1px}.rate label{font-size:2rem;line-height:1;cursor:pointer;color:var(--line);transition:color .15s,transform .15s;padding:2px}.rate span:has(input:checked) label,.rate span:has(input:checked)~span label,.rate span:hover label,.rate span:hover~span label{color:oklch(78% .16 75)}.rate input:focus-visible+label{outline:2px solid var(--accent);border-radius:6px}.reviews li{align-items:flex-start}.reviews .grow{gap:2px}.review-text{white-space:pre-line;overflow-wrap:anywhere}.notice.install{display:flex;gap:14px;align-items:flex-start}.notice.install p{margin:4px 0 0}.install-icon{flex:none;width:52px;height:52px;border-radius:12px;box-shadow:var(--shadow)}.install-steps{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:6px}.install-steps li{display:flex;gap:8px;align-items:baseline;line-height:1.7}.install-n{flex:none;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-weight:700;font-size:.75rem;line-height:1}.install-key{display:inline-flex;align-items:center;gap:4px;padding:0 7px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);font-weight:600;white-space:nowrap;line-height:1.5}.notice.install .grow{flex:1 1 auto;min-width:0}.install-actions{flex:none;align-self:center}.install-actions:not(:has(.primary)){align-self:flex-start;margin:-6px -8px 0 0}@media (max-width:560px){.notice.install:has(.install-actions .primary){flex-wrap:wrap}.install-icon{width:40px;height:40px;border-radius:10px}.notice.install .grow{flex-grow:1;flex-shrink:1;flex-basis:calc(100% - 100px)}.install-actions:has(.primary){flex:1 1 100%;justify-content:flex-end}}.share{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.share-url{overflow-wrap:anywhere;-webkit-user-select:all;-moz-user-select:all;user-select:all}.item-share{display:flex;flex-direction:column;gap:10px}.item-share p{margin:0}.share-message{padding:10px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-2);overflow-wrap:anywhere}.admin-share{display:flex;flex-direction:column;gap:10px}.ideas-card{display:flex;align-items:center;gap:14px;margin:2px 0 8px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,var(--accent-soft),transparent 85%),var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow);color:var(--fg);text-decoration:none}#idees{scroll-margin-top:90px}.more-ideas{display:inline-flex;align-items:center;gap:8px;margin-top:12px}.dismissed-ideas{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:10px}.dismissed-ideas button{min-height:32px;padding:5px 10px}.ideas-card:hover{text-decoration:none;box-shadow:var(--shadow-lift)}.ideas-card-icon{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--accent);color:var(--accent-fg)}.ideas-card-text{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.ideas-card-text strong{font-size:1rem;color:var(--accent-strong)}.ideas-card-text .small{color:var(--muted)}.ideas-card>svg:last-child{flex:none;color:var(--accent)}.ol-link{gap:4px}.bookshop-link,.ol-link{display:inline-flex;align-items:center;align-self:flex-start}.bookshop-link{gap:6px}.row-links{display:flex;flex-wrap:wrap;gap:4px 14px}.idea-reason{font-style:italic}.add-link{display:inline-flex;align-items:center;gap:8px}.cover{width:54px;height:78px;object-fit:cover;border-radius:4px 8px 8px 4px;box-shadow:0 6px 14px rgb(0 0 0/.18);background:var(--surface-2)}.page-title{letter-spacing:-.025em}.shelf-head h2{font-size:1.35rem}.segmented.modes{display:grid;grid-template-columns:repeat(4,1fr);width:100%;max-width:620px;border-radius:16px}.segmented.modes button{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:13px;padding:8px 6px}@media (max-width:560px){.segmented.modes button{flex-direction:column;gap:2px;font-size:.75rem;min-height:54px;white-space:nowrap;padding:8px 2px}}.scanner{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}.scanner.on{position:relative;width:auto;height:auto;opacity:1;pointer-events:auto;border-radius:var(--radius);background:#000;aspect-ratio:4/3;max-height:60vh}.scanner video{width:100%;height:100%;object-fit:cover;display:block}.scan-frame{position:absolute;left:10%;right:10%;top:30%;bottom:30%;border:2px solid oklch(100% 0 0/.9);border-radius:12px;box-shadow:0 0 0 100vmax oklch(0 0 0/.35)}.scan-line{position:absolute;left:6%;right:6%;top:50%;height:2px;background:var(--accent);box-shadow:0 0 12px var(--accent);animation:scan 1.6s ease-in-out infinite alternate}@keyframes scan{0%{top:15%}to{top:85%}}.scan-frame.hit{animation:scan-hit .7s ease-out}@keyframes scan-hit{0%{border-color:oklch(80% .2 145);border-width:4px;scale:1.04}to{border-color:oklch(100% 0 0/.9);border-width:2px;scale:1}}.scan-toast{margin:0;display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:12px;font-size:.9rem;font-weight:600;line-height:1.3;color:var(--fg);background:var(--surface);border:1px solid var(--line-strong)}.scan-toast svg{flex:none}.scan-toast.found{color:#fff;border-color:transparent;background:oklch(45% .12 150)}.scan-toast.missing{color:#fff;border-color:transparent;background:oklch(48% .14 50)}.scan-toast .spinner{flex:none;margin-right:0}.scan-stage{display:flex;flex-direction:column;gap:14px;order:1}.scan-stage.on{position:fixed;inset:0;z-index:1000;order:0;gap:10px;background:#000;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.scan-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff}.scan-stage.on .scanner.on{flex:1 1 auto;min-height:160px;aspect-ratio:auto;max-height:none}.scan-stage.on .books{flex:0 1 auto;max-height:38vh;overflow-y:auto;margin:0;overscroll-behavior:contain}.file-btn{position:relative;align-self:flex-start;flex-direction:row}.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-btn.disabled{opacity:.55;pointer-events:none}.shelf-photo{max-width:100%;max-height:280px;align-self:flex-start;border-radius:var(--radius-sm);box-shadow:var(--shadow)}.spinner{display:inline-block;width:14px;height:14px;margin-right:6px;vertical-align:-2px;border:2px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{rotate:1turn}}.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.checklist li{display:grid;grid-template-columns:auto 54px 1fr;grid-gap:12px;gap:12px;align-items:center;padding:10px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface)}.checklist li.done{opacity:.6}.checklist input[type=checkbox]{width:22px;height:22px;min-height:0;accent-color:var(--accent)}.checklist .grow{min-width:0}.checklist input:not([type]){min-height:36px;padding:6px 10px;background:var(--surface)}.stack-tight{display:flex;flex-direction:column;gap:6px}.search.grow{flex:1 1 240px}.site{position:relative;isolation:isolate}.site-nav{display:flex;gap:6px;margin-left:auto;align-items:center}.site .topbar-in{padding-top:12px;padding-bottom:12px}.site .brand{gap:12px}.site-nav .btn{white-space:nowrap}.site-nav .narrow-only{display:none}.site .brand-text strong{white-space:nowrap;font-size:1.75rem;font-weight:750;letter-spacing:-.025em;color:var(--accent-strong)}.btn.ghost-link{background:none;border-color:transparent;color:var(--accent)}.btn.ghost-link:hover{background:var(--accent-soft);border-color:transparent}.btn.big{min-height:50px;padding:12px 24px;font-size:1.02rem}.site-hero{display:grid;grid-template-columns:1.1fr 1fr;grid-gap:48px;gap:48px;align-items:center;padding-top:72px;padding-bottom:48px}.site-hero h1{font-size:clamp(2.3rem,1.6rem + 3vw,3.9rem);letter-spacing:-.02em;margin:10px 0 18px}.site-lead{font-size:1.2rem;line-height:1.5;margin:0 0 28px;max-width:34em}.site-cta{display:flex;flex-wrap:wrap;gap:10px}.site-free{display:flex;align-items:center;gap:6px;margin:16px 0 0}.site-free svg{color:var(--accent)}.site-shelf{border-radius:28px;padding:22px;background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow-lift);rotate:1.5deg}.site-books{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.site-books .book{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;grid-template-columns:72px 1fr;align-items:center}.sample-cover{display:block;width:72px;height:104px;overflow:hidden}.site-section{padding-top:40px;padding-bottom:40px}.site-h2{font-size:clamp(1.6rem,1.3rem + 1.2vw,2.2rem);letter-spacing:-.025em;margin-bottom:24px}.site-pillars{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:32px;gap:32px}.site-pillars li{display:flex;flex-direction:column;gap:14px}.site-pillars h2{font-size:1.25rem;font-weight:650;letter-spacing:-.015em;margin:0 0 6px}.site-pillars p{margin:0;font-size:1.05rem}.site-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--accent-soft);color:var(--accent-strong)}.site-about{font-size:1.1rem;max-width:760px;margin:-6px 0 24px}.site-details{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.site-details .panel{padding:22px}.site-details h3{display:flex;align-items:center;gap:10px;font-size:1.1rem;font-weight:650;margin:0 0 14px;color:var(--accent-strong)}.site-details ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.site-details li{display:flex;gap:10px;align-items:flex-start;line-height:1.45}.site-details li svg{flex:none;color:var(--accent);margin-top:3px}.site-faq{display:grid;grid-template-columns:1fr 2fr;grid-gap:32px;gap:32px;align-items:start}.site-faq-head p{margin:0}.site-faq-list{display:flex;flex-direction:column;gap:10px}.site-faq details.panel{padding:0}.site-faq summary{cursor:pointer;padding:18px 20px;font-weight:620;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}.site-faq summary::-webkit-details-marker{display:none}.site-faq summary svg{flex:none;color:var(--accent);transition:rotate .2s}.site-faq details[open] summary svg{rotate:45deg}.site-faq details p{margin:0;padding:0 20px 18px;line-height:1.55}.site-final{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;padding:44px 22px}.site-final .site-h2{margin-bottom:0}.site-final p{margin:0 0 14px}.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:24px;padding-bottom:40px;border-top:1px solid var(--line)}@media (max-width:860px){.site-hero{grid-template-columns:1fr;gap:36px;padding-top:40px}.site-shelf{rotate:0deg}}@media (max-width:760px){.site .wrap{padding-bottom:32px}.site-nav .ghost-link{display:none}.site .brand-text strong{font-size:1.35rem}.site .brand{gap:8px}.site .brand .logo{width:44px;height:auto}.site-nav .wide-only{display:none}.site-nav .narrow-only{display:inline}.site-pillars{grid-template-columns:1fr;gap:22px}.site-pillars li{flex-direction:row;align-items:flex-start}.site-pillars .site-icon{flex:none}.site-details,.site-faq{grid-template-columns:1fr}.site-faq{gap:16px}}@media (max-width:379px){.site .brand-text{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media (prefers-reduced-transparency:reduce){.book,.glass,.panel,.search input,.slip{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.admin-stats{list-style:none;padding:0;margin:0 0 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));grid-gap:12px;gap:12px}.admin-stats li{display:flex;flex-direction:column;gap:2px;padding:16px 18px}.admin-stats strong{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:2rem;line-height:1.1}.late-text{color:var(--late)}.admin-accounts{margin-top:16px}.admin-accounts .list li{flex-wrap:wrap}.admin-badge{margin-left:8px;font-size:.75rem;padding:1px 8px;vertical-align:middle}.admin-actions>summary{cursor:pointer;list-style:none;padding:5px 14px;border-radius:999px;border:1px solid var(--line-strong);font-size:.9rem;font-weight:600}.admin-actions>summary::-webkit-details-marker{display:none}.admin-inline{align-items:flex-end}.admin-inline>button{flex:none}.admin-members{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.admin-members li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line)}.admin-members li>strong{flex:1 1 100%}.admin-members .admin-inline{flex:1 1 220px}.sr-label{font-size:0;gap:0}.admin-actions[open]{flex-basis:100%;display:flex;flex-direction:column;gap:14px;padding:14px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm)}.admin-actions[open]>summary{align-self:flex-start;background:var(--surface)}.admin-actions input{background:var(--surface)}.auto-select select{width:auto}.list .grow>.small{overflow-wrap:anywhere}.add-settings>summary{cursor:pointer}.add-settings>summary strong{color:var(--accent-strong)}.add-settings[open]>summary{margin-bottom:12px}.add-settings>.stack>button{align-self:flex-start}.where-chips{display:flex;flex-wrap:wrap;gap:8px}.where-chips button{min-height:36px;padding:6px 14px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);font-weight:560;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.where-chips button.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.owner-picker{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.owner-picker select{min-height:36px;padding:6px 34px 6px 12px;background-position:right 10px center}.check{flex-direction:row;align-items:center;gap:10px;font-weight:500;color:var(--fg);cursor:pointer}.check input[type=checkbox]{width:20px;height:20px;min-height:0;flex:none;accent-color:var(--accent)}.series-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row>label.volume-field{flex:0 1 110px}.series-list{display:grid;grid-gap:14px;gap:14px;margin-top:14px}.series-card .series-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.series-card h3{margin:0;font-size:1.05rem}.series-missing{gap:6px}.series-books,.series-missing{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.series-books{gap:6px 12px}.series-books a{overflow-wrap:anywhere}.series-card details>summary{cursor:pointer;list-style:none}.series-card details>summary::-webkit-details-marker{display:none}.series-card .link-like{color:var(--accent-strong);font-weight:600;white-space:nowrap}.series-card details>.series-missing{margin-top:8px}.series-total form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:8px}.series-total input[type=number]{width:110px}.series-have form{margin-top:10px}.series-have .choices label{font-size:.85rem;padding:4px 12px 4px 8px}.series-have button{align-self:flex-start}.series-proposals input[type=number],.series-proposals input[type=text]{min-width:0}.series-proposals .volume-input{width:76px;flex:0 0 76px}.series-proposals .row{flex-wrap:nowrap}.series-proposals .row>input:first-child{flex:1 1 auto}.edit-book>summary{cursor:pointer;font-weight:600}.edit-book[open]>summary{margin-bottom:16px}.prefixed{display:flex;align-items:center;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding-left:14px;transition:box-shadow .2s}.prefixed:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.prefixed .prefix{font-weight:600;font-size:16px;color:var(--muted)}.prefixed input,.prefixed input:focus{border:0;box-shadow:none;background-color:transparent;padding-left:6px}.icon-btn{position:relative}.icon-btn .count{position:absolute;top:-2px;right:-4px}.kind-choice{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0}.kind-choice label{flex-direction:row;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--fg);cursor:pointer;font-size:.95rem}.kind-choice label:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.kind-choice input{width:18px;height:18px;min-height:0;padding:0;margin:0;accent-color:var(--accent);box-shadow:none;flex:none}.feedback-form>button{align-self:flex-start}.feedback-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:0;gap:0}.feedback-list>li{display:flex;flex-direction:column;gap:8px;padding:16px 0;border-top:1px solid var(--line)}.feedback-list>li:first-child{border-top:0;padding-top:4px}.feedback-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.feedback-meta .pill{align-self:center}.feedback-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.mail-log>li{gap:4px;padding:12px 0}.mail-log .mail-subject,.mail-log .small{overflow-wrap:anywhere}.mail-log .mail-subject{font-weight:600}.feedback-response{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 12px 12px 0;padding:10px 14px;display:flex;flex-direction:column;gap:4px}.pill.muted-pill{background:var(--surface-2);color:var(--muted)}.appearance{position:relative}.appearance summary{list-style:none}.appearance summary,.icon-btn.theme-btn{color:var(--accent);background:var(--accent-soft)}.appearance summary:hover,.icon-btn.theme-btn:hover,.icon-btn.theme-btn[aria-current=page]{color:var(--accent-strong)}.appearance summary::-webkit-details-marker{display:none}.appearance[open] summary{background:var(--accent-soft);color:var(--accent-strong)}.appearance-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:max-content;max-width:calc(100vw - 32px);display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:18px;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-lift)}.appearance-pop .label{margin:0}.appearance-modes{align-self:stretch;display:grid;grid-template-columns:repeat(3,1fr)}.appearance-modes button{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px}.swatches{display:flex;gap:10px}.swatch{width:34px;height:34px;min-height:0;padding:3px;border-radius:50%;border:2px solid transparent;background:none;box-shadow:none;cursor:pointer}.swatch span{display:block;width:100%;height:100%;border-radius:50%;background:var(--accent)}.swatch:hover{border-color:var(--line-strong);background:none}.swatch[aria-pressed=true]{border-color:var(--accent)}.auth-corner{position:absolute;top:max(12px,env(safe-area-inset-top));right:12px;z-index:5}.isbn{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.01em;-webkit-user-select:all;-moz-user-select:all;user-select:all}@media (max-width:560px){.appearance-pop{position:fixed;top:auto;left:16px;right:16px;width:auto;max-width:none;margin-top:8px}.appearance-modes button{padding:6px 8px}.swatches{justify-content:space-between}}.auto-select select{max-width:100%}.elsewhere{margin:0 0 14px;color:var(--muted)}.elsewhere a{font-weight:600}.segmented.loan-tabs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;max-width:560px;margin-bottom:24px;border-radius:16px}.loan-tabs a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 10px;border-radius:13px;color:var(--muted);font-weight:600;text-decoration:none;white-space:nowrap}.loan-tabs a:hover{background:var(--surface-2);color:var(--fg)}.loan-tabs a[aria-current=page]{background:var(--accent-soft);color:var(--accent-strong)}.loan-tab-n{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500;opacity:.75}.slip.asked{box-shadow:inset 0 0 0 1.5px var(--accent),var(--shadow)}.meetings{gap:10px}.meeting,.meetings{display:flex;flex-direction:column}.meeting{gap:6px;padding:12px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line)}.meeting-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}.meeting-when{font-weight:650}.meeting-when:first-letter{text-transform:uppercase}.meeting-place{display:inline-flex;align-items:flex-start;gap:4px;overflow-wrap:anywhere}.meeting-place svg{flex:none;margin-top:2px}.meeting-actions{gap:8px}.meeting-actions .btn{display:inline-flex;align-items:center;gap:6px}.meeting-map>summary,.meeting-propose>summary{cursor:pointer;font-weight:600;color:var(--accent);font-size:.9rem}.meeting-map iframe{display:block;width:100%;height:220px;margin-top:8px;border:0;border-radius:var(--radius-sm)}.meeting-propose[open]>summary{margin-bottom:8px}.loan-tabs .short-label{display:none}@media (max-width:420px){.loan-tabs a{font-size:.9rem;gap:6px;padding:8px 6px}.loan-tabs .wide-label{display:none}.loan-tabs .short-label{display:inline}}.place-field{position:relative;display:block}.place-suggestions{scroll-margin-bottom:96px;position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow-lift)}.place-suggestions [role=option]{padding:10px 12px;font-size:.9rem;font-weight:400;color:var(--fg);cursor:pointer}.place-suggestions [role=option]+[role=option]{border-top:1px solid var(--line)}.place-suggestions .active,.place-suggestions [role=option]:hover{background:var(--accent-soft)}.push-icon{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--surface);color:var(--accent)}button.push-on{align-self:flex-start}.push-msg{margin:0}.books.linked .book{position:relative}.books.linked .book-title:after{content:"";position:absolute;inset:0}.books.linked .book-title:focus-visible{outline:none}.books.linked .book:has(.book-title:focus-visible){outline:2px solid var(--accent);outline-offset:-2px}.books.linked.liste{grid-template-columns:1fr;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.books.linked.liste .book{grid-template-columns:38px 1fr;gap:14px;align-items:center;padding:10px 14px;border:0;border-radius:0;box-shadow:none;background:none;transform:none}.books.linked.liste .book+.book{border-top:1px solid var(--line)}.books.linked.liste .book:hover{background:var(--surface-2);box-shadow:none;transform:none}.books.linked.liste .cover,.books.linked.liste .spine{width:38px;height:54px;font-size:.75rem;box-shadow:0 3px 8px rgb(0 0 0/.16)}.books.linked.liste .book-body{gap:2px}.books.linked.liste .book-title{font-size:.98rem}.books.linked.liste .book-body{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:8px}.books.linked.liste .book-title{flex-basis:100%}.books.linked.liste .book-body>.muted{flex:1 1 90px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.books.linked.liste .book-body>.pill{flex:none;align-self:center}.books.linked.liste .isbn{display:none}.books.linked.liste .book-note{flex-basis:100%}.book-note{color:var(--accent-strong)}.books.linked.liste .pill{font-size:.72rem;padding:2px 8px}.series-pile{min-width:0}.series-pile:has(>details[open]){grid-column:1/-1}.series-pile>details>summary{list-style:none;cursor:pointer;position:relative}.series-pile>details>summary::-webkit-details-marker{display:none}.series-pile>details>summary.book{box-shadow:5px 5px 0 -1px var(--surface),5px 5px 0 0 var(--line),var(--shadow)}.series-pile>details>summary .book-body:after{content:"Voir les tomes ▾";font-size:.8rem;font-weight:600;color:var(--accent-strong)}.series-pile>details[open]>summary .book-body:after{content:"Refermer ▴"}.series-pile.copies-pile>details:not([open])>summary .book-body:after{content:"Voir les exemplaires ▾"}.series-pile>details>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.series-pile .pile-count{font-family:var(--font);font-size:.78rem;font-weight:600;letter-spacing:0;color:var(--muted);white-space:nowrap}.series-pile>details>ul{margin-top:12px}.series-pile>details[open]{border-left:4px solid var(--accent);background:var(--accent-soft);padding-bottom:10px;border-radius:var(--radius)}.series-pile>details[open]>summary.book{background:none;box-shadow:none;border-color:transparent}.series-pile>details[open]>ul{margin:0 10px 0 16px}.books.linked>.series-pile+li,.books.linked>li+.series-pile{border-top:1px solid var(--line)}.books.linked.liste .series-pile>details>summary.book,.series-pile .books.linked.liste{box-shadow:none}.series-pile .books.linked.liste{margin:0 10px 0 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.view-switch{margin-left:auto}.view-switch button{min-height:30px;padding:4px 14px;font-size:.85rem}@media (max-width:760px){.books.linked{grid-template-columns:1fr;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.books.linked .book{grid-template-columns:38px 1fr;gap:14px;align-items:center;padding:10px 14px;border:0;border-radius:0;box-shadow:none;background:none;transform:none}.books.linked .book+.book{border-top:1px solid var(--line)}.books.linked .book:hover{background:var(--surface-2);box-shadow:none;transform:none}.books.linked .cover,.books.linked .spine{width:38px;height:54px;font-size:.75rem;box-shadow:0 3px 8px rgb(0 0 0/.16)}.books.linked .book-body{gap:2px}.books.linked .book-title{font-size:.98rem}.books.linked .book-body{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:8px}.books.linked .book-title{flex-basis:100%}.books.linked .book-body>.muted{flex:1 1 90px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.books.linked .book-body>.pill{flex:none;align-self:center}.books.linked .isbn{display:none}.books.linked .pill{font-size:.72rem;padding:2px 8px}.books.linked .series-pile>details>summary.book{box-shadow:none}.books.linked .series-pile .books.linked{margin:0 10px 0 16px;border:1px solid var(--line);border-radius:12px;box-shadow:none;background:var(--surface)}.books.linked .series-pile>details[open]{border-radius:0}.books.linked .series-pile>details>summary .book-body:after{flex-basis:100%}.view-head,.view-switch{display:none}}.book-hero details.lend>summary{list-style:none;align-self:flex-start}.book-hero details.lend>summary::-webkit-details-marker{display:none}.book-hero details.lend :is(form,.lend-box){margin-top:10px;padding:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);gap:8px}.book-hero details.lend form :is(input,select){background-color:var(--surface)}.remove-book>summary{cursor:pointer;font-weight:600;color:var(--late)}.remove-book[open]>summary{margin-bottom:12px}.missing-at-friend{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.missing-at-friend button{min-height:28px;padding:3px 12px}.family-page{gap:12px}.fold>summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}.fold>summary h2{margin:0;font-size:1.15rem}.fold>summary:after{content:"▾";margin-left:auto;color:var(--muted)}.fold[open]>summary:after{content:"▴"}.fold>summary>.muted{flex:1 1 100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;order:3}.fold[open]>summary{margin-bottom:16px}.fold .btn,.sub-fold>summary.btn{align-self:flex-start}.sub-fold>summary{cursor:pointer;list-style:none}.sub-fold>summary::-webkit-details-marker{display:none}.sub-fold[open]>summary{margin-bottom:10px}.places-admin{display:flex;flex-direction:column;gap:8px}.remove-friend>summary{cursor:pointer;color:var(--late);list-style:none}.remove-friend>summary::-webkit-details-marker{display:none}.remove-friend[open]>summary{display:none}.friend-boxes{flex-basis:100%;display:grid;grid-template-columns:auto 1fr;align-items:start;grid-column-gap:8px;column-gap:8px;padding-left:50px}.friend-boxes>.small{min-height:34px;display:flex;align-items:center}.friend-boxes .chips{display:flex;flex-wrap:wrap;gap:6px}.check-chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:4px 12px 4px 8px;border-radius:999px;font-weight:600;font-size:.85rem;color:var(--muted)}.check-chip .box{width:18px;height:18px;flex:none;display:inline-grid;place-items:center;border-radius:5px;border:1.5px solid var(--line-strong);font-size:.75rem;line-height:1}.check-chip[aria-pressed=true]{color:var(--fg);border-color:color-mix(in oklch,var(--accent) 45%,var(--line-strong))}.check-chip[aria-pressed=true] .box{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.me-menu,.me-menu>summary{position:relative}.me-menu>summary{list-style:none;display:grid;place-items:center;width:40px;height:40px;border-radius:999px;cursor:pointer}.me-menu>summary::-webkit-details-marker{display:none}.me-menu>summary .count{position:absolute;top:-2px;right:-4px}.me-avatar{width:36px;height:36px;font-size:.95rem;background:var(--accent-soft);color:var(--accent-strong);font-weight:700}.me-menu>summary:hover .me-avatar,.me-menu[open] .me-avatar{background:var(--accent);color:var(--accent-fg)}.me-panel{position:absolute;z-index:40;right:0;top:calc(100% + 8px);width:min(300px,calc(100vw - 24px));padding:8px;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lift)}.me-panel,.me-who{display:flex;flex-direction:column}.me-who{padding:8px 12px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}.me-panel nav{display:flex;flex-direction:column;gap:2px}.me-panel form{margin:4px 0 0;padding-top:4px;border-top:1px solid var(--line)}.menu-item{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:8px 12px;border:0;border-radius:12px;background:none;box-shadow:none;color:var(--fg);font-weight:600;font-size:.95rem;text-align:left;justify-content:flex-start}.menu-item svg{flex:none;color:var(--accent)}.menu-item:hover,.menu-item[aria-current=page]{background:var(--accent-soft);text-decoration:none;color:var(--accent-strong)}.menu-item .count{margin-left:auto}.me-spaces{padding-bottom:4px;margin-bottom:4px;border-bottom:1px solid var(--line)}.me-group{padding:2px 12px;color:var(--muted);font-size:.8rem;font-weight:600}.legal-page{min-height:100vh;position:relative}.legal-head{display:flex;align-items:center;gap:14px;padding-top:16px;padding-bottom:0}.legal-head .legal-theme{margin-left:auto}.legal{max-width:760px}.legal ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.legal p{margin:0}.places-admin details{border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:var(--surface)}.places-admin details>summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}.places-admin .room-group{margin:8px 0 0 12px}.place-edit{display:flex;flex-direction:column;gap:8px;margin-top:10px;min-width:0}.place-edit .row>label{flex:1 1 160px;min-width:0;display:flex;flex-direction:column}.place-edit input,.place-edit select{width:100%;min-width:0}.warn-text{color:var(--warn,#9a5b00);margin:0}.series-pile .pile-link{margin:4px 12px 8px}.series-edit>summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}.series-edit label{display:flex;flex-direction:column;min-width:0}.series-edit input,.series-edit select{width:100%;min-width:0}.side-panel-backdrop{position:fixed;inset:0;z-index:60;background:rgb(0 0 0/.35);display:flex;justify-content:flex-end;animation:panel-fade .18s ease-out}.side-panel{width:min(560px,100%);height:100%;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);box-shadow:-8px 0 32px rgb(0 0 0/.18);padding:0 16px calc(24px + env(safe-area-inset-bottom));outline:none;animation:panel-in .22s ease-out}.side-panel-bar{position:-webkit-sticky;position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 0 10px;background:var(--bg);border-bottom:1px solid var(--line);margin-bottom:12px}.side-panel-body{display:flex;flex-direction:column;gap:16px;min-width:0}.side-panel .notice{margin-bottom:12px}html.panel-open{overflow:hidden}@keyframes panel-in{0%{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}@keyframes panel-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.side-panel,.side-panel-backdrop{animation:none}}.library-switch{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.library-switch .chip{flex:0 1 auto;min-height:36px;display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);font-weight:560;text-decoration:none;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.library-switch .chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}@media (max-width:760px){.library-switch{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;margin:-4px -16px 8px;padding:4px 16px}.library-switch::-webkit-scrollbar{display:none}.library-switch>*{flex:none}.library-switch .chip{flex:none;max-width:none}.library-switch:has(>.add-person[open]){flex-wrap:wrap;overflow:visible}}@media (max-width:760px){.title-main{margin-bottom:14px}.toolbar{margin-bottom:16px}}.books.linked .book-actions{position:relative;z-index:1}.space-menu{position:relative;min-width:0}.space-menu>summary{list-style:none;cursor:pointer}.space-menu>summary::-webkit-details-marker{display:none}.space-menu>summary strong{display:inline-flex;align-items:center;gap:4px}.space-menu>summary strong svg{flex:none;color:var(--muted);transition:transform .2s}.space-menu>summary strong .count{color:#fff;font-family:var(--font);font-size:.7rem;letter-spacing:0;overflow:visible}.space-menu[open]>summary strong svg{transform:rotate(180deg)}.space-panel{position:absolute;z-index:40;left:0;top:calc(100% + 10px);width:min(300px,calc(100vw - 80px));padding:8px;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lift)}.space-name,.space-panel{display:flex;flex-direction:column}.space-name{line-height:1.25;min-width:0}.space-name .small{font-weight:500}.me-spaces .menu-item>svg:last-child,.space-panel .menu-item>svg:last-child{margin-left:auto}.me-spaces .menu-item>.count+svg:last-child,.space-panel .menu-item>.count+svg:last-child{margin-left:8px}.me-spaces .menu-item>.count:last-child,.space-panel .menu-item>.count:last-child{margin-right:26px}.owner-switch .chip{gap:4px}.add-person>summary{list-style:none;cursor:pointer}.add-person>summary::-webkit-details-marker{display:none}.add-person[open]{flex-basis:100%}.add-person[open]>summary{background:var(--surface-2)}.add-person form{margin-top:10px}.row>label.year-field{flex:0 1 200px}.fold{min-width:0}.fold>summary{cursor:pointer;list-style:none;color:var(--accent-strong);font-weight:600}.fold>summary::-webkit-details-marker{display:none}.fold[open]{flex-basis:100%;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm)}.fold[open]>summary{margin-bottom:10px}.tiles{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:14px;gap:14px}@media (max-width:560px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 8px}}.tile{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0}.tile-photo{width:100%;aspect-ratio:1;object-fit:cover;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);color:var(--muted)}@media (hover:hover){.tile:hover .tile-photo{box-shadow:var(--shadow-lift)}}.tile-badge{position:absolute;top:6px;left:6px;max-width:calc(100% - 12px);padding:1px 8px;border-radius:999px;background:var(--glass-strong);color:var(--fg);font-size:.75rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:var(--shadow)}.tile-title{color:var(--fg);font-weight:650;font-size:.88rem;line-height:1.25;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tile-title:after{content:"";position:absolute;inset:0}.tile-title:focus-visible{outline:none}.tile:has(.tile-title:focus-visible) .tile-photo{outline:3px solid color-mix(in oklch,var(--accent) 50%,transparent);outline-offset:2px}.tile-meta{color:var(--muted);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-items{align-items:flex-start}.empty-items p{margin:0}.first-steps{margin-bottom:24px}.first-steps-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin-bottom:16px}.first-steps-head h2{margin:0}.first-steps ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px}.first-steps li{display:flex;gap:12px;align-items:flex-start}.first-steps li .grow{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.first-steps li p{margin:0}.step-mark{flex:none;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-weight:700;font-size:.85rem;line-height:1}.first-steps li.done .step-mark{background:var(--accent);color:var(--accent-fg)}.first-steps li.done strong{color:var(--muted);font-weight:600;text-decoration:line-through}.first-steps .share-url{display:none}.first-steps-hide{display:flex;justify-content:flex-end;margin-top:12px}.item-thumb{--thumb:148px;position:relative;display:flex;flex-direction:column;gap:6px;width:var(--thumb)}.item-thumb>a{display:block;border-radius:var(--radius-sm)}.item-thumb img,.item-thumb-empty{width:var(--thumb);height:var(--thumb);object-fit:cover;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);color:var(--muted)}@media (max-width:480px){.item-thumb{--thumb:104px}}.photo-change{position:absolute;top:calc(var(--thumb) - 46px);right:6px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--glass-strong);color:var(--fg);border:1px solid var(--line);box-shadow:var(--shadow);cursor:pointer}.photo-change.empty{top:0;right:auto;left:0;width:var(--thumb);height:var(--thumb);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px;border-radius:var(--radius-sm);border:1.5px dashed var(--line-strong);background:var(--surface-2);box-shadow:none;color:var(--accent-strong);font-size:.8rem;font-weight:650;line-height:1.2;text-align:center}.photo-change input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.photo-change.disabled{opacity:.6;pointer-events:none}.photo-change:has(input:focus-visible){outline:3px solid color-mix(in oklch,var(--accent) 50%,transparent);outline-offset:2px}.item-thumb .error{margin:0;font-size:.8rem}.item-facts{margin:0;display:grid;grid-template-columns:max-content minmax(0,1fr);grid-gap:10px 18px;gap:10px 18px}.item-facts div{display:contents}.item-facts dt{color:var(--muted);font-size:.875rem}.item-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}.share-choice{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.share-choice .segmented button{padding:6px 14px}@media (max-width:480px){.book-page .panel{padding:18px 16px}.book-main-actions{gap:8px}.book-main-actions :is(.btn,button){padding-inline:14px}}.tile-state{align-self:flex-start;max-width:100%;font-size:.72rem;padding:2px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entries{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.entry{display:grid;grid-template-columns:76px minmax(0,1fr);grid-gap:12px;gap:12px;padding:10px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface)}.entry.done{opacity:.7}.entry-photo{width:76px;height:76px;object-fit:cover;border-radius:10px;background:var(--surface-2)}.entry-body{display:flex;flex-direction:column;gap:6px;min-width:0}.entry-body input,.entry-body select{min-height:38px;padding:6px 10px;font-size:16px}.entry-body select{padding-right:30px;background-position:right 10px center}.entry-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:6px;gap:6px}.entry-fields .wide{grid-column:1/-1}.entry-title{font-weight:650;overflow-wrap:anywhere}.entry-status{gap:4px;min-height:1.3em}.entry-actions,.entry-status{display:flex;align-items:center}.entry-actions{flex-wrap:wrap;gap:6px}.entry-actions .btn,.entry-actions button{min-height:34px;padding:5px 12px;font-size:.85rem}.save-all{align-self:flex-start}@media (max-width:760px){.save-all{position:-webkit-sticky;position:sticky;bottom:calc(88px + env(safe-area-inset-bottom));z-index:5;align-self:stretch;box-shadow:var(--shadow-lift)}}.shutter-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:12px;gap:12px;padding-bottom:4px}.shutter{width:74px;height:74px;min-height:0;padding:0;border-radius:50%;border:4px solid #fff;background:oklch(100% 0 0/.85);box-shadow:0 0 0 4px oklch(0 0 0/.35)}.shutter:hover{background:#fff;border-color:#fff}.shutter:active{transform:scale(.92)}.shutter-last{width:52px;height:52px;border-radius:10px;object-fit:cover;justify-self:center}img.shutter-last{border:2px solid #fff}.shot-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;animation:shot-flash .3s ease-out}@keyframes shot-flash{0%{opacity:.8}to{opacity:0}}@media (prefers-reduced-motion:reduce){.shot-flash{animation:none}}.lots{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-gap:12px;gap:12px}.lot{display:flex;flex-direction:column;gap:12px;padding:16px}.lot-head{display:flex;align-items:center;gap:14px;min-width:0}.lot-head h2{font-size:1.1rem;overflow-wrap:anywhere}.lot-head p{margin:2px 0 0}.lot-head .grow{min-width:0}.lot-number{flex:none;width:52px;height:52px;display:grid;place-items:center;border-radius:12px;background:var(--accent-soft);color:var(--accent-strong);font-family:var(--font-display);font-size:1.35rem;font-weight:700}.lot-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.lot-actions .btn{min-height:34px;padding:5px 14px;font-size:.85rem}.lot-delete{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.add-lot>summary{list-style:none}.add-lot>summary::-webkit-details-marker{display:none}.add-lot:not([open]){padding:0;border:0;background:none;box-shadow:none}.add-lot[open]>summary{margin-bottom:14px}.row>label.lot-number-field{flex:0 1 120px}