:root{color-scheme:light;font-family:DM Sans,Segoe UI,sans-serif;--bg: #f6f6f6;--panel: #ffffff;--text: #1f1f1f;--muted: #666;--border: #e8e8e8;--primary: #ff6122}[data-amplify-authenticator]{min-height:100vh;background:linear-gradient(135deg,#141414,#2d3234 52%,#f7f4ef 52%,#fff);display:grid;place-items:center;padding:24px}[data-amplify-authenticator] [data-amplify-container]{border-radius:10px;box-shadow:0 24px 80px #130c0747}[data-amplify-authenticator] [data-amplify-router]{border:1px solid rgba(255,255,255,.64);border-radius:10px}.amplify-button--primary{background:var(--primary);border-color:var(--primary)}.auth-loading{min-height:100vh;display:grid;place-items:center;background:#f7f4ef;color:var(--muted)}.google-auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(90deg,rgba(255,97,34,.12) 1px,transparent 1px),linear-gradient(rgba(255,97,34,.1) 1px,transparent 1px),#151515;background-size:42px 42px;color:#fff}.google-auth-panel{width:min(100%,980px);display:grid;grid-template-columns:1.05fr 360px;gap:42px;align-items:center}.auth-kicker{margin:0 0 12px;color:#ff7d45;font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.google-auth-panel h1{max-width:620px;margin:0;font-size:clamp(3rem,9vw,6.8rem);line-height:.9;letter-spacing:0}.auth-copy{max-width:520px;margin:22px 0 0;color:#ffffffb8;font-size:1.08rem;line-height:1.7}.google-auth-box{display:grid;gap:14px;padding:22px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#f8f4ec;color:#1f1f1f;box-shadow:0 28px 90px #00000057}.google-auth-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;background:#ff6122;color:#fff;font-weight:900}.google-auth-box h2{margin:0;font-size:1.25rem}.google-auth-box p,.google-auth-box small{margin:0;color:#666;line-height:1.55}.google-auth-button{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border:1px solid #e5e0d6;border-radius:8px;background:#fff;color:#1f1f1f;font-weight:800}.google-auth-button:hover:not(:disabled){border-color:#1f1f1f;transform:translateY(-1px)}.google-auth-button svg{width:20px;height:20px;flex:0 0 auto}.auth-error{border:1px solid #ffd1c0;border-radius:8px;background:#fff1eb;color:#9d3108;padding:10px 12px;font-size:.86rem;line-height:1.45}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{background:#fff;border-right:1px solid var(--border);padding:24px}.brand{font-size:1.35rem;font-weight:700;margin-bottom:28px}.menu{display:grid;gap:8px}.menu a{color:#444;text-decoration:none;padding:10px 12px;border-radius:8px;font-weight:500}.menu a.active,.menu a:hover{background:#fff1eb;color:#ff4d0f}.account-card{margin-top:28px;border:1px solid var(--border);border-radius:10px;padding:12px;display:grid;gap:4px;background:#fffaf7}.account-card span,.account-card small{color:var(--muted);font-size:.78rem}.account-card strong{font-size:.95rem}.account-action{margin-top:8px;width:100%}.content{padding:24px 28px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.topbar h1{margin:0;font-size:1.35rem}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.dashboard-grid{display:grid;gap:16px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stats-grid div{background:#fafafa;border:1px solid #efefef;border-radius:10px;padding:12px}.stats-grid span{font-size:.78rem;color:var(--muted)}.stats-grid strong{display:block;margin-top:6px;font-size:1.18rem}.token-pack-grid{display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.token-pack{background:#1f1f1f;color:#fff;display:grid;gap:6px;min-height:92px;place-items:center}.token-pack strong{color:var(--primary);font-size:1.3rem}.story-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.story-list li{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border);border-radius:10px;padding:12px}.story-list h3{margin:0;font-size:1rem}.story-list p{margin:4px 0 0;color:var(--muted);font-size:.84rem}.table-wrap{overflow-x:auto}.story-table{width:100%;border-collapse:collapse;font-size:.9rem}.story-table th,.story-table td{text-align:left;padding:10px;border-bottom:1px solid var(--border)}.story-table th{color:var(--muted);font-weight:600}.badge{font-size:.72rem;font-weight:700;border-radius:999px;padding:6px 10px}.badge.draft{background:#f0f0f0}.badge.published{background:#e8f8ef;color:#0f7a3a}.writer-layout{display:grid;grid-template-columns:1fr 280px;gap:16px}.writer-main,.writer-side{display:grid;gap:10px;align-content:start}.text-input,.writer-side select,.scene-form select,.editor{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px 12px;font:inherit}.editor{min-height:360px;resize:vertical;line-height:1.6}.editor-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.85rem}.chapters-list{margin:0 0 8px;padding:0;list-style:none;display:grid;gap:8px}.chapters-list li{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border);border-radius:8px;padding:8px 10px}.actions{display:flex;justify-content:flex-end;gap:8px}button{border:0;border-radius:8px;padding:10px 14px;font:inherit;cursor:pointer}button.primary{background:var(--primary);color:#fff;font-weight:600}button.ghost{background:#f3f3f3;color:#333}button.ghost.active{background:#1f1f1f;color:#fff}button:disabled{cursor:not-allowed;opacity:.55}.casting-layout{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:16px;align-items:start}.casting-form{display:grid;gap:10px}.mini-editor{width:100%;min-height:86px;border:1px solid var(--border);border-radius:8px;padding:10px 12px;font:inherit;resize:vertical;line-height:1.5}.reference-preview{width:100%;aspect-ratio:4 / 3;border-radius:10px;object-fit:cover;border:1px solid var(--border)}.cast-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.cast-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden}.cast-card img,.cast-placeholder{width:100%;aspect-ratio:4 / 3;object-fit:cover;background:#1f1f1f}.cast-placeholder{display:grid;place-items:center;color:#fff;font-size:3rem;font-weight:700}.cast-card div:not(.cast-placeholder){padding:12px}.cast-card h3,.empty-cast h3{margin:0 0 4px}.cast-card p,.cast-card small,.empty-cast p{color:var(--muted)}.cast-card p{margin:0 0 8px}.scene-factory{display:grid;grid-template-columns:minmax(340px,460px) 1fr;gap:16px;align-items:start}.scene-workbench,.scene-form,.scene-list{display:grid;gap:10px}.scene-planner{display:grid;gap:10px;background:#1f1f1f;color:#fff;border-color:#1f1f1f}.scene-planner .panel-head span,.scene-planner label{color:#ffffffb8}.planner-editor{width:100%;min-height:170px;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:10px 12px;font:inherit;resize:vertical;line-height:1.5;color:#fff;background:#ffffff14}.scene-planner select{width:100%;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:10px 12px;font:inherit;color:#fff;background:#303030}.scene-planner button.ghost{background:#fff;color:#1f1f1f;font-weight:700}.planned-scenes{display:grid;gap:10px}.planned-card{display:grid;gap:8px;background:#fffaf7}.planned-card h3,.planned-card p{margin:0}.planned-card p,.planned-card small{color:var(--muted)}.character-pills,.selected-cast{display:flex;flex-wrap:wrap;gap:8px}.pill{background:#f3f3f3;color:#333;padding:8px 10px}.pill.active{background:#1f1f1f;color:#fff}.selected-cast span{background:#fff1eb;color:#9d3108;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:700}.scene-card{display:grid;gap:10px}.scene-card h3{margin:0}.scene-card p{margin:0;color:var(--muted)}.scene-card video{width:100%;max-height:420px;border-radius:10px;background:#111}.scene-card audio{width:100%}.render-panel{display:grid;gap:10px}.render-row{align-items:center;border-top:1px solid var(--border);display:grid;gap:8px;grid-template-columns:1fr auto auto;padding-top:10px}.render-row span{color:var(--muted)}.render-row a{color:var(--primary);font-weight:700;text-decoration:none}.admin-grid,.admin-panel,.admin-list{display:grid;gap:12px}.admin-search{display:grid;gap:8px;grid-template-columns:1fr auto}.admin-row{align-items:center;background:#fafafa;border:1px solid var(--border);border-radius:8px;color:var(--text);display:flex;justify-content:space-between;text-align:left}.public-page{background:#f7f4ef;color:var(--text);min-height:100vh;padding:32px 20px}.public-brand{color:#1f1f1f;display:inline-block;font-size:1.1rem;font-weight:900;margin-bottom:28px;text-decoration:none}.reader-shell,.watch-shell{margin:0 auto;max-width:760px}.reader-shell img{aspect-ratio:16 / 9;border-radius:8px;object-fit:cover;width:100%}.reader-kicker,.reader-meta{color:var(--primary);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.reader-shell h1,.watch-shell h1{font-size:clamp(2.2rem,7vw,4.6rem);line-height:1;margin:8px 0 14px}.reader-synopsis{color:var(--muted);font-size:1.1rem;line-height:1.7}.reader-meta{display:flex;gap:16px;margin:20px 0 36px}.chapter-block{border-top:1px solid var(--border);padding:28px 0}.chapter-block h2{margin:0 0 12px}.chapter-block p{font-size:1.08rem;line-height:1.85;white-space:pre-wrap}.comment-section{border-top:1px solid var(--border);margin-top:18px;padding-top:28px}.comment-form{display:grid;gap:10px}.comment-list{display:grid;gap:10px;margin-top:18px}.comment-list article{background:#fff;border:1px solid var(--border);border-radius:8px;padding:14px}.comment-list p{color:var(--muted);margin:6px 0 0}.watch-shell{text-align:center}.watch-shell video,.watch-placeholder{aspect-ratio:9 / 16;background:#111;border-radius:8px;color:#fff;max-height:78vh;width:min(100%,430px)}.watch-placeholder{display:grid;margin:0 auto;place-items:center}@media (max-width: 960px){.google-auth-panel{grid-template-columns:1fr;gap:26px}.google-auth-panel h1{font-size:clamp(2.7rem,16vw,5rem)}.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border)}.writer-layout,.casting-layout,.scene-factory,.stats-grid,.token-pack-grid{grid-template-columns:1fr}}
