:root{--bg:#f4f5f7;--ink:#202124;--muted:#6b665d;--line:#d8d0c2;--panel:#fffdf8;--accent:#ff3d18;--accent-dark:#b82311;--gold:#b7791f;--rose:#a33d55;--charcoal:#242125}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.legalPage{background:#f7f7f8;min-height:100vh;padding:48px 20px}.legalShell{color:#202124;background:#fff;border:1px solid #dedee3;border-radius:8px;max-width:880px;margin:0 auto;padding:42px;line-height:1.75}.legalBack{color:var(--accent-dark);margin-bottom:28px;font-size:14px;font-weight:700;text-decoration:none;display:inline-block}.legalShell h1{margin:0 0 10px;font-size:38px;line-height:1.15}.legalShell h2{margin:30px 0 8px;font-size:19px}.legalShell p{margin:0}.legalUpdated{color:var(--muted);font-size:14px}.loginShell{background:linear-gradient(135deg,#141312f0,#201c1ae0),url(/fatcat-novel-factory.png) 50%/520px no-repeat;grid-template-columns:minmax(0,1.15fr) minmax(360px,480px);gap:26px;min-height:100vh;padding:34px;display:grid}.loginHero{color:#fff;align-content:space-between;min-height:calc(100vh - 68px);padding:28px;display:grid}.loginBrand{align-items:center;gap:18px;display:flex}.loginBrand img{object-fit:cover;background:#0f0e10;border:1px solid #ffffff2e;border-radius:18px;width:92px;height:92px}.loginBrand h1,.loginPanel h2{margin:0}.loginBrand h1{font-size:42px}.loginBrand span,.loginStatement span{color:#ffd7c9}.loginStatement{gap:14px;max-width:720px;display:grid}.loginStatement strong{font-size:58px;line-height:1.05}.loginStatement span{max-width:620px;font-size:17px;line-height:1.7}.loginMetrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:820px;display:grid}.loginMetrics div{background:#ffffff14;border:1px solid #ffffff29;border-radius:10px;padding:16px}.loginMetrics strong,.loginMetrics span{display:block}.loginMetrics span{color:#ffb29d;margin-top:6px;font-size:13px}.loginPanel{background:#fffffff0;border:1px solid #ffffff8c;border-radius:18px;align-self:center;gap:20px;padding:28px;display:grid;box-shadow:0 24px 80px #00000047}.loginPanelHeader{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.loginPanel .languageSwitch{background:#18171a;min-height:42px}.loginForm{gap:14px;display:grid}.loginError{color:var(--accent-dark);background:#fff1ec;border:1px solid #ffd0c3;border-radius:8px;margin:0;padding:10px;font-size:13px}.loginRolePreview{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.shell{min-height:100vh;padding:18px}.platformShell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.platformNav{color:#fff;background:#141316;grid-template-rows:auto 1fr auto;min-height:100vh;padding:18px;display:grid;position:sticky;top:0}.navBrand{border-bottom:1px solid #ffffff1f;align-items:center;gap:12px;padding-bottom:18px;display:flex}.navBrand img{object-fit:cover;border-radius:12px;width:48px;height:48px}.navBrand strong,.navBrand span,.navUser strong,.navUser span{display:block}.navBrand span,.navUser span{color:#ffb29d;margin-top:3px;font-size:12px}.platformNav nav{align-content:start;gap:8px;padding:22px 0;display:grid}.platformNav nav button{color:#d8d1cc;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:0 12px;display:flex}.platformNav nav button.active,.platformNav nav button:hover{color:#fff;background:#ff3d1829;border-color:#ff7a4d57}.navUser{background:#ffffff14;border:1px solid #ffffff1f;border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.platformMain{min-width:0;padding:18px}.platformMain .topbar{max-width:none}.overviewGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 14px;display:grid}.overviewGrid div{border:1px solid var(--line);background:#fffdf8;border-radius:10px;gap:8px;padding:16px;display:grid;box-shadow:0 10px 26px #18171a0f}.overviewGrid svg{color:var(--accent)}.overviewGrid span{color:var(--muted);font-size:13px}.overviewGrid strong{font-size:28px}.modulePanel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px;box-shadow:0 10px 26px #18171a0f}.settingsGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.settingsGrid div{border:1px solid var(--line);background:#fff;border-radius:8px;gap:6px;padding:14px;display:grid}.settingsGrid span{color:var(--muted);overflow-wrap:anywhere}.comicStudio{gap:14px;display:grid}.comicHero{color:#fff;background:linear-gradient(135deg,#18171a,#34251f 58%,#ff3d18 170%);border:1px solid #3a3330;border-radius:12px;justify-content:space-between;align-items:center;min-height:150px;padding:24px;display:flex}.comicHero h2{margin:0;font-size:32px}.comicHero span{color:#ffd7c9;margin-top:8px;display:block}.comicHero svg{color:#ffb29d}.comicGrid{grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:14px;display:grid}.integrationGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.integrationCard{border:1px solid var(--line);background:#fffdf8;border-radius:10px;gap:6px;padding:12px;display:grid}.integrationCard.online{border-color:#9bcf8a;box-shadow:inset 3px 0 #3f8a31}.integrationCard.offline,.integrationCard.error{box-shadow:inset 3px 0 0 var(--rose);border-color:#e2b3b3}.integrationCard.not_configured{box-shadow:inset 3px 0 0 var(--gold)}.integrationCard span,.integrationCard small{color:var(--muted);font-size:12px}.integrationTitle{justify-content:space-between;align-items:center;display:flex}.integrationTitle b{background:var(--ink);color:#fff;border-radius:999px;padding:4px 7px;font-size:11px}.integrationCard code{color:var(--accent-dark);background:#f4f1ed;border-radius:999px;width:fit-content;padding:5px 8px;font-size:11px}.comicProgressRail{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px;display:grid}.comicProgressStep{gap:8px;min-width:0;display:grid}.comicProgressStep div{gap:3px;display:grid}.comicProgressStep strong{color:var(--ink);font-size:13px}.comicProgressStep span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.comicProgressStep b{color:var(--accent-dark);font-size:12px}.comicProgressStep i{background:#f1ece7;border-radius:999px;height:7px;display:block;overflow:hidden}.comicProgressStep em{background:linear-gradient(90deg, var(--accent), var(--rose));border-radius:inherit;height:100%;transition:width .25s;display:block}.comicActionGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.comicActionGrid button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;min-height:40px;font-weight:800}.comicActionGrid button:disabled{cursor:not-allowed;opacity:.6}.comicImportBox{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;padding:12px;display:grid}.comicImportBox div:first-child{gap:3px;display:grid}.comicImportBox span{color:var(--muted);font-size:12px}.comicImportGrid{grid-template-columns:1fr 88px;gap:8px;display:grid}.comicImportBox select,.comicImportBox input{border:1px solid var(--line);color:var(--ink);background:#fffdf8;border-radius:8px;min-height:38px;padding:0 10px}.comicImportBox button{background:var(--ink);color:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:40px;font-weight:900;display:inline-flex}.comicPanel{background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:12px;padding:14px;display:grid;box-shadow:0 10px 26px #18171a0f}.comicGenerator{background:#fffdf8;align-self:start}.comicGeneratorHeader{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:12px;display:flex}.comicGeneratorHeader div{gap:4px;display:grid}.comicGeneratorHeader strong{font-size:18px}.comicGeneratorHeader span,.comicParam span{color:var(--muted);font-size:12px}.comicGeneratorHeader b{background:var(--ink);color:#fff;border-radius:999px;padding:5px 9px;font-size:12px}.comicParamStack{gap:10px;display:grid}.comicParam,.comicParamRow{gap:8px;display:grid}.comicParamRow{grid-template-columns:1fr 1fr}.comicParam select,.comicParam input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;min-height:42px;padding:0 10px}.comicFormGrid,.comicColumns{grid-template-columns:1fr 1fr;gap:10px;display:grid}.compactMessage{margin:0}.comicPackageHeader{border:1px solid var(--line);background:#fff;border-radius:8px;gap:4px;padding:12px;display:grid}.comicPackageHeader span,.comicColumns span,.shotTable span,.shotTable small{color:var(--muted)}.comicOutline{color:#ffd7c9;white-space:pre-wrap;background:#18171a;border-radius:8px;margin:0;padding:12px;overflow:auto}.comicPreviewStage{background:linear-gradient(135deg,#18171a,#2a211e 58%,#5c2016);border:1px solid #403431;border-radius:10px;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:14px;padding:16px;display:grid;overflow:hidden}.comicPhonePreview{background:#0d0c0e;border:1px solid #ffffff29;border-radius:22px;gap:10px;width:100%;max-width:270px;margin:0 auto;padding:12px;display:grid;box-shadow:0 22px 60px #00000059}.previewScreen{aspect-ratio:9/16;background:radial-gradient(circle at 50% 20%,#ff69393d,#0000 34%),#171416;border-radius:16px;position:relative;overflow:hidden}.previewScreen img{object-fit:cover;width:100%;height:100%;animation:8s ease-in-out infinite alternate previewPan}.previewPlaceholder{color:#fff;background:linear-gradient(160deg,#ff3d1852,#0000 48%),linear-gradient(#00000014,#000000c7),#2b2523;flex-direction:column;justify-content:flex-end;gap:10px;height:100%;padding:22px;animation:8s ease-in-out infinite alternate previewPan;display:flex}.previewPlaceholder span{color:#ffb29d;font-size:12px;font-weight:900}.previewPlaceholder strong{font-size:22px}.previewPlaceholder p{color:#ffe2d8;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.previewFocus{border:1px solid #fffc;border-radius:10px;width:72%;height:34%;animation:3.8s ease-in-out infinite scanFrame;position:absolute;top:17%;left:14%}.previewSubtitle{color:#fff;background:#000000ad;border:1px solid #ffffff2e;border-radius:8px;max-height:58px;padding:9px 10px;font-size:13px;font-weight:800;line-height:1.45;animation:3.2s ease-in-out infinite subtitlePulse;position:absolute;bottom:16px;left:14px;right:14px;overflow:hidden}.previewControls{color:#ffb29d;grid-template-columns:10px auto 1fr;align-items:center;gap:8px;display:grid}.previewControls span{background:var(--accent);border-radius:999px;width:10px;height:10px}.previewControls strong{font-size:12px}.previewControls i{background:#332b2a;border-radius:999px;height:6px;overflow:hidden}.previewControls i:after{background:var(--accent);content:"";width:55%;height:100%;animation:4s linear infinite timelineRun;display:block}.comicMotionBoard{align-content:start;gap:12px;min-width:0;display:grid}.motionHeader{color:#fff;justify-content:space-between;align-items:center;display:flex}.motionHeader div{gap:4px;display:grid}.motionHeader span{color:#ffcab9;font-size:12px}.motionHeader b{color:var(--accent-dark);background:#fff;border-radius:999px;padding:6px 9px;font-size:11px}.motionReel{grid-auto-columns:minmax(180px,220px);grid-auto-flow:column;gap:10px;display:grid;overflow:hidden}.motionFrame{background:#fffdf8;border:1px solid #ffffff38;border-radius:8px;gap:7px;min-height:154px;padding:12px;animation:5s ease-in-out infinite frameFloat;display:grid}.motionFrame:nth-child(2){animation-delay:.45s}.motionFrame:nth-child(3){animation-delay:.9s}.motionFrame:nth-child(4){animation-delay:1.35s}.motionFrame span{color:var(--accent-dark);font-size:12px;font-weight:900}.motionFrame strong{color:var(--ink);font-size:18px}.motionFrame p{color:var(--muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.48;display:-webkit-box;overflow:hidden}.motionTimeline{color:#fff;background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;grid-template-columns:44px minmax(90px,160px) minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.motionTimeline span{color:#ffb29d;font-size:12px;font-weight:900}.motionTimeline i{background:#ffffff29;border-radius:999px;height:8px;overflow:hidden}.motionTimeline em{background:linear-gradient(90deg, var(--accent), #ffd6c9);width:72%;height:100%;animation:3.6s linear infinite timelineRun;display:block}.motionTimeline.sound em{background:linear-gradient(90deg, #ffd166, var(--accent));animation-duration:2.4s}.motionTimeline strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.episodeList{gap:10px;display:grid}.episodeList details{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px}.episodeList summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;display:flex}.episodeList summary span{color:var(--accent-dark);font-size:12px;font-weight:800}.comicColumns div{border:1px solid var(--line);background:#f8faf8;border-radius:8px;gap:6px;padding:10px;display:grid}.shotTable{gap:8px;margin-top:10px;display:grid}.shotTable div{border-left:3px solid var(--accent);gap:4px;padding-left:10px;display:grid}.promptList{gap:6px;margin-top:10px;display:grid}.promptList code{border:1px solid var(--line);color:var(--ink);overflow-wrap:anywhere;background:#f4f1ed;border-radius:6px;padding:8px;font-size:12px}.comicImageGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.comicImageGrid a{border:1px solid var(--line);color:var(--ink);background:#fffdf8;border-radius:8px;gap:7px;padding:8px;text-decoration:none;display:grid;overflow:hidden}.comicImageGrid img{aspect-ratio:9/12;object-fit:cover;background:#f1ece7;border-radius:6px;width:100%}.comicImageGrid span{color:var(--accent-dark);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.compactEmpty{min-height:280px}.topbar{color:#fff;background:linear-gradient(135deg,#18171a 0%,#2c2726 52%,#ff3d18 180%);border:1px solid #3a3330;border-radius:10px;justify-content:space-between;align-items:center;max-width:1500px;min-height:100px;margin:0 auto 14px;padding:14px 16px;display:flex}.topbar h1,.readerHeader h2,.emptyState h2{margin:0}.brandLockup{align-items:center;gap:14px;min-width:0;display:flex}.brandLockup img{object-fit:cover;background:#0f0e10;border:1px solid #ffffff2e;border-radius:10px;width:74px;height:74px}.brandLockup h1{letter-spacing:0;font-size:30px}.brandLockup span{color:#f6d5c7;margin-top:4px;font-size:13px;display:block}.eyebrow{color:var(--accent-dark);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:700}.topbar .eyebrow{color:#ffb29d}.topActions{align-items:center;gap:10px;display:flex}.authPanel{background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;align-items:center;gap:12px;padding:10px;display:flex}.authIdentity{align-items:center;gap:8px;min-width:128px;display:flex}.authIdentity strong,.authIdentity span{display:block}.authIdentity strong{font-size:13px}.authIdentity span{color:#f6d5c7;margin-top:2px;font-size:12px}.authControls{align-items:center;gap:8px;display:flex}.authControls select{background:#fff;max-width:150px;min-height:36px;padding:7px 9px}.ghostButton{color:var(--charcoal);background:#fff;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;min-height:36px;padding:0 10px;font-weight:800;display:inline-flex}.languageSwitch{color:#fff;background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;align-items:center;gap:4px;min-height:58px;padding:8px;display:flex}.languageSwitch svg{color:#ffb29d;margin:0 4px}.languageSwitch button{color:#f6d5c7;background:0 0;border:1px solid #0000;border-radius:999px;min-height:32px;padding:0 9px;font-size:12px;font-weight:800}.languageSwitch button.active{color:var(--charcoal);background:#fff}.workspace{grid-template-columns:minmax(250px,300px) minmax(0,1fr) minmax(280px,360px);gap:14px;max-width:1500px;margin:0 auto;display:grid}.sidebar,.admin,.reader{background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 26px #18171a0f}.sidebar,.admin{align-self:start;padding:14px}.reader{min-width:0;overflow:hidden}.uploadBox,.editor{gap:10px;display:grid}label{color:var(--muted);gap:5px;font-size:13px;display:grid}input,select,textarea{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;width:100%;min-width:0;padding:10px}textarea{resize:vertical}.primaryButton,.actionBar button,.iconButton{border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:40px;display:inline-flex}.primaryButton{background:linear-gradient(135deg, var(--accent), #ff6b28);color:#fff;font-weight:700}.primaryButton:disabled,.actionBar button:disabled{cursor:not-allowed;opacity:.65}.iconButton{aspect-ratio:1;background:var(--panel);border-color:var(--line);color:var(--ink);width:42px}.topbar .iconButton{color:#fff;background:#ffffff1f;border-color:#ffffff2e}.factoryPanel{color:#fff;background:#18171a;border-radius:8px;gap:10px;margin-bottom:14px;padding:12px;display:grid}.factoryPanel strong,.factoryPanel span{display:block}.factoryPanel span{color:#f6d5c7;margin-top:3px;font-size:12px}.permissionGrid{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.permissionBadge{color:#a7a1a4;text-align:center;background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;padding:5px 0;font-size:12px;font-weight:800}.permissionBadge.enabled{color:#ffb29d;background:#ff3d182e;border-color:#ff7a4d80}.workflowRail{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.workflowStep{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:8px;display:flex}.workflowStep span{color:var(--accent-dark);background:#fff1ec;border-radius:999px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:900;display:inline-flex}.workflowStep strong{font-size:12px;line-height:1.25}.panelTitle{border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:16px;padding-top:14px;font-weight:800;display:flex}.panelTitle:first-child{border-top:0;margin-top:0;padding-top:0}.panelTitle.compact{margin-bottom:10px}.novelList{gap:8px;margin-top:10px;display:grid}.novelItem{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:6px;gap:3px;padding:10px;display:grid}.novelItem.active{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.novelItem span,.apiHint{color:var(--muted);font-size:12px}.readerHeader{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.voiceControl{align-items:center;gap:8px;min-width:420px;display:flex}.voiceControl select{min-width:0}.voicePickerButton{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;min-width:230px;min-height:40px;padding:0 10px;display:inline-flex}.voicePickerButton span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.voicePicker{border-bottom:1px solid var(--line);background:#fff;gap:12px;padding:14px 18px 16px;display:grid}.voicePickerHeader{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.voicePickerHeader span{color:var(--muted);font-size:12px}.voiceTabs{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr auto;display:grid}.voiceTabs button{color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:10px;font-weight:800;display:inline-flex}.voiceTabs button.active{border-bottom:2px solid var(--ink);color:var(--ink)}.voiceTabs .createVoiceTab{background:var(--ink);color:#fff;border-radius:999px;margin:4px 0 6px 10px;padding:8px 12px}.voiceTabs .createVoiceTab:disabled{background:#d6d1cb}.voiceSearch{border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.voiceSearch svg{color:var(--muted);flex:none}.voiceSearch input{border:0;padding-left:0}.voiceCreatorOverlay{z-index:40;background:#14131247;justify-content:center;align-items:flex-start;padding:26px 12px;display:flex;position:fixed;inset:0}.voiceCreatorModal{border:1px solid var(--line);background:#fff;border-radius:18px;gap:12px;width:min(450px,100%);max-width:450px;max-height:calc(100vh - 52px);padding:28px 30px 30px;display:grid;overflow:auto;box-shadow:0 24px 80px #14131240}.voiceCreator{background:#fff;border:0;border-radius:0;gap:12px;padding:0;display:grid}.voiceCreatorHeader{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-bottom:8px;display:grid}.voiceCreatorHeader div{gap:3px;display:grid}.voiceCreatorHeader span{color:var(--muted);font-size:12px}.creatorIcon{border:1px solid var(--line);border-radius:10px;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex}.voiceCreateCards{gap:12px;display:grid}.voiceCreateCard{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:14px;gap:8px;min-height:120px;padding:20px;display:grid}.voiceCreateCard:hover{border-color:#c9c1b9;box-shadow:0 8px 26px #14131214}.createModeIcon{border:1px dashed #bcb5ae;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-weight:900;display:inline-flex}.voiceCreateCard strong{font-size:16px}.voiceCreateCard small{color:var(--muted);font-size:13px;line-height:1.45}.modeMeta{flex-wrap:wrap;gap:8px;display:flex}.modeMeta span{color:var(--ink);background:#f5f3f1;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.voiceCreatorGrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.voiceCreator label,.wideLabel{font-size:12px}.voiceCreator input[type=file]{background:#fff;min-height:40px}.voiceCreatorChecks{gap:12px;display:grid}.voiceCreatorChecks label{color:var(--ink);align-items:center;gap:7px;line-height:1.35;display:inline-flex}.voiceCreatorChecks input{width:auto;min-height:auto}.createdVoiceShelf{border:1px solid var(--line);background:#f8faf8;border-radius:8px;gap:8px;padding:10px;display:grid}.createdVoiceShelf>div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.createdVoiceShelf span,.createdVoiceShelf small{color:var(--muted)}.createdVoice{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:7px;gap:4px;padding:9px;display:grid}.createdVoice.active{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.createdVoice span{color:var(--ink);font-weight:900}.createdVoice code{color:var(--accent-dark);text-overflow:ellipsis;font-size:11px;overflow:hidden}.createdVoice small{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.voiceFilters{flex-wrap:wrap;gap:8px;display:flex}.voiceFilters select,.filterChip{border-radius:999px;width:auto;min-height:32px;padding:0 10px;font-size:12px;font-weight:800}.filterChip{background:var(--ink);border:1px solid var(--ink);color:#fff;align-items:center;gap:5px;display:inline-flex}.voiceList{gap:6px;max-height:420px;padding-right:4px;display:grid;overflow:auto}.voiceOption{color:var(--ink);text-align:left;background:#fff;border:1px solid #0000;border-radius:8px;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px;display:grid}.voiceOption:hover,.voiceOption.selected{border-color:var(--line);background:#f8faf8}.voiceAvatar{background:linear-gradient(135deg, var(--accent), var(--charcoal));color:#fff;border-radius:999px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.voiceText{gap:3px;min-width:0;display:grid}.voiceText strong,.voiceText span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.voiceText span{color:var(--muted);font-size:13px}.voiceTags{flex-wrap:wrap;gap:5px;display:flex}.voiceTags span{color:var(--accent-dark);white-space:nowrap;background:#eef4f2;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:800}.previewButton,.selectedCheck{color:var(--ink)}.previewButton{border-radius:999px;justify-content:center;align-items:center;min-width:30px;min-height:30px;display:inline-flex}.previewButton:hover{background:#edf0ed}.selectedCheck{color:var(--accent-dark)}.emptyVoice{color:var(--muted);text-align:center;margin:14px 0}.readonlyNotice{border:1px solid var(--line);color:var(--muted);background:#f4f1ed;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:40px;display:inline-flex}input:disabled,textarea:disabled,select:disabled{color:#8a8580;background:#f4f1ed}.chapterStrip{border-bottom:1px solid var(--line);gap:8px;padding:12px 18px;display:flex;overflow-x:auto}.chapterTab{border:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:999px;flex:none;max-width:240px;padding:8px 12px;overflow:hidden}.chapterTab.active{border-color:var(--accent);color:var(--accent-dark);background:#fff1ec}.actionBar{flex-wrap:wrap;gap:8px;padding:14px 18px 0;display:flex}.actionBar button{border-color:var(--line);color:var(--ink);background:#fff;padding:0 12px}.readPane{padding:18px}.chapterMeta{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.chapterMeta h3{margin:0}audio{width:48%;max-width:360px}.readPane p{white-space:pre-wrap;margin:0;font-size:18px;line-height:1.85}.storyboardPanel{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.storyboardSections{gap:14px;display:grid}.storyboardSection{border:1px solid var(--line);background:#f8fafc;border-radius:8px;padding:12px}.storyboardSection>strong{color:var(--ink);margin-bottom:10px;font-size:14px;display:block}.shotList{gap:10px;display:grid}.shotCard{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px}.shotCard pre{color:var(--ink);font:inherit;white-space:pre-wrap;margin:0;line-height:1.7}.statusPill,.jobStatus{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.statusPill{color:var(--gold);background:#f0e8d8}.jobs{margin-top:16px}.jobRow{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.jobInfo{flex:1;gap:6px;min-width:0;display:grid}.miniProgress{background:#edf0ed;border-radius:999px;max-width:170px;height:5px;overflow:hidden}.miniProgress span{background:linear-gradient(90deg, var(--accent), var(--gold));border-radius:inherit;height:100%;transition:width .35s;display:block}.jobStatus.queued{color:var(--gold);background:#f0e8d8}.jobStatus.running{color:var(--accent-dark);background:#fff1ec}.jobStatus.completed{color:#27632a;background:#e4f4e0}.jobStatus.failed{color:var(--rose);background:#f8e4e8}.message{color:#70530f;background:#fff8e5;border:1px solid #ead59d;border-radius:6px;margin:12px 18px 0;padding:10px}.admin .message{margin:12px 0 0}.audioProgress{border-top:1px solid var(--line);background:#fff;padding:14px 18px}.progressHeader{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;font-weight:800;display:flex}.progressHeader strong{color:var(--accent-dark)}.progressTrack{background:#edf0ed;border-radius:999px;height:10px;overflow:hidden}.progressTrack span{background:linear-gradient(90deg, var(--accent), var(--gold));border-radius:inherit;height:100%;transition:width .35s;display:block}.audioProgress.failed .progressTrack span{background:var(--rose)}.audioProgress p{color:var(--muted);margin:8px 0 0;font-size:13px}.audioProgress.failed p{color:var(--rose)}.emptyState{color:var(--muted);text-align:center;place-items:center;gap:12px;min-height:520px;padding:40px;display:grid}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes previewPan{0%{transform:scale(1.02)translateY(0)}to{transform:scale(1.1)translateY(-10px)}}@keyframes scanFrame{0%,to{opacity:.42;transform:translateY(0)scale(.98)}50%{opacity:.9;transform:translateY(48%)scale(1.02)}}@keyframes subtitlePulse{0%,to{transform:translateY(3px)}50%{transform:translateY(0)}}@keyframes timelineRun{0%{transform:translate(-70%)}to{transform:translate(170%)}}@keyframes frameFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (max-width:1180px){.loginShell{grid-template-columns:1fr}.loginHero{min-height:auto}.platformShell{grid-template-columns:88px minmax(0,1fr)}.platformNav{padding:12px}.navBrand div,.platformNav nav span,.navUser div{display:none}.navBrand,.navUser,.platformNav nav button{justify-content:center}.workspace{grid-template-columns:280px minmax(0,1fr)}.voiceCreatorGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin{grid-column:1/-1}}@media (max-width:980px){.loginMetrics,.overviewGrid,.settingsGrid,.comicGrid,.comicPreviewStage,.comicProgressRail,.integrationGrid{grid-template-columns:1fr 1fr}.topbar,.topActions,.authPanel{flex-direction:column;align-items:stretch}.topActions,.authControls{width:100%}.authControls select,.ghostButton{flex:1;max-width:none}}@media (max-width:760px){.loginShell{padding:14px}.loginHero{padding:10px}.loginBrand{align-items:flex-start}.loginBrand h1,.loginStatement strong{font-size:30px}.loginMetrics,.overviewGrid,.settingsGrid,.comicGrid,.comicPreviewStage,.integrationGrid,.comicProgressRail,.comicFormGrid,.comicColumns,.comicImageGrid,.comicActionGrid,.comicImportGrid,.comicParamRow{grid-template-columns:1fr}.comicHero{flex-direction:column;align-items:flex-start}.comicMotionBoard{overflow:hidden}.motionTimeline{grid-template-columns:42px minmax(70px,120px)}.motionTimeline strong{grid-column:1/-1}.platformShell{grid-template-columns:1fr}.platformNav{min-height:auto;position:static}.platformNav nav{grid-template-columns:repeat(6,minmax(0,1fr));overflow-x:auto}.navBrand div,.platformNav nav span,.navUser div{display:block}.platformNav nav button{min-width:110px}.shell{padding:12px}.workspace{grid-template-columns:1fr}.brandLockup{align-items:flex-start}.brandLockup h1{font-size:24px}.brandLockup img{width:58px;height:58px}.readerHeader,.chapterMeta{flex-direction:column;align-items:stretch}.voiceControl{min-width:0}.voiceCreatorGrid{grid-template-columns:1fr}.createdVoiceShelf>div,.voiceCreatorHeader{flex-direction:column;align-items:flex-start}audio{width:100%;max-width:none}}
