:root{font-family:Tahoma,Arial,sans-serif;color:#f3eefb;background:#0c0b14;font-size:16px;color-scheme:dark;--gold:#dfbc75;--muted:#b7adc6}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #ffffff20;background:#292036;color:#eee7f5;border-radius:12px;padding:12px 16px;min-height:44px}button:hover{border-color:var(--gold)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:disabled{opacity:.45;cursor:wait}.app{max-width:1440px;margin:auto;padding:0 30px}header{display:flex;justify-content:space-between;align-items:center;height:90px;border-bottom:1px solid #ffffff12}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--gold);font-size:25px}.brand span{font-size:29px}.brand small{color:var(--muted);font-size:14px;border-right:1px solid #ffffff20;padding-right:14px}.quiet{background:transparent;border-color:transparent;color:var(--muted);font-size:14px;padding:9px 12px}.experience{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:32px;padding-top:24px;align-items:start}.stage-wrap{position:sticky;top:16px;border:1px solid #ffffff12;border-radius:24px;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#3b2847,#141020 70%);height:min(76vh,760px);min-height:520px}#stage{width:100%;height:100%}#stage canvas{display:block;width:100%;height:100%}.stage-label{position:absolute;top:22px;right:22px;padding:9px 14px;border-radius:30px;background:#151020bf;display:flex;align-items:center;gap:10px;font-size:14px;max-width:calc(100% - 44px)}.dot{width:7px;height:7px;background:var(--gold);border-radius:50%}.scene-note{position:absolute;bottom:20px;text-align:center;width:100%;font-size:13px;color:#b6a9be}#loading{position:absolute;top:42%;width:100%;text-align:center;color:var(--gold);pointer-events:none}.session{padding-bottom:8px}nav{display:flex;background:#181320;border:1px solid #ffffff10;border-radius:15px;padding:5px;margin-bottom:24px;gap:5px}nav button{flex:1;background:transparent;border-color:transparent;padding:12px 8px;color:var(--muted)}nav button.active{background:#e4bd79;color:#241829}h1{font-size:22px;font-weight:500;margin:0 0 10px}h2{font-size:22px}.section-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-line h1{margin:0}select{padding:8px;border:1px solid #ffffff20;background:#181320;border-radius:10px;font-size:14px}.hint{color:var(--muted);font-size:14px;line-height:1.8;margin:10px 0}.deck{display:flex;justify-content:center;padding:18px 8px 12px;direction:ltr}.deck button{width:74px;height:112px;flex-shrink:0;margin:0 -9px;transform:rotate(var(--r));border:1px solid #c3a366;border-radius:7px;background:repeating-linear-gradient(45deg,#332238 0px,#332238 3px,#402942 3px,#402942 4px);color:var(--gold);font-size:32px;box-shadow:0 6px 20px #0005;transition:transform .35s}.deck button:hover{transform:translateY(-12px) rotate(var(--r))}.deck.busy button{animation:mix .45s alternate infinite}@keyframes mix{to{transform:translateX(12px) rotate(0deg)}}.selected{display:flex;justify-content:center;gap:12px;margin-top:8px}.selected figure{margin:0;width:100px;text-align:center;animation:reveal .55s ease}.selected img{width:100%;height:161px;object-fit:contain;border-radius:6px;border:1px solid #dfbc7580;box-shadow:0 0 24px #dfbc7520}.selected figcaption{font-size:13px;line-height:1.7;color:var(--gold);margin-top:6px}@keyframes reveal{from{transform:rotateY(90deg) translateY(20px);opacity:0}}#shuffle{display:block;margin:4px auto 10px}.messages{max-height:280px;min-height:115px;overflow:auto;scrollbar-width:thin;padding:6px 0}.message{border-radius:15px;background:#1b1625;border:1px solid #ffffff08;padding:14px 17px;margin:10px 0;line-height:1.9;font-size:16px}.message strong{color:var(--gold);font-size:13px;font-weight:400}.message p{margin:5px 0 0;white-space:pre-wrap}.message.user{background:#292032;margin-right:24px}.message.user strong{color:var(--muted)}form{display:flex;gap:8px;padding:10px;border:1px solid #ffffff1e;border-radius:17px;background:#191421;margin-top:14px}input{border:0;border-radius:8px;min-width:0;background:transparent;color:#fff;padding:10px}form input{flex:1;width:0;font-size:16px}#send{background:var(--gold);color:#25182b;border:0;padding:10px 15px}#mic{font-size:20px;padding:8px 12px;background:#30273b;border:0}#mic.recording{background:#995568}.voice-controls{display:flex;justify-content:space-between}.disclaimer{color:#978ba5;font-size:12px;line-height:1.8;margin:12px 0}.suggestions{display:flex;flex-wrap:wrap;gap:8px}.suggestions button{font-size:14px}label{display:block;color:var(--muted);margin-top:16px}#birth{width:100%;background:#211a2d;border:1px solid #ffffff20;margin-top:10px;padding:14px}footer{padding:15px 0;text-align:center;border-top:1px solid #ffffff0a}dialog{max-width:520px;width:calc(100% - 32px);border:1px solid #c3a36660;background:#1b1427;color:#eee;padding:24px;border-radius:20px;line-height:1.9}dialog::backdrop{background:#000a}dialog p{font-size:14px}dialog a{color:var(--gold)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:850px){.app{padding:0 15px}header{height:65px}.brand{font-size:19px}.brand span{font-size:25px}.brand small{font-size:12px}.experience{grid-template-columns:1fr;gap:20px;padding-top:14px}.stage-wrap{position:relative;top:0;height:43vh;min-height:300px;max-height:480px;border-radius:20px}.session nav{margin-bottom:20px}.messages{max-height:240px}.deck{padding-top:13px}.deck button{height:95px;width:62px}.selected img{height:135px}.selected figure{width:84px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.fallback{width:100%;height:100%;object-fit:cover;display:block}

.source-link{display:inline-block;margin-top:8px;font-size:13px;color:var(--gold)}

.scene-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}#stage canvas{width:100%;height:100%}#loading{z-index:2}#loading[hidden]{display:none!important}
