:root{--ink: #07090f;--navy: #10182a;--navy-deep: #0a1020;--cloth: #121a2e;--oxblood: #6b2430;--forest: #2a4a3c;--paper: #efe6d4;--paper-dim: #b9a88c;--gold: #c4a35a;--gold-bright: #dfc078;--gold-soft: rgba(196, 163, 90, .42);--line: rgba(196, 163, 90, .28);--font-brand: Spectral, "Times New Roman", serif;--font-display: "Cormorant Garamond", "Times New Roman", serif;--font-body: Literata, "Iowan Old Style", "Palatino Linotype", Palatino, serif;--card-w: min(42vw, 11.5rem);--radius-frame: .35rem}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{font-family:var(--font-body);color:var(--paper);background:var(--ink);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}.veil{position:relative;min-height:100dvh;overflow-x:hidden}.veil__glow{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 55% 40% at 50% 8%,rgba(196,163,90,.14),transparent 62%),radial-gradient(ellipse 45% 38% at 12% 55%,rgba(107,36,48,.22),transparent 58%),radial-gradient(ellipse 40% 35% at 88% 70%,rgba(42,74,60,.18),transparent 55%),radial-gradient(ellipse 70% 50% at 50% 100%,rgba(16,24,42,.9),transparent 70%),linear-gradient(180deg,#0c1220,#07090f 48%,#0a0e18);z-index:0}.veil__grain{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;opacity:.18;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.shell{position:relative;z-index:1;width:min(68rem,100%);margin:0 auto;padding:clamp(1.1rem,3.5vw,2.4rem) clamp(.9rem,3vw,1.75rem) 2rem;display:flex;flex-direction:column;align-items:center;gap:clamp(1.35rem,3.5vw,2.4rem)}.boot{position:relative;z-index:1;min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:1.1rem}.boot__spinner{width:2.75rem;height:2.75rem;border:2px solid rgba(196,163,90,.18);border-top-color:var(--gold);border-radius:50%;animation:spin .85s linear infinite}.boot__text{font-family:var(--font-brand);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--paper-dim)}.day-timer{text-align:center;animation:rise .6s ease both}.day-timer__label{font-family:var(--font-brand);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem}.day-timer__value{font-family:var(--font-brand);font-size:clamp(1.6rem,5vw,2.2rem);letter-spacing:.18em;color:var(--paper);font-variant-numeric:tabular-nums}@keyframes spin{to{transform:rotate(360deg)}}.hero{text-align:center;max-width:34rem;animation:rise .85s ease both}.hero__eyebrow{font-family:var(--font-brand);font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:.65rem}.hero__brand{font-family:var(--font-brand);font-size:clamp(3.2rem,11vw,5.2rem);font-weight:600;letter-spacing:.28em;line-height:.9;color:var(--paper);text-shadow:0 0 40px rgba(196,163,90,.18)}.hero__ornament{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:.9rem auto 0;color:var(--gold);opacity:.75}.hero__ornament:before,.hero__ornament:after{content:"";width:min(5.5rem,18vw);height:1px;background:linear-gradient(90deg,transparent,var(--gold-soft),transparent)}.hero__ornament span{font-family:var(--font-brand);font-size:.7rem;letter-spacing:.35em}.hero__title{margin-top:.55rem;font-family:var(--font-display);font-weight:500;font-size:clamp(1.4rem,3.6vw,1.95rem);letter-spacing:.04em;color:var(--paper-dim)}.hero__lead{margin:.75rem auto 0;max-width:26rem;color:var(--paper-dim);font-size:.98rem;line-height:1.55}.hero__actions{margin-top:1.35rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--gold-soft);background:linear-gradient(180deg,#c4a35a38,#6b243066),linear-gradient(180deg,#10182ae6,#0a1020f2);color:var(--paper);font-family:var(--font-brand);font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:.95rem 1.35rem;min-height:2.85rem;cursor:pointer;box-shadow:inset 0 0 0 1px #c4a35a1f;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.btn:hover:not(:disabled){transform:translateY(-1px);border-color:var(--gold-bright);box-shadow:inset 0 0 0 1px #c4a35a38,0 0 22px #c4a35a29}.btn:disabled{opacity:.55;cursor:wait}.btn--ghost{background:transparent;border-color:#efe6d438;box-shadow:none}.table{width:100%;display:flex;justify-content:center;animation:rise 1s ease .08s both}.table__cloth{position:relative;width:min(100%,56rem);padding:clamp(1.15rem,3vw,1.9rem) clamp(.75rem,2vw,1.35rem);border:1px solid var(--line);background:radial-gradient(ellipse 70% 55% at 50% 42%,rgba(196,163,90,.08),transparent 62%),radial-gradient(ellipse 55% 50% at 50% 55%,rgba(107,36,48,.2),transparent 68%),linear-gradient(180deg,#121a2ef5,#0a0e1afa);box-shadow:0 0 0 1px #07090fcc,0 0 0 2px #c4a35a2e,0 28px 70px #0000008c}.table__cloth:before{content:"";pointer-events:none;position:absolute;top:.45rem;right:.45rem;bottom:.45rem;left:.45rem;border:1px solid rgba(196,163,90,.16)}.spread{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.65rem,2.2vw,1.5rem);align-items:start;justify-items:center}.slot{width:100%;max-width:13.5rem;display:flex;flex-direction:column;align-items:center;gap:.65rem;text-align:center}.slot__pos{font-family:var(--font-brand);font-size:.92rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.slot__hint{font-size:.8rem;line-height:1.4;color:var(--paper-dim);max-width:12rem}.card{--d: 0s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;background:transparent;color:inherit;font:inherit;width:var(--card-w);aspect-ratio:2 / 3.5;perspective:1400px;animation:cardIn .75s ease var(--d) both}.card--flipable{cursor:pointer}.card--flipable:hover .card__inner{transform:translateY(-4px) scale(1.02)}.card--flipable:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:var(--radius-frame)}.card:disabled{cursor:default}.card--empty{border:1px dashed rgba(196,163,90,.3);background:radial-gradient(circle at 50% 45%,rgba(196,163,90,.08),transparent 55%),#0a0e1ab3;border-radius:var(--radius-frame)}.card__empty-inner{height:100%;display:grid;place-content:center;gap:.5rem;text-align:center}.card__ghost{font-size:1.6rem;color:#c4a35a73}.card__empty-label{font-family:var(--font-brand);font-size:.78rem;color:#efe6d459;letter-spacing:.14em;text-transform:uppercase}.card__inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.card--open .card__inner{transform:rotateY(180deg)}.card--open.card--rev .card__inner{transform:rotateY(180deg) rotate(180deg)}.card__face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border-radius:var(--radius-frame);overflow:hidden;border:2px solid rgba(196,163,90,.55);box-shadow:0 0 0 1px #07090fd9,0 16px 32px #00000080;background:#07090f}.card__face img{width:100%;height:100%;object-fit:cover}.card__face--front{transform:rotateY(180deg)}.card__face--back{background:#07090f}.card__face--back img{width:100%;height:100%;object-fit:cover}.card__badge{position:absolute;left:50%;bottom:.55rem;transform:translate(-50%);padding:.25rem .55rem;font-family:var(--font-brand);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:#c4a35aeb}.readings{width:min(100%,40rem);display:grid;gap:.85rem;animation:rise .7s ease both}.readings__title{text-align:center;font-family:var(--font-brand);font-weight:600;font-size:1.15rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.2rem}.reading{padding:1rem 1.05rem;background:linear-gradient(180deg,#121a2ee0,#0a0e1aeb);border:1px solid var(--line);box-shadow:inset 0 0 0 1px #c4a35a0f}.reading--cards{display:grid;gap:.75rem}.reading__chip{display:flex;gap:.75rem;align-items:center}.reading--ai .reading__ai-label{font-family:var(--font-brand);font-size:.82rem;color:var(--gold);margin-bottom:.5rem;letter-spacing:.14em;text-transform:uppercase}.reading__ai-text{white-space:pre-wrap;color:var(--paper);line-height:1.75;font-size:1.08rem;font-family:var(--font-body);font-weight:400;letter-spacing:.01em}.reading--loading{color:var(--paper-dim);font-style:italic;font-family:var(--font-display)}.reading--waiting{display:grid;justify-items:center;gap:1rem;padding:1.5rem 1rem;text-align:center}.oracle{position:relative;width:4.5rem;height:4.5rem}.oracle__ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid transparent}.oracle__ring--a{border-top-color:var(--gold);border-right-color:#c4a35a40;animation:oracleSpin 2.4s linear infinite}.oracle__ring--b{top:.45rem;right:.45rem;bottom:.45rem;left:.45rem;border-bottom-color:#6b2430d9;border-left-color:#c4a35a59;animation:oracleSpin 3.4s linear infinite reverse}.oracle__core{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:1.15rem;color:var(--gold-bright);text-shadow:0 0 18px rgba(196,163,90,.55);animation:oraclePulse 1.8s ease-in-out infinite}.oracle__spark{position:absolute;left:50%;top:50%;width:.35rem;height:.35rem;margin:-.175rem;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 10px #c4a35ad9;animation:oracleOrbit 2.8s linear infinite}.oracle__spark--1{animation-delay:0s}.oracle__spark--2{animation-delay:-.93s;opacity:.75}.oracle__spark--3{animation-delay:-1.86s;opacity:.5}.oracle__text{font-family:var(--font-body);font-size:1.02rem;font-style:italic;color:var(--paper-dim);letter-spacing:.02em}@keyframes oracleSpin{to{transform:rotate(360deg)}}@keyframes oraclePulse{0%,to{transform:scale(.92);opacity:.7}50%{transform:scale(1.08);opacity:1}}@keyframes oracleOrbit{0%{transform:rotate(0) translateY(-1.85rem) rotate(0)}to{transform:rotate(360deg) translateY(-1.85rem) rotate(-360deg)}}.reading--error{color:#e8a8a8;border-color:#a0454573}.reading--ask{display:grid;gap:.65rem}.ask__hint{color:var(--paper-dim);font-size:.88rem;line-height:1.45}.ask__row{display:grid;grid-template-columns:1fr auto;gap:.55rem;align-items:end}.ask__input{width:100%;resize:vertical;min-height:3.4rem;padding:.75rem .85rem;border:1px solid var(--line);background:#07090fb8;color:var(--paper);font-family:var(--font-body);font-size:1.02rem;line-height:1.55}.ask__input:focus{outline:1px solid var(--gold);border-color:var(--gold)}.ask__input:disabled{opacity:.6}.ask__send{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;width:2.85rem;height:2.85rem;display:grid;place-items:center;border:1px solid var(--gold-soft);background:linear-gradient(180deg,#c4a35a38,#6b243066),linear-gradient(180deg,#10182ae6,#0a1020f2);color:var(--gold-bright);cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease}.ask__send:hover:not(:disabled){transform:translateY(-1px);border-color:var(--gold-bright);box-shadow:0 0 18px #c4a35a2e}.ask__send:disabled{opacity:.45;cursor:not-allowed}.ask__send-icon{width:1.15rem;height:1.15rem;display:block}.ask__send-spinner{width:1rem;height:1rem;border:1.5px solid rgba(196,163,90,.25);border-top-color:var(--gold-bright);border-radius:50%;animation:spin .7s linear infinite}.ask__closed{margin-top:.75rem;font-size:.78rem;letter-spacing:.06em;color:#b9a88cb3}.gate{min-height:100dvh;display:grid;place-content:center;gap:.55rem;padding:2rem 1.25rem;text-align:center;max-width:22rem;margin:0 auto}.gate__brand{font-family:var(--font-brand);font-size:clamp(2.4rem,10vw,3.4rem);letter-spacing:.18em;color:var(--paper);margin:0 0 .35rem}.gate__title{margin:0;font-family:var(--font-body);font-size:1.05rem;color:var(--gold-bright);letter-spacing:.04em}.gate__text{margin:.35rem 0 0;color:var(--paper-dim);font-size:.95rem;line-height:1.55}.donate{margin-top:1.75rem;padding:1.1rem 0 .5rem;border-top:1px solid rgba(185,168,140,.18);text-align:center}.donate__label{margin:0;font-family:var(--font-brand);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright)}.donate__hint{margin:.35rem 0 .85rem;color:var(--paper-dim);font-size:.88rem}.donate__row{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.donate__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:4.2rem;padding:.65rem .85rem;border:1px solid var(--gold-soft);background:#07090fa6;color:var(--paper);font-family:var(--font-body);font-size:.95rem;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.donate__btn:hover:not(:disabled){border-color:var(--gold-bright);box-shadow:0 0 16px #c4a35a24;transform:translateY(-1px)}.donate__btn:disabled{opacity:.55;cursor:wait}.donate__msg{margin:.75rem 0 0;font-size:.88rem;color:var(--paper-dim)}.reading__head{display:flex;gap:.75rem;align-items:center;margin-bottom:.45rem}.reading__thumb{width:2.6rem;height:4.3rem;object-fit:cover;border:1px solid rgba(196,163,90,.4);border-radius:.15rem;flex-shrink:0}.reading__label{display:flex;flex-wrap:wrap;gap:.35rem .7rem;font-family:var(--font-display);font-size:1.15rem}.reading__label span{color:var(--gold)}.reading__en{margin-top:.15rem;font-size:.78rem;letter-spacing:.04em;color:var(--paper-dim)}.reading>p{color:var(--paper-dim);line-height:1.55;font-size:.95rem}.hint{text-align:center;max-width:28rem;color:#b9a88cc7;font-size:1rem;line-height:1.55;font-family:var(--font-body)}.foot{width:100%;margin-top:.5rem;padding-top:1rem;border-top:1px solid rgba(196,163,90,.16);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;color:#b9a88c80;font-family:var(--font-brand);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes cardIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:760px){:root{--card-w: min(58vw, 13.5rem)}.spread{grid-template-columns:1fr;gap:1.35rem}.slot{max-width:15rem}.table__cloth{padding:1.15rem .85rem 1.35rem}.hero__actions{width:100%}.btn{flex:1 1 auto}}@media(max-width:420px){:root{--card-w: min(72vw, 15rem)}.foot{justify-content:center;text-align:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
