:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14110e;--panel:#1d1913;--line:#2c2620;--ink:#eee6da;--dim:#9a8f80;--mustard:#d99a2b;--strip:#3a332a;--plank:#1d1913;--plankhi:#41382c;--wood:#241b13;--woodhi:#2f2319;--wood1:#241708;--wood2:#150d05;--danger:#e0715f;--room1:#a8681a;--room2:#8b5513}:root[data-theme=sepia]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2e6d0;--panel:#eadac0;--line:#d2bfa0;--ink:#3a2f23;--dim:#8d7c64;--mustard:#a06b20;--strip:#8a6f4d;--plank:#cfb287;--plankhi:#e6d3ae;--wood:#cfb287;--woodhi:#e4cda4;--wood1:#e7d9bc;--wood2:#ddcdae;--danger:#a03a2a;--room1:#c9a06a;--room2:#a87f4e}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f4ef;--panel:#fff;--line:#e0dad0;--ink:#1f1c18;--dim:#7f766b;--mustard:#a8710a;--strip:#8d8373;--plank:#e0d8ca;--plankhi:#f1ebdf;--wood:#e7dfd0;--woodhi:#f3eddf;--wood1:#f1ece1;--wood2:#eae3d5;--danger:#b3261e;--room1:#d9c4a2;--room2:#c2a781}*{box-sizing:border-box}body{color:var(--ink);background:linear-gradient(115deg, #ffeebe00 26%, #ffeebe1a 36%, #ffeebe0d 54%, #ffeebe00 64%), radial-gradient(135% 115% at 50% 42%, #0000 58%, #00000052 100%), linear-gradient(180deg, #0000004d, #0000 26%), repeating-linear-gradient(90deg, #00000017 0 1px, #ffffff05 1px 2px, transparent 2px 6px, #0000000d 6px 7px, transparent 7px 13px, #0000000a 13px 14px, transparent 14px 22px), linear-gradient(180deg, var(--room1), var(--room2));-webkit-tap-highlight-color:transparent;background-attachment:fixed;margin:0;font:15px/1.5 system-ui,-apple-system,sans-serif}header{z-index:5;background:linear-gradient(180deg, color-mix(in srgb, var(--room1) 90%, #000 10%), color-mix(in srgb, var(--room2) 82%, #000 18%));border-bottom:1px solid #00000080;flex-wrap:wrap;align-items:center;gap:12px;padding:11px 16px;display:flex;position:sticky;top:0;box-shadow:0 6px 16px #00000059}.brand{letter-spacing:.3px;font-weight:700}.ui-icon{vertical-align:middle;flex-shrink:0;display:block}:is(.btn:has(>.ui-icon),.retry-cover,.ppub-btn,.panel-close,.c-nav-btn,.home-screen-close,.add){justify-content:center;align-items:center;gap:8px;display:flex}.ppub-btn .ui-icon{width:13px;height:13px}.c-nav-btn .ui-icon{width:16px;height:16px}.fab .ui-icon{width:28px;height:28px}.home-screen-step-icon .ui-icon{width:25px;height:25px}.brand-ico{object-fit:cover;border-radius:10px;flex:none;width:36px;height:36px;box-shadow:0 4px 12px #0006}.ico{background:var(--panel);width:38px;height:38px;color:var(--ink);cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;font-size:17px;display:flex;box-shadow:0 5px 14px #00000047,inset 0 1px #ffffff12}.ico.active{color:#24180a;background:var(--mustard);font-weight:700;box-shadow:0 6px 16px #00000057,inset 0 1px #ffffff47}.ico:active{background:var(--line)}.logout-btn{background:color-mix(in srgb, var(--danger) 16%, var(--panel));height:38px;color:var(--danger);font:inherit;cursor:pointer;border:0;border-radius:13px;align-items:center;gap:6px;padding:0 13px;font-size:13.5px;font-weight:600;display:inline-flex;box-shadow:0 5px 14px #00000047,inset 0 1px #ffffff12}.logout-btn:hover{filter:brightness(1.08)}@media (width<=520px){.logout-btn{padding:0 11px}.logout-lbl{display:none}}.grow{flex:1}.perrow{color:var(--ink);align-items:center;gap:10px;margin-left:6px;display:flex}.perrow-label{letter-spacing:.01em;font-size:14px;font-weight:700;line-height:1.2}.perrow-stepper{background:var(--panel);border-radius:14px;align-items:center;gap:4px;padding:3px;display:flex}.perrow-stepper button{background:var(--bg);width:34px;height:34px;color:var(--ink);cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;display:flex}.perrow-stepper button:disabled{opacity:.35}.perrow-stepper output{text-align:center;min-width:24px;font-size:14px;font-weight:700}.add{background:var(--mustard);color:#24180a;cursor:pointer;border:0;border-radius:50%;flex:none;width:40px;height:40px;margin-left:4px;font-size:21px;font-weight:700;line-height:1;box-shadow:0 6px 16px #00000059,inset 0 1px #ffffff4d}.fab{z-index:20;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));background:var(--mustard);color:#24180a;cursor:pointer;border:0;border-radius:50%;width:60px;height:60px;font-size:28px;font-weight:700;line-height:1;display:none;position:fixed;box-shadow:0 6px 20px #0009}main{padding:16px}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;display:grid}.tile{aspect-ratio:2/3;background:var(--strip);cursor:pointer;border-radius:0;align-items:flex-end;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0006}.tile .lbl{z-index:2;text-shadow:0 1px 2px #000;background:linear-gradient(#0000,#000c);width:100%;padding:9px 8px;font-size:12.5px;line-height:1.25;position:relative}.tile.gen{text-align:center;justify-content:center;align-items:center}.tile.gen .lbl{z-index:2;text-shadow:0 1px 3px #000;-webkit-line-clamp:5;background:0 0;-webkit-box-orient:vertical;padding:14px 12px;font-size:15px;font-weight:600;line-height:1.3;display:-webkit-box;position:relative;overflow:hidden}.tile .band{background:var(--strip);width:14%;position:absolute;top:0;bottom:0;left:0}.tile .rev{background:var(--mustard);z-index:3;height:4px;position:absolute;bottom:0;left:0;right:0}.tile .covbadge{z-index:4;border:1px solid var(--line);width:24px;height:24px;color:var(--mustard);text-align:center;cursor:pointer;background:#0009;border-radius:50%;font-size:14px;line-height:22px;position:absolute;top:6px;right:6px}.shelfview{background:0 0;flex-direction:column;gap:0;width:100%;display:flex;position:relative}@media (width>=900px){.shelfview{max-width:980px;margin:0 auto}.detail-panel .pane{justify-content:flex-start;padding:60px 0 24px}}.shelfrow{z-index:1;flex-wrap:nowrap;justify-content:flex-start;align-items:flex-end;gap:clamp(10px,3.6vw,18px);min-height:164px;padding:16px 14px 38px;display:flex;position:relative}.shelfrow .plank-top{z-index:2;background:repeating-linear-gradient(90deg,#0000000d 0 1px,#0000 1px 4px,#ffffff0f 4px 5px,#0000 5px 11px,#0000000a 11px 13px,#0000 13px 26px),linear-gradient(#b58a4e,#e3c48c);height:18px;position:absolute;bottom:30px;left:0;right:0}.shelfrow .plank-front{z-index:4;background:repeating-linear-gradient(#0000001a 0 1px,#ffffff0d 1px 2px,#0000 2px 5px,#0000000f 5px 6px,#0000 6px 11px),linear-gradient(#e8c98f 0 2px,#e3c48c 2px,#b58a4e);border-top:1px solid #ffebbed9;border-bottom:1px solid #2a1605;height:30px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 4px 8px #00000073,0 18px 22px #0000005c}.shelfrow .tile{z-index:3;width:clamp(92px,27.5vw,114px);box-shadow:inset 0 0 0 1px #0004,3px 0 8px #00000073,0 6px 14px #0000007a}.shelfrow .tile:after{content:"";z-index:5;background:linear-gradient(90deg,#0007,#0000);width:5px;position:absolute;top:0;bottom:0;left:0}.shelfrow .tile.gen{width:clamp(92px,27.5vw,114px)}@media (width>=900px){.shelfrow{justify-content:space-between;gap:8px;min-height:225px;padding:16px 16px 38px}.shelfrow .tile{width:150px}.shelfrow .tile.gen{width:130px}.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}}.btn.ghost.back{background:var(--panel);color:var(--ink);border:0}.btn.ghost.back:active{background:var(--line)}.coverbtn{width:min(36vw,330px);padding:11px 14px;font-size:14.5px}.bcover{aspect-ratio:2/3;border:1px solid var(--line);background-position:50%;background-size:cover;border-radius:0;flex:none;align-items:flex-end;width:min(36vw,330px);display:flex;overflow:hidden;box-shadow:0 12px 34px #0005}.bcover .lbl{text-align:center;text-shadow:0 1px 3px #000;background:linear-gradient(#0000,#000c);width:100%;padding:14px 12px;font-size:16px;font-weight:600;line-height:1.35}.bcover3d{box-shadow:none;border:0;position:relative}.cv-hint{text-align:center;max-width:min(36vw,330px);color:var(--ink);background:var(--panel);border-radius:10px;padding:8px 12px;font-size:13px;line-height:1.5}.bcover3d canvas{touch-action:pan-y;border-radius:inherit;width:100%;height:100%;display:block;position:absolute;inset:0}.burst3d{z-index:40;pointer-events:none;position:fixed;inset:0}.burst3d canvas{width:100%;height:100%;display:block}.split{justify-content:center;align-items:flex-start;gap:60px;display:flex}.split-shelf{flex:0 980px;min-width:0}.detail-panel{height:74dvh;box-shadow:none;text-align:center;background:0 0;border:0;flex-direction:column;flex:0 0 320px;align-items:center;padding:0 4px;display:flex;position:sticky;top:13dvh;overflow:hidden auto}.pane{flex-direction:column;justify-content:center;align-items:center;gap:14px;width:100%;min-height:100%;display:flex}.ptitle{color:var(--ink);word-break:break-word;margin:0;font-family:ui-serif,Georgia,Times New Roman,serif;font-size:29px;font-weight:700;line-height:1.16}.ptitle.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.prule{background:var(--mustard);opacity:.9;border-radius:2px;width:72px;height:2px}.pmeta{flex-direction:column;gap:3px;display:flex}.pauthor{color:var(--ink);font-family:ui-serif,Georgia,Times New Roman,serif;font-size:21px;line-height:1.3}.ppub{color:var(--ink);font-size:14px;font-weight:600}.ppub-btn{border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-self:center;padding:4px 11px;font-size:12.5px;transition:transform .14s,color .14s;box-shadow:0 3px 8px #0003}.ppub-btn:hover{color:var(--ink)}.detail-panel .bcover,.detail-panel .coverbtn,.detail-panel .page-foot{width:100%}.retry-cover{background:var(--panel);width:100%;color:var(--ink);cursor:pointer;border:0;border-radius:14px;margin:0;padding:10px 12px;font-size:13px;font-weight:600;transition:transform .14s;box-shadow:0 6px 16px #00000047,inset 0 1px #ffffff12}.retry-cover:active{background:var(--line);transform:scale(.97)}.panel-close{z-index:2;background:var(--panel);width:36px;height:36px;color:var(--ink);cursor:pointer;border:0;border-radius:50%;font-size:15px;font-weight:600;transition:transform .14s;position:absolute;top:12px;right:12px;box-shadow:0 5px 14px #00000052,inset 0 1px #ffffff14}.panel-close:active{background:var(--line);transform:scale(.9)}.tile.slot{cursor:default;box-shadow:none;background:0 0;border:0}.book-reflow :is(.shelfview,.grid) .tile:not(.slot){view-transition-name:var(--book-transition)}.shelfrow .tile.slot:after{content:none}.flybook3d{z-index:60;pointer-events:none;transition:left .42s cubic-bezier(.3,.75,.25,1),top .42s cubic-bezier(.3,.75,.25,1),width .42s cubic-bezier(.3,.75,.25,1),height .42s cubic-bezier(.3,.75,.25,1),opacity .2s;position:fixed;top:0;left:0}.flybook3d.fade{opacity:0}.flybook3d .bcover{width:100%;height:100%}.flybook3d .bcover3d canvas{pointer-events:none}.panel-fade{display:none}.prop{z-index:3;filter:drop-shadow(0 4px 5px #00000073);flex:none;align-self:flex-end;margin-left:4px;position:relative}.prop.plant{width:46px;height:66px}.prop.plant .pot{background:linear-gradient(#b5643a,#8a4a2a);border-radius:2px 2px 5px 5px;height:20px;position:absolute;bottom:0;left:7px;right:7px}.prop.plant .leaf{transform-origin:50% 100%;background:radial-gradient(circle at 50% 85%,#568a3f,#2f5423);border-radius:50% 50% 45% 45%/62% 62% 38% 38%;width:15px;height:28px;position:absolute;bottom:15px;left:50%}.prop.plant .leaf.l1{transform:translate(-50%)rotate(-30deg)}.prop.plant .leaf.l2{height:34px;transform:translate(-50%)}.prop.plant .leaf.l3{transform:translate(-50%)rotate(30deg)}.prop.lamp{width:56px;height:80px}.prop.lamp .base{background:#3a2f24;border-radius:3px;width:24px;height:6px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.prop.lamp .stem{background:#5b4a35;width:3px;height:32px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.prop.lamp .shade{clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);background:linear-gradient(#f0cf8a,#c99a4a);width:46px;height:26px;position:absolute;bottom:34px;left:50%;transform:translate(-50%)}.prop.lamp .glow{pointer-events:none;background:radial-gradient(circle,#ffd68280,#ffd68200 70%);width:84px;height:54px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.login{justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex}.login-card{background:linear-gradient(180deg, color-mix(in srgb, var(--room1) 84%, #000 16%), color-mix(in srgb, var(--room2) 76%, #000 24%));border:0;border-radius:18px;flex-direction:column;gap:12px;width:min(92vw,380px);padding:24px;display:flex;box-shadow:0 24px 50px #00000080,inset 0 1px #ffffff0d}.login-brand{letter-spacing:-.04em;text-align:center;color:var(--ink);margin:0 0 4px;font-family:Georgia,Times New Roman,serif;font-size:36px;font-weight:600;line-height:1.2}.login-msg{color:var(--ink);text-align:center;overflow-wrap:anywhere;margin:0 0 8px;font-size:16px;line-height:1.65}.login-dev{color:var(--ink);background:var(--bg);text-align:left;border-radius:12px;margin:4px 0 0;padding:12px 14px;font-size:14px;line-height:1.6}.login-card .input{margin-top:0}.home-screen-guide{justify-content:center;margin:0 0 14px;display:flex}.home-screen-trigger{background:var(--panel);color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:9px 14px;font-size:12.5px;display:inline-flex;box-shadow:0 3px 10px #0003}.home-screen-heading{align-items:center;gap:12px;display:flex}.home-screen-icon{border-radius:10px;flex-shrink:0;width:38px;height:38px;display:block}.home-screen-copy{flex:1}.home-screen-dialog .nd-title{text-align:left;font-size:18px;line-height:1.3}.home-screen-close{background:var(--bg);width:34px;height:34px;color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:50%;flex-shrink:0}.home-screen-intro{color:var(--ink);text-align:left;margin:3px 0 0;font-size:12px}.home-screen-steps{color:var(--ink);margin:18px 0 12px;padding:0;font-size:14px;list-style:none}.home-screen-steps li{align-items:center;gap:12px;margin:12px 0;line-height:1.4;display:flex}.home-screen-steps small{color:var(--ink);margin-top:3px;font-size:12px;display:block}.home-screen-step-icon{width:42px;height:42px;color:var(--ink);background:var(--bg);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.home-screen-help{color:var(--ink);margin:8px 0 0;font-size:12px}.home-screen-help summary{cursor:pointer;padding:4px 0}.home-screen-help p{background:var(--bg);border-radius:10px;padding:10px}.home-screen-dialog::backdrop{-webkit-backdrop-filter:blur(5px)}:is(html:has(.home-screen-dialog[open]),body:has(.home-screen-dialog[open])){overflow:hidden}@media (width<=640px){.prop{display:none}}.room-floor{background:repeating-linear-gradient(90deg,#00000029 0 1px,#0000 1px 48px),repeating-linear-gradient(#0000001a 0 1px,#0000 1px 15px),linear-gradient(#6b4415,#452b0c);height:120px;margin-top:30px;position:relative;overflow:hidden}.room-floor:before{content:"";background:linear-gradient(180deg, var(--room2), #6b4415);border-bottom:1px solid #0000008c;height:15px;display:block;box-shadow:0 5px 10px #0006}@media (width<=899px){header{padding:calc(9px + env(safe-area-inset-top,0px)) 12px 9px;flex-wrap:wrap;gap:7px}.brand-ico{width:34px;height:34px}.ico{border-radius:11px;flex:none;width:35px;height:35px;font-size:16px}.seg button{padding:5px 10px;font-size:12.5px}.perrow{color:var(--ink);flex:1 0 100%;order:2;justify-content:space-between;gap:10px;margin:0;display:flex}.perrow-label{font-size:15px}.perrow-stepper button{width:44px;height:44px}main{padding:12px 10px calc(92px + env(safe-area-inset-bottom,0px))}.grid{grid-template-columns:repeat(auto-fill,minmax(102px,1fr));gap:12px}.split{display:block}.panel-fade{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:30;background:#0000009e;animation:.18s fadeIn;display:block;position:fixed;inset:0}.detail-panel{z-index:40;background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 96%, #000 4%), var(--bg));border:1px solid var(--line);height:auto;max-height:86dvh;padding:24px 24px calc(28px + env(safe-area-inset-bottom,0px));scroll-padding:24px 0 calc(28px + env(safe-area-inset-bottom,0px));opacity:0;pointer-events:none;border-radius:24px;transition:opacity .24s,transform .24s cubic-bezier(.22,.8,.25,1);position:fixed;inset:auto 8px 8px;transform:translateY(10px);box-shadow:0 -14px 44px #000000ad,inset 0 1px #ffffff14}.detail-panel:before{content:"";background:var(--line);border-radius:99px;flex:none;width:38px;height:4px;margin:0 auto 10px;display:block}.detail-panel.show{opacity:1;pointer-events:auto;transform:none}.detail-panel .pane{flex:none;justify-content:flex-start;gap:16px;min-height:0;padding-top:0}.detail-panel .ptitle{padding:0 34px;font-size:21px}.detail-panel .pauthor{font-size:16.5px}.detail-panel .bcover{width:min(50vw,200px)}.detail-panel .cv-hint{max-width:90%;font-size:12px}.panel-close{background:var(--bg);width:34px;height:34px}.ctile{width:104px}}.empty{text-align:left;padding:6px 2px 0}.shelf{border:1px solid var(--line);background:#191510;border-radius:10px;padding:14px 12px 4px}.shelf .row{border-bottom:3px solid var(--line);align-items:flex-end;gap:6px;height:66px;margin-bottom:10px;display:flex}.shelf .lblrow{color:var(--dim);letter-spacing:.06em;font-size:11px}.btn{background:var(--mustard);color:#24180a;cursor:pointer;border:0;border-radius:15px;width:100%;padding:14px 18px;font-size:15.5px;font-weight:700;display:block;box-shadow:0 7px 18px #00000052,inset 0 1px #ffffff47}.btn.ghost{background:var(--panel);color:var(--ink);border:0;margin-top:8px;font-weight:600;box-shadow:0 5px 14px #00000042,inset 0 1px #ffffff12}.cta{margin-top:18px}.gest{color:var(--dim);text-align:center;margin-top:10px;font-size:13px}.confirm{max-width:560px}.cframe{align-items:flex-start;gap:16px;display:flex}.ctile{flex:none;width:150px}.cmeta{flex:1;min-width:0}.cmeta h2{word-break:break-word;margin:2px 0 4px;font-size:17px}.cmeta .a{color:var(--dim);font-size:13.5px}.cmeta .isbn{color:var(--dim);margin-top:6px;font-family:ui-monospace,monospace;font-size:12.5px}.who{color:var(--dim);margin:10px 0 2px;font-size:12.5px}.input{background:var(--bg);width:100%;color:var(--ink);border:0;border-radius:14px;margin-top:12px;padding:13px 14px;font-size:16px;box-shadow:inset 0 2px 6px #00000059,0 1px #ffffff0d}.cvthumb{border-radius:10px;width:76px;margin:10px auto 0;display:block;box-shadow:0 5px 14px #00000059}.chiprow{align-items:center;gap:8px;margin-top:8px;display:flex}.chip{background:var(--panel);color:var(--ink);cursor:pointer;border:0;border-radius:999px;padding:6px 11px;font-family:ui-monospace,monospace;font-size:12.5px;box-shadow:0 4px 10px #00000040,inset 0 1px #ffffff12}.chip.active{background:var(--mustard);color:#24180a;font-weight:700}.chip:active{background:var(--line)}.pub-pick{flex-direction:column;gap:6px;margin-top:8px;display:flex}.pub-label{color:var(--ink);flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;display:flex}.pub-edit{white-space:normal;text-align:left;font-family:inherit;font-size:14px;font-weight:600}.pub-chips{flex-wrap:wrap;gap:6px;display:flex}.pub-chips .chip{padding:5px 10px;font-family:inherit;font-size:12px}.pub-input{max-width:220px;margin-top:4px;padding:8px 11px;font-size:13.5px}dialog{background:var(--panel);color:var(--ink);border:0;border-radius:22px;width:min(430px,100vw - 32px);margin:auto;padding:0;box-shadow:0 24px 60px #0000008c,inset 0 1px #ffffff12}dialog.logout-dlg{z-index:70;position:fixed;inset:0}dialog.logout-dlg::backdrop{-webkit-backdrop-filter:blur(6px)}:is(html:has(.logout-dlg[open]),body:has(.logout-dlg[open])){overflow:hidden}dialog::backdrop{background:#000a}.synopsis-dialog{width:min(560px,100vw - 32px);max-height:85dvh}.synopsis-dialog .nd{box-sizing:border-box;flex-direction:column;max-height:85dvh;display:flex}.synopsis-dialog .nd-title{flex-shrink:0}.synopsis-text{white-space:pre-wrap;overflow-wrap:anywhere;text-align:left;min-height:0;font-size:17px;line-height:1.7;overflow-y:auto}.synopsis-refresh{text-align:center;justify-items:center;gap:6px;margin-top:8px;font-size:13px;display:grid}.synopsis-dialog .btn{flex-shrink:0}.metadata-dialog{width:min(440px,100vw - 32px);max-height:82dvh}.metadata-dialog .nd{flex-direction:column;gap:8px;max-height:82dvh;padding:16px;display:flex;overflow:auto}.metadata-dialog .nd-title{margin-bottom:2px}.metadata-fields{text-align:left;gap:2px;display:grid}.metadata-fields .input{margin-top:2px;padding:9px 12px;font-size:15px}.metadata-cover-actions,.metadata-footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.metadata-dialog .nd>.metadata-cover-actions>button,.metadata-dialog .nd>.metadata-footer>button{width:100%;min-width:0;min-height:40px;margin:0;padding:8px;font-size:13px}.metadata-dialog .nd>.metadata-footer{margin-top:4px}.loan-controls{width:min(100%,400px);margin:8px auto}.loan-controls:has(>.loan-summary){grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.loan-controls:has(>.loan-summary)>.retry-cover{width:auto;max-width:130px;min-height:44px;padding:8px 10px}.loan-controls>[role=alert]{grid-column:1/-1}.loan-form{text-align:left;gap:8px;display:grid}.loan-form-row{grid-template-columns:minmax(0,1fr) 44px 44px;align-items:center;gap:8px;display:grid}.loan-form .input{width:100%;min-width:0;min-height:44px;margin:0;padding:10px 12px}.loan-form .btn{min-height:44px;margin:0;padding:8px;font-size:14px}.loan-summary{text-align:left;overflow-wrap:anywhere;align-items:center;gap:8px;min-width:0;margin:0;font-size:13px;display:flex}.loan-summary small{font-size:12px;display:block}.tile .loan-badge{z-index:4;background:var(--panel);width:26px;height:26px;color:var(--ink);border-radius:50%;place-items:center;display:grid;position:absolute;top:6px;right:6px;box-shadow:0 2px 6px #0006}.loan-badge .ui-icon{width:17px;height:17px}.nd{padding:22px}.nd-title{letter-spacing:.2px;margin:0 0 16px;font-size:19px;font-weight:700}.card{background:var(--bg);width:100%;color:var(--ink);text-align:left;cursor:pointer;border:0;border-radius:16px;flex-direction:column;gap:4px;margin-bottom:16px;padding:18px;display:flex;box-shadow:0 7px 18px #00000047,inset 0 1px #ffffff0f}.card:active{filter:brightness(1.06)}.card-t{font-size:16px;font-weight:700}.card-d{color:var(--dim);font-size:13px;line-height:1.45}.nd-search label{color:var(--dim);margin:14px 0 4px;font-size:13px;display:block}.nd-row{flex-direction:column;gap:8px;display:flex}.nd-row .input{margin-top:0}.nd-row .btn{width:100%}.nd-hint{color:var(--dim);margin:8px 0 0;font-size:12px}@media (width>=600px){.nd-row{flex-direction:row}.nd-row .input{flex:1}.nd-row .btn{flex:0 0 130px}}.srcs{color:var(--dim);margin-top:8px;font-size:12px;line-height:1.55}.src-fix{color:var(--mustard);font-size:12.5px;font-weight:600}.src-fixnote{color:var(--dim);margin-bottom:4px;font-size:11.5px}.src-miss{color:var(--dim);margin-top:8px}.none{color:var(--dim);font-size:13.5px}.muted{color:var(--dim)}.hide{display:none!important}.filehidden{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;top:0;left:0}.cropmask{z-index:40;background:#000a;justify-content:center;align-items:center;padding:16px;animation:.24s fadeIn;display:flex;position:fixed;inset:0}.croppanel{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:14px;width:min(94vw,520px);padding:16px;animation:.3s cubic-bezier(.2,.8,.25,1.25) backwards dlgIn}.cropbox{aspect-ratio:2/3;touch-action:none;cursor:grab;background:#000;border-radius:8px;width:100%;position:relative;overflow:hidden}.cropbox.pan{cursor:grabbing}.cropbox img{transform-origin:0 0;-webkit-user-select:none;user-select:none;pointer-events:none;position:absolute;top:0;left:0}.croptools{color:var(--dim);align-items:center;gap:10px;margin:12px 0 4px;font-size:12px;display:flex}.croptools input[type=range]{accent-color:var(--mustard);flex:1}.cropbtns{gap:10px;margin-top:10px;display:flex}.cropbtns .btn{flex:1;margin:0}.spin{text-align:center;color:var(--dim);padding:48px 0}.actions{flex-direction:column;gap:10px;margin-top:16px;display:flex}.confirm>.back{margin-top:0;margin-bottom:14px}@media (width<=640px){.add{display:none}.fab{justify-content:center;align-items:center;display:flex}main{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.actions{background:linear-gradient(to top, var(--bg) 70%, transparent);padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));position:sticky;bottom:0}body.typing .actions{position:static}}@media (hover:hover) and (pointer:fine){.shelfrow .tile:not(.slot):hover,.grid .tile:not(.slot):hover{z-index:6;box-shadow:inset 0 0 0 1px #0005,0 18px 30px #0000008c,0 5px 10px #00000059,0 0 26px -4px #ffd68299}.shelfrow .tile:not(.slot):hover{transform:translateY(-6px)rotateY(8deg)}.grid .tile:not(.slot):hover{transform:translateY(-6px)scale(1.03)}.shelfrow .tile:not(.slot):hover:active,.grid .tile:not(.slot):hover:active{transform:translateY(-2px)scale(.97)}}button{transition:transform .26s cubic-bezier(.2,.8,.25,1.35),background-color .2s,color .2s,box-shadow .2s,filter .2s}.tile{transition:transform .26s cubic-bezier(.22,.7,.25,1),box-shadow .28s}button:disabled{cursor:default}button:focus-visible,.bcover3d:focus-visible{outline:2px solid var(--mustard);outline-offset:4px}@media (hover:hover) and (pointer:fine){button:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-2px)}.add:not(:disabled):hover,.fab:not(:disabled):hover{transform:translateY(-3px)rotate(8deg)}}button:not(:disabled):active{transition-duration:80ms;transform:translateY(1px)scale(.95)}.add:active,.fab:active{transform:scale(.9)}.tile:not(.slot):active{transform:scale(.95)}.ico.active,.seg button.active,.chip.active,.c-card.active{animation:.3s cubic-bezier(.2,.8,.25,1) selectionPop}@keyframes selectionPop{0%{scale:.94}55%{scale:1.06}to{scale:1}}dialog[open]{animation:.3s cubic-bezier(.2,.8,.25,1.25) backwards dlgIn}dialog::backdrop{animation:.24s fadeIn}@keyframes dlgIn{0%{opacity:0;transform:scale(.94)translateY(18px)}}@keyframes fadeIn{0%{opacity:0}}@supports (transition-behavior:allow-discrete) and (overlay:auto){dialog{opacity:0;transition:opacity .2s ease, transform .26s cubic-bezier(.2,.8,.25,1.25), display .26s allow-discrete, overlay .26s allow-discrete;transform:translateY(12px)scale(.97)}dialog[open]{opacity:1;animation:none;transform:none}dialog::backdrop{transition:background-color .26s ease, display .26s allow-discrete, overlay .26s allow-discrete;background:0 0;animation:none}dialog[open]::backdrop{background:#000a}@starting-style{dialog[open]{opacity:0;transform:translateY(18px)scale(.94)}dialog[open]::backdrop{background:0 0}}}dialog.home-screen-dialog{border-radius:24px 24px 0 0;width:100%;max-width:none;max-height:72dvh;margin:0;position:fixed;inset:auto 0 0;overflow:auto;transform:translateY(calc(100% + 24px));box-shadow:0 -8px 40px #0005}.home-screen-dialog .nd{padding:18px 20px calc(18px + env(safe-area-inset-bottom,0px))}.home-screen-dialog .nd:before{content:"";background:var(--dim);opacity:.5;border-radius:99px;width:34px;height:4px;margin:0 auto 16px;display:block}dialog.home-screen-dialog[open]{animation:.32s cubic-bezier(.22,.7,.25,1) homeSheetIn;transform:translateY(0)}@keyframes homeSheetIn{0%{opacity:0;transform:translateY(calc(100% + 24px))}}@supports (transition-behavior:allow-discrete) and (overlay:auto){dialog.home-screen-dialog[open]{animation:none}@starting-style{dialog.home-screen-dialog[open]{opacity:0;transform:translateY(calc(100% + 24px))}}}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--panel);border:1px solid var(--line);border-radius:14px;align-items:center;gap:10px;max-width:min(92vw,430px);padding:12px 16px;font-size:14.5px;animation:.3s toastIn,.3s 2.35s forwards toastOut;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 34px #0006}.toast b{color:var(--mustard)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,14px)}}@keyframes toastOut{to{opacity:0;transform:translate(-50%,10px)}}.scan{flex-direction:column;align-items:center;gap:12px;display:flex}.scanwrap{justify-content:center;padding:40px 0;display:flex}.sloader{flex-direction:column;align-items:center;gap:14px;display:flex}.sloader-books{border:1px solid var(--line);background:linear-gradient(#a8681a,#8b5513);border-radius:12px;align-items:flex-end;gap:5px;height:66px;padding:7px 14px 13px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 6px 10px #00000059}.sloader-books:before{content:"";z-index:2;background:linear-gradient(#b58a4e,#e8c98f);height:13px;position:absolute;bottom:0;left:0;right:0}.sbook{border-radius:2px;width:11px;height:46px;animation:.55s cubic-bezier(.2,.8,.25,1) both sbookIn}.sbook-0{background:#8a6f4d;height:38px;animation-delay:0s}.sbook-1{background:#d99a2b;height:46px;animation-delay:.15s}.sbook-2{background:#5e4632;height:32px;animation-delay:.3s}.sbook-3{background:#e3c48c;height:44px;animation-delay:.45s}.sbook-4{background:#6b5230;height:40px;animation-delay:.6s}@keyframes sbookIn{0%{opacity:0;transform:translateY(20px)}60%{opacity:1}to{opacity:1;transform:none}}.sloader-line{z-index:3;background:var(--mustard);width:3px;box-shadow:0 0 10px 2px var(--mustard);opacity:.85;border-radius:2px;animation:2.4s ease-in-out infinite sline;position:absolute;top:7px;bottom:18px;left:6%}@keyframes sline{0%{left:6%}55%{left:88%}to{left:6%}}.sloader-cap{color:var(--dim);font-size:13.5px}.scan-box{background:radial-gradient(120% 130% at 50% 0%, #ffffff12, #0000 60%), var(--bg);border:1px solid var(--line);border-radius:14px;width:min(230px,74vw);height:92px;position:relative;overflow:hidden;box-shadow:inset 0 2px 12px #0005}.scan-mini{gap:0}.scan-mini .scan-box{flex:none;width:118px;height:52px}.scan-box:before{content:"";background:linear-gradient(var(--mustard),var(--mustard)) left top/16px 3px, linear-gradient(var(--mustard),var(--mustard)) left top/3px 16px, linear-gradient(var(--mustard),var(--mustard)) right top/16px 3px, linear-gradient(var(--mustard),var(--mustard)) right top/3px 16px, linear-gradient(var(--mustard),var(--mustard)) left bottom/16px 3px, linear-gradient(var(--mustard),var(--mustard)) left bottom/3px 16px, linear-gradient(var(--mustard),var(--mustard)) right bottom/16px 3px, linear-gradient(var(--mustard),var(--mustard)) right bottom/3px 16px;background-repeat:no-repeat;border-radius:2px;position:absolute;inset:8px}.scan-bars{opacity:.85;background:repeating-linear-gradient(90deg, var(--ink) 0 2px, transparent 2px 5px, var(--ink) 5px 8px, transparent 8px 13px, var(--ink) 13px 15px, transparent 15px 21px);width:64%;height:44%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scan-line{background:var(--mustard);height:3px;box-shadow:0 0 14px 2px var(--mustard);border-radius:2px;animation:1.9s ease-in-out infinite scanline;position:absolute;left:5%;right:5%}@keyframes scanline{0%,to{top:12%}50%{top:82%}}.scan-q{background:var(--panel);border:1px solid var(--line);width:28px;height:36px;color:var(--dim);border-radius:7px;justify-content:center;align-items:center;font-size:17px;font-weight:700;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 14px #0005}.scan-cap{color:var(--dim);text-align:center;font-size:13px}.scan-row{justify-content:center;margin-top:10px;display:flex}.scan-card{text-align:left;flex-direction:row;align-items:center;gap:14px}.scan-card-txt{flex-direction:column;gap:4px;min-width:0;display:flex}.seg{background:var(--panel);border:0;border-radius:14px;gap:3px;padding:3px;display:inline-flex;overflow:hidden;box-shadow:0 5px 14px #00000047,inset 0 1px #ffffff0f}.seg button{color:var(--dim);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.seg button .ui-icon{width:16px;height:16px}.section-count{background:color-mix(in srgb, currentColor 12%, transparent);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 6px;font-size:12px}.seg button.active{background:var(--mustard);color:#24180a;font-weight:700;box-shadow:0 3px 8px #00000047}.seg button:active{filter:brightness(.92)}.shelfview.buy{background:0 0}.shelfview.buy .shelfrow .plank-top{background:repeating-linear-gradient(90deg,#0000000d 0 1px,#0000 1px 4px,#ffffff0f 4px 5px,#0000 5px 11px,#0000000a 11px 13px,#0000 13px 26px),linear-gradient(#b3a08d,#d9c9b8)}.shelfview.buy .shelfrow .plank-front{background:repeating-linear-gradient(#0000001a 0 1px,#ffffff0d 1px 2px,#0000 2px 5px,#0000000f 5px 6px,#0000 6px 11px),linear-gradient(#e4d6c6 0 2px,#d9c9b8 2px,#b3a08d);border-top:1px solid #fff4e8d9;border-bottom:1px solid #201c18}.wish{z-index:4;border:1px solid var(--line);text-align:center;pointer-events:none;background:#0009;border-radius:50%;width:22px;height:22px;font-size:11px;line-height:20px;position:absolute;top:6px;left:6px}.page-foot{gap:10px;width:min(36vw,330px);display:flex}.page-foot .btn{background:var(--panel);color:var(--ink);border:0;border-radius:14px;flex:1;margin:0;padding:10px 8px;font-size:13px;font-weight:600;box-shadow:0 6px 16px #00000047,inset 0 1px #ffffff12}.page-foot .btn:active{background:var(--line)}.page-foot .btn.danger,.btn.danger{color:var(--danger);background:color-mix(in srgb, var(--danger) 18%, var(--panel));border:0;box-shadow:0 6px 16px #00000047,inset 0 1px #ffffff0f}.btn.danger:active{filter:brightness(.92)}.del-book{color:var(--dim);margin-top:6px;margin-bottom:16px;font-size:14px;line-height:1.5}.empty-cta{max-width:420px;margin:28px auto 0}.empty-cta .btn{margin:0}.empty-cta .gest{text-align:center}.c-carousel{text-align:left;flex-direction:column;gap:8px;width:100%;min-width:0;margin-top:12px;display:flex}.c-carousel-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.c-carousel-lbl{background:var(--panel);min-width:0;color:var(--ink);border-radius:9px;padding:5px 8px;font-size:13px;font-weight:700;line-height:1.25}.c-carousel-nav{gap:5px;display:flex}.c-nav-btn{background:var(--panel);width:26px;height:26px;color:var(--ink);cursor:pointer;border:0;border-radius:999px;font-size:15px;font-weight:700;line-height:1;box-shadow:0 3px 8px #00000047,inset 0 1px #ffffff12}.c-nav-btn:active{transform:scale(.9)}.c-carousel-track{scroll-snap-type:x mandatory;scrollbar-width:thin;-webkit-overflow-scrolling:touch;align-items:flex-start;gap:10px;min-width:0;padding:4px 2px 8px;display:flex;overflow:auto hidden}.c-card{background:var(--panel);width:96px;min-width:96px;height:166px;color:var(--ink);cursor:pointer;scroll-snap-align:start;border:2px solid #0000;border-radius:12px;flex-direction:column;flex:0 0 96px;align-items:center;gap:5px;padding:5px;display:flex;position:relative;overflow:hidden;box-shadow:0 5px 14px #00000047,inset 0 1px #ffffff0f}.c-card.active{background:color-mix(in srgb, var(--mustard) 24%, var(--panel));border-color:var(--mustard);box-shadow:0 7px 16px #00000059}.c-card-imgwrap{background:var(--bg);border-radius:8px;flex:0 0 102px;width:100%;height:102px;overflow:hidden}.c-card-imgwrap img{object-fit:contain;width:100%;height:100%;display:block}.c-card-selected{background:var(--mustard);width:20px;height:20px;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;padding:3px;display:flex;position:absolute;top:5px;right:5px}.c-card-selected .ui-icon{width:14px;height:14px}.c-card-pub{width:100%;color:var(--ink);text-align:center;white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.c-card.active .c-card-pub{color:var(--ink)}@media (width<=899px){.shelfrow{grid-template-columns:repeat(var(--books-per-row), minmax(0, 1fr));gap:6px;padding:16px 10px 38px;display:grid}.shelfrow .tile,.shelfrow .tile.gen{justify-self:center;width:100%;min-width:0;max-width:150px}.shelfrow .tile.gen .lbl{font-size:calc(18px - var(--books-per-row) * 1.5px);padding:8px 4px;line-height:1.25}.shelfrow .prop{display:none}header .ico,header .logout-btn{border-radius:13px;min-width:44px;height:44px}.panel-close,.home-screen-close{width:44px;height:44px}.c-nav-btn{width:44px;height:44px;display:flex}:is(.btn:has(>.ui-icon),.retry-cover){min-height:48px}.btn>.ui-icon,.retry-cover>.ui-icon{background:color-mix(in srgb, currentColor 9%, transparent);border-radius:9px;width:30px;height:30px;padding:6px}.metadata-dialog .nd>.retry-cover{min-height:40px}.metadata-dialog .nd>button:has(>.ui-icon){min-height:40px}}@media (width<=520px){header{flex-wrap:wrap;gap:8px}header .seg{flex:1 0 100%;order:1;display:flex}header .seg button{flex:1;min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after,dialog::backdrop{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}button:not(:disabled):hover,button:not(:disabled):active,.shelfrow .tile:not(.slot):hover,.grid .tile:not(.slot):hover,.shelfrow .tile:not(.slot):active,.grid .tile:not(.slot):active{transform:none!important}}
