:root{--bg:#f6f4ef;--surface:#fff;--surface-2:#efece5;--text:#1e1d1a;--muted:#6c6860;--line:#e2ded5;--accent:#2f5d50;--accent-text:#fff;--accent-soft:#e3ece8;--danger:#a83a2c;--warn:#9a6a00;--focus:#2f5d50;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000d;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#161614;--surface:#201f1c;--surface-2:#2a2925;--text:#ebe8e1;--muted:#a19c92;--line:#34322d;--accent:#7fb7a5;--accent-text:#0f1f1a;--accent-soft:#24352f;--danger:#e0806f;--warn:#d9ad4e;--focus:#7fb7a5;--shadow:0 1px 2px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif}a{color:var(--accent)}h1{letter-spacing:-.01em;margin:0 0 1rem;font-size:1.5rem}h2{margin:0;font-size:1.05rem}h3{margin:0;font-size:1rem}input,select,button{font:inherit;color:inherit}input,select{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0;padding:.55rem .7rem}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.hidden{display:none}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{letter-spacing:.08em;font-family:ui-monospace,SF Mono,Menlo,monospace}.error{color:var(--danger)}.loading{text-align:center;color:var(--muted);padding:3rem 1rem}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--text);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .95rem;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.ghost{background:0 0}.btn.ghost.danger{color:var(--danger);border-color:#0000}.btn.small{padding:.3rem .65rem;font-size:.85rem}.btn.wide{width:100%;margin-top:.5rem}.linkish{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0}.linkish:hover{color:var(--text)}.row{align-items:center;gap:.5rem;display:flex}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.row.end{justify-content:flex-end;margin-top:1rem}.row>input{flex:1}.nav{border-bottom:1px solid var(--line);background:var(--surface);z-index:5;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem max(16px,50vw - 600px);display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;color:var(--text);font-weight:700;text-decoration:none}.brand.big{margin-bottom:1.2rem;font-size:1.1rem}.nav-links{align-items:center;gap:1.1rem;display:flex;overflow-x:auto}.nav-links a{color:var(--muted);white-space:nowrap;text-decoration:none}.nav-links a.on,.nav-links a:hover{color:var(--text)}.nav-links a.on{font-weight:600}main{padding:1.2rem max(16px,50vw - 600px) 4rem}.page.narrow{max-width:640px;margin:0 auto}.page.center{padding-top:6vh}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1rem;padding:1.1rem 1.2rem}.card h2{margin-bottom:.7rem}.cards{margin:0 0 1rem;padding:0;list-style:none}.auth{padding:1.6rem}.field{flex-direction:column;gap:.3rem;margin-bottom:.9rem;display:flex}.field span{color:var(--muted);font-size:.85rem}.facts{grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:.8rem 0 0;font-size:.9rem;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.steps{margin:0 0 1rem;padding-left:1.2rem}.code-input{letter-spacing:.3em;max-width:11rem;font-family:ui-monospace,Menlo,monospace;font-size:1.3rem}.chips{flex-wrap:wrap;gap:.3rem;margin-top:.3rem;display:flex}.chip{background:var(--surface-2);color:var(--muted);border-radius:99px;padding:.1rem .5rem;font-size:.75rem}.chip.warn{color:var(--warn)}.chip.bad{color:var(--danger)}.seg{border:1px solid var(--line);border-radius:8px;margin-bottom:.5rem;display:inline-flex;overflow:hidden}.seg button{background:var(--surface);cursor:pointer;border:0;padding:.45rem .9rem}.seg button.on{background:var(--accent);color:var(--accent-text)}.link-box{background:var(--accent-soft);border-radius:8px;margin-top:.7rem;padding:.7rem}.copy{gap:.4rem;margin-top:.35rem;display:flex}.copy input{flex:1;font-family:ui-monospace,Menlo,monospace;font-size:.8rem}.columns{grid-template-columns:1fr 1fr;align-items:start;gap:1.2rem;display:grid}.col{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.col-archive{grid-column:1/-1}.col-head{border-bottom:1px solid var(--line);padding:.9rem 1rem .6rem}.col-title{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.col-title h2{margin-right:auto}.reader-name{color:var(--muted)}.meta{color:var(--muted);margin-top:.4rem;font-size:.82rem}.meter{vertical-align:middle;background:var(--surface-2);border-radius:3px;width:64px;height:6px;margin-right:.45rem;display:inline-block;overflow:hidden}.meter span{background:var(--accent);height:100%;display:block}.upload-row{align-items:center;gap:.5rem;margin-top:.5rem;font-size:.85rem;display:flex}.upload-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.upload-row .bar{background:var(--surface-2);border-radius:2px;width:120px;height:4px;overflow:hidden}.upload-row .bar span{background:var(--accent);height:100%;transition:width .2s;display:block}.upload-row .pct{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;min-width:5.5em}.col-shelf.dropping{outline:2px dashed var(--accent);outline-offset:-2px}.empty-reader{padding:1.2rem 1rem}.books{min-height:5.5rem;margin:0;padding:.4rem;list-style:none}.books:empty:before{content:attr(data-empty);text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:8px;padding:1.8rem 1rem;font-size:.9rem;display:block}.tile{touch-action:manipulation;border-radius:8px}.tile-btn{text-align:left;cursor:grab;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:8px;align-items:flex-start;gap:.8rem;width:100%;padding:.5rem;display:flex}.tile-btn:hover{background:var(--surface-2)}.tile.inactive .tile-btn{cursor:pointer}.tile.ghost{opacity:.35}.tile.chosen .tile-btn{background:var(--accent-soft)}.cover{object-fit:cover;background:var(--surface-2);border-radius:3px;flex:none;width:46px;height:68px;box-shadow:0 1px 3px #0003}.cover.gen{color:#ffffffeb;flex-direction:column;justify-content:space-between;padding:4px;display:flex;overflow:hidden}.gen-title{-webkit-line-clamp:5;-webkit-box-orient:vertical;font-size:7px;font-weight:700;line-height:1.15;display:-webkit-box;overflow:hidden}.gen-author{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:6px;overflow:hidden}.tile-text{flex-direction:column;flex:1;gap:.1rem;min-width:0;padding-top:.1rem;display:flex}.tile-title{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.tile-author{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.progress{align-items:center;gap:.45rem;margin-top:.25rem;display:flex}.progress .bar{background:var(--surface-2);border-radius:2px;flex:1;max-width:140px;height:4px;overflow:hidden}.progress .bar span{background:var(--accent);height:100%;display:block}.progress .pct{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.hint{margin-top:.2rem;font-size:.78rem}.hint.sync{color:var(--warn)}.hint.busy{color:var(--muted)}.hint.error{color:var(--danger)}.archive-toggle{cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;width:100%;padding:0;display:flex}.archive-toggle .count,.tabs .count{color:var(--muted);font-size:.85rem}.chev{margin-left:auto;transition:transform .15s}.col-archive.open .chev{transform:rotate(180deg)}.col-archive:not(.open) .archive-body{display:none}.col-archive:not(.open) .col-head{border-bottom:0}.tabs{display:none}@media (max-width:760px){main{padding-top:.8rem}.tabs{background:var(--surface-2);border-radius:10px;gap:.3rem;margin-bottom:.8rem;padding:.25rem;display:flex}.tabs button{cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;padding:.5rem .3rem;font-size:.9rem}.tabs button.on{background:var(--surface);box-shadow:var(--shadow);font-weight:600}.columns{display:block}.library[data-tab=reader] .col-shelf,.library[data-tab=reader] .col-archive,.library[data-tab=shelf] .col-reader,.library[data-tab=shelf] .col-archive,.library[data-tab=archive] .col-reader,.library[data-tab=archive] .col-shelf{display:none}.col-archive .archive-body{display:block!important}.archive-toggle{pointer-events:none}.chev{display:none}.nav-links{gap:.8rem;font-size:.9rem}}.sheet{background:var(--surface);color:var(--text);border:0;border-radius:14px;width:min(420px,100vw - 32px);padding:0;box-shadow:0 10px 40px #00000040}.sheet::backdrop{background:#00000059}.sheet-body{padding:1.1rem 1.2rem 1.2rem}.sheet-title{margin-bottom:.2rem;font-size:1.05rem}@media (max-width:760px){.sheet{width:100vw;max-width:100vw;padding-bottom:env(safe-area-inset-bottom);border-radius:16px 16px 0 0;margin:auto 0 0}}.menu{flex-direction:column;display:flex}.menu-item{text-align:left;border:0;border-top:1px solid var(--line);cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;padding:.8rem .2rem;display:flex}.menu-item:hover:not(:disabled){color:var(--accent)}.menu-item:disabled{color:var(--muted);cursor:default}.menu-item.danger{color:var(--danger)}.menu-note{color:var(--muted);font-size:.78rem}.toasts{z-index:50;flex-direction:column;gap:.4rem;width:min(440px,100vw - 32px);display:flex;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%)}.toast{background:var(--text);color:var(--bg);box-shadow:var(--shadow);border-radius:8px;padding:.65rem .9rem;font-size:.9rem}.toast.error{background:var(--danger);color:#fff}
