:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--gold:#e6c14d;--gold-soft:#c9a227;--ink:#f1eafc;--violet:#5b3fa0;--font-display:"Cinzel", "Trajan Pro", Georgia, serif;--font-body:"Cormorant Garamond", Georgia, "Times New Roman", serif;font-family:var(--font-body);color:var(--ink);background:#07040f;font-size:16px}*{box-sizing:border-box}body{background:#07040f;min-height:100dvh;margin:0;overflow-x:hidden}#root{z-index:1;max-width:980px;margin:0 auto;padding:0 12px 32px;position:relative}@media (width>=640px){#root{padding:0 16px 48px}}@media (width>=768px){:root{font-size:18px}}.cosmos{z-index:-1;pointer-events:none;background:radial-gradient(at 50% 40%,#1a0e3a 0%,#0b0620 55%,#05030c 100%);position:fixed;inset:0;overflow:hidden}.nebula{opacity:.35;will-change:transform;border-radius:50%;animation:40s ease-in-out infinite alternate drift;position:absolute}.nebula.n1{background:radial-gradient(circle,#5b2a9e,#0000 70%);width:55vmax;height:55vmax;top:-10vmax;left:-15vmax}.nebula.n2{background:radial-gradient(circle,#1f4a9e,#0000 70%);width:50vmax;height:50vmax;animation-duration:55s;bottom:-15vmax;right:-15vmax}@keyframes drift{to{transform:translate(6vmax,4vmax)scale(1.15)}}.star{background:#fff;border-radius:50%;animation:ease-in-out infinite alternate twinkle;position:absolute}@keyframes twinkle{0%{opacity:.25;transform:scale(.6)}to{opacity:1;transform:scale(1.2)}}.shooting{opacity:0;background:linear-gradient(90deg,#0000,#fff);width:120px;height:2px;animation:24s linear infinite shoot;position:absolute;left:-10%;transform:rotate(18deg)}@keyframes shoot{0%{opacity:0;transform:translate(0)rotate(18deg)}1%{opacity:1}5%{opacity:0;transform:translate(130vw,42vw)rotate(18deg)}to{opacity:0;transform:translate(130vw,42vw)rotate(18deg)}}.solar{--s:max(130vmin, 720px);opacity:.75;width:0;height:0;position:absolute;top:46%;left:50%}.sun{width:calc(var(--s) * .085);height:calc(var(--s) * .085);left:calc(var(--s) * -.0425);top:calc(var(--s) * -.0425);will-change:transform;background:radial-gradient(circle at 40% 40%,#fffbe0,#ffd75e 35%,#ff9d1c 70%,#ff6a00);border-radius:50%;animation:5s ease-in-out infinite alternate sunpulse;position:absolute;box-shadow:0 0 40px 12px #ffbe3c99,0 0 120px 50px #ff8c144d,0 0 260px 110px #ff6e141f}@keyframes sunpulse{to{transform:scale(1.08)}}.orbit{width:calc(var(--s) * var(--o));height:calc(var(--s) * var(--o));left:calc(var(--s) * var(--o) / -2);top:calc(var(--s) * var(--o) / -2);animation:spin var(--dur) linear infinite;border:1px solid #beaaff24;border-radius:50%;position:absolute}.planet{width:var(--d);height:var(--d);margin:calc(var(--d) / -2) 0 0 calc(var(--d) / -2);animation:spin var(--dur) linear infinite reverse;background:radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--c) 55%, #fff), var(--c) 55%, color-mix(in srgb, var(--c) 40%, #000));box-shadow:0 0 calc(var(--d) * .8) color-mix(in srgb, var(--c) 45%, transparent);border-radius:50%;position:absolute;top:0;left:50%}.planet.bands{background:repeating-linear-gradient(0deg, transparent 0 18%, #78462859 18% 28%), radial-gradient(circle at 30% 30%, #f1d9bd, var(--c) 55%, #6e4a2e)}.planet.ring:after{content:"";border:3px solid #e6d29ca6;border-radius:50%;position:absolute;inset:-30% -85%;transform:rotate(-22deg)scaleY(.32)}@keyframes spin{to{transform:rotate(360deg)}}.vignette{background:radial-gradient(#0000 35%,#05030cb3 100%);position:absolute;inset:0}.app{text-align:center;padding-top:calc(18px + env(safe-area-inset-top))}.title{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;overflow-wrap:anywhere;color:#f3d36b;text-shadow:0 0 18px #e6c14d73;margin:0 0 4px;font-size:clamp(1.35rem,7.5vw,2rem);font-weight:700;animation:4s ease-in-out infinite alternate shine}@keyframes shine{to{color:#fff3b0;text-shadow:0 0 30px #ffe178cc,0 0 60px #e6c14d66}}.subtitle{opacity:.75;letter-spacing:.06em;margin:0 0 16px;font-size:.95rem;font-style:italic}.panel{background:linear-gradient(160deg,#24144ce0,#0c071eeb);border:1px solid #e6c14d47;border-radius:18px;max-width:880px;margin:0 auto;padding:22px 14px 24px;box-shadow:0 16px 44px #00000080,inset 0 1px #ffffff14}.panel h2{font-family:var(--font-display);letter-spacing:.08em;color:var(--gold);margin:0 0 8px;font-size:1.05rem;font-weight:500;line-height:1.35}.panel p{margin:8px 0;line-height:1.45}button{font:inherit;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#3c267873;border:1px solid #a082ff66;border-radius:999px;min-height:46px;padding:12px 20px;font-size:.8rem;transition:transform .2s,box-shadow .2s,background .2s}button:active:not(:disabled){background:#5a3caa99;transform:scale(.97)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{color:#1a1030;background:linear-gradient(135deg,#f3d36b,#c9a227 55%,#f3d36b);border-color:#fff0a8;font-weight:700;position:relative;overflow:hidden;box-shadow:0 0 18px #e6c14d59}button.primary:after{content:"";background:linear-gradient(100deg,#0000,#fff9,#0000);width:50%;height:100%;animation:3.4s ease-in-out infinite sweep;position:absolute;top:0;left:-80%;transform:skew(-20deg)}button.primary:disabled:after{opacity:0;animation:none}@keyframes sweep{0%{left:-80%}55%,to{left:140%}}.panel>button.primary{width:100%;max-width:360px}.actions{z-index:5;padding:14px 14px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(#0c071e00,#0c071ef7 35%);border-radius:0 0 18px 18px;flex-wrap:wrap;justify-content:center;gap:10px;margin:18px -14px -24px;display:flex;position:sticky;bottom:0}.actions button{flex:140px}.deck-picker{grid-template-columns:1fr;gap:10px;margin:12px 0 6px;display:grid}.deck-option{letter-spacing:.08em;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:12px 16px;display:flex}.deck-option strong{font-size:.85rem;font-weight:700}.deck-option small{font-family:var(--font-body);letter-spacing:0;text-transform:none;opacity:.8;font-size:.95rem}.deck-option.on{border-color:var(--gold);background:linear-gradient(160deg,#78551e8c,#3c26788c);box-shadow:0 0 22px #e6c14d4d}.deck-info{opacity:.9;max-width:600px;margin:6px auto 4px;font-size:1rem}.deck-tag{opacity:.7;letter-spacing:.05em;margin:0 0 4px;font-size:.9rem}.question{text-align:left;max-width:540px;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);flex-direction:column;gap:8px;margin:14px auto;font-size:.8rem;display:flex}.question input{width:100%;min-height:48px;font-family:var(--font-body);letter-spacing:0;text-transform:none;color:var(--ink);background:#08041699;border:1px solid #e6c14d59;border-radius:12px;padding:12px 14px;font-size:1rem;transition:box-shadow .25s,border-color .25s}.question input::placeholder{color:#f1eafc66;font-style:italic}.question input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #e6c14d33,0 0 24px #e6c14d40}.asked{color:var(--gold);overflow-wrap:anywhere;max-width:560px;margin:4px auto 10px;font-size:1.05rem;font-style:italic}.round-badge{letter-spacing:.08em;color:#1a1030;vertical-align:middle;white-space:nowrap;background:linear-gradient(135deg,#f3d36b,#c9a227);border-radius:999px;margin-left:6px;padding:2px 10px;font-size:.7rem;display:inline-block}.deck-stack{width:100px;height:154px;margin:34px auto;animation:4.5s ease-in-out infinite float;position:relative}@keyframes float{50%{transform:translateY(-9px)}}.stack-card,.fan-card,.card-back{background:url(/cards/back.jpg) 50%/cover,#2a1860;border:2px solid #c9a227;border-radius:8px}.stack-card{width:100px;height:154px;position:absolute;box-shadow:0 6px 18px #00000080}.deck-stack:before{content:"";background:radial-gradient(circle,#e6c14d40,#0000 65%);border-radius:50%;animation:3s ease-in-out infinite alternate glow;position:absolute;inset:-30px}@keyframes glow{0%{opacity:.4;transform:scale(.9)}to{opacity:1;transform:scale(1.1)}}.fan{grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:7px;max-width:720px;margin:14px auto 8px;padding:6px 2px;display:grid}.fan[hidden]{display:none}.fan-card{aspect-ratio:2/3;color:#fff;width:100%;height:auto;min-height:0;font-weight:700;font-family:var(--font-display);text-shadow:0 1px 3px #000;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:.85rem;display:flex;box-shadow:0 3px 8px #00000080}.fan-card:active:not(:disabled){background:url(/cards/back.jpg) 50%/cover,#2a1860}.fan-card.picked{box-shadow:0 0 16px 2px var(--gold);z-index:2;border-color:#fff}.reading{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;margin:16px 0 8px;display:grid}.reading-item{min-width:0}.reading-item h3{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin:0 0 10px;font-size:.75rem;font-weight:500}.reading-item p{overflow-wrap:anywhere;margin:10px 0 0;font-size:1rem;line-height:1.25}.reading-item.confirmation .card-slot{filter:drop-shadow(0 0 12px #e6c14d8c)}.previous-rounds{text-align:left;background:#08041659;border:1px dashed #e6c14d59;border-radius:12px;max-width:640px;margin:6px auto 14px;padding:10px 12px;font-size:.95rem;line-height:1.45;list-style:none}.previous-rounds li+li{margin-top:4px}.card-slot{--cw:clamp(100px, 38vw, 150px);width:var(--cw);height:calc(var(--cw) * 1.6);font-size:calc(var(--cw) / 9.4);perspective:900px;cursor:pointer;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 10px 18px #0000008c);margin:0 auto;transition:transform .25s,filter .25s}.card-inner{width:100%;height:100%;transform-style:preserve-3d;position:relative}.card-face{backface-visibility:hidden;border-radius:.65em;position:absolute;inset:0}.card-front{color:#2a1650;background:#f2e8c9;border:3px solid #c9a227;flex-direction:column;padding:.5em;display:flex;transform:rotateY(180deg)}.card-front.playing{color:#14101c;background:linear-gradient(160deg,#fff,#f1ecdf);border-color:#cdb76a}.card-front.playing.red{color:#c0182b}.pc-corner{text-align:center;font-family:Georgia,serif;font-size:1.3em;font-weight:700;line-height:1.1;position:absolute;top:.5em;left:.6em}.pc-corner.bottom{inset:auto .6em .5em auto;transform:rotate(180deg)}.pc-center{justify-content:center;align-items:center;font-size:5em;display:flex;position:absolute;inset:0}.card-front.lenormand .pc-center{padding-bottom:1.6em;font-size:3.6em}.ln-num{font-family:var(--font-display);color:#7a5c14;font-size:1.05em;font-weight:700;position:absolute;top:.6em;right:.75em}.ln-name{text-align:center;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:#3a2a66;font-size:.85em;font-weight:700;position:absolute;bottom:.75em;left:.4em;right:.4em}.card-art{flex:1;justify-content:center;align-items:center;display:flex}.card-art img{object-fit:contain;max-width:100%;max-height:100%}.card-front:has(img){background:#111;padding:0}.card-front:has(img) .card-art{border-radius:7px 7px 0 0;overflow:hidden}.card-front:has(img) .card-name{background:#f2e8c9;padding:4px}.card-symbol{font-size:3.5em}.card-name{padding-top:6px;font-size:.8em;font-weight:700}.result-box{flex-direction:column;align-items:stretch;gap:10px;max-width:540px;margin:20px auto 0;display:flex}.result-title{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0;font-size:.8rem}.result-box textarea{width:100%;font-family:var(--font-body);color:var(--ink);resize:vertical;text-align:left;background:#080416a6;border:1px solid #e6c14d59;border-radius:12px;padding:12px 14px;font-size:1rem;line-height:1.45}.result-box textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #e6c14d33}.result-box button{align-self:stretch}.footer{padding:16px 0 calc(8px + env(safe-area-inset-bottom));letter-spacing:.05em;color:var(--gold);opacity:.9;text-align:center;margin-top:30px;font-size:1.05rem;font-style:italic;position:relative}.footer:before{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);width:110px;height:1px;margin:0 auto 12px;display:block}.debug-backdrop{z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.debug-panel{text-align:left;background:#1b1233;border:1px solid #5b3fa0;border-radius:10px;flex-direction:column;width:min(460px,94vw);max-height:88dvh;font-family:system-ui,sans-serif;font-size:.85rem;display:flex}.debug-panel header{border-bottom:1px solid #3a2a66;align-items:center;gap:12px;padding:10px 14px;display:flex}.debug-panel header span{opacity:.7;flex:1}.debug-panel header button{letter-spacing:0;min-height:0;padding:2px 10px}.debug-hint{opacity:.8;margin:8px 14px}.debug-list{margin:0;padding:0 8px 10px;font-family:ui-monospace,Consolas,monospace;list-style:none;overflow-y:auto}.debug-list li{border-radius:4px;gap:10px;padding:3px 6px;display:flex}.debug-list li.picked{background:#4a3485}.debug-list li.conf{background:#6b5710}.debug-pos{text-align:right;opacity:.6;width:3ch}.debug-glyph{width:4ch}.debug-glyph.red{color:#ff6b7d}.debug-name{flex:1}.debug-list em{color:#e6c14d;font-style:normal}@media (width>=640px){.app{padding-top:28px}.title{letter-spacing:.16em;font-size:clamp(1.8rem,4.6vw,2.6rem)}.subtitle{margin-bottom:22px;font-size:1.05rem}.panel{border-radius:22px;padding:30px 36px 34px}.panel h2{letter-spacing:.12em;font-size:1.25rem}.deck-picker{grid-template-columns:1fr 1fr;gap:14px}.deck-option{padding:14px 20px}.deck-stack,.stack-card{width:110px;height:170px}.question input{padding:13px 16px;font-size:1.1rem}.actions{background:0 0;border-radius:0;margin:22px 0 4px;padding:0;position:static}.actions button{flex:0 auto}.panel>button.primary{width:auto}.fan{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:8px}.reading{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:20px 0}.reading-item.confirmation{border-left:1px dashed #e6c14d99;padding-left:20px}.reading-item.confirmation .card-slot{filter:drop-shadow(0 10px 18px #0000008c)}.result-box textarea{padding:14px 16px;font-size:1.1rem}.result-box button{align-self:center}.footer{margin-top:44px;font-size:1.1rem}}@media (hover:hover){button:hover:not(:disabled){background:#5a3caa99;transform:translateY(-2px);box-shadow:0 6px 20px #7850ff4d}button.primary:hover:not(:disabled){background:linear-gradient(135deg,#ffe38a,#dcb531 55%,#ffe38a);box-shadow:0 0 28px #e6c14d99}.fan-card:hover:not(:disabled){z-index:3;transform:translateY(-8px);box-shadow:0 10px 24px #e6c14d73}.card-slot:hover{filter:drop-shadow(0 14px 26px #e6c14d59);transform:translateY(-6px)scale(1.03)}}@media (prefers-reduced-motion:reduce){.orbit,.planet,.star,.nebula,.sun,.shooting,.title,.deck-stack,.deck-stack:before,button.primary:after{animation:none!important}}
