:root{--bg-deep:#221736;--bg-sky:#31235a;--card:#3a2a5a6b;--card-strong:#3a2a5aa8;--stroke:#a795c938;--ink:#f5edff;--muted:#a795c9;--accent:#ffb35c;--accent-ink:#3a2410;--danger:#ff6b7a;--gold:#ffd76a;--font-display:"Comfortaa", "Nunito", system-ui, sans-serif;--font-body:"Nunito", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}body{background:linear-gradient(180deg, #2c2046 0%, var(--bg-deep) 45%);color:var(--ink);font-family:var(--font-body);background-attachment:fixed;margin:0}.app{height:100dvh;min-height:100vh;padding:10px 16px calc(14px + env(safe-area-inset-bottom));flex-direction:column;align-items:center;max-width:480px;margin:0 auto;display:flex}.loading{font-family:var(--font-display);margin:auto;font-size:17px;animation:1.6s ease-in-out infinite loading-pulse}@keyframes loading-pulse{50%{opacity:.45}}.header{flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;width:100%;max-width:390px;margin-bottom:10px;display:flex}.header-meta{flex-direction:column;align-items:flex-end;gap:3px;padding-right:3px;display:flex}.stage-title{font-family:var(--font-display);letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:28px;font-weight:700;line-height:1.15;overflow:hidden}.header-age{white-space:nowrap;margin:0 0 0 auto}.age-line{color:var(--muted);margin:4px 0 0;font-size:13px}.age-line .num{font-family:var(--mono);color:var(--ink)}.dev-badge{font-size:11px;font-family:var(--mono);color:var(--accent);vertical-align:1px;background:#ffb35c1f;border:1px solid #ffb35c59;border-radius:999px;margin-left:6px;padding:1px 7px;display:inline-block}.scene-card{aspect-ratio:390/380;border:1px solid var(--stroke);border-radius:24px;flex:auto;width:100%;max-width:390px;min-height:230px;max-height:560px;position:relative;overflow:hidden;box-shadow:0 24px 48px -24px #0a0418cc,inset 0 1px #f5edff0f}.scene-card canvas{object-fit:cover;object-position:50% 100%;width:100%;height:100%;position:absolute;inset:0}.create-screen{margin:-10px -16px calc(-24px - env(safe-area-inset-bottom));flex-direction:column;flex:1;align-self:stretch;display:flex}.create-scene{flex:1;min-height:300px;position:relative;overflow:hidden}.create-scene canvas{object-fit:cover;object-position:center 75%;width:100%;height:100%;position:absolute;inset:0}.create-brand{pointer-events:none;filter:drop-shadow(0 2px 6px #0a041880);width:clamp(250px,72vw,340px);height:auto;position:absolute;top:44%;left:50%;transform:translate(-50%)}.create-brand text{fill:var(--ink)}.create-brand-o{fill:var(--gold)}.create-panel{padding:20px 20px calc(18px + env(safe-area-inset-bottom));background:var(--card-strong);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--stroke);text-align:left;border-radius:24px 24px 0 0;margin-top:-24px;position:relative;box-shadow:0 -12px 32px -16px #0a0418b3}.create-headline{font-family:var(--font-display);margin:0 0 6px;font-size:22px;font-weight:700}.create-sub{color:var(--muted);margin:0 0 16px;font-size:14px}.create-form{flex-direction:column;gap:10px;width:100%;display:flex}.create-form input{border:1px solid var(--stroke);width:100%;color:var(--ink);font:inherit;background:#140c2699;border-radius:16px;padding:15px 16px;font-size:17px}.create-form input::placeholder{color:var(--muted)}.create-form input:focus{border-color:#ffb35c8c;outline:none;box-shadow:0 0 0 3px #ffb35c2e}.create-form button{background:var(--accent);width:100%;min-height:54px;color:var(--accent-ink);font:inherit;cursor:pointer;border:none;border-radius:16px;padding:14px 18px;font-size:16px;font-weight:800}.create-form button:not(:disabled):active{transform:scale(.97)}.create-form button:disabled{opacity:.35;cursor:default}.create-pitch{text-align:center;color:var(--muted);letter-spacing:.02em;margin:14px 0 0;font-size:12.5px}.mood{background:var(--card-strong);-webkit-backdrop-filter:blur(10px);border:1px solid var(--stroke);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 13px;font-size:13.5px;font-weight:600;display:inline-flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.stats{background:var(--card);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(10px);border-radius:20px;flex-direction:column;flex-shrink:0;gap:7px;width:100%;max-width:360px;margin-top:10px;margin-bottom:8px;padding:12px;display:flex}.stat{grid-template-columns:96px 1fr 30px;align-items:center;gap:10px;font-size:13px;display:grid}.stat-label{white-space:nowrap;color:var(--muted);font-weight:600}.stat-track{background:#140c2699;border:1px solid #a795c929;border-radius:999px;height:12px;overflow:hidden}.stat-fill{border-radius:999px;width:0%;height:100%}.stat.low .stat-fill{box-shadow:0 0 10px #ff6b7a8c;background:var(--danger)!important}.stat-value{text-align:right;font-family:var(--mono);color:var(--ink);font-size:13px}.actions{flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:10px;width:100%;max-width:360px;display:grid}.actions button{background:var(--card);color:var(--ink);border:1px solid var(--stroke);font:inherit;cursor:pointer;border-radius:18px;flex-direction:column;align-items:center;gap:5px;padding:10px 4px 8px;font-size:11.5px;font-weight:600;transition:background .15s,border-color .15s;display:flex}.actions button .icon{font-size:21px;line-height:1}.actions button:not(:disabled):hover{border-color:#ffb35c73}.actions button:not(:disabled):active{background:var(--card-strong);transform:scale(.95)}.actions button:disabled{opacity:.35;cursor:default}.toast-slot{flex-shrink:0;justify-content:center;align-items:flex-start;min-height:44px;margin-top:8px;display:flex}.toast{background:var(--card-strong);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(10px);white-space:nowrap;border-radius:999px;max-width:100%;padding:10px 18px;font-size:14px;font-weight:600;animation:.18s ease-out toast-in;box-shadow:0 12px 32px -12px #0a0418cc}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}.devtools{align-items:center;gap:8px;margin-top:20px;display:flex}.devtools button{border:1px dashed var(--stroke);color:var(--muted);cursor:pointer;font:inherit;background:0 0;border-radius:999px;padding:4px 12px;font-size:12px}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
