.chapter-row{display:flex;align-items:stretch}.chapter-gutter{width:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.collapse-toggle{background:none;border:none;cursor:pointer;color:var(--text-muted, #9ca3af);font-size:.7rem;line-height:1;padding:0}.collapse-toggle:hover{color:var(--text-main, #4b5563)}.chapter-node{flex:1;min-width:0;padding:.3rem .5rem;margin-bottom:1px;border:1px solid var(--border, #e5e7eb);border-radius:4px;display:flex;align-items:center;gap:.4rem;cursor:pointer;transition:all .2s;font-size:.9rem}.chapter-node:hover{background:var(--surface-2, #f3f4f6)!important;color:var(--text-main, #1f2937)!important}.chapter-node.selected:hover{background:#dbeafe!important;color:#1f2937!important}.drag-handle{color:var(--text-muted, #9ca3af);cursor:grab;padding:0 2px;flex-shrink:0}.drag-handle:active{cursor:grabbing}.child-count{font-size:.65rem;color:var(--text-muted, #6b7280);background:var(--surface-2, #f3f4f6);border-radius:8px;padding:0 5px;flex-shrink:0}.chapter-group-header{display:flex;align-items:center;gap:.4rem;padding:.3rem .5rem;margin-bottom:1px;cursor:pointer;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted, #6b7280)}.chapter-group-header:hover{background:var(--surface-2, #f3f4f6);border-radius:4px}.move-pad{display:inline-flex;align-items:center;flex-shrink:0;opacity:0;transition:opacity .15s}.move-pad-mid{display:inline-flex;flex-direction:column}.chapter-node:hover .move-pad,.chapter-node.selected .move-pad{opacity:1}.move-btn{background:none;border:none;cursor:pointer;color:var(--text-muted, #9ca3af);font-size:.55rem;line-height:.9;padding:0 2px}.move-btn:disabled{opacity:.25;cursor:default}.move-btn-side{font-size:.7rem;padding:0 3px}@media(hover:none){.move-pad{opacity:1!important}.move-btn{font-size:.8rem;padding:4px 6px;min-width:30px;min-height:15px}.move-btn-side{font-size:.95rem;padding:6px 7px;min-height:30px}.drag-handle{font-size:1.1rem;padding:4px 6px}.chapter-node{padding:.45rem .4rem;gap:.25rem}}.move-btn:hover:not(:disabled){color:var(--primary, #2563eb)}.move-btn:disabled{opacity:.3;cursor:default}.chapter-list{position:relative}.drag-indicator{position:absolute;right:1rem;height:2px;background:var(--primary, #2563eb);border-radius:2px;pointer-events:none;z-index:5}.drag-indicator:before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--primary, #2563eb)}.chapter-node.dragging{opacity:.4}.chapter-node.drop-parent{border-color:var(--primary, #2563eb)!important;box-shadow:inset 0 0 0 1px var(--primary, #2563eb)}:root{--primary: #2563eb;--primary-hover: #1d4ed8;--on-primary: #ffffff;--bg-main: #ffffff;--bg-offset: #f9fafb;--surface: #ffffff;--surface-2: #f3f4f6;--text-main: #111827;--text-strong: #111827;--text-muted: #666c7a;--border: #d1d5db;--error: #d82525;--error-bg: #fee2e2;--success: #065f46;--success-bg: #d1fae5;--global-tint: #fffbeb;--global-tint-border: #fde68a;--chat-admin: #f3f4f6;--chat-user: #dbeafe;--chat-text: #000000;--radius: 8px;--max-width: 95vw}[data-theme=grey]{--primary: #8ab6ff;--primary-hover: #a8c8ff;--on-primary: var(--bg-offset);--bg-main: #2f343d;--bg-offset: #2a2f37;--surface: #363c46;--surface-2: #3f4651;--text-main: #eef1f5;--text-strong: #ffffff;--text-muted: #aeb6c0;--error: #f69a9a;--success: #38cb6e;--border: #4b525d;--nav-bg: #262b33;--nav-border: #4b525d;--global-tint: #3a3320;--global-tint-border: #6b5a1e;--chat-admin: var(--surface-2);--chat-user: var(--surface);--chat-text: #fde047}[data-theme=dark]{--primary: #c051ff;--primary-hover: #d07cff;--on-primary: #000000;--error: #ef4848;--success: #22c55e;--bg-main: #0a0a0f;--bg-offset: #050507;--surface: #131318;--surface-2: #1c1c24;--text-main: #e8e6f0;--text-strong: #ffffff;--text-muted: #9d97b3;--border: #2e2b3d;--nav-bg: #050507;--nav-border: #2e2b3d;--global-tint: #241a33;--global-tint-border: #4a2e6b;--chat-admin: var(--surface-2);--chat-user: var(--surface);--chat-text: #fde047}[data-theme=midnight]{--primary: #3b82f6;--primary-hover: #60a5fa;--on-primary: var(--bg-offset);--bg-main: #05070f;--bg-offset: #03040a;--surface: #0d1220;--surface-2: #161d2f;--text-main: #dbe4ff;--text-strong: #ffffff;--text-muted: #8b95b8;--border: #232d47;--nav-bg: #03040a;--nav-border: #232d47;--global-tint: #121d34;--global-tint-border: #2d4470;--error: #ef4848;--success: #22c55e;--chat-admin: var(--surface-2);--chat-user: var(--surface);--chat-text: #fde047}[data-theme=ocean]{--primary: #06b6d4;--primary-hover: #22d3ee;--on-primary: var(--bg-offset);--error: #f26666;--success: #22c55e;--bg-main: #06181c;--bg-offset: #041215;--surface: #0c2529;--surface-2: #123138;--text-main: #dff8fb;--text-strong: #ffffff;--text-muted: #86b3ba;--border: #1d454c;--nav-bg: #041215;--nav-border: #1d454c;--global-tint: #0e3238;--global-tint-border: #1c5a63;--chat-admin: var(--surface-2);--chat-user: var(--surface);--chat-text: #fde047}[data-theme=forest]{--primary: #65d46e;--primary-hover: #86e08d;--on-primary: var(--bg-offset);--error: #f15e5e;--success: #22c55e;--bg-main: #0a1410;--bg-offset: #070f0b;--surface: #10201a;--surface-2: #172c23;--text-main: #e2f5e6;--text-strong: #ffffff;--text-muted: #92b39a;--border: #274031;--nav-bg: #070f0b;--nav-border: #274031;--global-tint: #1a2f20;--global-tint-border: #33553e;--chat-admin: var(--surface-2);--chat-user: var(--surface);--chat-text: #fde047}[data-theme=sunset]{--primary: #fb923c;--primary-hover: #fdba74;--on-primary: var(--bg-offset);--error: #f15757;--success: #22c55e;--bg-main: #1a1210;--bg-offset: #130d0b;--surface: #241a17;--surface-2: #2e2220;--text-main: #f7e9e2;--text-strong: #ffffff;--text-muted: #baa79d;--border: #4a352e;--nav-bg: #130d0b;--nav-border: #4a352e;--global-tint: #3a2618;--global-tint-border: #6b4526;--chat-admin: var(--surface-2);--chat-user: var(--surface);--chat-text: #fde047}[data-theme=rose]{--primary: #fb7185;--primary-hover: #fda4af;--on-primary: var(--bg-offset);--error: #f04b4b;--success: #22c55e;--bg-main: #180a10;--bg-offset: #11070c;--surface: #241119;--surface-2: #2f1721;--text-main: #f9e3ea;--text-strong: #ffffff;--text-muted: #bd93a1;--border: #4a2431;--nav-bg: #11070c;--nav-border: #4a2431;--global-tint: #331824;--global-tint-border: #5e2c40;--chat-admin: var(--surface-2);--chat-user: var(--surface);--chat-text: #fde047}[data-theme=amber]{--primary: #eab308;--primary-hover: #facc15;--on-primary: var(--bg-offset);--error: #f15a5a;--success: #22c55e;--bg-main: #1a140a;--bg-offset: #130e07;--surface: #251d10;--surface-2: #2f2516;--text-main: #f5ecd8;--text-strong: #ffffff;--text-muted: #b8a97f;--border: #4a3c1f;--nav-bg: #130e07;--nav-border: #4a3c1f;--global-tint: #3a2c10;--global-tint-border: #6b551f;--chat-admin: var(--surface-2);--chat-user: var(--surface);--chat-text: #fde047}[data-theme=slate]{--primary: #38bdf8;--primary-hover: #7dd3fc;--on-primary: var(--bg-offset);--bg-main: #1e293b;--bg-offset: #182335;--surface: #263449;--surface-2: #2f4059;--text-main: #e2e8f0;--text-strong: #ffffff;--text-muted: #9facbf;--error: #f58f8f;--success: #22c55e;--border: #3c4d66;--nav-bg: #182335;--nav-border: #3c4d66;--global-tint: #253449;--global-tint-border: #3f5673;--chat-admin: var(--surface-2);--chat-user: var(--surface);--chat-text: #fde047}@keyframes navFeaturedGlow{0%,to{text-shadow:0 0 4px rgba(244,114,182,.6),0 0 8px rgba(244,114,182,.4);color:#f9a8d4}50%{text-shadow:0 0 10px rgba(244,114,182,.95),0 0 18px rgba(236,72,153,.7);color:#f472b6}}.nav-featured-glow{animation:navFeaturedGlow 1.8s ease-in-out infinite;font-weight:600}@keyframes swShake{0%,to{transform:translate(0)}15%{transform:translate(-10px)}30%{transform:translate(9px)}45%{transform:translate(-7px)}60%{transform:translate(5px)}75%{transform:translate(-3px)}}.sw-shake{animation:swShake .6s cubic-bezier(.36,.07,.19,.97) both}@keyframes swFloat{0%,to{transform:translateY(0);box-shadow:0 10px 24px #0000001a}50%{transform:translateY(-10px);box-shadow:0 26px 44px #0000002e}}.sw-float{animation:swFloat 4.5s ease-in-out infinite}.sour-btn{padding:10px 18px;margin:0 6px;font-size:14px;font-weight:600;border-radius:999px;border:none;cursor:pointer;color:#f5e9ff;background:linear-gradient(135deg,#4b1c6f,#7a3fa0 45%,#b98be6);box-shadow:inset 0 1px 2px #ffffff40,inset 0 -2px 3px #00000059,0 6px 14px #5a1e8259;transition:transform .15s ease,box-shadow .15s ease}.sour-btn:hover{transform:translateY(-1px);box-shadow:inset 0 1px 3px #ffffff59,inset 0 -1px 2px #00000040,0 10px 22px #8c50c873}.sour-btn:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #0006,0 4px 8px #5a1e8240}.sour-down{background:linear-gradient(135deg,#3a145a,#6b2e92 45%,#a870d8)}.sour-counts{margin-top:10px;font-size:14px;color:var(--text-muted, #6b7280)}@media(max-width:768px){.sw-reader button{min-height:38px}}.nav-hamburger{display:none}@media(max-width:768px){.container{padding-left:0!important;padding-right:0!important}.nav-hamburger{display:flex!important}.nav-collapsible{display:none!important}.nav-collapsible.nav-open{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%;gap:.15rem;padding:.4rem 0 .75rem}.nav-open .nav-links-row,.nav-open .nav-auth-row{flex-direction:column!important;align-items:stretch!important;width:100%}.nav-open .nav-spacer{display:none!important}.nav-open a,.nav-open button{width:100%;text-align:left}}html,body{margin:0;padding:0;background-color:var(--bg-offset);background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.05) 1px,transparent 0),radial-gradient(circle at 1px 1px,rgba(0,0,0,.035) 1px,transparent 0);background-size:7px 7px;background-position:0 0,3.5px 3.5px;background-attachment:fixed;color:var(--text-main);font-family:system-ui,-apple-system,sans-serif}#root{min-height:100vh;display:flex;flex-direction:column}*{box-sizing:border-box}.input-field{display:block;width:100%;padding:.8rem;border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;margin-top:.25rem}.btn-primary{display:block;width:100%;padding:.8rem;background:var(--primary);color:var(--on-primary, white);border:none;border-radius:var(--radius);font-weight:600;cursor:pointer;font-size:1rem}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.label-text{display:block;font-weight:600;font-size:.9rem;margin-bottom:.5rem}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1.5rem;box-sizing:border-box}
