:root{--bg: #161233;--bg-2: #211c47;--accent: #ffd873;--text: #f5f2ff;--text-dim: #b9b3dd;--card: #262058;--card-selected: #362a7a;font-family:Georgia,Iowan Old Style,serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,var(--bg-2),var(--bg));color:var(--text);min-height:100vh}.app-shell{max-width:480px;margin:0 auto;padding:24px 20px 48px;min-height:100vh;display:flex;flex-direction:column}.hero{text-align:center;margin-bottom:24px;color:var(--accent)}.hero h1{margin:8px 0 4px;font-size:1.8rem}.hero p{margin:0;color:var(--text-dim);font-size:.95rem}.setup-form{display:flex;flex-direction:column;gap:20px}.field{display:flex;flex-direction:column;gap:8px}.field>span{font-size:.9rem;color:var(--text-dim)}.field input[type=text]{background:var(--card);border:1px solid #3a3270;border-radius:12px;padding:14px 16px;color:var(--text);font-size:1rem;font-family:inherit}.theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.theme-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:var(--card);border:2px solid transparent;border-radius:14px;padding:14px;color:var(--text);text-align:left;cursor:pointer;transition:border-color .15s,transform .1s}.theme-card:active{transform:scale(.97)}.theme-card--selected{border:2px solid var(--accent);background:var(--card-selected)}.theme-card__name{font-weight:600;font-size:.95rem}.theme-card__desc{font-size:.78rem;color:var(--text-dim);font-family:system-ui,sans-serif}.primary-btn{background:var(--accent);color:#201a45;border:none;border-radius:999px;padding:16px;font-size:1.05rem;font-weight:700;cursor:pointer}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.error-text{color:#ff9d9d;font-size:.9rem;text-align:center}.auth-intro{color:var(--text-dim);font-size:.9rem;text-align:center;margin:0}.field input[type=email],.field input[type=password]{background:var(--card);border:1px solid #3a3270;border-radius:12px;padding:14px 16px;color:var(--text);font-size:1rem;font-family:inherit}.link-btn{background:none;border:none;color:var(--accent);font-size:.85rem;cursor:pointer;padding:4px;font-family:system-ui,sans-serif}.account-bar{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--text-dim);font-family:system-ui,sans-serif;margin-bottom:8px}.plan-status{margin-top:8px;font-size:.82rem;color:var(--text-dim);font-family:system-ui,sans-serif}.upgrade-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;margin-top:60px;color:var(--accent)}.upgrade-card h2{color:var(--text);font-size:1.3rem;margin:0}.upgrade-card p{color:var(--text-dim);font-size:.95rem;margin:0 0 8px}.upgrade-card .primary-btn{width:100%}.loading-state{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:60px;color:var(--text-dim);text-align:center}.spin{animation:spin 1.2s linear infinite;color:var(--accent)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.story-player{display:flex;flex-direction:column;flex:1;gap:16px}.story-player__header{display:flex;align-items:center;gap:12px}.story-player__title{font-size:1.2rem;margin:0}.story-page{display:flex;flex-direction:column;gap:16px;flex:1}.story-page__image{width:100%;aspect-ratio:1 / 1;border-radius:16px;object-fit:cover;background:var(--card)}.story-page__text{font-size:1.05rem;line-height:1.6}.story-player__controls{display:flex;align-items:center;justify-content:center;gap:24px}.icon-btn{background:var(--card);border:none;color:var(--text);border-radius:999px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer}.icon-btn:disabled{opacity:.3}.play-btn{background:var(--accent);color:#201a45;border:none;border-radius:999px;width:64px;height:64px;display:flex;align-items:center;justify-content:center;cursor:pointer}.story-player__dots{display:flex;justify-content:center;gap:6px}.dot{width:7px;height:7px;border-radius:999px;background:#3a3270}.dot--active{background:var(--accent)}.site-footer{display:flex;justify-content:center;gap:20px;margin-top:32px;padding-top:16px;border-top:1px solid #3a3270;font-family:system-ui,sans-serif}.site-footer a{color:var(--text-dim);font-size:.82rem;text-decoration:none}.site-footer a:hover{color:var(--accent)}
