@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap";:root{--bg:#f3f4f8;--surface:#fff;--surface-2:#f7f8fb;--surface-hover:#f1f2f7;--text:#1b2030;--text-muted:#6b7180;--text-faint:#9aa0b0;--border:#e7e9f0;--border-strong:#d8dbe6;--sidebar-bg:#1a1222;--sidebar-bg-2:#11142331;--sidebar-text:#9c93ab;--sidebar-text-strong:#f1edf6;--sidebar-active:#ce305c2e;--sidebar-hover:#ffffff0d;--accent:#e0457b;--accent-hover:#c93b6c;--accent-weak:#e0457b1a;--accent-text:#fff;--green:#15a05a;--green-bg:#e6f6ec;--amber:#b06a00;--amber-bg:#fbeed3;--red:#d23b46;--red-bg:#fbe7e8;--blue:#3b6fd2;--blue-bg:#e7eefb;--radius:14px;--radius-sm:9px;--radius-pill:999px;--shadow-sm:0 1px 2px #14182a0a, 0 1px 3px #14182a0f;--shadow-md:0 4px 16px #14182a14;--shadow-lg:0 18px 50px #14182a2e;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:ui-monospace, "SF Mono", Consolas, monospace;--serif:"Playfair Display", Georgia, "Times New Roman", serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--sans);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}[data-theme=dark]{--bg:#0e1017;--surface:#161a24;--surface-2:#1b2030;--surface-hover:#1f2536;--text:#e7e9f1;--text-muted:#9aa1b4;--text-faint:#6b7288;--border:#262c3b;--border-strong:#313951;--sidebar-bg:#0b0e18;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 18px 50px #0000008c;--green-bg:#133023;--amber-bg:#352a12;--red-bg:#341b1f;--blue-bg:#16243f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0}h1,h2,h3{color:var(--text);letter-spacing:-.01em;margin:0;font-weight:650}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{color:var(--text);font-family:inherit;font-size:14px}code{font-family:var(--mono);background:var(--surface-2);border-radius:5px;padding:1px 5px;font-size:.85em}.icon{flex:none}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.muted{color:var(--text-muted)}.small{font-size:12.5px}.center{text-align:center}.right{text-align:right}.num{text-align:right;font-variant-numeric:tabular-nums}.screen-center{background:var(--bg);place-items:center;min-height:100svh;display:grid}.page-loading,.row-loading{place-items:center;padding:60px 0;display:grid}.spinner-wrap{color:var(--text-muted);align-items:center;gap:10px;display:inline-flex}.spinner{border:2.5px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:.7s linear infinite spin;display:inline-block}.spinner-label{font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}.admin-shell{min-height:100svh;display:flex}.admin-main{flex-direction:column;flex:1;min-width:0;display:flex}.content{flex:1;width:100%;max-width:1320px;margin:0 auto;padding:26px 30px 48px}.sidebar{width:248px;color:var(--sidebar-text);background:linear-gradient(#1d1428 0%,#150e20 52%,#0f0a16 100%);flex-direction:column;flex:none;height:100svh;padding:22px 16px;display:flex;position:sticky;top:0}.brand{padding:6px 10px 22px}.brand-name{color:var(--sidebar-text-strong);letter-spacing:-.02em;font-size:23px;font-weight:700}.brand-name:first-letter{color:var(--accent)}.sidebar .brand-name{background:linear-gradient(92deg,#f57bac 0%,#e85a93 50%,#e0457b 100%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.brand-sub{font-family:var(--mono);letter-spacing:.12em;text-transform:none;color:#8a7d99;margin-top:4px;font-size:11.5px}.nav{flex-direction:column;gap:4px;display:flex}.nav-item{color:var(--sidebar-text);text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:11px;margin:0 -16px;padding:10px 26px;font-size:13.5px;font-weight:500;transition:background .15s,color .15s;display:flex;position:relative}.nav-item:hover{background:var(--sidebar-hover);color:var(--sidebar-text-strong)}.nav-item:hover .icon{color:var(--sidebar-text-strong)}.nav-item.active{background:var(--sidebar-active);color:#f2a6c8}.nav-item.active:hover,.nav-item.active .icon,.nav-item.active:hover .icon{color:#f2a6c8}.nav-item.active:after{content:"";background:#f2a6c8;width:3px;position:absolute;top:0;bottom:0;right:0}.sidebar-footer{border-top:1px solid #ffffff12;flex-direction:column;gap:3px;margin-top:auto;padding-top:14px;display:flex}.nav-signout:hover{color:#ff7a93}.scrim{display:none}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:20;flex:none;align-items:center;gap:16px;height:64px;padding:0 30px;display:flex;position:sticky;top:0}.hamburger{color:var(--text-muted);background:0 0;border:none;padding:6px;display:none}.topbar-search{flex:1;align-items:center;max-width:460px;display:flex;position:relative}.topbar-search .search-icon{color:var(--text-faint);position:absolute;left:13px}.topbar-search input{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius-pill);width:100%;height:40px;color:var(--text);outline:none;padding:0 16px 0 38px}.topbar-search input:focus{border-color:var(--accent);background:var(--surface)}.topbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.icon-btn{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--text-muted);border-radius:10px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-hover);color:var(--text)}.icon-btn.ghost{background:0 0;border-color:#0000}.icon-btn.danger:hover{color:var(--red);border-color:var(--red);background:var(--red-bg)}.topbar-user{align-items:center;gap:10px;padding-left:8px;display:flex}.tu-meta{flex-direction:column;align-items:flex-end;line-height:1.2;display:flex}.tu-name{text-transform:capitalize;font-size:13.5px;font-weight:600}.tu-role{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-size:10.5px}.tu-avatar{background:linear-gradient(135deg, var(--accent), #8b3bff);color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font-size:13px;font-weight:700;display:grid}.page{flex-direction:column;gap:20px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-title{font-size:25px}.page-subtitle{color:var(--text-muted);margin-top:4px;font-size:14px}.head-actions{gap:10px;display:flex}.breadcrumb{color:var(--text-faint);align-items:center;gap:6px;margin-bottom:6px;font-size:12.5px;display:flex}.breadcrumb a:hover{color:var(--accent)}.banner{border-radius:var(--radius-sm);border:1px solid #0000;padding:11px 15px;font-size:13.5px}.banner-error{background:var(--red-bg);color:var(--red);border-color:color-mix(in srgb, var(--red) 30%, transparent)}.banner-success{background:var(--green-bg);color:var(--green);border-color:color-mix(in srgb, var(--green) 30%, transparent)}.banner-warn{background:var(--amber-bg);color:var(--amber);border-color:color-mix(in srgb, var(--amber) 30%, transparent)}.editor-book-head{align-items:center;gap:14px;display:flex}.editor-book-cover{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:54px;height:72px}.file-drop.has-file{color:var(--text);border-style:solid}.lang-name-static{color:var(--text);font-size:14px;font-weight:600}.editor-topbar-title{color:var(--text);flex:1;font-size:15px;font-weight:600}.editor-side-profile{border-top:1px solid var(--border);align-items:center;gap:10px;margin:8px 12px 0;padding:12px 14px;display:flex}.editor-side-profile .tu-avatar{flex:none}.esp-meta{flex-direction:column;min-width:0;display:flex}.esp-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.esp-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.clickable-row,.link-title{cursor:pointer}.link-title:hover{text-decoration:underline}.preview-top{flex-wrap:wrap;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.preview-cover{object-fit:cover;border:1px solid var(--border);border-radius:12px;flex:none;width:160px;height:213px}.preview-cover.placeholder{background:var(--surface-2);color:var(--text-muted);justify-content:center;align-items:center;display:flex}.preview-info{flex:1;min-width:260px}.preview-meta-row{border-bottom:1px solid var(--border);gap:12px;padding:8px 0;font-size:14px;display:flex}.pm-label{width:100px;color:var(--text-muted);flex:none}.preview-desc{color:var(--text-muted);margin:14px 0 0;font-size:13.5px;line-height:1.6}.cap{text-transform:capitalize}.preview-chapters{flex-direction:column;gap:10px;display:flex}.preview-chapter{border:1px solid var(--border);border-radius:10px;padding:12px 14px}.pc-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.pc-title{font-size:14px;font-weight:600}.pc-player{flex-direction:column;gap:8px;display:flex}.pc-langs{flex-wrap:wrap;gap:6px;display:flex}.pc-audio{width:100%;height:40px}.preview-parts{flex-direction:column;gap:12px;max-height:55vh;display:flex;overflow-y:auto}.preview-part{border:1px solid var(--border);border-radius:10px;padding:10px 12px}.pp-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.cat-cell{align-items:center;gap:12px;display:flex}.cat-thumb{object-fit:cover;border:1px solid var(--border);border-radius:8px;flex:none;width:44px;height:44px}.cat-thumb.placeholder{background:var(--surface-2);color:var(--text-muted);justify-content:center;align-items:center;display:flex}.cat-image-drop{border:1.5px dashed var(--border);cursor:pointer;background:var(--surface-2);border-radius:10px;justify-content:center;align-items:center;min-height:120px;display:flex;overflow:hidden}.cat-image-drop:hover{border-color:var(--text-muted)}.cat-image-preview{object-fit:cover;width:100%;height:160px}.cat-image-cta{color:var(--text-muted);align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.flip-up{transform:rotate(180deg)}.editor-detail-head{align-items:center;gap:14px;display:flex}.tu-avatar.lg{width:52px;min-width:52px;height:52px;font-size:18px}.lang-reupload{align-items:center;gap:8px;display:flex}.reason-inline{align-items:center;gap:4px;display:inline-flex}.reason-icon-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;color:var(--text-muted);border-radius:8px;align-items:center;padding:5px 7px;display:inline-flex}.reason-icon-btn:hover{color:var(--text);background:var(--surface-2);border-color:var(--text-muted)}.btn{border:1px solid var(--border-strong);background:var(--surface);height:40px;color:var(--text);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:13.5px;font-weight:600;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:hover{background:var(--surface-hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{background:var(--red);border-color:var(--red);color:#fff}.btn-danger:hover{background:#bb2f3a}.btn-dark{color:#fff;background:#14141d;border-color:#14141d}.btn-dark:hover{background:#25252f;border-color:#25252f}[data-theme=dark] .btn-dark{color:#11141d;background:#fff;border-color:#fff}.btn-ghost{background:var(--surface)}.btn-block{width:100%}.btn-sm{border-radius:8px;height:32px;padding:0 11px;font-size:12.5px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}.card-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-head-actions{align-items:center;gap:6px;display:inline-flex}.ch-menu-wrap{display:inline-flex;position:relative}.ch-menu-backdrop{z-index:20;position:fixed;inset:0}.ch-menu{z-index:21;background:var(--surface,#fff);border:1px solid var(--border,#e6e6ee);border-radius:10px;min-width:168px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 30px #00000024}.ch-menu-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;padding:9px 10px;font-size:13px;font-weight:550;display:flex}.ch-menu-item:hover{background:var(--surface-alt,#0000000d);color:var(--accent)}.card-title{font-size:16px;font-weight:650}.card-note{color:var(--text-muted);margin-top:12px;font-size:12.5px}.link-muted{color:var(--text-muted);font-size:12.5px;font-weight:600}.link-muted:hover{color:var(--text)}.link-accent{color:var(--accent);font-size:12.5px;font-weight:600}.link-accent:hover{color:var(--accent-hover);text-decoration:underline}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;display:grid}.stat-grid.two{grid-template-columns:repeat(2,1fr)}.stat-grid.two.compact{grid-template-columns:repeat(2,minmax(0,270px))}.stat-grid.two.compact .stat-card{padding:15px 18px}.stat-grid.two.compact .stat-head{margin-bottom:4px}.stat-grid.two.compact .stat-value{font-size:26px}.stat-grid.two.compact .stat-icon{width:36px;height:36px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px 20px}.stat-card-accent{border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}.stat-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.stat-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);font-size:11px;font-weight:600}.stat-icon{background:var(--surface-2);border:1px solid var(--border);width:40px;height:40px;color:var(--text-faint);border-radius:10px;place-items:center;display:grid}.stat-icon.plain{color:#7c6cf0;background:0 0;border:none;width:auto;height:auto}.stat-value-row{align-items:baseline;gap:10px;display:flex}.stat-value{letter-spacing:-.02em;font-size:30px;font-weight:700}.stat-delta{font-size:12px;font-weight:600}.stat-delta.up{color:var(--green)}.stat-delta.down{color:var(--red)}.stat-sub{color:var(--text-muted);margin-top:8px;font-size:12.5px}.stat-split{gap:34px;margin-top:6px;display:flex}.stat-split-wrap{flex-wrap:wrap;gap:10px 18px}.stat-split b{color:var(--text)}.ss-item{flex-direction:column;gap:1px;display:flex}.ss-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-size:10px;font-weight:600}.ss-num{color:var(--text);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.dash-cols{grid-template-columns:1.8fr 1fr;align-items:start;gap:18px;display:grid}.table-wrap{margin:0 -4px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13.5px}.data-table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);padding:0 12px 12px;font-size:10.5px;font-weight:600}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 12px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--surface-2)}.data-table th.num,.data-table td.num{text-align:right}.data-table th.center,.data-table td.center{text-align:center}.data-table th.right,.data-table td.right{text-align:right}.empty-row{text-align:center;color:var(--text-muted);padding:30px 0}.cell-title{align-items:center;gap:11px;max-width:260px;display:flex}.cell-title-text{font-weight:600;line-height:1.25}.mini-cover{background:var(--accent-weak);width:30px;height:30px;color:var(--accent);border-radius:8px;flex:none;place-items:center;display:grid}.trend-up{color:#8b8df0}.data-table td.mono{font-family:var(--mono);letter-spacing:-.01em;font-size:12.5px}.mp-table td:not(:first-child),.mp-table th:not(:first-child){white-space:nowrap;width:1%}.mp-table th:not(:first-child),.mp-table td:not(:first-child){padding-left:22px}.books-table th:nth-child(n+3),.books-table td:nth-child(n+3){white-space:nowrap;width:1%;padding-left:26px}.books-table thead th:last-child{padding-right:34px}.books-table thead th:nth-child(6){padding-left:44px}.stacked{flex-direction:column;gap:2px;display:flex}.upload-list{flex-direction:column;gap:6px;display:flex}.upload-item{border-radius:10px;align-items:center;gap:12px;padding:9px;display:flex}.upload-item:hover{background:var(--surface-2)}.upload-cover{object-fit:cover;border-radius:9px;flex:none;width:42px;height:42px}.upload-cover.placeholder,.book-thumb.placeholder,.upload-cover.placeholder{background:var(--accent-weak);color:var(--accent);place-items:center;display:grid}.upload-meta{flex-direction:column;flex:1;min-width:0;display:flex}.upload-title{font-size:13.5px;font-weight:600}.upload-sub{color:var(--text-muted);font-size:12px}.upload-play{color:#7c6cf0;border:1.5px solid #cfc7f7;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;display:grid}.login-screen{background:radial-gradient(1200px 600px at 80% -10%, #e0457b1f, transparent), radial-gradient(900px 500px at -10% 110%, #8b3bff1a, transparent), var(--bg);place-items:center;min-height:100svh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:400px;box-shadow:var(--shadow-lg);border-radius:18px;flex-direction:column;gap:14px;padding:30px;display:flex}.login-brand{align-items:center;gap:12px;margin-bottom:6px;display:flex}.login-logo{background:linear-gradient(135deg, var(--accent), #8b3bff);color:#fff;border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.login-brand .brand-name{color:var(--text)}.login-brand .brand-sub{color:var(--text-faint)}.login-title{margin-top:4px;font-size:22px}.login-sub{color:var(--text-muted);margin-top:-6px;font-size:13.5px}.login-error{background:var(--red-bg);color:var(--red);border-radius:var(--radius-sm);padding:10px 13px;font-size:13px}.login-foot{text-align:center;color:var(--text-faint);margin-top:4px;font-size:11.5px}.login-screen.vn-auth{--vn-ink:#2b1a1a;--vn-gold:#b0863f;--vn-muted:#8c7d6d;--vn-panel:#f7f1e7;--vn-panel-border:#e4d8c6;--vn-input:#ece2d0;--vn-input-border:#dccdb9;--vn-placeholder:#ab9c88;--vn-burgundy:#3f1c28;--vn-burgundy-hover:#4d2333;--vn-btn-text:#f2e7da;--vn-shadow:0 24px 60px #3c1e1e24;background:radial-gradient(1100px 660px at 50% -12%,#f5eee2,#e8dccb);position:relative}.login-screen.vn-auth.dark{--vn-ink:#f1e7d8;--vn-gold:#cd9e57;--vn-muted:#ad9d8b;--vn-panel:#ffffff0a;--vn-panel-border:#ffffff17;--vn-input:#ffffff0d;--vn-input-border:#ffffff21;--vn-placeholder:#8f8072;--vn-burgundy:#5a2f40;--vn-burgundy-hover:#6b3a4d;--vn-btn-text:#f4eadc;--vn-shadow:0 24px 70px #00000080;background:radial-gradient(1000px 720px at 50% -8%,#351b28,#150c12)}.auth-theme{border:1px solid var(--vn-panel-border);background:var(--vn-panel);width:42px;height:42px;color:var(--vn-ink);cursor:pointer;border-radius:50%;place-items:center;transition:color .15s;display:grid;position:absolute;top:22px;right:24px}.auth-theme:hover{color:var(--vn-gold)}.auth-card{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:400px;padding:30px;display:flex}.auth-logo{font-family:var(--serif);color:var(--vn-ink);letter-spacing:.01em;font-size:32px;font-weight:600}.auth-logo-gold{color:var(--vn-gold)}.auth-tilde{color:var(--vn-gold);vertical-align:super;margin-left:1px;font-size:18px}.auth-title{font-family:var(--serif);color:var(--vn-ink);margin-top:18px;font-size:30px;font-weight:600}.auth-sub{color:var(--vn-muted);max-width:300px;margin-top:6px;font-size:14px;line-height:1.5}.auth-panel{background:var(--vn-panel);border:1px solid var(--vn-panel-border);width:100%;box-shadow:var(--vn-shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:18px;margin-top:26px;padding:26px 24px}.auth-error{color:#b4442f;background:#c0392b1f;border:1px solid #c0392b40;border-radius:10px;width:100%;margin-bottom:16px;padding:10px 13px;font-size:13px}.vn-auth.dark .auth-error{color:#e9a99a}.auth-form{text-align:left;flex-direction:column;gap:18px;width:100%;display:flex}.auth-field{flex-direction:column;gap:8px;display:flex}.auth-field-head{justify-content:space-between;align-items:center;display:flex}.auth-field label{letter-spacing:.1em;text-transform:uppercase;color:var(--vn-muted);font-size:11px;font-weight:600}.auth-forgot{color:var(--vn-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.auth-forgot:hover{color:var(--vn-gold)}.auth-input{align-items:center;display:flex;position:relative}.auth-input input{border:1px solid var(--vn-input-border);background:var(--vn-input);width:100%;height:50px;color:var(--vn-ink);border-radius:12px;outline:none;padding:0 46px 0 16px;font-size:14px;transition:border-color .15s}.auth-input input::placeholder{color:var(--vn-placeholder)}.auth-input input:focus{border-color:var(--vn-gold)}.auth-input-icon{color:var(--vn-muted);pointer-events:none;position:absolute;right:16px}.auth-eye{color:var(--vn-muted);cursor:pointer;background:0 0;border:none;place-items:center;padding:4px;display:grid;position:absolute;right:12px}.auth-eye:hover{color:var(--vn-ink)}.auth-btn{background:var(--vn-burgundy);height:52px;color:var(--vn-btn-text);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:9px;margin-top:8px;font-size:13px;font-weight:600;transition:background .15s;display:inline-flex}.auth-btn:hover{background:var(--vn-burgundy-hover)}.auth-btn:disabled{opacity:.7;cursor:not-allowed}.auth-note{text-align:center;width:100%;color:var(--vn-muted);margin:-4px 0 0;font-size:12px}.auth-demo{color:var(--vn-muted);cursor:pointer;background:0 0;border:none;margin-top:22px;font-size:12.5px}.auth-demo:hover{color:var(--vn-gold);text-decoration:underline}.demo-box{border:1px dashed var(--border-strong);background:var(--surface-2);border-radius:12px;flex-direction:column;gap:9px;padding:13px;display:flex}.demo-box-head{color:var(--accent);align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:flex}.demo-creds{font-family:var(--mono);color:var(--text);flex-direction:column;gap:2px;font-size:12.5px;display:flex}.demo-creds span{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:5px 9px}.field{flex-direction:column;gap:6px;font-size:13px;display:flex}.field>span{color:var(--text);font-size:12.5px;font-weight:600}.field .req{color:var(--accent);margin-left:2px;font-style:normal}.field input,.field textarea,.select-wrap select,.bare-input{border:1px solid var(--border-strong);background:var(--surface);border-radius:10px;outline:none;width:100%;height:42px;padding:0 13px;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;height:auto;padding:11px 13px}.field input:focus,.field textarea:focus,.select-wrap select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.field input::placeholder,.field textarea::placeholder{color:var(--text-faint)}.checkbox-row{height:42px;color:var(--text-muted);align-items:center;gap:9px;font-size:13px;display:flex}.checkbox-row input,.variant-default input,.radio-pill input{accent-color:var(--accent);width:16px;height:16px}.select-wrap{position:relative}.select-wrap:after{content:"";border-right:1.6px solid var(--text-faint);border-bottom:1.6px solid var(--text-faint);pointer-events:none;width:8px;height:8px;position:absolute;top:50%;right:13px;transform:translateY(-65%)rotate(45deg)}.select-wrap select{appearance:none;cursor:pointer;padding-right:32px}.select-wrap.inline select{border-radius:8px;height:34px;font-size:13px}.users-top{grid-template-columns:repeat(2,minmax(0,270px));align-items:stretch;gap:18px;display:grid}.filter-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;display:flex}.filter-card-main{flex-direction:column;flex:1;gap:11px;min-width:0;display:flex}.filter-card-main .select-wrap{max-width:260px}.filter-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);font-size:11px;font-weight:600}.active-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:center;gap:12px;padding:15px 18px;display:flex}.active-value{letter-spacing:-.02em;color:var(--text);align-items:flex-end;gap:5px;font-size:26px;font-weight:800;line-height:1;display:flex}.active-dot{background:#7c6cf0;border-radius:50%;width:7px;height:7px;margin-bottom:6px}.cell-user{align-items:center;gap:12px;display:flex}.avatar{color:#6f76a3;background:#eef0f8;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:12.5px;font-weight:700;display:grid}.avatar-premium{color:#5566c8;background:#e7edfb}.cell-user-meta{flex-direction:column;display:flex}.cell-user-name{font-weight:600}.cell-user-email{color:var(--text-muted);font-size:12.5px}.badge{border-radius:var(--radius-pill);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.badge-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge-neutral{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.badge-accent{background:var(--accent-weak);color:var(--accent)}.badge-free{color:#7c7f99;background:#f0f0f6;border:1px solid #e8e8f2}.badge-subscription{color:#5b62d6;background:#eceefb}.badge-lang{color:#6c659e;background:#edeafa}.badge-btn{cursor:pointer;border:1px solid #0000;font-family:inherit}.badge-free.badge-btn{border-color:#e8e8f2}.badge-btn:hover{filter:brightness(.97)}.badge-btn:disabled{opacity:.6;cursor:default}.badge-success{background:var(--green-bg);color:var(--green)}.badge-warn{background:var(--amber-bg);color:var(--amber)}.badge-low{background:var(--green-bg);color:var(--green)}.badge-medium{background:var(--amber-bg);color:var(--amber)}.badge-high{background:var(--red-bg);color:var(--red)}.pagination{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding-top:16px;display:flex}.pagination-summary{color:var(--text-muted);font-size:12.5px}.pagination-controls{align-items:center;gap:8px;display:flex}.pager-btn{border:1px solid var(--border-strong);background:var(--surface);width:34px;height:34px;color:var(--text-muted);border-radius:8px;place-items:center;display:grid}.pager-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.pager-btn:disabled{opacity:.4;cursor:not-allowed}.pager-num{border:1px solid var(--border);background:var(--surface);min-width:34px;height:34px;color:var(--text-muted);border-radius:8px;place-items:center;padding:0 9px;font-size:13px;font-weight:600;display:grid}.pager-num:hover{background:var(--surface-hover);color:var(--text)}.pager-num.active{color:#fff;background:#1b2030;border-color:#1b2030}.pager-ellipsis{color:var(--text-faint);align-self:center;padding:0 3px}[data-theme=dark] .pager-num.active{color:#11141d;background:#fff;border-color:#fff}.toggle{border-radius:var(--radius-pill);background:var(--border-strong);border:none;width:42px;height:24px;padding:0;transition:background .18s;position:relative}.toggle.on{background:#14141d}[data-theme=dark] .toggle.on{background:var(--accent)}.toggle:disabled{opacity:.5;cursor:not-allowed}.toggle-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.toggle.on .toggle-knob{transform:translate(18px)}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.toolbar-filters{flex-wrap:wrap;gap:16px;display:flex}.inline-filter{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.inline-filter .select-wrap select{border-color:var(--border);border-radius:8px;height:34px;padding:0 30px 0 12px;font-size:13px;font-weight:500}.inline-filter .select-wrap:after{width:7px;height:7px;right:11px}.view-toggle{border:1px solid var(--border);border-radius:9px;display:inline-flex;overflow:hidden}.view-toggle button{background:var(--surface);width:36px;height:36px;color:var(--text-muted);border:none;place-items:center;display:grid}.view-toggle button.active{color:#fff;background:#14141d}[data-theme=dark] .view-toggle button.active{color:#11141d;background:#fff}.cell-book{align-items:center;gap:14px;max-width:300px;display:flex}.book-thumb{object-fit:cover;border-radius:9px;flex:none;width:46px;height:46px}.cell-book-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.cell-book-title{white-space:normal;max-width:170px;font-weight:650;line-height:1.25}.cell-book-sub{color:var(--text-muted);font-size:11.5px}.cell-book-aud{color:var(--text-faint);font-size:11px}.row-actions{justify-content:flex-end;gap:2px;display:inline-flex}.row-actions .icon-btn{width:30px;height:30px;color:var(--text-faint);background:0 0;border:none}.row-actions .icon-btn:hover{background:var(--surface-hover);color:var(--text)}.col-check{text-align:center;width:44px}.data-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;vertical-align:middle}.row-selected{background:var(--accent-weak)}.status-cell{color:var(--text);align-items:center;gap:7px;font-size:13px;font-weight:500;display:inline-flex}.status-dot{background:var(--text-faint);border-radius:50%;flex:none;width:7px;height:7px}.tone-success .status-dot{background:var(--green)}.tone-warn .status-dot{background:#e8820c}.tone-warn{color:#e8820c}.book-card-status .status-cell{border-radius:var(--radius-pill);background:#ffffffeb;padding:3px 8px;font-size:11px}.icon-btn.has-dot{position:relative}.icon-btn.has-dot:after{content:"";background:var(--accent);border:2px solid var(--surface);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:9px}.empty-state{color:var(--text-muted);flex-direction:column;align-items:center;gap:12px;padding:48px 0;display:flex}.empty-state .icon{color:var(--text-faint)}.book-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;display:grid}.book-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.book-card-cover{aspect-ratio:3/2;background:var(--surface-2);position:relative}.book-card-cover img{object-fit:cover;width:100%;height:100%}.book-card-cover .placeholder{width:100%;height:100%;color:var(--accent);background:var(--accent-weak);place-items:center;display:grid}.book-card-status{position:absolute;top:8px;left:8px}.book-card-body{flex-direction:column;gap:4px;padding:12px 13px;display:flex}.book-card-title{font-weight:650}.book-card-meta{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.book-card-actions{gap:6px;padding:0 13px 13px;display:flex}.book-card-actions .icon-btn{width:32px;height:32px}.form-layout{grid-template-columns:1fr 320px;align-items:start;gap:18px;display:grid}.form-col-main{flex-direction:column;gap:18px;min-width:0;display:flex}.form-col-side{position:sticky;top:84px}.grid-2{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px;display:grid}.card .grid-2+.field,.card .field+.grid-2,.card .field+.grid-3,.card>.field+.field{margin-top:14px}.grid-2>.field,.grid-3>.field{margin-top:0}.upload-page .field>span{letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);font-size:10.5px;font-weight:600}.upload-page .field input,.upload-page .field textarea,.upload-page .select-wrap select{border-color:var(--border)}.upload-page .field textarea{min-height:96px}.ownership-row{flex-wrap:wrap;align-items:center;gap:26px;margin-top:6px;display:flex}.radio-opt{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.radio-opt input{accent-color:var(--accent);width:16px;height:16px}.ownership-fields{align-items:flex-end;gap:14px;margin-left:auto;display:flex}.inline-field{flex-direction:column;gap:5px;display:flex}.inline-field>span{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-size:10.5px;font-weight:600}.inline-field input{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;outline:none;width:160px;height:36px;padding:0 11px}.inline-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.inline-field.sm input{width:90px}.add-link{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;font-size:12.5px;font-weight:600;display:inline-flex}.add-link:hover{color:var(--accent-hover)}.lang-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.lang-card{border:1px solid var(--border);background:var(--surface-2);border-radius:11px;align-items:center;gap:12px;padding:13px 14px;display:flex}.lang-icon{background:var(--surface);border:1px solid var(--border);width:34px;height:34px;color:var(--text-muted);border-radius:9px;flex:none;place-items:center;display:grid}.lang-meta{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.lang-name-input{color:var(--text);background:0 0;border:none;outline:none;width:100%;padding:0;font-size:13.5px;font-weight:600}.lang-name-input:focus{color:var(--accent)}.lang-sub{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.lang-upload{color:var(--accent);cursor:pointer;white-space:nowrap;flex:none;font-size:12px;font-weight:600}.lang-upload:hover{text-decoration:underline}.chapters-table .bare-input{background:0 0;border:1px solid #0000;border-radius:7px;width:100%;height:36px;padding:0 10px}.chapters-table .bare-input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-weak)}.chapters-table .bare-input.center{text-align:center}.chapters-table .bare-input.strong{font-weight:600}.chapters-table .bare-input.mono-input{font-family:var(--mono);color:var(--text-muted);font-size:12.5px}.ch-order{width:56px}.ch-dur{width:104px}.cover-card{flex-direction:column;gap:12px;display:flex}.cover-drop{border:1.5px dashed var(--border-strong);aspect-ratio:3/4;background:var(--surface-2);cursor:pointer;border-radius:12px;place-items:center;display:grid;position:relative;overflow:hidden}.cover-drop:hover{border-color:var(--accent)}.cover-preview{object-fit:cover;opacity:.45;width:100%;height:100%;position:absolute;inset:0}.cover-center{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:0 16px;display:flex;position:relative}.cover-up-icon{background:var(--surface);border:1px solid var(--border);width:42px;height:42px;color:var(--text-muted);box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;display:grid}.cover-center{z-index:2}.cover-cta{color:var(--text);font-size:13.5px;font-weight:650}.cover-dim{color:var(--text-faint);font-size:11.5px}.cover-meta-card{padding:14px 16px}.cover-drop.has-cover .cover-preview{opacity:1;z-index:0}.cover-drop.has-cover:after{content:"";z-index:1;background:#12142080;position:absolute;inset:0}.cover-drop.has-cover .cover-cta,.cover-drop.has-cover .cover-dim{color:#fff}.cover-drop.has-cover .cover-up-icon{color:#fff;background:#ffffff2e;border-color:#ffffff59}.upload-page .radio-opt input{accent-color:#14141d}.upload-page .add-link{color:var(--text-muted)}.upload-page .add-link:hover{color:var(--text)}.upload-page .lang-upload{color:var(--text-muted)}.upload-page .lang-upload:hover{color:var(--text)}.upload-page .field .req{color:var(--text-faint)}.upload-page .lang-name-input:focus{color:var(--text)}.upload-page .field input:focus,.upload-page .field textarea:focus,.upload-page .select-wrap select:focus,.upload-page .inline-field input:focus,.upload-page .chapters-table .bare-input:focus{border-color:#14141d;box-shadow:0 0 0 3px #14141d14}.modal-overlay{z-index:100;background:#0f111780;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:100%;box-shadow:var(--shadow-lg);border-radius:16px;overflow:hidden}.modal-title{border-bottom:1px solid var(--border);padding:18px 20px;font-size:16px;font-weight:650}.modal-body{color:var(--text-muted);padding:20px;font-size:14px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.modal-form{flex-direction:column;gap:15px;display:flex}.modal-form .field>span{letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);font-size:11px;font-weight:600}.file-drop{border:1.5px dashed var(--border-strong);color:var(--text-muted);cursor:pointer;background:var(--surface-2);border-radius:9px;align-items:center;gap:9px;padding:12px 13px;font-size:13px;display:flex;overflow:hidden}.file-drop:hover{color:var(--text);border-color:#14141d}.file-drop .icon{flex:none}.modal-grid{grid-template-columns:1fr 120px;gap:14px;display:grid}.track-list{flex-direction:column;gap:8px;display:flex}.track-row{border:1px solid var(--border);background:var(--surface-2);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.track-lang{color:var(--text);align-items:center;gap:7px;font-size:13px;font-weight:500;display:inline-flex}.track-lang .icon{color:var(--text-muted)}.track-upload{border:1px dashed var(--border-strong);max-width:220px;color:var(--text-muted);cursor:pointer;background:var(--surface);border-radius:7px;align-items:center;gap:6px;padding:6px 11px;font-size:12px;display:inline-flex}.track-upload:hover{color:var(--text);border-color:#14141d}.track-upload.has-file{color:var(--text);border-style:solid}.track-actions{align-items:center;gap:6px;display:inline-flex}.lang-badges{flex-wrap:nowrap;justify-content:center;gap:4px;display:inline-flex}.ch-title{font-weight:600}.track-chips{flex-wrap:wrap;gap:5px;display:flex}.track-chip{font-family:var(--mono);letter-spacing:.03em;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);border-radius:5px;padding:3px 6px;font-size:10px;font-weight:700}@media (width<=1080px){.dash-cols,.users-top,.form-layout{grid-template-columns:1fr}.form-col-side{position:static}.stat-grid,.stat-grid.two.compact{grid-template-columns:1fr}}@media (width<=860px){.sidebar{z-index:60;transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{box-shadow:var(--shadow-lg);transform:translate(0)}.scrim{z-index:55;background:#0006;display:block;position:fixed;inset:0}.hamburger{place-items:center;display:inline-grid}.content{padding:18px}.topbar{padding:0 16px}.tu-meta{display:none}}.notif-layout{grid-template-columns:1fr 360px;align-items:start;gap:18px;display:grid}.notif-preview-card{position:sticky;top:84px}.field>span.field-count{color:var(--text-faint);font-variant-numeric:tabular-nums;align-self:flex-end;margin-top:2px;font-size:11px;font-weight:400}.notif-phone{background:radial-gradient(700px 320px at 50% -10%,#e0457b2e,#0000),linear-gradient(160deg,#241827,#140d18);border-radius:20px;align-items:flex-start;min-height:200px;padding:22px 16px;display:flex}.notif-toast{background:#fffffff0;border-radius:15px;gap:11px;width:100%;padding:12px;display:flex;box-shadow:0 8px 24px #00000047}[data-theme=dark] .notif-toast{background:#2a2e3cf5}.notif-app-icon{background:linear-gradient(135deg, var(--accent), #8b3bff);color:#fff;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:grid}.notif-toast-body{flex:1;min-width:0}.notif-toast-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.notif-app-name{letter-spacing:.05em;text-transform:uppercase;color:#6b7180;font-size:10.5px;font-weight:700}[data-theme=dark] .notif-app-name{color:#b7bccb}.notif-time{color:#9aa0b0;flex:none;font-size:11px}.notif-toast-title{color:#1b2030;word-break:break-word;margin-top:3px;font-size:14px;font-weight:700}.notif-toast-text{color:#40465a;word-break:break-word;white-space:pre-wrap;margin-top:2px;font-size:13px;line-height:1.4}[data-theme=dark] .notif-toast-title{color:#f3f4f8}[data-theme=dark] .notif-toast-text{color:#c3c8d6}.notif-audience{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:7px;margin:14px 0 0;font-size:12.5px;display:flex}.notif-audience .icon{color:var(--text-faint);flex:none}@media (width<=1080px){.notif-layout{grid-template-columns:1fr}.notif-preview-card{position:static}}.legal-screen{--l-bg:#f8f3ee;--l-ink:#2b1a1a;--l-muted:#8c7d6d;--l-wine:#7b1e3b;--l-gold:#b0863f;--l-border:#e8dccb;background:var(--l-bg);min-height:100svh;color:var(--l-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.legal-wrap{max-width:760px;margin:0 auto;padding:30px 22px 90px}.legal-top{border-bottom:1px solid var(--l-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:24px;padding-bottom:18px;display:flex}.legal-brand{align-items:center;display:flex}.legal-logo{width:auto;height:30px;display:block}.legal-back{color:var(--l-wine);font-size:14px;font-weight:600}.legal-back:hover{text-decoration:underline}.legal-h1{font-family:var(--serif);color:var(--l-wine);letter-spacing:-.01em;margin:0 0 6px;font-size:clamp(1.7rem,5vw,2.3rem)}.legal-sub{color:var(--l-muted);margin:2px 0 0;font-size:14px}.legal-intro{color:var(--l-muted);margin:8px 0 0}.legal-intro p,.legal-section p{margin:.55em 0;line-height:1.65}.legal-section{margin:26px 0 0}.legal-section h2{font-family:var(--serif);color:var(--l-ink);margin:0 0 6px;font-size:1.2rem;font-weight:700}.legal-intro ul,.legal-section ul{margin:.5em 0;padding-left:1.25em}.legal-intro li,.legal-section li{margin:.3em 0;line-height:1.6}.legal-index{flex-direction:column;gap:2px;margin:22px 0 0;padding:0;list-style:none;display:flex}.legal-index li{border-bottom:1px solid var(--l-border)}.legal-index a{color:var(--l-ink);align-items:center;gap:10px;padding:16px 6px;font-size:1.05rem;font-weight:600;display:flex}.legal-index a:before{content:"→";color:var(--l-gold);font-weight:700}.legal-index a:hover{color:var(--l-wine)}.legal-foot{border-top:1px solid var(--l-border);color:var(--l-muted);margin-top:48px;padding-top:20px;font-size:13px}.legal-foot a{color:var(--l-wine)}.editor-shell{background:var(--bg);flex-direction:column;min-height:100svh;display:flex}.editor-topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:20;flex:none;justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex;position:sticky;top:0}.editor-brand{color:var(--text);align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.editor-logo{background:linear-gradient(135deg, var(--accent), #8b3bff);color:#fff;border-radius:9px;place-items:center;width:32px;height:32px;font-size:12px;font-weight:800;display:grid}.lang-progress-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 2px;font-size:14px;display:flex}.lang-progress-row:last-child{border-bottom:none}.split-tool{flex-direction:column;gap:18px;display:flex}.split-note{border-radius:var(--radius-sm);background:var(--amber-bg);color:var(--amber);align-items:center;gap:7px;margin:0;padding:9px 12px;font-size:12.5px;display:flex}.split-player{align-items:center;gap:12px;display:flex}.split-play{background:var(--accent);color:#fff;border:none;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid}.split-play:hover{background:var(--accent-hover)}.split-time{font-family:var(--mono);color:var(--text-muted);text-align:center;flex:none;min-width:46px;font-size:12px}.split-bar{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;touch-action:none;flex:1;height:42px;position:relative;overflow:visible}.split-bar-fill{background:var(--accent-weak);border-radius:var(--radius-sm) 0 0 var(--radius-sm);pointer-events:none;position:absolute;top:0;bottom:0;left:0}.split-playhead{background:var(--accent);pointer-events:none;width:2px;position:absolute;top:-3px;bottom:-3px;transform:translate(-1px)}.split-marker{cursor:ew-resize;z-index:3;flex-direction:column;align-items:center;width:0;display:flex;position:absolute;top:-9px;bottom:-9px}.split-marker:before{content:"";background:var(--vn-gold,#b0863f);border-radius:2px;width:3px;position:absolute;top:0;bottom:0;box-shadow:0 0 0 1px #0000000f}.split-marker.dragging:before{background:#d99a2b}.split-flag{font-family:var(--mono);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);white-space:nowrap;box-shadow:var(--shadow-sm);border-radius:5px;padding:1px 5px;font-size:10px;font-weight:600;position:absolute;top:-20px;left:0;transform:translate(-50%)}.split-x{background:var(--red-bg);width:18px;height:18px;color:var(--red);border:none;border-radius:50%;place-items:center;font-size:14px;line-height:1;display:grid;position:absolute;bottom:-22px;left:0;transform:translate(-50%)}.split-x:hover{background:var(--red);color:#fff}.split-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.btn-split{background:var(--accent);border-color:var(--accent);color:#fff;height:36px}.btn-split:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.split-hint{color:var(--text-faint);flex:1;min-width:200px;font-size:12px}.split-hint b{color:var(--text-muted);font-weight:600}.chapter-num-chip{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--text);align-items:center;gap:6px;width:fit-content;padding:9px 14px;font-size:14px;font-weight:700;display:inline-flex}.chapter-num-chip em{color:var(--text-faint);font-size:12px;font-style:normal;font-weight:500}.split-parts{align-items:center;gap:12px;display:flex}.split-parts-label{color:var(--text);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.split-parts-label .icon{color:var(--accent)}.split-stepper{border:1px solid var(--border-strong);border-radius:var(--radius-sm);align-items:center;display:inline-flex;overflow:hidden}.split-step{background:var(--surface);width:36px;height:36px;color:var(--text);border:none;place-items:center;font-size:20px;line-height:1;display:grid}.split-step:hover:not(:disabled){background:var(--surface-hover)}.split-step:disabled{opacity:.4;cursor:not-allowed}.split-parts-num{text-align:center;min-width:44px;height:36px;color:var(--text);border-left:1px solid var(--border);border-right:1px solid var(--border);place-items:center;font-size:15px;font-weight:700;display:grid}.split-segments{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.split-seg-row{border-top:1px solid var(--border);grid-template-columns:1.2fr 1fr 1fr 1fr;align-items:center;padding:9px 14px;font-size:13px;display:grid}.split-seg-row:first-child{border-top:none}.split-seg-head{background:var(--surface-2);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:10.5px;font-weight:600}.seg-part{color:var(--text);font-weight:600}.seg-time,.seg-len{font-family:var(--mono);color:var(--text-muted)}.seg-len{color:var(--text);font-weight:600}.seg-recap{border-radius:var(--radius-pill);background:var(--accent-weak);color:var(--accent);font-family:var(--sans);white-space:nowrap;margin-left:8px;padding:1px 7px;font-size:10px;font-weight:600}.split-overlap-note{color:var(--text-muted);align-items:flex-start;gap:8px;margin:0 2px;font-size:12px;line-height:1.55;display:flex}.split-overlap-note .icon{color:var(--accent);flex:none;margin-top:1px}.split-overlap-note b{color:var(--text);font-weight:600}.vn-landing{--vn-bg:#140a18;--vn-bg2:#1a0f1f;--vn-card:#2c1f2e;--vn-wine:#7b1e3b;--vn-wine-deep:#431825;--vn-gold:#d4af37;--vn-gold2:#e7c757;--vn-pink:#fbb3c5;--vn-title:#f0dcf4;--vn-text:#ede3e6;--vn-muted:#b9a8ae;--vn-border:#d4af3729;--vn-radius:18px;--vn-maxw:1140px;--vn-serif:"Playfair Display",Georgia,serif;--vn-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;width:100%;min-height:100vh;font-family:var(--vn-sans);color:var(--vn-text);-webkit-font-smoothing:antialiased;background:radial-gradient(1100px 600px at 50% -5%,#7b1e3b8c,#0000 60%),radial-gradient(900px 500px at 85% 12%,#d4af371a,#0000 55%),radial-gradient(800px 600px at 8% 70%,#fbb3c50f,#0000 55%),linear-gradient(#1a0f1f 0%,#140a18 100%);line-height:1.6;position:relative;overflow-x:hidden}.vn-landing *{box-sizing:border-box;margin:0;padding:0}.vn-landing a{color:inherit;text-decoration:none}.vn-landing img{max-width:100%}.vn-landing .wrap{max-width:var(--vn-maxw);margin:0 auto;padding:0 24px}.vn-landing .nav{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--vn-border);background:linear-gradient(#140a18b8,#140a1859);position:sticky;top:0}.vn-landing .nav-inner{align-items:center;gap:30px;height:70px;display:flex}.vn-landing .brand{align-items:center;gap:10px;margin-right:auto;display:flex}.vn-landing .brand-mark{background:linear-gradient(145deg,var(--vn-wine),var(--vn-wine-deep));border:1px solid #d4af3766;border-radius:9px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 4px 18px #7b1e3b80}.vn-landing .brand-mark span{font-family:var(--vn-serif);color:var(--vn-gold);font-size:18px;font-weight:800}.vn-landing .brand-name{font-family:var(--vn-serif);letter-spacing:.3px;color:var(--vn-title);font-size:20px;font-weight:700}.vn-landing .badge18{letter-spacing:.5px;color:var(--vn-gold);border:1px solid #d4af3773;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700}.vn-landing .nav-links{align-items:center;gap:28px;display:flex}.vn-landing .nav-links button{cursor:pointer;font-family:var(--vn-sans);color:var(--vn-muted);background:0 0;border:0;padding:6px 2px;font-size:14.5px;font-weight:500;transition:color .2s}.vn-landing .nav-links button:hover{color:var(--vn-gold)}.vn-landing .nav-right{align-items:center;gap:14px;display:flex}.vn-landing .nav-toggle{border:1px solid var(--vn-border);cursor:pointer;background:0 0;border-radius:9px;flex-direction:column;justify-content:center;gap:4px;width:36px;height:36px;display:none}.vn-landing .nav-toggle span{background:var(--vn-title);border-radius:2px;width:16px;height:1.6px;margin:0 auto;display:block}@media (width<=820px){.vn-landing .nav-toggle{display:flex}.vn-landing .nav-links{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--vn-border);background:#140a18fa;flex-direction:column;align-items:stretch;gap:0;max-height:0;transition:max-height .32s;position:absolute;top:70px;left:0;right:0;overflow:hidden}.vn-landing .nav-links.open{max-height:320px}.vn-landing .nav-links button{text-align:left;border-bottom:1px solid #ffffff0a;width:100%;padding:16px 24px;font-size:15.5px}}.vn-landing .hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:36px;padding:72px 0 54px;display:grid;position:relative}.vn-landing .hero-text{text-align:left}.vn-landing .hero-text .tagline{margin:22px 0 0}.vn-landing .hero-text .stores{justify-content:flex-start}.vn-landing .hero-visual{justify-content:center;align-items:center;display:flex}.vn-landing .eyebrow{letter-spacing:3px;text-transform:uppercase;color:var(--vn-gold);border:1px solid var(--vn-border);background:#d4af370d;border-radius:999px;margin-bottom:26px;padding:7px 16px;font-size:12.5px;font-weight:700;display:inline-block}.vn-landing .hero h1{font-family:var(--vn-serif);letter-spacing:.5px;background:linear-gradient(180deg,#fff 0%, var(--vn-title) 40%, var(--vn-gold) 140%);color:#0000;text-shadow:0 10px 60px #7b1e3b4d;-webkit-background-clip:text;background-clip:text;font-size:clamp(44px,6.8vw,82px);font-weight:800;line-height:1.02}.vn-landing .hero .sub{font-family:var(--vn-serif);color:var(--vn-pink);letter-spacing:.5px;margin-top:6px;font-size:clamp(20px,4.5vw,30px);font-style:italic;font-weight:500}.vn-landing .tagline{color:var(--vn-muted);max-width:620px;margin:22px auto 0;font-size:clamp(16px,2.6vw,21px)}.vn-landing .tagline b{color:var(--vn-text);font-weight:600}.vn-landing .stores{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:40px;display:flex}.vn-landing .store{background:linear-gradient(145deg,#2c1f2ee6,#1a0f1fe6);border:1px solid #d4af3759;border-radius:14px;align-items:center;gap:12px;min-width:210px;padding:13px 20px;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;position:relative}.vn-landing .store:hover{border-color:#d4af37a6;transform:translateY(-3px);box-shadow:0 14px 34px #00000073}.vn-landing .store .store-logo{width:26px;height:26px;fill:var(--vn-title);flex:none}.vn-landing .store .st-txt{text-align:left;flex-direction:column;align-items:flex-start;line-height:1.15;display:flex}.vn-landing .store .st-top{letter-spacing:1px;text-transform:uppercase;color:var(--vn-gold);font-size:10.5px;font-weight:700}.vn-landing .store .st-big{color:var(--vn-title);font-size:16px;font-weight:600}.vn-landing .soon{letter-spacing:.5px;color:#140a18;background:linear-gradient(145deg,var(--vn-gold2),var(--vn-gold));border-radius:999px;padding:3px 8px;font-size:9.5px;font-weight:800;position:absolute;top:-10px;right:-8px;box-shadow:0 4px 12px #d4af3780}.vn-landing .note{color:var(--vn-muted);margin-top:22px;font-size:13px}.vn-landing .vn-vignette{pointer-events:none;z-index:0;background:radial-gradient(135% 105% at 50% -5%,#0000 52%,#00000080 100%);position:fixed;inset:0}.vn-landing .nav{z-index:50}.vn-landing main,.vn-landing .foot-wrap{z-index:1;position:relative}.vn-landing .vn-wave{justify-content:center;align-items:center;gap:5px;height:30px;margin:26px 0 2px;display:flex}.vn-landing .vn-wave span{transform-origin:50%;background:linear-gradient(180deg,var(--vn-gold2),var(--vn-wine));border-radius:2px;width:4px;height:100%;animation:1.15s ease-in-out infinite vnBar;transform:scaleY(.35);box-shadow:0 0 10px #d4af3740}@keyframes vnBar{0%,to{transform:scaleY(.28)}50%{transform:scaleY(1)}}.vn-landing .divider{justify-content:center;align-items:center;margin:46px 0 6px;display:flex}.vn-landing .divider span{background:linear-gradient(90deg,#0000,#d4af3799,#0000);width:170px;max-width:55%;height:1px;position:relative}.vn-landing .divider span:before{content:"";background:var(--vn-gold);width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg);box-shadow:0 0 12px #d4af37cc}.vn-landing .phone{aspect-ratio:9/19;background:linear-gradient(160deg,#2c1c29,#150b17);border:1px solid #d4af3738;border-radius:42px;width:272px;max-width:80vw;padding:12px;position:relative;box-shadow:0 44px 90px #0009,inset 0 0 0 1px #ffffff08,0 0 70px #7b1e3b47}.vn-landing .phone-glow{z-index:-1;background:radial-gradient(60% 50% at 50% 40%,#d4af3733,#0000 70%);border-radius:60px;position:absolute;inset:-30px}.vn-landing .phone-notch{z-index:3;background:#0d070f;border-radius:12px;width:92px;height:20px;position:absolute;top:20px;left:50%;transform:translate(-50%)}.vn-landing .phone-screen{background:radial-gradient(120% 55% at 50% 0,#7b1e3b80,#0000 60%),#160c18;border-radius:32px;flex-direction:column;align-items:center;height:100%;padding:40px 22px 24px;display:flex;position:relative;overflow:hidden}.vn-landing .pm-top{letter-spacing:2.5px;color:var(--vn-muted);margin-bottom:18px;font-size:9px;font-weight:700}.vn-landing .pm-cover{background:linear-gradient(145deg,var(--vn-wine),#2a1018);border:1px solid #d4af374d;border-radius:20px;place-items:center;width:150px;height:150px;margin-bottom:18px;display:grid;box-shadow:0 18px 40px #0000008c}.vn-landing .pm-cover span{font-family:var(--vn-serif);color:var(--vn-gold);text-align:center;letter-spacing:.5px;text-shadow:0 3px 12px #0009;font-size:27px;font-weight:800;line-height:1.03}.vn-landing .pm-title{font-family:var(--vn-serif);color:#fff;font-size:19px;font-weight:600}.vn-landing .pm-author{color:var(--vn-muted);margin-top:3px;margin-bottom:16px;font-size:11px}.vn-landing .pm-wave{align-items:center;gap:3px;height:24px;margin-bottom:16px;display:flex}.vn-landing .pm-wave span{transform-origin:50%;background:linear-gradient(180deg,var(--vn-gold2),var(--vn-wine));border-radius:2px;width:3px;height:100%;animation:1.15s ease-in-out infinite vnBar;transform:scaleY(.3)}.vn-landing .pm-progress{background:#ffffff1f;border-radius:2px;width:100%;height:3px;margin-bottom:18px;position:relative}.vn-landing .pm-progress span{background:linear-gradient(90deg,var(--vn-gold2),var(--vn-gold));border-radius:2px;width:42%;height:100%;position:absolute;top:0;left:0}.vn-landing .pm-controls{align-items:center;gap:24px;margin-top:auto;display:flex}.vn-landing .pm-ic{width:20px;height:20px;color:var(--vn-muted)}.vn-landing .pm-play{background:linear-gradient(145deg,var(--vn-gold2),var(--vn-gold));border-radius:50%;place-items:center;width:54px;height:54px;display:grid;box-shadow:0 8px 26px #d4af3773}.vn-landing .pm-play svg{fill:#140a18;width:24px;height:24px}.vn-landing .features{padding:40px 0 20px}.vn-landing .sec-head{text-align:center;max-width:620px;margin:0 auto 44px}.vn-landing .sec-head h2{font-family:var(--vn-serif);color:var(--vn-title);font-size:clamp(28px,5vw,40px);font-weight:700}.vn-landing .sec-head p{color:var(--vn-muted);margin-top:10px;font-size:15.5px}.vn-landing .grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.vn-landing .feat{border:1px solid var(--vn-border);border-radius:var(--vn-radius);background:linear-gradient(160deg,#2c1f2ebf,#1a0f1fa6);padding:26px 24px;transition:transform .3s,border-color .3s,box-shadow .3s}.vn-landing .feat:hover{border-color:#d4af3773;transform:translateY(-5px);box-shadow:0 18px 40px #0006}.vn-landing .feat .ic{background:linear-gradient(145deg,#d4af3729,#7b1e3b38);border:1px solid #d4af374d;border-radius:13px;place-items:center;width:48px;height:48px;margin-bottom:17px;display:grid}.vn-landing .feat .ic svg{width:23px;height:23px;color:var(--vn-gold)}.vn-landing .feat:hover .ic{border-color:#d4af3780}.vn-landing .genres{padding:60px 0 20px}.vn-landing .chips{flex-wrap:wrap;justify-content:center;gap:13px;max-width:820px;margin:0 auto;display:flex}.vn-landing .chip{font-family:var(--vn-serif);color:var(--vn-title);border:1px solid var(--vn-border);cursor:default;background:linear-gradient(145deg,#2c1f2eb3,#1a0f1f99);border-radius:999px;padding:12px 24px;font-size:16px;transition:transform .25s,border-color .25s,color .25s}.vn-landing .chip:hover{color:var(--vn-gold);border-color:#d4af378c;transform:translateY(-3px)}.vn-landing .how{padding:60px 0 20px}.vn-landing .steps{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.vn-landing .step{border:1px solid var(--vn-border);border-radius:var(--vn-radius);background:linear-gradient(160deg,#2c1f2e99,#1a0f1f80);padding:28px 26px;transition:border-color .3s,transform .3s;position:relative}.vn-landing .step:hover{border-color:#d4af3766;transform:translateY(-4px)}.vn-landing .step-no{width:42px;height:42px;font-family:var(--vn-serif);color:var(--vn-gold);background:#d4af3714;border:1px solid #d4af3766;border-radius:50%;place-items:center;margin-bottom:16px;font-size:18px;font-weight:700;display:grid}.vn-landing .step h3{font-family:var(--vn-serif);color:var(--vn-title);margin-bottom:7px;font-size:20px;font-weight:600}.vn-landing .step p{color:var(--vn-muted);font-size:14.5px}.vn-landing .faq{padding:60px 0 10px}.vn-landing .faq-list{flex-direction:column;gap:12px;max-width:760px;margin:0 auto;display:flex}.vn-landing .faq-item{border:1px solid var(--vn-border);background:linear-gradient(145deg,#2c1f2e8c,#1a0f1f73);border-radius:14px;padding:20px 24px;transition:border-color .25s}.vn-landing .faq-item:hover{border-color:#d4af3759}.vn-landing .faq-item h4{font-family:var(--vn-serif);color:var(--vn-title);margin-bottom:6px;font-size:17px;font-weight:600}.vn-landing .faq-item p{color:var(--vn-muted);font-size:14.5px}.vn-landing .feat h3{font-family:var(--vn-serif);color:var(--vn-title);margin-bottom:7px;font-size:20px;font-weight:600}.vn-landing .feat p{color:var(--vn-muted);font-size:14.5px}.vn-landing .cta{text-align:center;background:linear-gradient(135deg, var(--vn-wine-deep), #2a1320 60%, #1a0f1f);border:1px solid #d4af3740;border-radius:26px;margin:70px 0 10px;padding:54px 28px;position:relative;overflow:hidden}.vn-landing .cta:after{content:"";background:radial-gradient(500px 240px at 50% 0,#d4af372e,#0000 70%);position:absolute;inset:0}.vn-landing .cta h2{font-family:var(--vn-serif);color:#fff;font-size:clamp(26px,5vw,38px);font-weight:700;position:relative}.vn-landing .cta p{color:var(--vn-pink);font-size:16px;font-style:italic;font-family:var(--vn-serif);margin-top:10px;position:relative}.vn-landing .cta .stores{margin-top:30px}.vn-landing .foot-wrap{border-top:1px solid var(--vn-border);margin-top:64px;padding:40px 0 48px}.vn-landing .foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.vn-landing .foot .links{flex-wrap:wrap;gap:22px;display:flex}.vn-landing .foot .links a{color:var(--vn-muted);font-size:14px;transition:color .2s}.vn-landing .foot .links a:hover{color:var(--vn-gold)}.vn-landing .foot .copy{color:var(--vn-muted);font-size:13px}.vn-landing .foot .copy b{font-family:var(--vn-serif);color:var(--vn-title);font-weight:600}.vn-landing .reveal{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(24px)}.vn-landing .reveal.in{opacity:1;transform:none}.vn-landing .d1{transition-delay:40ms}.vn-landing .d2{transition-delay:.12s}.vn-landing .d3{transition-delay:.2s}.vn-landing .d4{transition-delay:.28s}@media (prefers-reduced-motion:reduce){.vn-landing .reveal{opacity:1;transition:none;transform:none}.vn-landing .vn-wave span,.vn-landing .pm-wave span{animation:none;transform:scaleY(.55)}}@media (width<=860px){.vn-landing .hero{text-align:center;grid-template-columns:1fr;gap:30px;padding:58px 0 42px}.vn-landing .hero-text{text-align:center;order:1}.vn-landing .hero-text .tagline{margin:22px auto 0}.vn-landing .hero-text .stores{justify-content:center}.vn-landing .hero-visual{order:2}}@media (width<=900px){.vn-landing .grid{grid-template-columns:repeat(2,1fr)}.vn-landing .steps{grid-template-columns:1fr;max-width:520px;margin:0 auto}}@media (width<=620px){.vn-landing .wrap{padding:0 18px}.vn-landing .hero{padding:58px 0 44px}.vn-landing .grid{grid-template-columns:1fr}.vn-landing .store{flex:100%;justify-content:center;min-width:0}.vn-landing .foot{text-align:center;flex-direction:column;justify-content:center}.vn-landing .brand-name{font-size:18px}.vn-landing .genres,.vn-landing .how,.vn-landing .faq{padding:46px 0 10px}}
