:root{--bg: #07060d;--bg-2: #0e0b1c;--panel: rgba(255, 255, 255, .04);--panel-border: rgba(255, 255, 255, .1);--text: #f3f0ff;--muted: #a39fc0;--accent: #b388ff;--accent-2: #ff6ec7;--gold: #ffd479;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{background:radial-gradient(1100px 600px at 80% -10%,rgba(179,136,255,.18),transparent),radial-gradient(900px 500px at 0% 10%,rgba(255,110,199,.12),transparent),var(--bg)}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0 0 .4em;line-height:1.08;letter-spacing:-.02em}.muted{color:var(--muted)}.screen-center{min-height:100vh;display:grid;place-items:center;padding:24px;text-align:center}.container{max-width:1120px;margin:0 auto;padding:0 24px}.btn{display:inline-flex;align-items:center;gap:10px;border:none;border-radius:999px;padding:14px 26px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .2s ease,opacity .2s;color:#160e22;background:linear-gradient(120deg,var(--accent),var(--accent-2));box-shadow:0 10px 30px #b388ff59}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.ghost{background:var(--panel);color:var(--text);border:1px solid var(--panel-border);box-shadow:none}.nav{display:flex;align-items:center;justify-content:space-between;padding:20px 24px}.brand{font-weight:800;font-size:20px;letter-spacing:-.03em}.brand span{background:linear-gradient(120deg,var(--accent),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.hero{text-align:center;padding:60px 24px 40px}.kicker{display:inline-block;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(255,212,121,.3);border-radius:999px;padding:6px 14px;margin-bottom:22px}.hero h1{font-size:clamp(40px,7vw,78px);font-weight:800}.hero h1 .grad{background:linear-gradient(120deg,var(--accent),var(--accent-2),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.hero p.lead{max-width:720px;margin:18px auto 30px;font-size:clamp(16px,2.3vw,21px);color:var(--muted)}.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.counter{margin-top:46px;display:flex;gap:40px;justify-content:center;flex-wrap:wrap}.counter .stat b{display:block;font-size:34px;background:linear-gradient(120deg,var(--accent),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.counter .stat span{color:var(--muted);font-size:13px;letter-spacing:.05em}.section-title{margin:50px 0 18px;font-size:22px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;padding-bottom:60px}.card{position:relative;border-radius:16px;overflow:hidden;background:var(--panel);border:1px solid var(--panel-border);aspect-ratio:2 / 3;cursor:pointer;transition:transform .16s ease,box-shadow .2s ease}.card:hover{transform:translateY(-3px);box-shadow:0 18px 40px #00000080}.card img,.card video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.card .overlay{position:absolute;inset:auto 0 0 0;padding:16px;background:linear-gradient(transparent,#07060df2)}.card .overlay h3{font-size:17px;margin:0 0 4px}.card .overlay p{margin:0;font-size:13px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.badge{position:absolute;top:12px;left:12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:#07060db3;border:1px solid var(--panel-border)}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:18px;padding:28px}.choice-tiles{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.tile{border:1px solid var(--panel-border);background:var(--panel);border-radius:16px;padding:24px;cursor:pointer;transition:border-color .15s,transform .12s}.tile:hover{transform:translateY(-2px)}.tile.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.tile h3{font-size:18px}.field{margin:14px 0}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.field select,.field input,.field textarea{width:100%;padding:12px 14px;border-radius:10px;background:#00000059;border:1px solid var(--panel-border);color:var(--text);font-size:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:#000}.viewer-scene{position:relative;flex:1;overflow:hidden}.viewer-scene .bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.9}.viewer-scene .scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 30%,#000000d9)}.viewer-content{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;max-width:900px;margin:0 auto;width:100%}.story-text{font-size:clamp(18px,2.6vw,26px);line-height:1.5;text-shadow:0 2px 20px rgba(0,0,0,.9);margin-bottom:22px}.choices{display:flex;flex-direction:column;gap:12px;padding-bottom:18px}.choice{text-align:left;background:#140e22b8;border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text);padding:16px 18px;border-radius:12px;font-size:16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;transition:border-color .15s,transform .1s,background .15s}.choice:hover{border-color:var(--accent);transform:translate(3px)}.choice .pct{font-size:12px;color:var(--gold);white-space:nowrap}.choice.top{border-color:#ffd47980}.viewer-content.epic-full{max-width:none;padding:0}.epic-choices,.epic-shelf{position:absolute;top:0;right:0;bottom:0;left:0}.epic-panel-wrap{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;filter:drop-shadow(0 10px 28px rgba(0,0,0,.7));animation:epicIn .5s ease both}@keyframes epicIn{0%{opacity:0}to{opacity:1}}.epic-panel{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;clip-path:var(--epic-clip);pointer-events:auto;border:none;padding:0;background:#0b0714;color:var(--text);font:inherit;cursor:pointer;overflow:hidden}.epic-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .35s}.epic-panel:hover .epic-bg{transform:scale(1.045)}.epic-bg-mystery{background:radial-gradient(circle at 50% 35%,#7c5cff59,#0a0614f2)}.epic-panel-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 35%,#000000c7)}.epic-panel-content{position:absolute;left:var(--epic-x, 50%);top:var(--epic-y, 30%);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;width:26%;text-align:center}.epic-avatar{width:86px;height:86px;object-fit:cover;border-radius:12px;border:2px solid rgba(255,255,255,.85);box-shadow:0 6px 24px #0009;animation:epicPulse 2.4s ease-in-out infinite;transition:opacity .25s}@keyframes epicPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@media(hover:hover)and (pointer:fine){.epic-avatar{opacity:0}.epic-panel:hover .epic-avatar,.epic-panel:focus-visible .epic-avatar{opacity:1}}.epic-choice-text{font-weight:800;font-size:clamp(16px,1.9vw,22px);line-height:1.25;text-shadow:0 2px 16px rgba(0,0,0,.95)}.epic-panel-content .pct{font-size:12px;color:var(--gold)}.epic-footer{position:absolute;left:50%;bottom:18px;transform:translate(-50%);z-index:5;width:min(900px,94%);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;pointer-events:none}.epic-footer>*{pointer-events:auto}.epic-footer .story-text{margin:0;font-size:clamp(15px,1.7vw,20px);pointer-events:none}.epic-footer .story-text .step-text-edit-btn{pointer-events:auto}.epic-footer .step-text-edit{width:100%}.epic-extra{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.epic-extra .choice{padding:8px 14px;border-radius:999px}.epic-footer .branch-invite{width:auto;flex-direction:row;align-items:center;padding:8px 16px;border-radius:999px;background:#0e091ab8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.epic-footer .branch-invite:hover{transform:none}@media(max-width:760px){.epic-shelf{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.epic-shelf::-webkit-scrollbar{display:none}.epic-panel-wrap{position:relative;inset:auto;flex:0 0 100%;height:100%;scroll-snap-align:center;scroll-snap-stop:always;pointer-events:auto;filter:drop-shadow(0 8px 22px rgba(0,0,0,.6))}.epic-panel{clip-path:none}.epic-panel-content{left:50%;top:auto;bottom:150px;width:82%}.epic-footer{bottom:12px}.epic-footer .story-text{font-size:15px}}.viewer-bar{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 20px;background:#07060dcc;border-bottom:1px solid var(--panel-border)}.viewer-bar .btn{padding:8px 14px;font-size:14px;white-space:nowrap}.viewer-bar-title{flex:1;min-width:0;font-size:13px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-actions{display:flex;align-items:center;gap:8px}.viewer-menu-btn{display:none}.viewer-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11}.viewer-menu{position:absolute;top:calc(100% + 8px);right:10px;z-index:12;display:flex;flex-direction:column;gap:6px;min-width:240px;max-width:calc(100vw - 20px);padding:10px;border-radius:14px;border:1px solid var(--panel-border);background:#0c0916f5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 40px #0000008c}.viewer-menu .btn{width:100%;justify-content:flex-start;text-align:left}@media(max-width:760px){.viewer-bar{padding:10px 12px}.viewer-actions{display:none}.viewer-menu-btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}}.narrator{position:absolute;left:20px;bottom:20px;width:200px;max-width:38vw;z-index:6;display:flex;flex-direction:column;gap:8px}.narrator.mini{width:auto}.reaction{position:absolute;right:20px;bottom:20px;width:280px;max-width:44vw;z-index:6;display:flex;flex-direction:column;gap:8px}.reaction iframe{width:100%;aspect-ratio:16 / 9;border:1px solid var(--panel-border);border-radius:16px;background:#000;box-shadow:0 12px 34px #0000008c}.narrator video,.narrator .audio-badge{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:16px;border:1px solid var(--panel-border);background:#000;box-shadow:0 12px 34px #0000008c}.narrator .audio-badge{display:grid;place-items:center;background:linear-gradient(150deg,#b388ff40,#ff6ec733)}.narr-toggle{display:flex;min-width:200px;background:#140e22d1;border:1px solid var(--panel-border);border-radius:999px;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.narr-toggle button{flex:1;background:transparent;border:none;color:var(--muted);padding:8px 0;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.narr-toggle button.active{background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#160e22}.video-unlock{position:absolute;top:16px;right:16px;z-index:6;width:240px;display:flex;flex-direction:column;gap:6px;padding:10px 12px;font-size:12px;font-weight:600;background:#140e22d1;border:1px solid var(--panel-border);border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.video-unlock .muted{font-weight:400}.unlock-bar{height:6px;border-radius:999px;background:#ffffff1f;overflow:hidden}.unlock-bar>div{height:100%;min-width:2px;background:linear-gradient(120deg,var(--accent),var(--accent-2))}.scene-controls{position:absolute;top:16px;right:16px;z-index:7;display:flex;gap:8px}.viewer-content{transition:opacity .45s}.viewer-content.video-playing{opacity:0;pointer-events:none}.viewer-scene .scrim{transition:opacity .45s}.viewer-scene .scrim.video-playing{opacity:.25}.render-fields{display:grid;gap:10px;margin-top:10px}.create-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:start}.chat{display:flex;flex-direction:column;gap:12px;min-height:360px}.bubble{padding:12px 16px;border-radius:14px;max-width:85%;font-size:15px;line-height:1.45}.bubble.agent{background:var(--panel);border:1px solid var(--panel-border);align-self:flex-start}.bubble.user{background:linear-gradient(120deg,#b388ff40,#ff6ec733);border:1px solid var(--panel-border);align-self:flex-end}.composer{display:flex;gap:10px;margin-top:12px;align-items:stretch}.composer input{flex:1;height:52px;padding:0 18px;font-size:15px;border-radius:14px;background:#00000059;border:1px solid var(--panel-border);color:var(--text)}.composer input::placeholder{color:var(--muted)}.composer input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #b388ff2e}.composer .btn{height:52px;padding:0 24px}.btn.mic{width:52px;min-width:52px;padding:0;border-radius:14px;display:inline-grid;place-items:center}.btn.mic svg{width:22px;height:22px;display:block}.btn.mic.listening{animation:micpulse 1.1s infinite}@keyframes micpulse{0%,to{box-shadow:0 0 #ff6ec78c}50%{box-shadow:0 0 0 9px #ff6ec700}}@media(max-width:760px){.form-grid,.choice-tiles,.create-grid{grid-template-columns:1fr}}.render-phases{display:grid;gap:6px;margin:8px 0 12px;font-size:14px;color:var(--muted)}.render-phases .done{color:var(--text)}.render-phases .active{color:var(--text);font-weight:600}.render-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.2);border-top-color:var(--accent);animation:render-spin .9s linear infinite;display:inline-block}@keyframes render-spin{to{transform:rotate(360deg)}}.meme-popup{position:absolute;top:0;right:0;bottom:0;left:0;z-index:9;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:16px;background:#07060db8}.meme-popup-card{width:100%;max-width:min(560px,calc(100vw - 32px));max-height:100%;display:flex;flex-direction:column;gap:10px;padding:16px;overflow:hidden}.meme-popup-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.meme-popup-head>span{min-width:0}.meme-popup-card .btn{padding:8px 14px;font-size:14px}.meme-popup-head .btn{padding:6px 12px;flex-shrink:0}.meme-popup-art{flex:1 1 auto;min-height:0;max-height:480px;width:100%;object-fit:contain;border:1px solid var(--panel-border);border-radius:12px;background:#00000059}.meme-popup-art-missing{display:grid;place-items:center;min-height:220px;color:var(--text);text-decoration:none;font-weight:600}.meme-popup-link{align-self:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--muted)}.choice.meme-collected{justify-content:center;font-weight:600}.integration-card{padding:16px 18px}.integration-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.integration-status{font-size:12px;font-weight:600;white-space:nowrap;color:var(--muted);border:1px solid var(--panel-border);border-radius:999px;padding:4px 10px}.integration-status.on{color:#7ee2a8;border-color:#7ee2a866}.integration-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.integration-form .btn{padding:9px 16px;font-size:14px}.integration-input{flex:1 1 200px;min-width:0;padding:10px 12px;border-radius:10px;background:#00000059;border:1px solid var(--panel-border);color:var(--text);font-size:14px}.integration-link{font-size:13px;margin-left:auto}.step-text-edit-btn{margin-left:8px;vertical-align:middle;font-size:14px;line-height:1;padding:4px 7px;border-radius:8px;border:1px solid var(--panel-border);background:#140e2299;color:var(--muted);cursor:pointer;text-shadow:none}.step-text-edit-btn:hover{color:var(--text)}.step-text-edit{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}.step-text-edit textarea.story-text{width:100%;margin:0;padding:10px 12px;border-radius:12px;background:#0000008c;border:1px solid var(--panel-border);color:var(--text);font-family:inherit;resize:vertical}.step-text-edit .btn{padding:8px 16px;font-size:14px}.cast-models{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-top:10px}.cast-model{padding:8px;display:flex;flex-direction:column;gap:6px}.model-viewer{position:relative;border-radius:10px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#1f1638,#07060d)}.model-viewer canvas{display:block;cursor:grab}.model-viewer-label{position:absolute;left:0;right:0;bottom:8px;text-align:center;font-size:12px;color:var(--muted);pointer-events:none}.scene-dialog-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;padding:24px;overflow-y:auto;background:#07060dcc}.scene-dialog{width:100%;max-width:680px;max-height:calc(100% - 8px);overflow-y:auto}.scene-dialog .field textarea{min-height:150px;resize:vertical;line-height:1.5;font-family:inherit}.scene-dialog-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}@media(max-width:600px){.scene-dialog-backdrop{padding:12px;place-items:end stretch}.scene-dialog{padding:18px;max-width:none}.scene-dialog-actions .btn{flex:1 1 100%;justify-content:center}}.branch-invite{width:100%;text-align:left;padding:13px 16px;border-radius:12px;border:1px dashed rgba(179,136,255,.55);background:linear-gradient(120deg,#b388ff24,#ff6ec714);color:var(--text);cursor:pointer;display:flex;flex-direction:column;gap:3px;font:inherit}.branch-invite:hover{border-color:var(--gold);transform:translate(3px)}.branch-invite small{color:var(--muted);font-size:12px}.branch-success{color:#7ee2a8;font-size:13px;padding:2px 4px}.branch-dialog-kicker{color:var(--gold);font-size:11px;letter-spacing:.13em;font-weight:700;margin-bottom:10px}.branch-kind-tabs{display:flex;gap:8px;margin:14px 0 16px}.branch-kind-tabs button{flex:1;padding:10px 12px;border-radius:10px;border:1px solid var(--panel-border);background:#0003;color:var(--muted);cursor:pointer;font:inherit}.branch-kind-tabs button.active{color:var(--text);border-color:var(--accent);background:#b388ff2b}.branch-revenue-note{padding:10px 12px;border-radius:10px;background:#ffd47914;border:1px solid rgba(255,212,121,.2);color:#ead9a5;font-size:12px;line-height:1.4}.branch-error{color:var(--accent-2);font-size:13px}@media(max-width:600px){.branch-invite{padding:12px 14px}.branch-kind-tabs button{padding:12px 8px;font-size:14px}}
