html{overscroll-behavior:none;height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:#07080a;height:100%;margin:0;padding:0}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer}button,[role=button]{-webkit-user-select:none;user-select:none}.codex{background:#0c0818b3;border:1px solid #8c64ff33;border-radius:12px;margin:0 16px 8px;overflow:hidden}.codex-toggle{color:#b090f0;letter-spacing:2px;text-transform:uppercase;cursor:pointer;touch-action:manipulation;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:14px 16px;font-size:11px;font-weight:700;display:flex}.codex-toggle-label{text-align:left;flex:1}.codex-toggle-count{color:#8c64ff99;font-variant-numeric:tabular-nums;font-size:10px}.codex-toggle-chevron{color:#8c64ff80;font-size:10px}.codex-body{border-top:1px solid #8c64ff26;padding:4px 0 8px;animation:.25s cubic-bezier(.16,1,.3,1) forwards codexOpen}@keyframes codexOpen{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.codex-entry{border-bottom:1px solid #8c64ff12;padding:12px 16px}.codex-entry:last-child{border-bottom:none}.codex-entry-label{letter-spacing:2px;text-transform:uppercase;color:#a078ff99;margin-bottom:6px;font-size:9px;font-weight:700;display:block}.codex-entry-text{color:#c8b8e8;margin:0;font-size:13px;line-height:1.6}.codex-entry--locked .codex-entry-label{color:#ffffff1f}.codex-entry-redacted{color:#ffffff1a;letter-spacing:2px;-webkit-user-select:none;user-select:none;margin:0;font-size:13px}.codex-entry--synthesis{background:#643cc814;border-top:1px solid #8c64ff40;border-bottom:none;margin-top:4px;animation:1.2s forwards synthesisReveal}.codex-entry--synthesis .codex-entry-label{color:#c090ff;letter-spacing:3px}.codex-entry--synthesis .codex-entry-text{color:#d8c8f8}@keyframes synthesisReveal{0%{opacity:0}to{opacity:1}}.hub{color:#e0e0e0;background:#07080a;flex-direction:column;min-height:100dvh;padding:0 0 40px;display:flex}.hub-header{text-align:center;padding:60px 24px 32px}.hub-title{letter-spacing:12px;color:#fff;margin:0;font-size:42px;font-weight:800}.hub-subtitle{letter-spacing:4px;color:#444;text-transform:uppercase;margin:6px 0 0;font-size:11px}.hub-list{flex-direction:column;gap:12px;width:100%;max-width:480px;margin:0 auto;padding:0 16px;display:flex}.story-card{text-align:left;cursor:pointer;touch-action:manipulation;border:1px solid #0000;border-radius:16px;flex-direction:column;gap:10px;width:100%;padding:20px;transition:transform .15s,border-color .2s;display:flex;position:relative;overflow:hidden}.story-card:hover:not(:disabled){transform:translateY(-2px)}.story-card:not(:disabled):after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 30%,#ffffff0a 50%,#0000 70%);transition:transform;position:absolute;inset:0;transform:translate(-100%)}.story-card:hover:not(:disabled):after{transition:transform .5s;transform:translate(100%)}.hub-title{animation:.8s cubic-bezier(.16,1,.3,1) forwards hubTitleIn}@keyframes hubTitleIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.hub-list .story-card:first-child{animation:.4s .1s both cardIn}.hub-list .story-card:nth-child(2){animation:.4s .18s both cardIn}.hub-list .story-card:nth-child(3){animation:.4s .26s both cardIn}.hub-list .story-card:nth-child(4){animation:.4s .34s both cardIn}.hub-list .story-card:nth-child(5){animation:.4s .42s both cardIn}@keyframes cardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.story-card--locked{opacity:.35;cursor:not-allowed}.story-card-genre{letter-spacing:2px;font-size:10px;font-weight:700}.story-card-body{flex-direction:column;gap:4px;display:flex}.story-card-title{color:#fff;margin:0;font-size:19px;font-weight:700}.story-card-tagline{opacity:.7;margin:0;font-size:13px;line-height:1.5}.story-card-footer{margin-top:4px}.story-card-status{letter-spacing:1.5px;border-radius:20px;padding:4px 10px;font-size:10px;font-weight:700;display:inline-block}.story-card-status--new{color:#ffffff80;background:#ffffff14}.story-card-status--progress{color:#fff9;background:#ffffff0d}.story-card-status--complete{color:#81c784;background:#64c8641f}.story-card-status--locked{color:#ffffff4d;background:#ffffff0a}.story-card-status--upgrade{color:#b090f0;background:#8c64ff26;border:1px solid #8c64ff4d;animation:3s infinite upgradePulse}@keyframes upgradePulse{0%,70%,to{border-color:#8c64ff4d}35%{border-color:#a078ff99}}.story-card--upgrade{opacity:.6;flex-direction:column;text-decoration:none;transition:opacity .2s,transform .15s,border-color .2s;display:flex}.story-card--upgrade:hover{opacity:1;transform:translateY(-2px)}.hub-upgrade-banner{text-align:center;background:#2814504d;border:1px solid #8c64ff40;border-radius:16px;flex-direction:column;align-items:center;gap:14px;margin:16px 16px 32px;padding:20px;display:flex}.hub-upgrade-banner p{color:#c8b4ffcc;margin:0;font-size:14px;line-height:1.5}.hub-upgrade-btn{color:#fff;letter-spacing:1.5px;text-transform:uppercase;touch-action:manipulation;background:#7850dce6;border-radius:24px;padding:12px 28px;font-size:13px;font-weight:700;text-decoration:none;transition:background .15s,transform .1s;display:inline-block}.hub-upgrade-btn:hover{background:#8c64f0;transform:translateY(-1px)}.hub-upgrade-btn:active{transform:translateY(0)}.theme-card-scifi{background:linear-gradient(135deg,#051428f2,#020a19f2);border-color:#4fc3f726}.theme-card-scifi .story-card-genre{color:#4fc3f7}.theme-card-scifi:hover:not(:disabled){border-color:#4fc3f766}.theme-card-noir{background:linear-gradient(135deg,#140f0af2,#0a0805f2);border-color:#c8a05026}.theme-card-noir .story-card-genre{color:#c8a050}.theme-card-noir:hover:not(:disabled){border-color:#c8a05066}.theme-card-horror{background:linear-gradient(135deg,#140505f2,#0a0202f2);border-color:#c8323226}.theme-card-horror .story-card-genre{color:#ef5350}.theme-card-horror:hover:not(:disabled){border-color:#c8323266}.theme-card-cyberpunk{background:linear-gradient(135deg,#0a0519f2,#05020ff2);border-color:#b400ff26}.theme-card-cyberpunk .story-card-genre{color:#ce93d8}.theme-card-cyberpunk:hover:not(:disabled){border-color:#b400ff66}.theme-card-fantasy{background:linear-gradient(135deg,#0a140af2,#050a05f2);border-color:#64c87826}.theme-card-fantasy .story-card-genre{color:#81c784}.theme-card-fantasy:hover:not(:disabled){border-color:#64c87866}.bubble-row{align-items:flex-end;gap:8px;margin-bottom:12px;animation:.3s forwards fadeSlideIn;display:flex}.bubble-row--player{flex-direction:row-reverse}.bubble-avatar{background:var(--color-character-avatar,#333);width:32px;height:32px;color:var(--color-character-avatar-text,#aaa);letter-spacing:.5px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.bubble{border:1px solid #0000;border-radius:18px;flex-direction:column;gap:4px;max-width:72%;padding:10px 14px;display:flex;position:relative}.bubble--character{background:var(--color-bubble-character,#ffffff12);border-bottom-left-radius:4px}.bubble--player{background:var(--color-bubble-player,#1a5c2e);border-bottom-right-radius:4px;align-items:flex-end}.bubble-sender{color:var(--color-accent,#4fc3f7);letter-spacing:.8px;text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:600}.bubble-text{color:var(--color-text,#e8e8e8);font-size:15px;line-height:1.5;font-family:var(--font-body,"SF Pro Text", system-ui, sans-serif);margin:0}.bubble-system{text-align:center;margin:8px 0 16px;animation:.3s forwards fadeSlideIn}.bubble-system span{color:var(--color-text-muted,#666);background:var(--color-surface,#ffffff0a);letter-spacing:.5px;border-radius:20px;padding:4px 12px;font-size:12px}.bubble--typing{flex-direction:row;align-items:center;gap:5px;min-width:56px;padding:12px 16px}.typing-dot{background:var(--color-text-muted,#666);border-radius:50%;width:7px;height:7px;animation:1.2s infinite typingBounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bubble--null{will-change:transform;background:#190404eb;border:1px solid #b428284d;position:relative;overflow:hidden}.bubble--null .bubble-sender{color:#a03030;letter-spacing:2px}.bubble--null .bubble-text{color:#c08888;animation:5s infinite nullGlitch}.bubble--null:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#b428280a 50%,#0000 100%);animation:3s infinite nullSweep;position:absolute;inset:0}.bubble-avatar--null{color:#8b2020;background:#1a0303;border:1px solid #961e1e66;animation:4s infinite nullAvatarPulse}.bubble-row--character:has(.bubble--null){animation:.5s forwards nullSlideIn}@keyframes nullGlitch{0%,78%,to{clip-path:none;opacity:1;transform:none}79%{clip-path:inset(25% 0 55%);opacity:.85;transform:translate(-4px)}81%{clip-path:inset(55% 0 15%);opacity:.9;transform:translate(4px)}83%{clip-path:inset(10% 0 75%);transform:translate(-2px)}85%{clip-path:none;opacity:1;transform:none}}@keyframes nullSweep{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes nullAvatarPulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes nullSlideIn{0%{opacity:0;transform:translateY(4px)scaleX(.98)}to{opacity:1;transform:translateY(0)scaleX(1)}}.bubble--resonant{border-color:#8c64ff59;animation:4s infinite resonancePulse}.bubble--resonant:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#7850dc0f 0%,#0000 60%);position:absolute;inset:0}@keyframes resonancePulse{0%,70%,to{border-color:#8c64ff33}35%{border-color:#a078ff80}}.choice-panel{background:var(--color-surface,#0006);border-top:1px solid var(--color-border,#ffffff0f);flex-direction:column;gap:8px;padding:12px 16px 20px;animation:.4s cubic-bezier(.16,1,.3,1) forwards choiceSlideUp;display:flex}@keyframes choiceSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.choice-prompt{letter-spacing:1.2px;text-transform:uppercase;color:var(--color-text-muted,#555);margin:0;font-size:11px;font-weight:600}.choice-list{flex-direction:column;gap:8px;display:flex}.choice-btn{background:var(--color-bubble-character,#ffffff0d);border:1px solid var(--color-border,#ffffff14);width:100%;min-height:44px;color:var(--color-text,#e8e8e8);font-size:14px;font-family:var(--font-body,system-ui, sans-serif);text-align:left;cursor:pointer;touch-action:manipulation;border-radius:12px;align-items:center;gap:10px;padding:13px 16px;line-height:1.4;transition:background .15s,border-color .15s,transform .1s;display:flex}.choice-btn:hover:not(:disabled){background:var(--color-choice-hover,#ffffff1a);border-color:var(--color-accent,#4fc3f7);transform:translateY(-1px)}.choice-btn:active:not(:disabled){transform:translateY(0)}.choice-btn:disabled{opacity:.4;cursor:not-allowed}.choice-arrow{color:var(--color-accent,#4fc3f7);flex-shrink:0;font-size:18px;line-height:1}.status-bar{background:var(--color-surface,#0006);border-top:1px solid var(--color-border,#ffffff0f);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.stat{flex-direction:column;gap:4px;display:flex}.stat-header{align-items:center;gap:6px;display:flex}.stat-icon{font-size:12px}.stat-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--color-text-muted,#666);flex:1;font-size:10px;font-weight:700}.stat-value{color:var(--color-text-muted,#666);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.stat-value--critical{color:var(--color-danger,#ef5350);animation:1.5s infinite pulse}.stat-track{background:var(--color-border,#ffffff14);border-radius:2px;height:3px;overflow:hidden}.stat-fill{background:var(--color-accent,#4fc3f7);border-radius:2px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1),background 1s}.stat-fill--critical{background:var(--color-danger,#ef5350);animation:1.8s infinite criticalFlicker}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes criticalFlicker{0%,to{opacity:1}40%{opacity:.65}80%{opacity:.5}}.chat-interface{width:100%;max-width:480px;height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden}.theme-scifi{--color-bg:#050d1a;--color-surface:#001428b3;--color-border:#4fc3f71f;--color-accent:#4fc3f7;--color-danger:#ef5350;--color-text:#dceeff;--color-text-muted:#4a6880;--color-bubble-character:#0f2846cc;--color-bubble-player:#00503ce6;--color-choice-hover:#4fc3f71a;--color-character-avatar:#0d2a44;--color-character-avatar-text:#4fc3f7;--font-body:"SF Mono", "Fira Code", monospace;background:var(--color-bg);color:var(--color-text);background-image:radial-gradient(at 20% 0,#4fc3f70a 0%,#0000 60%),radial-gradient(at 80% 100%,#4fc3f708 0%,#0000 50%)}.chat-continue-wrap{padding:12px 16px 20px}.chat-continue-btn{border:1px solid var(--color-accent,#4fc3f7);width:100%;min-height:44px;color:var(--color-accent,#4fc3f7);letter-spacing:1px;touch-action:manipulation;background:#ffffff0f;border-radius:12px;padding:13px 16px;font-size:14px;font-weight:600;transition:background .15s;animation:.4s cubic-bezier(.16,1,.3,1) forwards choiceSlideUp}.chat-continue-btn:active{background:#ffffff1a}.chat-web-banner{color:#b496ffb3;letter-spacing:1.2px;text-align:center;background:#6446c81f;border-bottom:1px solid #7850dc33;flex-shrink:0;padding:6px 16px;font-size:10px;font-weight:600}.chat-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;flex-shrink:0;align-items:center;gap:12px;padding:14px 16px;display:flex}.chat-back{color:var(--color-accent);cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;margin:-8px -4px;padding:8px 12px;font-size:28px;line-height:1;display:flex}.chat-header-info{flex-direction:column;flex:1;gap:1px;display:flex}.chat-character-name{color:var(--color-text);letter-spacing:.3px;font-size:15px;font-weight:600}.chat-story-title{color:var(--color-text-muted);letter-spacing:.8px;text-transform:uppercase;font-size:11px}.chat-day-badge{letter-spacing:1.5px;color:var(--color-accent);border:1px solid var(--color-accent);opacity:.7;border-radius:20px;padding:3px 8px;font-size:10px;font-weight:700}.chat-messages{scrollbar-width:none;flex-direction:column;flex:1;padding:16px;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{display:none}.chat-bottom{flex-direction:column;flex-shrink:0;display:flex}.theme-scifi:after{content:"";pointer-events:none;z-index:200;background:repeating-linear-gradient(#0000 0 3px,#00000005 3px 4px);position:fixed;inset:0}.theme-scifi .chat-messages{position:relative}.theme-scifi .chat-messages:after{content:"";pointer-events:none;z-index:0;background:repeating-linear-gradient(90deg,#0000 0 119px,#4fc3f706 119px 120px);position:absolute;inset:0}.chat-day-badge{letter-spacing:1.5px;color:var(--color-accent);border:1px solid var(--color-accent);opacity:.7;border-radius:20px;padding:3px 8px;font-size:10px;font-weight:700;animation:3s infinite badgePulse}@keyframes badgePulse{0%,80%,to{opacity:.7}90%{opacity:1}}.chat-interface.signal-critical:before{content:"";pointer-events:none;z-index:150;background:repeating-linear-gradient(0deg,#0000,#0000 4px,#ef535004 4px 5px);animation:2.5s infinite signalStatic;position:fixed;inset:0}@keyframes signalStatic{0%,88%,to{opacity:0;transform:none}89%{opacity:1;transform:translate(2px)}91%{opacity:.7;transform:translate(-2px)}93%{opacity:1;transform:translate(1px)}95%{opacity:0}}.chat-interface.oxygen-critical:after{content:"";pointer-events:none;z-index:1;background:#5000141f;animation:3s infinite oxygenBreath;position:fixed;inset:0}@keyframes oxygenBreath{0%,to{opacity:0}50%{opacity:1}}.theme-scifi .bubble-system span{letter-spacing:1px;font-family:SF Mono,Fira Code,monospace}.chat-game-over{text-align:center;color:var(--color-danger);letter-spacing:3px;text-transform:uppercase;padding:24px 0;font-size:13px;font-weight:700;animation:2s forwards gameOverFade}@keyframes gameOverFade{0%{opacity:0}to{opacity:.7}}.theme-noir{--color-bg:#0c0a06;--color-surface:#1e160ad9;--color-border:#b48c3c26;--color-accent:#c8a050;--color-danger:#c0392b;--color-text:#e8dcc8;--color-text-muted:#6b5a3a;--color-bubble-character:#23190ad9;--color-bubble-player:#142314e6;--color-choice-hover:#b48c3c1f;--color-character-avatar:#1e1508;--color-character-avatar-text:#c8a050;--font-body:"Georgia", "Times New Roman", serif;background:var(--color-bg);color:var(--color-text);background-image:radial-gradient(at 50% 0,#b48c3c0f 0%,#0000 60%),radial-gradient(at 20% 100%,#6446140a 0%,#0000 50%)}.theme-noir:after{content:"";pointer-events:none;z-index:200;opacity:.6;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");background-size:150px 150px;animation:.5s steps(2,end) infinite grainShift;position:fixed;inset:0}@keyframes grainShift{0%{background-position:0 0}25%{background-position:-15px 10px}50%{background-position:8px -12px}75%{background-position:-5px 18px}to{background-position:12px -5px}}.theme-noir .chat-messages:before{content:"";pointer-events:none;z-index:0;background:repeating-linear-gradient(175deg,#0000 0 18px,#b48c3c04 18px 19px);height:120%;animation:3s linear infinite rainMove;position:absolute;top:-20%;left:0;right:0}@keyframes rainMove{0%{transform:translateY(-10%)}to{transform:translateY(10%)}}.theme-noir .chat-messages{position:relative}.theme-noir .bubble-system span{letter-spacing:.5px;font-family:Courier New,monospace;font-style:italic}.theme-noir.signal-critical:before{background:#c0392b0a;animation:2s infinite signalStatic}.theme-horror{--color-bg:#080304;--color-surface:#140505e6;--color-border:#8c1e1e26;--color-accent:#8b2020;--color-danger:#ff1744;--color-text:#d4c4c4;--color-text-muted:#5a3535;--color-bubble-character:#190808d9;--color-bubble-player:#081408e6;--color-choice-hover:#8c1e1e1f;--color-character-avatar:#180606;--color-character-avatar-text:#8b2020;--font-body:"Georgia", serif;background:var(--color-bg);color:var(--color-text);background-image:radial-gradient(at 50% 30%,#640a0a14 0%,#0000 70%)}.theme-horror:before{content:"";pointer-events:none;z-index:180;background:radial-gradient(#0000 40%,#0009 100%);position:fixed;inset:0}.theme-horror:after{content:"";pointer-events:none;z-index:200;opacity:0;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#0000000a 2px 3px);animation:8s infinite horrorStatic;position:fixed;inset:0}@keyframes horrorStatic{0%,85%,to{opacity:0;transform:none}86%{opacity:1;transform:translateY(-2px)scaleX(1.002)}88%{opacity:.7;transform:translateY(1px)}90%{opacity:1;transform:translateY(-1px)}92%{opacity:0}}.theme-horror .bubble-system span{letter-spacing:1.5px;text-transform:uppercase;font-family:Courier New,monospace;font-size:11px}.theme-horror.oxygen-critical:before{background:radial-gradient(#0000 20%,#64000080 100%);animation:2s infinite vignetteBreath}@keyframes vignetteBreath{0%,to{opacity:1}50%{opacity:.6}}.theme-cyberpunk{--color-bg:#05020f;--color-surface:#0f0523d9;--color-border:#a028ff26;--color-accent:#b040ff;--color-danger:#ff2d55;--color-text:#e0ccff;--color-text-muted:#4a2870;--color-bubble-character:#14082dd9;--color-bubble-player:#001e14e6;--color-choice-hover:#a028ff1a;--color-character-avatar:#0d0520;--color-character-avatar-text:#b040ff;--font-body:"SF Mono", "Fira Code", "Courier New", monospace;background:var(--color-bg);color:var(--color-text);background-image:radial-gradient(at 70% 0,#a028ff12 0%,#0000 55%),radial-gradient(at 30% 100%,#00c89608 0%,#0000 50%)}.theme-cyberpunk:after{content:"";pointer-events:none;z-index:200;background:repeating-linear-gradient(#0000 0 2px,#0000000f 2px 3px);position:fixed;inset:0}.theme-cyberpunk .chat-messages{position:relative}.theme-cyberpunk .chat-messages:after{content:"";pointer-events:none;z-index:0;background:repeating-linear-gradient(90deg,#0000 0 29px,#a028ff08 29px 30px),repeating-linear-gradient(0deg,#0000 0 39px,#00c89604 39px 40px);position:absolute;inset:0}.theme-cyberpunk .choice-arrow{content:">";color:#0f8;font-family:monospace}.theme-cyberpunk .bubble-system span{letter-spacing:1.2px;color:#0f8;background:#00ff880f;border:1px solid #00ff8826;font-family:SF Mono,Fira Code,monospace}.theme-cyberpunk.signal-critical:before{content:"";pointer-events:none;z-index:150;animation:1.5s infinite neonFlicker;position:fixed;inset:0}@keyframes neonFlicker{0%,89%,to{opacity:0}90%{opacity:1;background:#ff2d5508}92%{opacity:.5}94%{opacity:1;background:#a028ff0a}96%{opacity:0}}.theme-fantasy{--color-bg:#040c06;--color-surface:#08190cd9;--color-border:#50b46426;--color-accent:#68c47a;--color-danger:#e67e22;--color-text:#d4e8d4;--color-text-muted:#3a5a3e;--color-bubble-character:#0a1c0ed9;--color-bubble-player:#141e28e6;--color-choice-hover:#50b4641a;--color-character-avatar:#081408;--color-character-avatar-text:#68c47a;--font-body:"Georgia", "Palatino", serif;background:var(--color-bg);color:var(--color-text);background-image:radial-gradient(at 50% 0,#50b4640f 0%,#0000 55%),radial-gradient(at 80% 80%,#b48c3c08 0%,#0000 50%)}.theme-fantasy:before{content:"";pointer-events:none;z-index:100;background:repeating-linear-gradient(45deg,#0000,#0000 40px,#50b46402 40px 80px);position:fixed;inset:0}.theme-fantasy:after{content:"";pointer-events:none;z-index:100;background:radial-gradient(circle at 30% 40%,#68c47a0a 0%,#0000 40%),radial-gradient(circle at 70% 70%,#b48c3c08 0%,#0000 35%);animation:12s ease-in-out infinite alternate motesDrift;position:fixed;inset:0}@keyframes motesDrift{0%{opacity:1;transform:translateY(0)scale(1)}50%{opacity:.8;transform:translateY(-8px)scale(1.02)}to{opacity:1;transform:translateY(4px)scale(.98)}}.theme-fantasy .bubble-system span{letter-spacing:.8px;color:#68c47a;font-family:Georgia,serif;font-style:italic}.theme-fantasy.oxygen-critical{animation:4s infinite libraryDarken}@keyframes libraryDarken{0%,to{filter:brightness()}50%{filter:brightness(.85)sepia(.1)}}*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background:#07080a;margin:0;padding:0;font-family:system-ui,-apple-system,sans-serif}#root{flex-direction:column;min-height:100dvh;display:flex}
