.moment-card{position:relative;width:100%;aspect-ratio:3 / 4;border-radius:12px;overflow:hidden;background:var(--bg-deep, #0a0a0f);box-shadow:0 0 40px color-mix(in srgb,var(--accent-color) 40%,transparent),0 0 80px color-mix(in srgb,var(--accent-color) 20%,transparent),0 4px 20px #00000080}.card-background{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.card-filter{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.filter-void{background:radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.6) 100%)}.filter-fire{background:linear-gradient(to top,rgba(255,100,0,.15) 0%,transparent 50%)}.filter-water{background:linear-gradient(to bottom,rgba(0,100,200,.1) 0%,transparent 40%,rgba(0,50,100,.15) 100%)}.filter-neon{background:linear-gradient(to bottom,transparent 60%,rgba(0,255,65,.08) 100%),repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.02) 2px,rgba(255,255,255,.02) 4px)}.filter-shadow{background:radial-gradient(ellipse at center,transparent 20%,rgba(0,0,0,.7) 100%)}.filter-earth{background:linear-gradient(to bottom,transparent 0%,rgba(60,40,20,.15) 100%)}.filter-aether{background:radial-gradient(ellipse at top,rgba(255,255,255,.1) 0%,transparent 60%)}.filter-cyber{background:linear-gradient(to bottom,rgba(0,255,200,.05) 0%,transparent 30%,rgba(0,200,255,.08) 100%),repeating-linear-gradient(90deg,transparent,transparent 3px,rgba(0,255,200,.03) 3px,rgba(0,255,200,.03) 6px)}.card-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3}.card-text{position:absolute;bottom:0;left:0;right:0;padding:2rem 1.5rem;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.6) 50%,transparent 100%);z-index:4;text-align:center}.vibe-label{margin:0 0 .5rem;font-size:1.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-color);text-shadow:-1px -1px 0 rgba(0,0,0,.8),1px -1px 0 rgba(0,0,0,.8),-1px 1px 0 rgba(0,0,0,.8),1px 1px 0 rgba(0,0,0,.8),0 2px 4px rgba(0,0,0,.9),0 0 20px var(--accent-color),0 0 40px color-mix(in srgb,var(--accent-color) 50%,transparent)}.oracle-reading{margin:0;font-size:1.5rem;font-style:italic;line-height:1.2;color:var(--text-primary, #e8e6e3);opacity:.9;text-shadow:0 1px 3px rgba(0,0,0,.8)}.card-stats{position:absolute;top:1rem;right:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:4}.stat-badge{padding:.25rem .5rem;font-size:.65rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-radius:4px;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1);box-shadow:0 2px 8px #00000080;color:var(--text-primary, #e8e6e3);text-shadow:0 1px 2px rgba(0,0,0,.9)}.element-badge{border-color:var(--accent-color);color:var(--accent-color)}.entropy-badge{opacity:.7}.bg-dark .card-frame{filter:brightness(2.5)}.bg-light .card-frame{filter:brightness(.7)}.card-generator{width:100%}.workspace{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem}@media (max-width: 1200px){.workspace{grid-template-columns:1fr}}.panel{display:flex;flex-direction:column;gap:1rem}.panel-title{font-size:1rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.15em;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.dropzone{aspect-ratio:3/4;border:2px dashed var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;background:var(--bg-card);overflow:hidden}.dropzone:hover{border-color:var(--accent-gold);background:var(--bg-hover)}.dropzone.has-image{border-style:solid}.dropzone-content{text-align:center;color:var(--text-secondary)}.dropzone-icon{font-size:3rem;color:var(--accent-gold);margin-bottom:1rem;opacity:.6}.dropzone-hint{font-size:.85rem;opacity:.6}.preview-image{width:100%;height:100%;object-fit:cover}.card-preview{aspect-ratio:3/4;border:2px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);overflow:hidden}.card-preview.has-card{border-color:var(--accent-gold);box-shadow:0 0 40px var(--accent-glow)}.card-placeholder{text-align:center;color:var(--text-secondary)}.placeholder-glyph{font-size:4rem;color:var(--accent-purple);opacity:.4;margin-bottom:1rem}.generated-card{width:100%;height:100%;object-fit:contain}.controls-panel{justify-content:flex-start}.oracle-description{color:var(--text-secondary);font-style:italic;line-height:1.6;text-align:center;padding:1rem}.button-group{display:flex;gap:.75rem}.btn{padding:.75rem 1.5rem;border-radius:6px;font-size:.9rem;letter-spacing:.05em;transition:all .2s ease;border:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{flex:1;background:linear-gradient(135deg,var(--accent-gold),#a88620);color:var(--bg-deep);font-weight:600}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px var(--accent-glow)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent-purple)}.btn-reset{background:transparent;color:var(--text-secondary);font-size:.85rem;padding:.5rem}.btn-reset:hover{color:var(--text-primary)}.card-actions{display:flex;gap:.75rem}.btn-download,.btn-share{flex:1;display:block;text-align:center;text-decoration:none;background:var(--bg-card);color:var(--accent-gold);border:1px solid var(--accent-gold);cursor:pointer}.btn-download:hover,.btn-share:hover{background:var(--accent-gold);color:var(--bg-deep)}.btn-share{color:var(--accent-purple);border-color:var(--accent-purple)}.btn-share:hover{background:var(--accent-purple);color:#fff}.reading-box{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1rem}.reading-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.element-badge{font-family:Cinzel,serif;font-size:.7rem;padding:.25rem .5rem;border-radius:4px;letter-spacing:.1em;text-transform:uppercase;border:1px solid currentColor;background:transparent}.entropy-badge{font-size:.7rem;padding:.25rem .5rem;border-radius:4px;letter-spacing:.05em;background:var(--bg-hover);color:var(--text-secondary)}.reading-label{font-family:Cinzel,serif;font-size:1.25rem;margin:0 0 .5rem;letter-spacing:.05em}.reading-oracle{font-style:italic;color:var(--text-secondary);margin:0;line-height:1.6}.error-message{background:#dc26261a;border:1px solid rgba(220,38,38,.3);color:#ef4444;padding:.75rem;border-radius:6px;font-size:.9rem}.experiment-index{padding:2rem;max-width:1200px;margin:0 auto}.experiments-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.experiment-card{display:block;padding:1.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;text-decoration:none;color:inherit;transition:all .2s ease}.experiment-card:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-2px)}.experiment-card h2{margin:.5rem 0;font-size:1.25rem;color:#fff}.experiment-card p{margin:0;font-size:.9rem;color:#ffffffb3;line-height:1.5}.experiment-status{display:inline-block;padding:.25rem .5rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;border-radius:4px;background:#ffffff1a;color:#fff9}.experiment-card.active .experiment-status{background:#4caf5033;color:#81c784}.experiment-card.planned .experiment-status{background:#ffc10733;color:#ffd54f}.experiment-card.archived .experiment-status{background:#9e9e9e33;color:#9e9e9e}.cast-a-signal{min-height:100dvh;background:var(--bg-deep, #0a0a0f);color:var(--text-primary, #f5f5f5);font-family:system-ui,-apple-system,sans-serif;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)}.landing-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:2rem;text-align:center}.landing-tagline{font-size:.875rem;text-transform:uppercase;letter-spacing:.15em;color:var(--accent-gold, #d4af37);margin-bottom:1rem;opacity:.8}.landing-title{font-size:clamp(2rem,8vw,3.5rem);font-weight:300;line-height:1.1;margin-bottom:1.5rem;letter-spacing:-.02em}.landing-subtitle{font-size:1.125rem;color:var(--text-secondary, #a0a0a0);max-width:300px;line-height:1.5;margin-bottom:3rem}.landing-cta{padding:1rem 2.5rem;font-size:1rem;font-weight:500;background:var(--accent-gold, #d4af37);color:#0a0a0f;border:none;border-radius:50px;cursor:pointer;transition:transform .2s,box-shadow .2s;min-width:200px;min-height:56px}.landing-cta:hover:not(:disabled){transform:scale(1.02);box-shadow:0 0 30px #d4af374d}.landing-cta:active:not(:disabled){transform:scale(.98)}.landing-cta:disabled{opacity:.7;cursor:wait}.landing-cta .spinner{display:inline-block;width:20px;height:20px;border:2px solid #0a0a0f;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.camera-screen{position:relative;height:100dvh;width:100%;overflow:hidden;background:#000}.camera-video{width:100%;height:100%;object-fit:cover}.camera-prompt{position:absolute;top:10%;left:50%;transform:translate(-50%);padding:.75rem 1.5rem;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;font-size:1rem;font-style:italic;color:#fff;text-align:center;max-width:80%}.camera-controls{position:absolute;bottom:0;left:0;right:0;padding:2rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom));display:flex;justify-content:center;align-items:center;gap:2rem}.capture-button{width:80px;height:80px;border-radius:50%;background:#fff;border:4px solid rgba(255,255,255,.3);cursor:pointer;transition:transform .1s}.capture-button:active{transform:scale(.9)}.switch-camera-button{width:48px;height:48px;border-radius:50%;background:#fff3;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem}.voice-screen{position:relative;height:100dvh;width:100%;overflow:hidden}.voice-photo{width:100%;height:100%;object-fit:cover;filter:brightness(.7)}.voice-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:2rem;padding-bottom:calc(3rem + env(safe-area-inset-bottom));background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.4) 50%,transparent 100%)}.voice-prompt{font-size:1.25rem;font-style:italic;color:#fff;text-align:center;margin-bottom:2rem}.voice-duration{font-size:1.5rem;font-family:monospace;color:var(--accent-gold, #d4af37);margin-bottom:1rem}.voice-skip{position:absolute;top:2rem;right:2rem;padding:.5rem 1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:20px;color:#fff;font-size:.875rem;cursor:pointer}.mic-button{width:80px;height:80px;border-radius:50%;background:var(--accent-gold, #d4af37);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s,box-shadow .2s;position:relative}.mic-button:active{transform:scale(.95)}.mic-button.recording{background:#e53935;animation:pulse-recording 1.5s ease-in-out infinite}@keyframes pulse-recording{0%,to{box-shadow:0 0 #e5393566}50%{box-shadow:0 0 0 20px #e5393500}}.mic-button svg{width:32px;height:32px;fill:#0a0a0f}.mic-button.recording svg{fill:#fff}.mic-button:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:3px solid var(--accent-gold, #d4af37);opacity:0;transform:scale(.8);transition:opacity .2s,transform .2s}.mic-button.recording:before{opacity:1;transform:scale(calc(1 + var(--audio-level, 0) * .3));border-color:#e53935}.review-screen{min-height:100dvh;padding:2rem;padding-top:calc(2rem + env(safe-area-inset-top));padding-bottom:calc(2rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center}.review-photo-container{position:relative;width:100%;max-width:350px;aspect-ratio:3/4;border-radius:12px;overflow:hidden;margin-bottom:1.5rem}.review-photo{width:100%;height:100%;object-fit:cover}.review-waveform{position:absolute;bottom:1rem;left:1rem;right:1rem;height:48px;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;display:flex;align-items:center;justify-content:center;gap:3px;padding:0 1rem}.waveform-bar{width:3px;background:var(--accent-gold, #d4af37);border-radius:2px;animation:waveform-pulse .8s ease-in-out infinite}.waveform-bar:nth-child(2){height:60%;animation-delay:0s}.waveform-bar:nth-child(3){height:100%;animation-delay:.1s}.waveform-bar:nth-child(4){height:40%;animation-delay:.2s}.waveform-bar:nth-child(5){height:80%;animation-delay:.3s}.waveform-bar:nth-child(6){height:50%;animation-delay:.4s}.waveform-bar:nth-child(7){height:90%;animation-delay:.5s}.waveform-bar:nth-child(8){height:30%;animation-delay:.6s}@keyframes waveform-pulse{0%,to{opacity:.5}50%{opacity:1}}.play-button{width:36px;height:36px;border-radius:50%;background:var(--accent-gold, #d4af37);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;color:#0a0a0f;margin-right:.75rem;flex-shrink:0}.play-button:active{transform:scale(.95)}.review-duration{font-size:.875rem;color:var(--text-secondary, #a0a0a0);margin-bottom:.5rem}.review-actions{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:300px;margin-top:auto}.review-submit{padding:1rem 2rem;font-size:1rem;font-weight:500;background:var(--accent-gold, #d4af37);color:#0a0a0f;border:none;border-radius:50px;cursor:pointer;transition:transform .2s,box-shadow .2s}.review-submit:hover:not(:disabled){transform:scale(1.02);box-shadow:0 0 30px #d4af374d}.review-submit:disabled{opacity:.7;cursor:wait}.review-rerecord{padding:.75rem 1.5rem;font-size:.875rem;background:transparent;color:var(--text-secondary, #a0a0a0);border:1px solid var(--border, #333);border-radius:50px;cursor:pointer}.result-screen{min-height:100dvh;padding:2rem;padding-top:calc(2rem + env(safe-area-inset-top));padding-bottom:calc(2rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;justify-content:center}.result-card{position:relative;width:100%;max-width:320px;aspect-ratio:3/4;border-radius:16px;overflow:hidden;margin-bottom:2rem;box-shadow:0 0 60px #7c3aed4d,0 0 30px #d4af3733}.result-photo{width:100%;height:100%;object-fit:cover;filter:sepia(.15) saturate(1.4) hue-rotate(260deg) brightness(.85)}.result-frame{position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid var(--accent-gold, #d4af37);border-radius:16px;pointer-events:none}.result-prophecy{position:absolute;bottom:0;left:0;right:0;padding:2rem 1.5rem;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);text-align:center}.result-prophecy-text{font-size:1.125rem;font-style:italic;color:#fff;line-height:1.5}.result-tagline{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-gold, #d4af37);margin-top:2rem;opacity:.8}.result-message{font-size:1rem;color:var(--text-secondary, #a0a0a0);text-align:center;margin-bottom:2rem}.result-actions{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:300px}.result-share{padding:1rem 2rem;font-size:1rem;font-weight:500;background:var(--accent-gold, #d4af37);color:#0a0a0f;border:none;border-radius:50px;cursor:pointer}.result-start-over{padding:.75rem 1.5rem;font-size:.875rem;background:transparent;color:var(--text-secondary, #a0a0a0);border:1px solid var(--border, #333);border-radius:50px;cursor:pointer}.error-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:2rem;text-align:center}.error-icon{font-size:4rem;margin-bottom:1rem}.error-title{font-size:1.5rem;font-weight:500;margin-bottom:1rem}.error-message{font-size:1rem;color:var(--text-secondary, #a0a0a0);max-width:300px;line-height:1.5;margin-bottom:2rem}.error-retry{padding:1rem 2rem;font-size:1rem;background:var(--accent-gold, #d4af37);color:#0a0a0f;border:none;border-radius:50px;cursor:pointer}.submitting-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0ff2;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100}.submitting-text{font-size:1.25rem;font-style:italic;color:var(--accent-gold, #d4af37);margin-bottom:2rem;animation:pulse-text 2s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:.6}50%{opacity:1}}.submitting-orb{width:80px;height:80px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#d4af37cc,#7c3aed99);animation:orb-pulse 2s ease-in-out infinite}@keyframes orb-pulse{0%,to{transform:scale(1);box-shadow:0 0 40px #7c3aed80}50%{transform:scale(1.1);box-shadow:0 0 80px #7c3aedcc}}.app{min-height:100vh;display:flex;flex-direction:column}.header{text-align:center;padding:2rem 1rem;border-bottom:1px solid var(--border)}.title-link{text-decoration:none}.title{font-size:2.5rem;color:var(--accent-gold);text-shadow:0 0 30px var(--accent-glow);margin-bottom:.25rem;transition:text-shadow .2s ease}.title-link:hover .title{text-shadow:0 0 40px var(--accent-glow),0 0 60px var(--accent-glow)}.subtitle{font-size:1.1rem;color:var(--text-secondary);font-style:italic;letter-spacing:.1em}.main{flex:1;padding:2rem;max-width:1400px;margin:0 auto;width:100%}:root{--bg-deep: #0a0a0f;--bg-card: #12121a;--bg-hover: #1a1a25;--border: #2a2a3a;--text-primary: #e8e6e3;--text-secondary: #8a8a9a;--accent-gold: #c9a227;--accent-purple: #7c3aed;--accent-glow: rgba(201, 162, 39, .3)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Cormorant Garamond,Georgia,serif;background:var(--bg-deep);color:var(--text-primary);min-height:100vh;background-image:radial-gradient(ellipse at top,rgba(124,58,237,.08) 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(201,162,39,.05) 0%,transparent 40%)}#root{min-height:100vh}h1,h2,h3{font-family:Cinzel,serif;font-weight:600;letter-spacing:.05em}button{font-family:Cinzel,serif;cursor:pointer}::selection{background:var(--accent-gold);color:var(--bg-deep)}
