@import "https://fonts.googleapis.com/css2?family=Architects+Daughter&family=Caveat:wght@400;600;700&family=Indie+Flower&family=Shadows+Into+Light&family=Patrick+Hand&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{font-family:var(--ui-font,"Inter", "Segoe UI", system-ui, sans-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ui-font:"Inter", "Segoe UI", system-ui, sans-serif;font-size:16px;font-weight:400;line-height:1.5}:root,[data-theme=light]{--bg:#f5f7fa;--surface:#fff;--surface-alt:#f0f2f5;--surface-hover:#e8ebef;--modal-bg:#fff;--input-bg:#fafbfc;--border:#dde1e6;--border-hover:#c6ccd4;--text:#1a1d21;--text-muted:#5f6b7a;--accent:#4f6ef7;--accent-hover:#3b5ce0;--accent-bg:#4f6ef71a;--success:#00c48c;--warning:#ff9f43;--danger:#ff5d5d;--sidebar-bg:#fff;--card-gradient:linear-gradient(145deg, #fff 0%, #f8f9fb 100%);--glow:#4f6ef726}[data-theme=dark]{--bg:#0d0f12;--surface:#16181d;--surface-alt:#1e2128;--surface-hover:#262a33;--modal-bg:#16181d;--input-bg:#1e2128;--border:#2a2e38;--border-hover:#383d49;--text:#f0f2f5;--text-muted:#8b95a5;--accent:#6c8cff;--accent-hover:#5470e0;--accent-bg:#6c8cff26;--success:#2dd4a8;--warning:#ffb356;--danger:#ff6b6b;--sidebar-bg:#111318;--card-gradient:linear-gradient(145deg, #1a1d24 0%, #16181d 100%);--glow:#6c8cff33}[data-theme=midnight]{--bg:#0c1525;--surface:#162035;--surface-alt:#1d2a42;--surface-hover:#263550;--modal-bg:#162035;--input-bg:#1d2a42;--border:#2a3a55;--border-hover:#3a4d6a;--text:#e8edf5;--text-muted:#8fa3c0;--accent:#4da6ff;--accent-hover:#3391ea;--accent-bg:#4da6ff26;--success:#4eeaaa;--warning:#ffd55a;--danger:#ff7085;--sidebar-bg:#0f1829;--card-gradient:linear-gradient(145deg, #1a2740 0%, #162035 100%);--glow:#4da6ff2e}[data-theme=ocean]{--bg:#eef5fa;--surface:#fff;--surface-alt:#e3eff8;--surface-hover:#d4e6f4;--modal-bg:#fff;--input-bg:#f5f9fc;--border:#bdd5ea;--border-hover:#8dc2e0;--text:#0a3d5c;--text-muted:#3a7295;--accent:#0a8ed9;--accent-hover:#0775b8;--accent-bg:#0a8ed91a;--success:#00b894;--warning:#f39c12;--danger:#e74c3c;--sidebar-bg:#f5f9fc;--card-gradient:linear-gradient(145deg, #fff 0%, #e8f4fc 100%);--glow:#0a8ed91f}[data-theme=forest]{--bg:#edf5f0;--surface:#fff;--surface-alt:#e0f0e6;--surface-hover:#cfe8d8;--modal-bg:#fff;--input-bg:#f5faf7;--border:#a8d4b8;--border-hover:#7ac294;--text:#1a3d28;--text-muted:#3d7252;--accent:#27ae60;--accent-hover:#1e8f4e;--accent-bg:#27ae601a;--success:#00c9a7;--warning:#f1c40f;--danger:#e55039;--sidebar-bg:#f5faf7;--card-gradient:linear-gradient(145deg, #fff 0%, #e5f5eb 100%);--glow:#27ae601f}[data-theme=sunset]{--bg:#fef8f3;--surface:#fff;--surface-alt:#fff0e5;--surface-hover:#ffe4d4;--modal-bg:#fff;--input-bg:#fffaf6;--border:#f5d0b5;--border-hover:#f0b088;--text:#5c2e10;--text-muted:#a05a32;--accent:#f57c00;--accent-hover:#e06800;--accent-bg:#f57c001a;--success:#26de81;--warning:#fed330;--danger:#fc5c65;--sidebar-bg:#fffcf9;--card-gradient:linear-gradient(145deg, #fff 0%, #fff5ed 100%);--glow:#f57c001f}[data-theme=royal]{--bg:#f8f5fc;--surface:#fff;--surface-alt:#f0e9f8;--surface-hover:#e5dbf2;--modal-bg:#fff;--input-bg:#fbf9fd;--border:#d4c2e8;--border-hover:#b99fd8;--text:#3d1a5c;--text-muted:#7a4a9e;--accent:#9b59b6;--accent-hover:#8344a5;--accent-bg:#9b59b61a;--success:#1abc9c;--warning:#f1c40f;--danger:#e74c3c;--sidebar-bg:#fcfafd;--card-gradient:linear-gradient(145deg, #fff 0%, #f5f0fa 100%);--glow:#9b59b626}[data-theme=rosegold]{--bg:#fcf5f5;--surface:#fff;--surface-alt:#faeaea;--surface-hover:#f5dada;--modal-bg:#fff;--input-bg:#fefafa;--border:#e8c5c5;--border-hover:#dca5a5;--text:#5c2a2a;--text-muted:#a05050;--accent:#e06666;--accent-hover:#cc4e4e;--accent-bg:#e066661a;--success:#00c9a7;--warning:#ffb74d;--danger:#ef5350;--sidebar-bg:#fdf8f8;--card-gradient:linear-gradient(145deg, #fff 0%, #faf2f2 100%);--glow:#e066661f}[data-theme=slate]{--bg:#f4f6f8;--surface:#fff;--surface-alt:#ebeef2;--surface-hover:#dde2e8;--modal-bg:#fff;--input-bg:#f8f9fb;--border:#c8d0da;--border-hover:#a8b5c5;--text:#1e2a3a;--text-muted:#5a6a7f;--accent:#5a7fb8;--accent-hover:#4668a0;--accent-bg:#5a7fb81a;--success:#2ecc71;--warning:#f39c12;--danger:#e74c3c;--sidebar-bg:#f8f9fb;--card-gradient:linear-gradient(145deg, #fff 0%, #f0f3f6 100%);--glow:#5a7fb81f}[data-theme=coffee]{--bg:#f9f6f3;--surface:#fff;--surface-alt:#f3ebe4;--surface-hover:#e8dcd0;--modal-bg:#fff;--input-bg:#fcfaf8;--border:#d4c4b5;--border-hover:#bda890;--text:#3d2b1f;--text-muted:#7a5c42;--accent:#a67c52;--accent-hover:#8b6340;--accent-bg:#a67c521a;--success:#4caf50;--warning:#ff9800;--danger:#d32f2f;--sidebar-bg:#fcfaf8;--card-gradient:linear-gradient(145deg, #fff 0%, #f5ede5 100%);--glow:#a67c521f}[data-theme=nord]{--bg:#eceff4;--surface:#e5e9f0;--surface-alt:#d8dee9;--surface-hover:#c4ccd9;--modal-bg:#e5e9f0;--input-bg:#eceff4;--border:#c4ccd9;--border-hover:#a3b0c5;--text:#2e3440;--text-muted:#4c566a;--accent:#5e81ac;--accent-hover:#4a6d96;--accent-bg:#5e81ac1f;--success:#a3be8c;--warning:#ebcb8b;--danger:#bf616a;--sidebar-bg:#e5e9f0;--card-gradient:linear-gradient(145deg, #e5e9f0 0%, #d8dee9 100%);--glow:#5e81ac26}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);overflow:hidden}.app{background:var(--bg);gap:16px;height:100vh;padding:16px;display:flex;overflow:hidden}.main{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex;overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}dialog{background:0 0;border:none;padding:0}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009}button{font-family:inherit}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:10px 20px;font-size:.9rem;transition:all .15s}.btn:hover{background:var(--surface-hover);border-color:var(--accent);color:var(--accent)}.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);filter:brightness(1.1)}.btn--ghost{border-color:var(--border);color:var(--text-muted);background:0 0}.btn--ghost:hover{background:var(--surface-alt);border-color:var(--accent);color:var(--accent)}.btn--ghost:disabled{opacity:.5;cursor:not-allowed;color:var(--text-muted)}.btn--ghost:disabled:hover{border-color:var(--border);color:var(--text-muted);background:0 0}input,textarea,select{font-family:inherit}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[data-sketch=hand-drawn]{--sketch-font:"Caveat", "Patrick Hand", cursive;--sketch-font-alt:"Architects Daughter", cursive}[data-sketch=hand-drawn] .app{background:repeating-linear-gradient(0deg,#0000,#0000 28px,#00000005 28px 29px),linear-gradient(135deg,#faf8f5 0%,#f5f3f0 50%,#eae7e2 100%)}[data-sketch=hand-drawn] .sidebar,[data-sketch=hand-drawn] .book-grid,[data-sketch=hand-drawn] .header{background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E"), var(--surface);border:3px solid var(--border);border-radius:2px;position:relative;box-shadow:4px 4px #00000014,-1px -1px #ffffff80}[data-sketch=hand-drawn] .sidebar:before,[data-sketch=hand-drawn] .book-grid:before{content:"";pointer-events:none;border:2px solid #00000026;border-radius:4px;position:absolute;inset:-4px;transform:rotate(-.3deg)}[data-sketch=hand-drawn] .book-card,[data-sketch=hand-drawn] .collection-card{border:2.5px solid var(--text);background:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)' opacity='0.03'/%3E%3C/svg%3E"), var(--surface);transform:rotate(calc(-.5deg + var(--card-tilt,0deg)));border-radius:3px;transition:transform .2s,box-shadow .2s;box-shadow:3px 3px #0000001f,inset 0 0 20px #00000005}[data-sketch=hand-drawn] .book-card:nth-child(odd){--card-tilt:.3deg}[data-sketch=hand-drawn] .book-card:nth-child(2n){--card-tilt:-.4deg}[data-sketch=hand-drawn] .book-card:hover,[data-sketch=hand-drawn] .collection-card:hover{transform:rotate(0)translateY(-4px)scale(1.02);box-shadow:5px 5px #00000026}[data-sketch=hand-drawn] .list-item{border:2px solid var(--text);background:var(--surface);border-radius:2px;box-shadow:2px 2px #0000001a}[data-sketch=hand-drawn] h1,[data-sketch=hand-drawn] h2,[data-sketch=hand-drawn] h3,[data-sketch=hand-drawn] .book-card__title,[data-sketch=hand-drawn] .collection-card h3,[data-sketch=hand-drawn] .sidebar h2{letter-spacing:.5px;font-weight:700;font-family:var(--sketch-font)!important}[data-sketch=hand-drawn] button,[data-sketch=hand-drawn] input,[data-sketch=hand-drawn] select,[data-sketch=hand-drawn] .book-card__author,[data-sketch=hand-drawn] p,[data-sketch=hand-drawn] span,[data-sketch=hand-drawn] label{font-family:var(--sketch-font-alt)!important}[data-sketch=hand-drawn] button{box-shadow:2px 2px #0000001a;border:2px solid var(--border)!important;border-radius:3px!important}[data-sketch=hand-drawn] button:hover{transform:translateY(-1px);box-shadow:3px 3px #00000026;border-color:var(--accent)!important}[data-sketch=hand-drawn] button:active{transform:translateY(1px);box-shadow:1px 1px #0000001a}[data-sketch=hand-drawn] .btn--primary,[data-sketch=hand-drawn] .book-card__side-btn--primary,[data-sketch=hand-drawn] .book-spine__open-btn{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}[data-sketch=hand-drawn] .btn--primary:hover,[data-sketch=hand-drawn] .book-card__side-btn--primary:hover,[data-sketch=hand-drawn] .book-spine__open-btn:hover{filter:brightness(1.1)}[data-sketch=hand-drawn] .settings-modal__view-btn.active,[data-sketch=hand-drawn] .settings-modal__sketch-btn--active,[data-sketch=hand-drawn] .settings-modal__row-btn--active,[data-sketch=hand-drawn] .settings-modal__reader-btn--active,[data-sketch=hand-drawn] .book-grid__view-btn--active,[data-sketch=hand-drawn] .book-grid__tab--active{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}[data-sketch=hand-drawn] .book-card__delete,[data-sketch=hand-drawn] .book-card__side-btn,[data-sketch=hand-drawn] .book-spine__actions button{transform:rotate(-1deg);box-shadow:2px 2px #00000026;border:2px solid var(--accent)!important;background:var(--surface)!important;color:var(--accent)!important;border-radius:4px!important}[data-sketch=hand-drawn] .book-card__side-btn:hover,[data-sketch=hand-drawn] .book-spine__actions button:hover{transform:rotate(-1deg)scale(1.05);background:var(--accent)!important;color:#fff!important}[data-sketch=hand-drawn] .book-card__delete{border-color:var(--danger)!important;color:var(--danger)!important}[data-sketch=hand-drawn] .book-card__delete:hover{background:var(--danger)!important;color:#fff!important}[data-sketch=hand-drawn] .book-spine__actions button:last-child{border-color:var(--danger)!important;color:var(--danger)!important}[data-sketch=hand-drawn] .book-spine__actions button:last-child:hover{background:var(--danger)!important;color:#fff!important}[data-sketch=hand-drawn] input,[data-sketch=hand-drawn] select{border:2px solid var(--border)!important;background:var(--input-bg)!important;border-radius:2px!important}[data-sketch] .settings-modal__close,[data-sketch] .book-form-modal__close,[data-sketch] .pdf-tools__close{background:var(--surface)!important;border:1px solid var(--border)!important;color:var(--text)!important}[data-sketch] .settings-modal__close:hover,[data-sketch] .book-form-modal__close:hover,[data-sketch] .pdf-tools__close:hover{background:var(--danger)!important;border-color:var(--danger)!important;color:#fff!important}[data-sketch] .sidebar__slider-btn,[data-sketch] .sidebar__shelf-btn{background:var(--surface)!important;border-color:var(--border)!important;color:var(--text)!important}[data-sketch] .sidebar__slider-btn:hover,[data-sketch] .sidebar__shelf-btn:hover{border-color:var(--accent)!important;color:var(--accent)!important}[data-sketch] .sidebar__slider-btn svg,[data-sketch] .sidebar__shelf-btn svg{color:inherit!important}[data-sketch] .settings-modal__view-btn{background:var(--surface)!important;border:1px solid var(--border)!important;color:var(--text)!important}[data-sketch] .settings-modal__view-btn:hover{border-color:var(--accent)!important;color:var(--accent)!important}[data-sketch] .settings-modal__view-btn.active{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}[data-sketch] .book-grid__view-btn{background:var(--surface)!important;border:1px solid var(--border)!important;color:var(--text-muted)!important}[data-sketch] .book-grid__view-btn:hover{border-color:var(--accent)!important;color:var(--text)!important}[data-sketch] .book-grid__view-btn--active{background:var(--surface)!important;border-color:var(--accent)!important;color:var(--accent)!important}[data-sketch] .book-grid__tab{color:var(--text-muted)!important;background:0 0!important}[data-sketch] .book-grid__tab:hover{color:var(--text)!important}[data-sketch] .book-grid__tab--active{background:var(--surface)!important;color:var(--text)!important}[data-sketch] .btn--ghost{border:1px solid var(--border)!important;color:var(--text-muted)!important;background:0 0!important}[data-sketch] .btn--ghost:hover:not(:disabled){background:var(--surface-alt)!important;border-color:var(--accent)!important;color:var(--accent)!important}[data-sketch] .btn--ghost:disabled{opacity:.5!important}[data-sketch] .btn--primary{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}[data-sketch] .btn--primary:hover{filter:brightness(1.1)}[data-sketch] .header__btn{background:var(--surface)!important;border:1px solid var(--border)!important;color:var(--text)!important}[data-sketch] .header__btn:hover{border-color:var(--accent)!important;color:var(--accent)!important}[data-sketch] .settings-modal__sketch-btn{background:var(--surface)!important;border:1px solid var(--border)!important;color:var(--text)!important}[data-sketch] .settings-modal__sketch-btn:hover{border-color:var(--accent)!important;color:var(--accent)!important}[data-sketch] .settings-modal__sketch-btn--active{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}[data-sketch] .settings-modal__theme-btn{border:2px solid var(--border)!important}[data-sketch] .settings-modal__theme-btn:hover{border-color:var(--accent)!important}[data-sketch] .settings-modal__theme-btn--active{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent)!important}[data-sketch] .settings-modal__row-btn{background:var(--surface)!important;border:1px solid var(--border)!important;color:var(--text)!important}[data-sketch] .settings-modal__row-btn:hover{border-color:var(--accent)!important}[data-sketch] .settings-modal__row-btn--active{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}[data-sketch] .settings-modal__save-btn{background:var(--surface-alt)!important;border:1px solid var(--border)!important;color:var(--text-muted)!important}[data-sketch] .settings-modal__save-btn--active{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}[data-sketch] .settings-modal__cancel-btn{background:var(--surface)!important;border:1px solid var(--border)!important;color:var(--text)!important}[data-sketch] .settings-modal__cancel-btn:hover{border-color:var(--accent)!important;color:var(--accent)!important}[data-sketch] .settings-modal__reader-btn{background:var(--surface)!important;border:1px solid var(--border)!important;color:var(--text-muted)!important}[data-sketch] .settings-modal__reader-btn:hover{border-color:var(--accent)!important;color:var(--text)!important}[data-sketch] .settings-modal__reader-btn--active{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}[data-sketch] .settings-modal__color-btn{border:2px solid var(--border)!important}[data-sketch] .settings-modal__color-btn:hover{transform:scale(1.1)}[data-sketch] .settings-modal__color-btn--active{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent)!important}.header{z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-shrink:0;align-items:center;gap:12px;padding:12px 16px;display:flex}.header__brand{align-items:center;gap:10px;min-width:200px;display:flex}.header__logo{background:url(/Booky/booky-icon.png) 50%/cover no-repeat;border-radius:10px;width:40px;height:40px;box-shadow:0 2px 8px #20b2aa4d}.header__title{font-size:1.1rem;font-weight:800}.header__subtitle{color:var(--text-muted);font-size:.75rem}.header__toggle{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:1.1rem;transition:all .15s;display:flex}.header__toggle:hover{background:var(--surface-hover);border-color:var(--border-hover)}.header__help{color:var(--accent);border-color:var(--accent);font-size:1rem;font-weight:700}.header__help:hover{background:var(--accent);color:#fff}.header__search{background:var(--surface);border:1px solid var(--border);border-radius:999px;flex:1;align-items:center;gap:8px;max-width:500px;padding:8px 12px;display:flex}.header__search-icon{color:var(--text-muted);font-size:1rem}.header__search-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:.9rem}.header__search-input::placeholder{color:var(--text-muted)}.header__shortcut{background:var(--surface-alt);border:1px solid var(--border);color:var(--text-muted);border-radius:6px;padding:4px 8px;font-size:.7rem}.header__actions{gap:8px;display:flex}@media (width<=768px){.header__brand-text,.header__search,.header__shortcut{display:none}}.collection-tree{flex-direction:column;gap:4px;padding:8px 0;display:flex}.collection-tree__item{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:.9rem;transition:all .15s;display:flex}.collection-tree__item:hover{background:var(--surface-hover)}.collection-tree__item--active{background:var(--accent-bg);color:var(--accent)}.collection-tree__icon{opacity:.7;font-size:1rem}.collection-tree__name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.collection-tree__count{color:var(--text-muted);background:var(--surface-alt);border-radius:10px;padding:2px 8px;font-size:.75rem}.collection-tree__empty{color:var(--text-muted);text-align:center;padding:16px;font-size:.85rem}.collection-tree__add-btn{background:var(--surface-alt);border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;margin-top:8px;padding:10px;font-size:.85rem;transition:all .15s;display:flex}.collection-tree__add-btn:hover{background:var(--surface-hover);border-color:var(--accent);color:var(--accent)}.collection-tree__menu{z-index:2000;background:var(--modal-bg);border:1px solid var(--border);border-radius:10px;min-width:160px;padding:6px;position:fixed;box-shadow:0 8px 30px #0003}.collection-tree__menu-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;font-size:.85rem;transition:all .1s;display:flex}.collection-tree__menu-item:hover{background:var(--surface-hover)}.collection-tree__menu-item--danger{color:var(--danger)}.collection-tree__menu-item--danger:hover{background:#ef44441a}.collection-tree__menu-sep{background:var(--border);height:1px;margin:4px 8px}.collection-tree__all-books{font-weight:600}.collection-tree__all-books .collection-tree__icon{opacity:1}.sidebar{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;flex-shrink:0;width:280px;transition:all .3s;display:flex;overflow:hidden}.sidebar__scroll{flex:1;padding:16px;overflow-y:auto}.sidebar__header{color:var(--accent);align-items:center;gap:10px;margin-bottom:16px;display:flex}.sidebar__header svg{opacity:.8}.sidebar__title{color:var(--text);margin:0;font-size:1rem;font-weight:700}.sidebar__shelf-btn{background:var(--surface-alt);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.sidebar__shelf-btn svg{transition:transform .2s;color:var(--accent)!important}.sidebar__shelf-btn:hover{background:var(--surface-hover);border-color:var(--accent);transform:translate(2px)}.sidebar__shelf-btn:hover svg{transform:scale(1.1);color:var(--accent)!important}.sidebar__shelf-btn--active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)!important}.sidebar__slider-row{align-items:center;gap:8px;display:flex}.sidebar__slider-btn{cursor:pointer;justify-content:center;align-items:center;width:26px;height:26px;transition:all .15s;display:flex;background:var(--surface-alt)!important;border:1px solid var(--border)!important;color:var(--text-muted)!important;border-radius:6px!important}.sidebar__slider-btn:hover{background:var(--surface-hover)!important;border-color:var(--accent)!important;color:var(--accent)!important}.sidebar__slider-btn svg{color:inherit!important}.sidebar--hidden{opacity:0;pointer-events:none;width:0;margin-right:-16px}.sidebar--hidden .sidebar__scroll{padding:0}.sidebar__section{margin-bottom:18px}.sidebar__label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;margin-bottom:8px;font-size:.75rem;font-weight:600;display:flex}.sidebar__label svg{opacity:.7}.sidebar__select,.sidebar__input{background:var(--input-bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;outline:none;padding:10px 12px;font-size:.85rem;transition:all .15s}.sidebar__select:focus,.sidebar__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.sidebar__range{height:4px;accent-color:var(--accent);cursor:pointer;border-radius:2px;flex:1}.sidebar__hint{color:var(--text-muted);text-align:center;margin-top:6px;font-size:.7rem;display:block}.sidebar__collections{background:var(--input-bg);border:1px dashed var(--border);border-radius:10px;flex-wrap:wrap;gap:6px;min-height:44px;padding:10px;display:flex}.sidebar__empty{color:var(--text-muted);font-size:.75rem}.sidebar__collection{background:var(--surface-alt);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.75rem;transition:all .15s;display:flex}.sidebar__collection:hover{border-color:var(--border-hover)}.sidebar__collection--active{background:var(--accent-bg);border-color:var(--accent)}.sidebar__collection-delete{opacity:0;color:var(--danger);font-size:.65rem;transition:opacity .15s}.sidebar__collection:hover .sidebar__collection-delete{opacity:1}.sidebar__collection-actions{gap:6px;margin-top:8px;display:flex}.sidebar__collection-actions .btn{flex:1}.sidebar__checkbox{background:var(--surface-alt);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:.85rem;transition:all .15s;display:flex}.sidebar__checkbox:hover{border-color:var(--accent)}.sidebar__checkbox input{accent-color:var(--accent);width:16px;height:16px}.sidebar__checkbox-icon{color:var(--accent);display:flex}.sidebar__stats{background:linear-gradient(135deg, var(--surface-alt), var(--input-bg));border:1px solid var(--border);border-radius:12px;justify-content:space-around;align-items:center;margin-top:20px;padding:16px;display:flex}.sidebar__stat{text-align:center}.sidebar__stat-value{color:var(--accent);font-size:1.5rem;font-weight:800}.sidebar__stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;font-size:.7rem}.sidebar__stat-divider{background:var(--border);width:1px;height:40px}.book-card{background:var(--surface);border:2px solid var(--border);border-radius:8px;flex-direction:column;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:visible}.book-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.book-card__cover{background:var(--surface-alt);border-radius:6px 6px 0 0;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.book-card__cover img{object-fit:cover;width:100%;height:100%}.book-card__cover--placeholder{background:linear-gradient(135deg, var(--accent-bg) 0%, var(--surface-alt) 100%);position:relative}.book-card__cover--placeholder:before{content:"";border:2px dashed var(--border);opacity:.5;border-radius:8px;position:absolute;inset:12px}.book-card__cover-icon{opacity:.6;font-size:3rem}.book-card__cover-title{color:var(--text);text-align:center;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.9rem;font-weight:700;line-height:1.3;display:-webkit-box;position:absolute;bottom:16px;left:12px;right:12px;overflow:hidden}.book-card__format-badge{color:#fff;letter-spacing:.05em;z-index:2;background:#000000b3;border-radius:6px;padding:3px 8px;font-size:.65rem;font-weight:600;position:absolute;top:8px;left:8px}.book-card__delete{background:var(--surface);border:2px solid var(--border);width:28px;height:28px;color:var(--text);cursor:pointer;opacity:0;z-index:2;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;transition:opacity .15s,background .15s,color .15s;display:flex;position:absolute;top:8px;right:8px}.book-card:hover .book-card__delete{opacity:1}.book-card__delete:hover{background:var(--danger);border-color:var(--danger);color:#fff}.book-card__info{background:var(--surface);border-top:2px solid var(--accent);border-radius:0 0 6px 6px;padding:10px 12px}.book-card__title{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.85rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.book-card__side-actions{opacity:0;pointer-events:none;z-index:10;flex-direction:column;gap:6px;transition:opacity .2s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.book-card:hover .book-card__side-actions{opacity:1;pointer-events:auto}.book-card__side-btn{background:var(--surface);border:2px solid var(--accent);width:40px;height:40px;color:var(--accent);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;transition:all .15s;display:flex;box-shadow:0 2px 8px #0000001a}.book-card__side-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.1)}.book-card__side-btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.book-card__side-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);filter:brightness(1.1)}.book-card__side-btn--danger:hover{background:var(--danger);border-color:var(--danger);color:#fff}.book-card__collection-wrapper{position:relative}.book-card__collection-menu{background:var(--surface);border:1px solid var(--border);z-index:100;border-radius:10px;min-width:180px;max-height:200px;margin-right:8px;padding:6px 0;position:absolute;top:50%;right:100%;overflow-y:auto;transform:translateY(-50%);box-shadow:0 4px 20px #00000040}.book-card__collection-menu-header{width:70%;height:70%;color:var(--text-muted);border-bottom:1px solid var(--border);margin:auto auto 4px;padding:6px 12px;font-size:.7rem;font-weight:600}.book-card__collection-menu-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:.8rem;transition:background .1s;display:block}.book-card__collection-menu-item:hover{background:var(--surface-hover)}.book-card__collection-menu-item--new{color:var(--accent);border-top:1px solid var(--border);margin-top:4px;padding-top:10px;font-weight:500}.book-grid{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex:1;min-width:0;min-height:0;padding:16px;overflow-y:auto}.book-grid__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.book-grid__title{color:var(--text);margin:0;font-size:1.4rem;font-weight:800}.book-grid__subtitle{color:var(--text-muted);margin:4px 0 0;font-size:.8rem}.book-grid__grid{grid-template-columns:repeat(auto-fill, minmax(var(--shelf-card-width,160px), 1fr));gap:16px;display:grid}.book-grid__card-wrapper{cursor:grab;transition:transform .2s,opacity .2s;position:relative}.book-grid__card-wrapper:active{cursor:grabbing}.book-grid__card-wrapper.dragging{opacity:.4;transform:scale(.95)}.book-grid__card-wrapper.drag-over{outline:2px dashed var(--accent,#6366f1);outline-offset:4px;border-radius:10px}.book-grid__card-wrapper .book-card{height:var(--shelf-card-height,220px)}.book-grid__empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.book-grid__empty-icon{margin-bottom:16px;font-size:4rem}.book-grid__empty h3{color:var(--text);margin:0;font-size:1.2rem}.book-grid__empty p{color:var(--text-muted);margin:8px 0 20px;font-size:.9rem}.book-grid__pagination{border-top:1px solid var(--border);justify-content:center;align-items:center;gap:16px;margin-top:24px;padding-top:16px;display:flex}.book-grid__page-info{color:var(--text-muted);background:var(--surface-alt);border-radius:999px;padding:8px 16px;font-size:.85rem}.book-grid__page-info strong{color:var(--text)}.book-grid__tabs{background:var(--surface-alt);border-radius:10px;gap:4px;padding:4px;display:flex}.book-grid__tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:all .15s}.book-grid__tab:hover{color:var(--text)}.book-grid__tab--active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001a}.book-grid__back-btn{background:var(--surface-alt);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:6px;margin-bottom:16px;padding:8px 16px;font-size:.85rem;transition:all .15s;display:inline-flex}.book-grid__back-btn:hover{background:var(--surface-hover);border-color:var(--border-hover)}.book-grid__collections-grid{grid-template-columns:repeat(auto-fill, minmax(var(--collection-card-width,160px), 1fr));gap:16px;display:grid}.collection-card{background:var(--surface-alt);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;flex-direction:column;transition:all .2s;display:flex;overflow:hidden}.collection-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 12px 32px #0003}.collection-card__covers{aspect-ratio:1;background:var(--border);grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:2px;display:grid}.collection-card__cover{background:var(--surface);justify-content:center;align-items:center;display:flex;overflow:hidden}.collection-card__cover img{object-fit:cover;width:100%;height:100%}.collection-card__cover--empty{background:linear-gradient(135deg, var(--surface-alt) 0%, var(--surface) 100%)}.collection-card__cover-placeholder{color:var(--text-muted);opacity:.5;font-size:1.2rem;font-weight:700}.collection-card__info{flex-direction:column;gap:2px;padding:10px;display:flex}.collection-card__name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.collection-card__count{color:var(--text-muted);font-size:.75rem}.book-grid__view-tabs{background:var(--surface-alt);border-radius:8px;gap:4px;padding:4px;display:flex}.book-grid__view-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:1rem;transition:all .15s}.book-grid__view-btn:hover{color:var(--text);background:var(--surface)}.book-grid__view-btn--active{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px #0000001a}.book-grid__list{flex-direction:column;gap:8px;display:flex}.list-item{background:var(--surface-alt);border:1px solid var(--border);cursor:grab;border-radius:12px;gap:16px;padding:12px;transition:all .2s;display:flex}.list-item:hover{border-color:var(--accent);box-shadow:0 4px 12px #0000001a}.list-item:active{cursor:grabbing}.list-item.dragging{opacity:.4}.list-item.drag-over{outline:2px dashed var(--accent,#6366f1);outline-offset:2px}.list-item__cover{background:var(--surface);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:80px;display:flex;overflow:hidden}.list-item__cover img{object-fit:cover;width:100%;height:100%}.list-item__cover-placeholder{color:var(--text-muted);font-size:1.5rem;font-weight:700}.list-item__content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.list-item__header{align-items:center;gap:8px;display:flex}.list-item__title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.list-item__badge{color:#f59e0b;font-size:.9rem}.list-item__author{color:var(--text-muted);margin:0;font-size:.85rem}.list-item__meta{color:var(--text-muted);gap:12px;font-size:.75rem;display:flex}.list-item__format{background:var(--accent);color:#fff;border-radius:4px;padding:2px 6px;font-weight:500}.list-item__tags{flex-wrap:wrap;gap:4px;display:flex}.list-item__tag{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:10px;padding:2px 8px;font-size:.7rem}.list-item__progress{align-items:center;gap:8px;margin-top:4px;display:flex}.list-item__progress-bar{background:var(--accent);border-radius:2px;max-width:100px;height:4px}.list-item__progress span{color:var(--text-muted);font-size:.7rem}.list-item__actions{flex-direction:column;gap:4px;display:flex}.list-item__actions button{background:var(--surface);color:var(--text-muted);cursor:pointer;border:none;border-radius:6px;padding:6px 10px;transition:all .15s}.list-item__actions button:hover{background:var(--accent);color:#fff}.book-grid__bookshelf{perspective:1000px;flex-direction:column;gap:0;display:flex}.bookshelf-row{padding-bottom:20px;position:relative}.bookshelf-row__books{flex-wrap:nowrap;justify-content:flex-start;align-items:flex-end;gap:8px;min-height:520px;padding:0 20px 10px;display:flex;overflow-x:auto}.bookshelf-row__shelf{position:relative}.bookshelf-row__shelf-top{background:linear-gradient(#8b4513 0%,sienna 40%,#8b4513 100%);border-radius:3px 3px 0 0;height:18px;box-shadow:inset 0 4px 6px #ffffff40,inset 0 -4px 6px #00000059}.bookshelf-row__shelf-front{background:linear-gradient(sienna 0%,#5d2b0a 100%);border-radius:0 0 6px 6px;height:28px;box-shadow:0 10px 20px #00000073,inset 0 2px #ffffff26}.bookshelf-row__shelf-top:before,.bookshelf-row__shelf-front:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(90deg,#0000,#0000 20px,#0000000d 20px 40px);position:absolute;inset:0}.book-spine{background:linear-gradient(90deg, color-mix(in srgb, var(--spine-color) 55%, black) 0%, color-mix(in srgb, var(--spine-color) 80%, black) 8%, var(--spine-color) 20%, var(--spine-color) 80%, color-mix(in srgb, var(--spine-color) 80%, black) 92%, color-mix(in srgb, var(--spine-color) 55%, black) 100%);cursor:pointer;border-radius:3px 8px 8px 3px;flex-direction:column;flex-shrink:0;align-items:center;width:150px;height:500px;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:5px 0 12px #00000059,inset -4px 0 8px #0000004d,inset 4px 0 8px #ffffff26}.book-spine__cover{background:#0003;border-radius:3px 8px 0 0;flex-shrink:0;width:100%;height:200px;overflow:hidden}.book-spine__cover img{object-fit:cover;width:100%;height:100%}.book-spine:hover{z-index:10;transform:translateY(-20px)rotateY(-3deg);box-shadow:8px 8px 24px #0006,inset -3px 0 5px #00000040,inset 3px 0 5px #ffffff26}.book-spine.dragging{opacity:.4}.book-spine.drag-over{outline:2px dashed var(--accent,#6366f1);outline-offset:4px}.book-spine__content{text-align:center;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:8px;padding:12px 10px;display:flex;overflow:hidden}.book-spine__title{-webkit-line-clamp:6;text-shadow:0 1px 3px #000000b3;letter-spacing:.3px;word-break:break-word;-webkit-box-orient:vertical;font-size:.9rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.book-spine__author{opacity:.9;-webkit-line-clamp:2;text-shadow:0 1px 2px #0009;-webkit-box-orient:vertical;font-size:.75rem;font-weight:500;line-height:1.2;display:-webkit-box;overflow:hidden}.book-spine__bookmark{color:var(--warning,#f59e0b);text-shadow:0 1px 3px #000000b3;font-size:1rem;position:absolute;top:10px;right:8px}.book-spine__actions{opacity:0;background:#000000bf;border-radius:2px 6px 6px 2px;flex-direction:column;justify-content:center;align-items:center;gap:8px;transition:opacity .2s;display:flex;position:absolute;inset:0}.book-spine:hover .book-spine__actions{opacity:1}.book-spine__actions button{border:2px solid var(--accent);background:var(--surface);color:var(--accent);cursor:pointer;border-radius:6px;padding:8px 10px;font-size:.9rem;transition:all .15s}.book-spine__actions button:hover{background:var(--accent);color:#fff}.book-spine__open-btn{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.book-spine__open-btn:hover{filter:brightness(1.1)}.book-spine__actions button:last-child{border-color:var(--danger);color:var(--danger)}.book-spine__actions button:last-child:hover{background:var(--danger);border-color:var(--danger);color:#fff}.modal{background:0 0;border:none;border-radius:20px;width:min(800px,95vw);max-height:90vh;padding:0;overflow:hidden}.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009}.modal__card{background:var(--modal-bg);border:1px solid var(--border);border-radius:20px;flex-direction:column;max-height:90vh;display:flex;overflow:hidden}.modal__header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:16px 20px;display:flex}.modal__title{color:var(--text);margin:0;font-size:1.2rem;font-weight:700}.modal__subtitle{color:var(--text-muted);margin:4px 0 0;font-size:.8rem}.modal__close{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:8px;font-size:1rem;transition:all .15s}.modal__close:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.modal__body{flex:1;padding:20px;overflow-y:auto}.modal__fetch{background:var(--surface-alt);border:1px dashed var(--border);border-radius:12px;margin-bottom:20px;padding:16px}.modal__fetch-label{color:var(--text-muted);margin-bottom:10px;font-size:.8rem;font-weight:500;display:block}.modal__fetch-row{gap:8px;display:flex}.modal__fetch-row .input{flex:1}.modal__fetch-status{margin:8px 0 0;font-size:.75rem}.modal__fetch-status--success{color:#4ade80}.modal__fetch-status--error{color:var(--danger)}.modal__fetch-status--loading{color:var(--text-muted)}.modal__cover-row{background:var(--surface-alt);border:1px solid var(--border);border-radius:12px;align-items:flex-start;gap:16px;margin-bottom:20px;padding:16px;display:flex}.modal__cover-info{flex-direction:column;flex:1;gap:8px;display:flex}.modal__cover-info .input--file{padding:8px 10px;font-size:.8rem}.modal__cover-info .modal__pdf-chip{margin-top:8px}.modal__form-fields{flex-direction:column;gap:16px;display:flex}.modal__form-fields .form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-muted);font-size:.75rem;font-weight:500}.form-hint{color:var(--text-muted);margin:4px 0 0;font-size:.7rem}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.input{background:var(--input-bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;outline:none;padding:10px 12px;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.input::placeholder{color:var(--text-muted)}.textarea{resize:vertical;min-height:80px;font-family:inherit}.checkbox{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:.85rem;display:flex}.checkbox input{accent-color:var(--accent);width:16px;height:16px}.modal__cover-preview{border:1px dashed var(--border);background:var(--bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:100px;height:140px;display:flex;overflow:hidden}.modal__cover-preview img{object-fit:cover;width:100%;height:100%}.modal__cover-placeholder{opacity:.5;font-size:2.5rem}.modal__pdf-chip{background:var(--accent-bg);border:1px solid var(--accent);color:var(--accent);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:100%;padding:8px 12px;font-size:.8rem;display:inline-block;overflow:hidden}.modal__footer{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:16px 20px;display:flex}.modal__footer-spacer{flex:1}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:10px;padding:10px 16px;font-size:.85rem;font-weight:500;transition:all .15s}.btn:hover{background:var(--surface-hover);border-color:var(--border-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn--primary:hover{filter:brightness(1.1)}.btn--ghost{border-color:var(--border);background:0 0}.btn--danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn--danger:hover{filter:brightness(1.1)}.btn--sm{padding:6px 12px;font-size:.75rem}.settings-modal{z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-modal__overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;position:absolute;inset:0}.settings-modal__content{background:var(--modal-bg);border:1px solid var(--border);border-radius:16px;width:90%;max-width:500px;max-height:80vh;padding:24px;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.settings-modal__header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.settings-modal__title{color:var(--text);margin:0;font-size:1.3rem;font-weight:700}.settings-modal__close{cursor:pointer;width:36px;height:36px;font-size:1.2rem;transition:all .15s;border:2px solid var(--border)!important;background:var(--surface-alt)!important;color:var(--text-muted)!important;border-radius:10px!important}.settings-modal__close:hover{background:var(--danger)!important;border-color:var(--danger)!important;color:#fff!important}.settings-modal__section{margin-bottom:24px}.settings-modal__section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px;font-size:.9rem;font-weight:600}.settings-modal__group{flex-direction:column;gap:12px;display:flex}.settings-modal__field{flex-direction:column;gap:6px;display:flex}.settings-modal__label{color:var(--text);font-size:.85rem;font-weight:500}.settings-modal__input,.settings-modal__select{background:var(--input-bg);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:10px 12px;font-size:.9rem;transition:all .15s}.settings-modal__input:focus,.settings-modal__select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.settings-modal__range-row{align-items:center;gap:12px;display:flex}.settings-modal__range{appearance:none;background:var(--surface-alt);border-radius:3px;flex:1;height:6px}.settings-modal__range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border-radius:50%;width:18px;height:18px}.settings-modal__range-value{text-align:right;min-width:50px;color:var(--text-muted);font-size:.85rem}.settings-modal__themes{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.settings-modal__theme-btn{background:var(--surface-alt);border:2px solid var(--border);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:8px;transition:all .15s;display:flex}.settings-modal__theme-btn:hover{border-color:var(--border-hover);transform:translateY(-1px)}.settings-modal__theme-btn--active{border-color:var(--accent);background:var(--accent-bg)}.settings-modal__theme-preview{border:1px solid #0000001a;border-radius:6px;width:100%;height:28px;overflow:hidden}.settings-modal__theme-colors{height:100%;display:flex}.settings-modal__theme-colors>div{flex:1}.settings-modal__theme-name{color:var(--text);font-size:.7rem;font-weight:500}.settings-modal__sketch-styles{flex-wrap:wrap;gap:8px;display:flex}.settings-modal__sketch-btn{background:var(--surface-alt);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 14px;font-size:.8rem;transition:all .15s}.settings-modal__sketch-btn:hover{border-color:var(--border-hover);background:var(--surface-hover)}.settings-modal__sketch-btn--active{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.settings-modal__hint-inline{color:var(--text-muted);font-size:.7rem;font-weight:400}.settings-modal__row-options{flex-wrap:wrap;gap:8px;display:flex}.settings-modal__row-btn{background:var(--surface-alt);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 16px;font-size:.85rem;transition:all .15s}.settings-modal__row-btn:hover{border-color:var(--border-hover)}.settings-modal__row-btn--active{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.settings-modal__hint{color:var(--text-muted);margin:0 0 16px;font-size:.8rem;line-height:1.5}.settings-modal__reader-grid{flex-direction:column;gap:12px;display:flex}.settings-modal__reader-row{background:var(--surface-alt);border-radius:10px;justify-content:space-between;align-items:center;padding:12px;display:flex}.settings-modal__reader-row--info{background:var(--accent-bg);border:1px dashed var(--accent)}.settings-modal__reader-info{color:var(--accent);font-size:.85rem;font-weight:500}.settings-modal__format-label{color:var(--text);font-size:.9rem;font-weight:600}.settings-modal__reader-options{gap:8px;display:flex}.settings-modal__reader-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:.8rem;transition:all .15s}.settings-modal__reader-btn:hover{border-color:var(--border-hover);color:var(--text)}.settings-modal__reader-btn--active{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.settings-modal__footer{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;display:flex}.settings-modal__cancel-btn{background:var(--surface-alt);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:10px;padding:10px 20px;font-size:.9rem;font-weight:500;transition:all .15s}.settings-modal__cancel-btn:hover{background:var(--surface-hover)}.settings-modal__save-btn{background:var(--surface-alt);border:1px solid var(--border);color:var(--text-muted);cursor:not-allowed;border-radius:10px;padding:10px 24px;font-size:.9rem;font-weight:600;transition:all .15s}.settings-modal__save-btn--active{background:var(--accent);border-color:var(--accent);color:#fff;cursor:pointer}.settings-modal__save-btn--active:hover{filter:brightness(1.1)}.settings-modal__subtitle{color:var(--text);margin:0 0 12px;font-size:.85rem;font-weight:600}.settings-modal__color-options{gap:8px;display:flex}.settings-modal__color-btn{cursor:pointer;border:2px solid #0000;border-radius:8px;width:32px;height:32px;transition:all .15s}.settings-modal__color-btn:hover{transform:scale(1.1)}.settings-modal__color-btn--active{border-color:var(--text);box-shadow:0 0 0 2px var(--modal-bg), 0 0 0 4px var(--text)}.settings-modal__view-modes{gap:8px;display:flex}.settings-modal__view-btn{cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:6px;padding:12px;transition:all .15s;display:flex;border:2px solid var(--border)!important;background:var(--surface)!important;color:var(--text)!important;border-radius:12px!important}.settings-modal__view-btn:hover{border-color:var(--accent)!important;background:var(--surface-alt)!important}.settings-modal__view-btn--active{border-color:var(--accent)!important;background:var(--accent)!important;color:#fff!important}.settings-modal__view-icon{color:inherit;font-size:1.5rem}.settings-modal__view-label{font-size:.8rem;font-weight:500}.reader-overlay{z-index:1000;background:#525659;flex-direction:column;display:flex;position:fixed;inset:0}.reader--light{--reader-bg:#f5f5f5;--reader-doc:#fff}.reader--sepia{--reader-bg:#e8dcc8;--reader-doc:#f8f4e8}.reader--dark{--reader-bg:#1a1a1a;--reader-doc:#2d2d2d}.reader-header{color:#e8e8e8;background:linear-gradient(#4a4a4a 0%,#3d3d3d 100%);border-bottom:1px solid #2a2a2a;flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 12px;display:flex}.reader-header__left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.reader-header__center{align-items:center;gap:8px;display:flex}.reader-header__right{flex-shrink:0;align-items:center;gap:4px;display:flex}.reader-header__title{white-space:nowrap;text-overflow:ellipsis;max-width:300px;font-size:14px;font-weight:500;overflow:hidden}.reader-btn{color:#d0d0d0;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.reader-btn:hover{color:#fff;background:#ffffff1a}.reader-btn:disabled{opacity:.4;cursor:default}.reader-btn--icon{width:32px;height:32px}.reader-btn--icon.active{color:#60a5fa;background:#3b82f640}.reader-btn--nav{background:#ffffff14;width:36px;height:36px}.reader-btn--nav:hover:not(:disabled){background:#ffffff26}.reader-btn--close{width:36px;height:36px;margin-left:8px}.reader-btn--close:hover{color:#fff;background:#ef4444cc}.reader-toolbar-group{background:#0003;border-radius:6px;align-items:center;margin:0 4px;padding:2px;display:inline-flex}.reader-toolbar-group .reader-btn--icon{width:28px;height:28px}.reader-zoom-display{text-align:center;color:#b0b0b0;font-variant-numeric:tabular-nums;min-width:42px;font-size:12px}.reader-main{flex:1;display:flex;position:relative;overflow:hidden}.reader-sidebar{background:#2d2d2d;border-right:1px solid #1a1a1a;flex-direction:column;width:0;transition:width .25s;display:flex;overflow:hidden}.reader-sidebar--open{width:280px}.reader-sidebar__header{color:#e0e0e0;background:#252525;border-bottom:1px solid #1a1a1a;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.reader-sidebar__header .reader-btn--icon{width:24px;height:24px}.reader-sidebar__content{flex:1;padding:8px 0;overflow-y:auto}.reader-sidebar__empty{color:#888;text-align:center;padding:20px 16px;font-size:13px}.reader-toc{margin:0;padding:0;list-style:none}.reader-toc__item{text-align:left;color:#b0b0b0;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;width:100%;padding:10px 16px;font-size:13px;transition:all .15s;display:block;overflow:hidden}.reader-toc__item:hover{color:#e0e0e0;background:#ffffff0d}.reader-toc__item.active{color:#60a5fa;background:#3b82f633}.reader-document{background:var(--reader-bg,#525659);flex:1;justify-content:center;align-items:flex-start;padding:24px;display:flex;position:relative;overflow:auto}.reader-loading,.reader-error{color:#e0e0e0;justify-content:center;align-items:center;gap:12px;font-size:15px;display:flex;position:absolute;inset:0}.reader-error{color:#ef4444}.reader-spinner{border:3px solid #fff3;border-top-color:#60a5fa;border-radius:50%;width:24px;height:24px;animation:.7s linear infinite reader-spin}@keyframes reader-spin{to{transform:rotate(360deg)}}.reader-page-container{justify-content:center;align-items:flex-start;width:100%;min-height:100%;display:flex}.reader-page{background:var(--reader-doc,#fff);transform-origin:top;box-shadow:0 4px 20px #0000004d}.reader-page canvas{max-width:100%;display:block}.reader-foliate-container{justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.reader-foliate-container foliate-view{background:var(--reader-doc,#fff);border-radius:4px;width:100%;max-width:900px;height:100%;box-shadow:0 4px 20px #0000004d}.reader-scroll-page{background:var(--reader-doc,#fff);margin-bottom:16px;box-shadow:0 2px 12px #0003}.reader-scroll-page canvas{width:100%;height:100%;display:block}.reader-nav-zone{cursor:pointer;z-index:10;opacity:0;border-radius:8px;justify-content:center;align-items:center;width:60px;height:200px;transition:opacity .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.reader-nav-zone:hover{opacity:1;background:#00000026}.reader-nav-zone:after{content:"";border-top:none;border-bottom:3px solid #ffffffb3;border-left:3px solid #ffffffb3;border-right:none;width:12px;height:20px;transform:rotate(45deg)}.reader-nav-zone--left{left:20px}.reader-nav-zone--left:after{transform:rotate(45deg)}.reader-nav-zone--right{right:20px}.reader-nav-zone--right:after{border-top:3px solid #ffffffb3;border-bottom:none;border-left:none;border-right:3px solid #ffffffb3;transform:rotate(45deg)}.reader-footer{color:#b0b0b0;background:linear-gradient(#3d3d3d 0%,#333 100%);border-top:1px solid #2a2a2a;flex-shrink:0;justify-content:space-between;align-items:center;height:44px;padding:0 16px;display:flex}.reader-footer__left,.reader-footer__right{min-width:120px}.reader-footer__right{text-align:right}.reader-footer__center{flex:1;justify-content:center;display:flex}.reader-footer__info,.reader-footer__page{color:#888;font-size:12px}.reader-page-nav{align-items:center;gap:12px;display:flex}.reader-page-indicator{align-items:center;gap:6px;display:flex}.reader-page-input{text-align:center;color:#e0e0e0;font-variant-numeric:tabular-nums;background:#0000004d;border:1px solid #555;border-radius:4px;width:48px;padding:4px 8px;font-size:13px}.reader-page-input:focus{border-color:#60a5fa;outline:none}.reader-page-total{color:#888;font-size:13px}.reader-progress-bar{background:#ffffff1a;border-radius:2px;width:200px;height:4px;overflow:hidden}.reader-progress-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:2px;height:100%;transition:width .3s}@media (width<=768px){.reader-header__title{max-width:150px}.reader-sidebar--open{z-index:100;width:260px;position:absolute;top:0;bottom:0;left:0}.reader-progress-bar{width:120px}}.reader-zoom-select{appearance:none;color:#e0e0e0;cursor:pointer;background:#0000004d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") right 6px center no-repeat;border:1px solid #555;border-radius:4px;min-width:90px;padding:4px 24px 4px 8px;font-size:12px}.reader-zoom-select:hover{border-color:#777}.reader-zoom-select:focus{border-color:#60a5fa;outline:none}.reader-zoom-select option,.reader-zoom-select optgroup{color:#e0e0e0;background:#2d2d2d}.ebook-text-controls{gap:4px}.reader-font-select,.reader-line-select{appearance:none;color:#e0e0e0;cursor:pointer;background:#0000004d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") right 5px center no-repeat;border:1px solid #555;border-radius:4px;padding:4px 22px 4px 8px;font-size:12px}.reader-font-select{min-width:60px}.reader-line-select{min-width:55px}.reader-font-select:hover,.reader-line-select:hover{border-color:#777}.reader-font-select:focus,.reader-line-select:focus{border-color:#60a5fa;outline:none}.reader-font-select option,.reader-line-select option{color:#e0e0e0;background:#2d2d2d}.djvu-zoom-controls{gap:4px}.djvu-zoom-controls .reader-zoom-display{min-width:50px}.djvu-scroll-container{flex-direction:column;align-items:center;padding:24px;display:flex;position:absolute;inset:0;overflow:auto}.djvu-pages-wrapper{flex-direction:column;align-items:center;gap:16px;padding-bottom:48px;display:flex}.djvu-page-wrapper{background:var(--reader-doc,#fff);border-radius:2px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 12px #00000040,0 0 1px #0000001a}.djvu-page-wrapper canvas{display:block}.djvu-page-placeholder{background:var(--reader-doc,#f5f5f5);color:#999;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;inset:0}.djvu-page-wrapper canvas~.djvu-page-placeholder{display:none}.djvu-single-container{justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0;overflow:auto}.djvu-page-single{max-width:100%;max-height:100%}.reader--dark .djvu-page-placeholder{color:#666;background:#333}.reader--sepia .djvu-page-placeholder{color:#a89070;background:#f8f4e8}.reader--dark .djvu-page-wrapper{box-shadow:0 2px 12px #00000080,0 0 1px #ffffff1a}.epub-reader-overlay{z-index:1000;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.epub-reader-body{flex:1;position:relative;overflow:hidden}.epub-reader-loading,.epub-reader-error{justify-content:center;align-items:center;gap:12px;font-size:16px;display:flex;position:absolute;inset:0}.epub-spinner{border:3px solid #8080804d;border-top-color:#888;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite epub-spin}@keyframes epub-spin{to{transform:rotate(360deg)}}.epub-reader-topbar{z-index:10;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:6px 12px;display:flex;position:relative}.epub-reader-topbar-title{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:600;display:flex;overflow:hidden}.epub-reader-topbar-title span{text-overflow:ellipsis;overflow:hidden}.epub-reader-topbar-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.epub-toolbar-group{background:#8080801a;border-radius:6px;align-items:center;margin-right:4px;display:inline-flex;overflow:hidden}.epub-toolbar-group .epub-toolbar-btn{border-radius:0}.epub-toolbar-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:34px;height:32px;transition:background .15s;display:inline-flex;position:relative}.epub-toolbar-btn:hover{background:#80808033}.epub-toolbar-btn.active{background:#3b82f633;color:#3b82f6!important}.epub-badge{color:#fff;background:#3b82f6;border-radius:7px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:1;display:flex;position:absolute;top:2px;right:2px}.epub-reader-panel{z-index:20;border:1px solid;border-radius:10px;flex-direction:column;width:320px;max-height:70vh;display:flex;position:absolute;top:100%;right:12px;overflow:hidden;box-shadow:0 8px 32px #0003}.epub-panel-header{border-bottom:1px solid #80808026;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.epub-panel-hint{opacity:.6;margin-left:auto;font-size:11px;font-weight:400}.epub-reader-settings{width:280px;padding:12px;right:50px}.epub-settings-group{margin-bottom:14px}.epub-settings-group:last-child{margin-bottom:0}.epub-settings-group label{opacity:.7;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.epub-settings-row{align-items:center;gap:6px;display:flex}.epub-theme-btn{cursor:pointer;border:2px solid #0000;border-radius:6px;flex:1;padding:6px 0;font-size:12px;font-weight:500;transition:border-color .15s,opacity .15s}.epub-theme-light{color:#333;background:#fff}.epub-theme-sepia{color:#5b4636;background:#f4ecd8}.epub-theme-dark{color:#e0e0e0;background:#1e1e1e}.epub-theme-btn.active{border-color:#3b82f6}.epub-font-btn{cursor:pointer;color:inherit;background:0 0;border:1px solid #8080804d;border-radius:6px;padding:4px 12px;font-size:13px}.epub-font-btn:disabled{opacity:.3;cursor:default}.epub-font-preview{text-align:center;flex:1;font-weight:600}.epub-highlight-colors{gap:8px}.epub-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;transition:transform .15s,border-color .15s}.epub-color-swatch:hover{transform:scale(1.15)}.epub-color-swatch.active{border-color:#3b82f6;transform:scale(1.1)}.epub-reader-toc-panel{right:120px}.epub-toc-list{max-height:60vh;padding:4px 0;overflow-y:auto}.epub-toc-item{text-align:left;width:100%;color:inherit;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;padding:8px 14px;font-size:13px;transition:background .15s;display:block;overflow:hidden}.epub-toc-item:hover{background:#8080801f}.epub-toc-empty{text-align:center;opacity:.5;padding:20px;font-size:13px}.epub-reader-highlight-panel{right:80px}.epub-highlight-list{max-height:60vh;padding:4px 0;overflow-y:auto}.epub-highlight-item{border-bottom:1px solid #8080801a;align-items:stretch;gap:0;display:flex}.epub-highlight-color-bar{flex-shrink:0;width:4px}.epub-highlight-text{text-align:left;color:inherit;cursor:pointer;-webkit-line-clamp:3;line-clamp:3;background:0 0;border:none;-webkit-box-orient:vertical;flex:1;padding:8px 10px;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.epub-highlight-text:hover{background:#80808014}.epub-highlight-remove{width:30px;color:inherit;cursor:pointer;opacity:.4;background:0 0;border:none;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.epub-highlight-remove:hover{opacity:1;color:#e74c3c}.epub-font-family-list{flex-wrap:wrap;gap:4px;display:flex}.epub-font-family-btn{color:inherit;cursor:pointer;background:0 0;border:1px solid #80808040;border-radius:6px;padding:4px 10px;font-size:12px;transition:border-color .15s,background .15s}.epub-font-family-btn:hover{background:#8080801a}.epub-font-family-btn.active{color:#3b82f6;background:#3b82f61a;border-color:#3b82f6;font-weight:600}.pdf-reader-overlay{z-index:9000;background:#2a2a2e;flex-direction:column;display:flex;position:fixed;inset:0}.pdf-reader-topbar{background:#38383d;flex-shrink:0;justify-content:flex-end;align-items:center;height:32px;padding:0 4px;display:flex}.pdf-viewer-iframe{border:none;flex:1;width:100%}.pdf-close-btn{color:#f9f9fa;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s;display:flex}.pdf-close-btn:hover{background:#e74c3c}.pdf-tools{z-index:3000;background:#fff;border-radius:12px;flex-direction:column;width:400px;max-width:95vw;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0000004d}.pdf-tools__header{color:#fff;background:#323639;align-items:center;gap:12px;padding:16px 20px;display:flex}.pdf-tools__header h3{flex:1;margin:0;font-size:1.1rem;font-weight:600}.pdf-tools__badge{color:#14532d;background:#4ade80;border-radius:10px;padding:3px 8px;font-size:.7rem;font-weight:600}.pdf-tools__close{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:6px;width:32px;height:32px;font-size:1rem;transition:background .15s}.pdf-tools__close:hover{background:#fff3}.pdf-tools__content{flex-direction:column;gap:20px;padding:20px;display:flex}.pdf-tools__tool{flex-direction:column;gap:10px;display:flex}.pdf-tools__tool>label{color:#333;font-size:.95rem;font-weight:600}.pdf-tools__row{gap:8px;display:flex}.pdf-tools__row select{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;flex:1;padding:10px 12px;font-size:.9rem}.pdf-tools__row select:focus{border-color:#4a90d9;outline:none}.pdf-tools__row select:disabled{opacity:.6;cursor:not-allowed}.pdf-tools__row button{color:#fff;cursor:pointer;white-space:nowrap;background:#4a90d9;border:none;border-radius:6px;padding:10px 20px;font-size:.9rem;transition:background .15s}.pdf-tools__row button:hover:not(:disabled){background:#3a7bc4}.pdf-tools__row button:disabled{opacity:.5;cursor:not-allowed}.pdf-tools__message{justify-content:space-between;align-items:center;padding:12px 20px;font-size:.9rem;display:flex}.pdf-tools__message--error{color:#dc2626;background:#fee2e2}.pdf-tools__message--success{color:#16a34a;background:#dcfce7}.pdf-tools__message button{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:4px;font-size:1rem}.pdf-tools__message button:hover{opacity:1}.pdf-tools__footer{color:#666;background:#f5f5f5;border-top:1px solid #e0e0e0;justify-content:space-between;gap:10px;padding:12px 20px;font-size:.8rem;display:flex}.pdf-tools__info{color:#4ade80}.pdf-tools__processing{z-index:10;background:#fffffff2;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.pdf-tools__spinner{border:3px solid #e0e0e0;border-top-color:#4a90d9;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite pdf-tools-spin}@keyframes pdf-tools-spin{to{transform:rotate(360deg)}}.pdf-tools-backdrop{z-index:2999;background:#00000080;position:fixed;inset:0}.tutorial-overlay{z-index:10000;background:0 0;animation:.3s fadeIn;position:fixed;inset:0}.tutorial-overlay--mobile{background:0 0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tutorial-spotlight{pointer-events:none;z-index:10001;background:0 0;border-radius:12px;transition:all .4s cubic-bezier(.4,0,.2,1);animation:2s ease-in-out infinite spotlight-pulse;position:fixed;box-shadow:0 0 0 9999px #0009,0 0 0 4px #6366f1,0 0 0 8px #6366f14d}@keyframes spotlight-pulse{0%,to{box-shadow:0 0 0 9999px #0009,0 0 0 4px #6366f1,0 0 0 8px #6366f14d}50%{box-shadow:0 0 0 9999px #0009,0 0 0 5px #818cf8,0 0 0 12px #6366f166}}.tutorial-tooltip{z-index:10002;background:#fff;border-radius:20px;width:480px;max-width:calc(100vw - 32px);animation:.4s cubic-bezier(.34,1.56,.64,1) tooltipEnter;position:fixed;overflow:hidden;box-shadow:0 20px 60px #00000026,0 8px 24px #0000001a,0 0 0 1px #0000000d}@keyframes tooltipEnter{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.tutorial-progress{background:#e5e7eb;height:4px;overflow:hidden}.tutorial-progress-bar{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:0 4px 4px 0;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.tutorial-content{padding:28px 28px 20px}.tutorial-icon{margin-bottom:12px;font-size:3rem;line-height:1;animation:.5s iconBounce}@keyframes iconBounce{0%{transform:scale(0)}50%{transform:scale(1.15)}to{transform:scale(1)}}.tutorial-step-indicator{color:#6366f1;text-transform:uppercase;letter-spacing:1px;background:#f0f0ff;border-radius:20px;margin-bottom:16px;padding:6px 14px;font-size:.75rem;font-weight:600;display:inline-block}.tutorial-title{color:#1f2937;margin:0 0 12px;font-size:1.5rem;font-weight:700;line-height:1.3}.tutorial-description{color:#6b7280;white-space:pre-line;margin:0;font-size:1rem;line-height:1.7}.tutorial-action-hint{color:#6366f1;background:linear-gradient(135deg,#f0f0ff 0%,#e8e8ff 100%);border:1px solid #e0e0ff;border-radius:12px;align-items:center;gap:10px;margin-top:18px;padding:12px 16px;font-size:.9rem;font-weight:500;display:flex}.tutorial-action-icon{font-size:1.2rem}.tutorial-nav{background:#fafafa;border-top:1px solid #f0f0f0;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px 20px;display:flex}.tutorial-nav--hidden{opacity:0;pointer-events:none;transform:translateY(10px)}.tutorial-nav-center{flex-shrink:0;justify-content:center;display:flex}.tutorial-nav-buttons{gap:10px;margin-left:auto;display:flex}.tutorial-btn{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.tutorial-btn .btn-icon{font-size:1.1rem;transition:transform .2s}.tutorial-btn .btn-text{white-space:nowrap}.tutorial-btn--skip{color:#9ca3af;background:0 0;padding:10px 16px}.tutorial-btn--skip:hover{color:#6b7280;background:#f3f4f6}.tutorial-btn--prev{color:#374151;background:#f3f4f6;padding:10px 18px;border:1px solid #e5e7eb!important}.tutorial-btn--prev:hover{background:#e5e7eb;border-color:#d1d5db!important}.tutorial-btn--prev:hover .btn-icon{transform:translate(-3px)}.tutorial-btn--next{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);padding:10px 24px;box-shadow:0 2px 8px #6366f14d}.tutorial-btn--next:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6366f166}.tutorial-btn--next:hover .btn-icon{transform:translate(3px)}.tutorial-btn--next:active{transform:translateY(0)}.tutorial-dots{justify-content:center;gap:6px;display:flex}.tutorial-dot{cursor:pointer;background:#e5e7eb;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:all .25s}.tutorial-dot:hover{background:#d1d5db;transform:scale(1.2)}.tutorial-dot.completed{background:#a5b4fc}.tutorial-dot.active{background:#6366f1;transform:scale(1.3);box-shadow:0 0 8px #6366f166}.tutorial-touch-hint{color:#fff;background:#000000b3;border-radius:20px;padding:10px 20px;font-size:.85rem;animation:2s ease-in-out infinite pulseHint;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}@keyframes pulseHint{0%,to{opacity:.6}50%{opacity:1}}@media (width<=1024px) and (width>=769px){.tutorial-tooltip{width:400px}.tutorial-content{padding:24px 24px 18px}.tutorial-title{font-size:1.4rem}.tutorial-description{font-size:.95rem}}@media (width<=768px){.tutorial-tooltip--mobile{border-radius:28px 28px 0 0;width:100%;max-width:100%;animation:.5s cubic-bezier(.34,1.56,.64,1) slideUpMobile;position:fixed;inset:auto 0 0;transform:none!important}@keyframes slideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.tutorial-tooltip--mobile .tutorial-content{padding:24px 24px 16px}.tutorial-tooltip--mobile .tutorial-icon{margin-bottom:8px;font-size:2.5rem}.tutorial-tooltip--mobile .tutorial-title{margin-bottom:10px;font-size:1.35rem}.tutorial-tooltip--mobile .tutorial-description{font-size:.92rem;line-height:1.6}.tutorial-tooltip--mobile .tutorial-action-hint{margin-top:16px;padding:12px 16px;font-size:.85rem}.tutorial-tooltip--mobile .tutorial-nav{flex-direction:column;gap:16px;padding:16px 24px 28px}.tutorial-tooltip--mobile .tutorial-nav-center{order:3;width:100%}.tutorial-tooltip--mobile .tutorial-nav-buttons{order:1;justify-content:stretch;width:100%}.tutorial-tooltip--mobile .tutorial-btn--skip{order:2;padding:10px}.tutorial-tooltip--mobile .tutorial-btn--prev,.tutorial-tooltip--mobile .tutorial-btn--next{flex:1;justify-content:center;padding:16px 20px;font-size:1rem}.tutorial-tooltip--mobile .tutorial-dots{gap:10px}.tutorial-tooltip--mobile .tutorial-dot{width:12px;height:12px}.tutorial-tooltip--mobile.hide-controls .tutorial-nav{opacity:0;pointer-events:none;transition:all .3s;transform:translateY(20px)}.tutorial-tooltip--mobile.show-controls .tutorial-nav{opacity:1;pointer-events:auto;transition:all .3s;transform:translateY(0)}.tutorial-step-indicator{padding:5px 12px;font-size:.7rem}}@media (width<=480px){.tutorial-tooltip--mobile .tutorial-content{padding:20px 20px 14px}.tutorial-tooltip--mobile .tutorial-icon{font-size:2rem}.tutorial-tooltip--mobile .tutorial-title{font-size:1.2rem}.tutorial-tooltip--mobile .tutorial-description{font-size:.88rem}.tutorial-tooltip--mobile .tutorial-nav{gap:14px;padding:14px 20px 24px}.tutorial-tooltip--mobile .tutorial-btn--prev,.tutorial-tooltip--mobile .tutorial-btn--next{padding:14px 16px;font-size:.95rem}.tutorial-tooltip--mobile .tutorial-btn .btn-text{display:block}}@media (height<=500px) and (width<=900px){.tutorial-tooltip--mobile{border-radius:20px 20px 0 0;max-height:85vh;overflow-y:auto}.tutorial-tooltip--mobile .tutorial-content{padding:16px 20px 12px}.tutorial-tooltip--mobile .tutorial-icon{margin-bottom:6px;font-size:1.8rem}.tutorial-tooltip--mobile .tutorial-title{margin-bottom:6px;font-size:1.1rem}.tutorial-tooltip--mobile .tutorial-description{font-size:.85rem;line-height:1.5}.tutorial-tooltip--mobile .tutorial-action-hint{display:none}.tutorial-tooltip--mobile .tutorial-nav{flex-direction:row;gap:12px;padding:12px 20px 16px}.tutorial-tooltip--mobile .tutorial-nav-buttons{flex:none;order:2}.tutorial-tooltip--mobile .tutorial-nav-center{flex:1;order:1}.tutorial-tooltip--mobile .tutorial-btn--skip{order:0;padding:8px 12px;font-size:.85rem}.tutorial-tooltip--mobile .tutorial-btn--prev,.tutorial-tooltip--mobile .tutorial-btn--next{padding:10px 16px;font-size:.9rem}}[data-theme=light] .tutorial-tooltip{background:linear-gradient(165deg,#fffffffa 0%,#f8fafcfa 100%);box-shadow:0 25px 80px #00000026,0 0 0 1px #0000000d}[data-theme=light] .tutorial-progress{background:#0000000f}[data-theme=light] .tutorial-step-indicator{color:#6366f1;background:#6366f11a}[data-theme=light] .tutorial-title{color:#1e293b}[data-theme=light] .tutorial-description{color:#475569}[data-theme=light] .tutorial-action-hint{color:#6366f1;background:#6366f114;border-color:#6366f126}[data-theme=light] .tutorial-nav{background:#00000008;border-top-color:#0000000f}[data-theme=light] .tutorial-btn--skip{color:#0006}[data-theme=light] .tutorial-btn--skip:hover{color:#000000b3;background:#0000000d}[data-theme=light] .tutorial-btn--prev{color:#334155;background:#0000000f;border-color:#0000001a}[data-theme=light] .tutorial-btn--prev:hover{background:#0000001a}[data-theme=light] .tutorial-dot{background:#0000001f}[data-theme=light] .tutorial-dot:hover{background:#0003}[data-theme=light] .tutorial-dot.completed{background:#6366f166}[data-theme=light] .tutorial-touch-hint{color:#00000080;background:#00000014}@media (prefers-reduced-motion:reduce){.tutorial-overlay,.tutorial-tooltip,.tutorial-spotlight,.tutorial-progress-bar,.tutorial-icon,.tutorial-btn,.tutorial-dot{transition:none;animation:none}}
