@charset "UTF-8";:root{color-scheme:light;--ab-bg: #f4eee2;--ab-surface: #fbf8f1;--ab-border: #e0d5c1;--ab-text: #2a2118;--ab-muted: #7b6d5d;--ab-accent: #8f2d22;--ab-on-accent: #fbf8f1;--media-line: #d9cdb7;--media-faint: #a89a87;--media-star: #c4861a;--media-ok: #4d7a3c;--media-ok-bg: #e6eedb;--media-danger: #a3321f;--media-danger-bg: #f6e1da;--media-book: #8f2d22;--media-film: #1f6b68;--media-series: #a66f0c;--radius: 6px;--shadow-sm: 0 1px 2px rgb(60 40 20 / 8%);--shadow-book: 0 1px 1px rgb(60 40 20 / 12%), 0 6px 14px -4px rgb(60 40 20 / 28%);--shadow-lift: 0 2px 2px rgb(60 40 20 / 12%), 0 14px 26px -8px rgb(60 40 20 / 35%);--font-serif: "Fraunces", "Iowan Old Style", Georgia, serif;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--selection: #ecd6c4;--wash: rgb(120 90 50 / 8%);--grain: rgb(120 90 50 / 2.5%);--paper-glow: #fbf6ec}:root[data-theme=dark]{color-scheme:dark;--ab-bg: #1a1511;--ab-surface: #231c17;--ab-border: #3a2f26;--ab-text: #efe6d6;--ab-muted: #a8998a;--ab-accent: #e07a68;--ab-on-accent: #1a1511;--media-line: #33291f;--media-faint: #7a6c5d;--media-star: #e0a83a;--media-ok: #93c278;--media-ok-bg: #25301d;--media-danger: #ec7b62;--media-danger-bg: #3a1d17;--media-book: #e07a68;--media-film: #57b8b1;--media-series: #dba543;--shadow-sm: 0 1px 2px rgb(0 0 0 / 30%);--shadow-book: 0 1px 1px rgb(0 0 0 / 35%), 0 6px 14px -4px rgb(0 0 0 / 55%);--shadow-lift: 0 2px 2px rgb(0 0 0 / 35%), 0 14px 26px -8px rgb(0 0 0 / 65%);--selection: #5a2c24;--wash: rgb(255 230 200 / 7%);--grain: rgb(255 240 220 / 2%);--paper-glow: #261e18}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ab-bg: #1a1511;--ab-surface: #231c17;--ab-border: #3a2f26;--ab-text: #efe6d6;--ab-muted: #a8998a;--ab-accent: #e07a68;--ab-on-accent: #1a1511;--media-line: #33291f;--media-faint: #7a6c5d;--media-star: #e0a83a;--media-ok: #93c278;--media-ok-bg: #25301d;--media-danger: #ec7b62;--media-danger-bg: #3a1d17;--media-book: #e07a68;--media-film: #57b8b1;--media-series: #dba543;--shadow-sm: 0 1px 2px rgb(0 0 0 / 30%);--shadow-book: 0 1px 1px rgb(0 0 0 / 35%), 0 6px 14px -4px rgb(0 0 0 / 55%);--shadow-lift: 0 2px 2px rgb(0 0 0 / 35%), 0 14px 26px -8px rgb(0 0 0 / 65%);--selection: #5a2c24;--wash: rgb(255 230 200 / 7%);--grain: rgb(255 240 220 / 2%);--paper-glow: #261e18}}[data-type]{--type: var(--ab-accent)}[data-type=book]{--type: var(--media-book)}[data-type=film]{--type: var(--media-film)}[data-type=series]{--type: var(--media-series)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font-sans);font-size:15px;line-height:1.5;color:var(--ab-text);background:repeating-linear-gradient(0deg,var(--grain) 0 1px,transparent 1px 4px),radial-gradient(70rem 40rem at 10% -10%,var(--paper-glow),transparent 70%),var(--ab-bg);-webkit-font-smoothing:antialiased}ab-root{display:flex;flex-direction:column;min-height:100vh}ab-header{position:sticky;top:0;z-index:10}ab-header header{box-shadow:var(--shadow-sm)}ab-header .title{font-family:var(--font-serif);font-size:1.2rem;font-weight:600!important;letter-spacing:-.01em}ab-header .links a{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .1rem;border-bottom:2px solid transparent;color:var(--ab-muted);text-decoration:none}ab-header .links a:hover{color:var(--ab-text)}ab-header .links a.active{border-color:var(--ab-accent);color:var(--ab-text);font-weight:600}a{color:var(--ab-accent);text-underline-offset:3px}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--selection)}:focus-visible{outline:2px solid var(--ab-accent);outline-offset:2px}.page{flex:1;width:min(68rem,100%);margin:0 auto;padding:2.5rem 1rem 3rem}.credit{max-width:48rem;margin:0 auto;padding:1.5rem 1rem 2rem;border-top:1px solid var(--ab-border);color:var(--media-faint);font-size:.75rem;text-align:center}.credit a{color:var(--ab-muted)}h1.display{margin:0;font-family:var(--font-serif);font-size:clamp(1.9rem,5vw,2.6rem);font-weight:600;line-height:1.1;letter-spacing:-.02em;font-variation-settings:"opsz" 96}.section-title{margin:0 0 .85rem;font-family:var(--font-serif);font-size:1.15rem;font-weight:600}.section-title small{margin-left:.4rem;color:var(--ab-muted);font-family:var(--font-sans);font-size:.8rem;font-weight:600}.muted{color:var(--ab-muted)}.error{color:var(--media-danger);font-weight:600}.label{display:block;margin:0 0 .3rem;color:var(--ab-muted);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .6rem;border:1px solid var(--ab-border);border-radius:999px;background:var(--ab-surface);color:var(--ab-muted);font-size:.75rem;font-weight:600;white-space:nowrap}.pill.type{border-color:color-mix(in srgb,var(--type) 35%,transparent);color:var(--type);letter-spacing:.06em;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;height:2.4rem;padding:0 1rem;border:1px solid var(--ab-accent);border-radius:var(--radius);background:var(--ab-accent);color:var(--ab-on-accent);font-size:.9rem;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s,border-color .15s,filter .15s}.btn:hover:not(:disabled){filter:brightness(1.12)}.btn:disabled{opacity:.5;cursor:default}.btn.soft{border-color:var(--ab-border);background:var(--ab-surface);color:var(--ab-text)}.btn.soft:hover:not(:disabled){border-color:var(--media-faint);filter:none}.btn.ghost{border-color:transparent;background:transparent;color:var(--ab-muted)}.btn.ghost:hover:not(:disabled){background:var(--wash);color:var(--ab-text);filter:none}.btn.danger{border-color:var(--ab-border);background:var(--ab-surface);color:var(--media-danger)}.btn.danger:hover:not(:disabled){border-color:var(--media-danger);background:var(--media-danger-bg);filter:none}.btn.small{height:1.85rem;padding:0 .7rem;font-size:.8rem}@media(max-width:640px){.btn.small{height:2.5rem;padding:0 .9rem}}.chips{display:flex;flex-wrap:wrap;gap:.45rem}.chip{--type: var(--ab-accent);display:inline-flex;align-items:center;gap:.4rem;height:2.1rem;padding:0 .85rem;border:1px solid var(--ab-border);border-radius:999px;background:var(--ab-surface);color:var(--ab-muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:border-color .15s,background-color .15s,color .15s}.chip[data-type=book]{--type: var(--media-book)}.chip[data-type=film]{--type: var(--media-film)}.chip[data-type=series]{--type: var(--media-series)}.chip:hover:not(:disabled){border-color:var(--media-faint);color:var(--ab-text)}.chip.on{border-color:var(--type);background:var(--type);color:var(--ab-on-accent)}.chip:disabled{opacity:.6;cursor:default}.field{width:100%;padding:.55rem .75rem;border:1px solid var(--ab-border);border-radius:var(--radius);background:var(--ab-surface);color:var(--ab-text);font-size:.9rem;outline:none;transition:border-color .15s,box-shadow .15s}@media(max-width:640px){.field{font-size:16px}}.field:focus{border-color:var(--ab-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ab-accent) 14%,transparent)}.field::placeholder{color:var(--media-faint)}textarea.field{min-height:6rem;resize:vertical;font-family:var(--font-serif);font-size:1rem;line-height:1.55}.panel,.surface{padding:1.25rem;border:1px solid var(--ab-border);border-radius:var(--radius);background:var(--ab-surface);box-shadow:var(--shadow-sm)}.ring{--c: hsl(var(--h, 20) 55% 38%);flex:none;display:grid;place-items:center;width:3rem;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,var(--ab-surface) 78%,transparent 80%),conic-gradient(var(--c) calc(var(--p) * 1%),var(--media-line) 0)}.ring span{color:var(--c);font-size:.72rem;font-weight:700}.poster{position:relative;display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:2/3;padding:.7rem;overflow:hidden;border-radius:3px 6px 6px 3px;background:linear-gradient(90deg,rgba(0,0,0,.18) 0 3px,rgba(255,255,255,.12) 3px 5px,transparent 5px),linear-gradient(165deg,hsl(var(--h),38%,58%),hsl(var(--h),42%,30%));box-shadow:var(--shadow-book);color:#fbf8f1;text-decoration:none;transition:box-shadow .2s,transform .2s}.poster>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.poster:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(30,20,10,.75) 8%,transparent 55%);pointer-events:none}.poster>:not(img){position:relative;z-index:1}.poster>.type-pill{position:absolute;top:.5rem;left:.5rem;display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--type);color:#fbf8f1;font-size:.8rem;box-shadow:0 1px 3px #00000040}.poster strong{font-family:var(--font-serif);font-size:.95rem;font-weight:600;line-height:1.2;overflow-wrap:anywhere}.poster .who{overflow:hidden;color:#fbf8f1cc;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}a.poster:hover{box-shadow:var(--shadow-lift);transform:translateY(-3px) rotate(-.4deg)}.library-page .head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--ab-border)}.library-page .search{flex:0 1 20rem}.library-page .types{margin-bottom:1rem}.library-page .filters{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.25rem}@media(max-width:760px){.library-page .filters{grid-template-columns:1fr 1fr}}.library-page .count{margin:0 0 1rem;font-size:.8rem;font-style:italic;font-family:var(--font-serif)}.library-page .empty{padding:2.5rem 0;text-align:center}.library-page .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:1.75rem 1.1rem}@media(max-width:400px){.library-page .grid{grid-template-columns:1fr 1fr}}.library-page .cell{display:flex;flex-direction:column;gap:.5rem;min-width:0}.library-page .meta{display:flex;align-items:center;gap:.5rem;padding:0 2px;font-size:.78rem;font-weight:600}.library-page .status{color:var(--ab-muted)}.library-page .status.in_progress{color:var(--media-ok)}.library-page .status.done{color:var(--ab-text)}.library-page .rating{display:inline-flex;align-items:center;gap:3px;color:var(--media-star)}.library-page .owned{width:8px;height:8px;margin-left:auto;border-radius:50%;background:var(--media-ok)}.add-page>header{margin-bottom:1.5rem}.add-page .types{margin-bottom:1rem}.add-page .search{display:flex;gap:.5rem;max-width:35rem}.add-page .source{margin:.5rem 0 1.25rem;font-size:.8rem}.add-page .results{display:grid;gap:.6rem;max-width:45rem;margin:0 0 1.5rem;padding:0;list-style:none}.add-page .results li{border:1px solid var(--ab-border);border-radius:var(--radius);background:var(--ab-surface);box-shadow:var(--shadow-sm)}.add-page .results li.open{border-color:var(--ab-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ab-accent) 12%,transparent)}.add-page .result{display:flex;align-items:center;gap:.9rem;width:100%;padding:.6rem 1rem .6rem .6rem;border:0;background:none;text-align:left;cursor:pointer}.add-page .result img,.add-page .result .noimg{flex:none;width:3rem;height:4.5rem;border-radius:2px 4px 4px 2px;object-fit:cover;background:var(--ab-bg);box-shadow:var(--shadow-book)}.add-page .result .noimg{display:grid;place-items:center;color:var(--media-faint);font-size:1.2rem}.add-page .result .text{display:flex;flex:1;flex-direction:column;min-width:0;line-height:1.3}.add-page .result strong{font-family:var(--font-serif);font-size:1.02rem;font-weight:600}.add-page .result .muted{font-size:.8rem}.add-page .confirm{display:grid;justify-items:start;gap:1rem;padding:.25rem 1rem 1rem}.add-page .options{display:grid;gap:.9rem}.add-page .manual-link{display:flex;align-items:center;gap:.6rem;color:var(--ab-muted);font-style:italic;font-family:var(--font-serif)}.add-page .manual{display:grid;gap:.9rem;max-width:35rem;margin-bottom:1.5rem;padding:1.25rem;border:1px solid var(--ab-border);border-radius:var(--radius);background:var(--ab-surface);box-shadow:var(--shadow-sm)}.add-page .manual .section-title{margin:0}.add-page .row{display:grid;grid-template-columns:1fr 7rem;gap:.75rem}.add-page .actions{display:flex;gap:.5rem}.add-page .back a{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;text-decoration:none}.entry-page .top{display:grid;grid-template-columns:13rem 1fr;align-items:start;gap:clamp(1.25rem,4vw,2.5rem);padding-bottom:2rem;border-bottom:1px solid var(--ab-border)}@media(max-width:640px){.entry-page .top{grid-template-columns:1fr}.entry-page .top .cover{width:10rem}}.entry-page .cover{width:100%}.entry-page .cover:after{display:none}.entry-page .info{min-width:0}.entry-page .info h1{margin:.7rem 0 .25rem;overflow-wrap:anywhere}.entry-page .original{margin:0 0 .4rem;font-family:var(--font-serif);font-style:italic}.entry-page .facts{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin:.4rem 0 .8rem;color:var(--ab-muted);font-weight:600}.entry-page .facts span+span:before{content:"\b7";margin-right:1rem;color:var(--media-faint)}.entry-page .genres{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.2rem}.entry-page .genres a{text-decoration:none}.entry-page .status{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.9rem}.entry-page .state{padding:.3rem .8rem;border-radius:999px;background:var(--wash);color:var(--ab-muted);font-size:.85rem;font-weight:600}.entry-page .state.in_progress{background:var(--media-ok-bg);color:var(--media-ok)}.entry-page .state.done{background:color-mix(in srgb,var(--type) 12%,transparent);color:var(--type)}.entry-page .state.dropped{background:var(--media-danger-bg);color:var(--media-danger)}.entry-page .state small{opacity:.7}.entry-page .buttons{display:flex;flex-wrap:wrap;gap:.5rem}.entry-page .hint{margin:.75rem 0 0;font-size:.85rem}.entry-page .synopsis{max-width:45rem;margin:1.75rem 0;font-family:var(--font-serif);font-size:1.05rem;line-height:1.65;white-space:pre-line}.entry-page .synopsis:first-letter{float:left;margin:.1rem .4rem 0 0;color:var(--ab-accent);font-size:3.1rem;font-weight:600;line-height:.85}.entry-page .panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1rem;margin-top:1.5rem}.entry-page .panel{min-width:0}.entry-page .panel.wide{grid-column:1/-1}.entry-page .panel label,.entry-page .panel .field{min-width:0}.entry-page .panel .section-title small{display:inline-flex;align-items:center;gap:3px;color:var(--media-ok)}.entry-page .small{margin:.6rem 0 0;font-size:.85rem}.entry-page .progress{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.entry-page .sessions{display:grid;gap:.6rem;margin:0 0 1rem;padding:0;list-style:none}.entry-page .sessions li{display:grid;grid-template-columns:1fr 1fr auto auto;align-items:end;gap:.6rem}@media(max-width:560px){.entry-page .sessions li{grid-template-columns:1fr 1fr}}.entry-page .sessions .when{padding-bottom:.6rem;font-size:.8rem;font-weight:600}.entry-page .new-session{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:.6rem;padding-top:1rem;border-top:1px dashed var(--ab-border)}@media(max-width:560px){.entry-page .new-session{grid-template-columns:1fr 1fr}.entry-page .new-session .btn{grid-column:1/-1}}.entry-page .remove{margin-top:2rem;text-align:center}
