@font-face{font-family:Cinzel;src:url(cinzel-800.woff2) format("woff2");font-style:normal;font-weight:800;font-display:swap}
@font-face{font-family:IBM Plex Mono;src:url(mono-400.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:IBM Plex Mono;src:url(mono-600.woff2) format("woff2");font-style:normal;font-weight:600;font-display:swap}

:root{color-scheme:dark;--bg:#0d0a10;--ink:#f2ebf5;--dim:#c7b8d0;--light:#d5aaff;--edge:#4a3656;--display:Cinzel,Georgia,serif;--mono:"IBM Plex Mono",monospace}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 .9rem/1.7 var(--mono)}
a{color:inherit;text-decoration:none}
button,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.55}
:focus-visible{outline:2px solid var(--light);outline-offset:4px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;top:.5rem;left:.5rem;z-index:5;padding:.6rem 1rem;background:var(--ink);color:var(--bg);transform:translateY(-160%)}
.skip:focus{transform:none}
.shell{width:min(1240px,calc(100% - 96px));margin-inline:auto}

.top{position:relative;z-index:2;border-bottom:1px solid var(--edge);background:#100d13}
.nav{height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{font:800 1.05rem/1 var(--display);letter-spacing:.08em;white-space:nowrap}
.brand span{color:var(--light);margin-right:.35em}
nav{display:flex;gap:32px}
nav a,.nav-action{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
nav a{color:var(--dim)}
nav a:hover,.text-link:hover{color:var(--light)}
.nav-action{padding:7px 13px;border:1px solid #765691;color:var(--light)}
.nav-action:hover{background:#2c2035}

.hero{position:relative;isolation:isolate;border-bottom:1px solid var(--edge);background:#09070b;overflow:hidden}
.hero-art{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0d0a10 0%,#0d0a10bc 25%,transparent 59%),linear-gradient(0deg,#0d0a10 0%,transparent 23%);pointer-events:none}
.oracle-image{position:absolute;right:0;top:50%;width:max(100%,960px);aspect-ratio:1672/941;transform:translateY(-50%);margin:0}
.oracle-image img{display:block;width:100%;height:auto}
.oracle-image::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;
  background:radial-gradient(ellipse 3.8% 6.4% at 64.9% 52.8%,#e5c7ffba,#b177f83a 34%,transparent 76%),
             radial-gradient(ellipse 3.8% 6.4% at 76.2% 52.8%,#e5c7ffba,#b177f83a 34%,transparent 76%);
  mix-blend-mode:screen;
}
@media(prefers-reduced-motion:no-preference){
  .oracle-image::after{animation:oracle-glow 7.4s ease-in-out infinite}
  @keyframes oracle-glow{0%,49%,100%{opacity:.18}23%,74%{opacity:.9}63%{opacity:.3}}
}
.hero-content{display:flex;align-items:center;min-height:clamp(520px,46vw,700px);padding-block:62px}
.hero-copy{width:min(46%,530px)}
.eyebrow{color:var(--light);font-size:.7rem;font-weight:600;letter-spacing:.14em;margin:0 0 19px}
.eyebrow span{margin-right:.35em}
h1,h2{font-family:var(--display);font-weight:800;line-height:.94;letter-spacing:-.05em;margin:0}
h1{font-size:clamp(5rem,10vw,10.2rem);color:#f0e8f4;text-shadow:0 5px 35px #130b18}
.hero-summary{max-width:36ch;color:var(--dim);margin:25px 0 26px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:1em;min-height:45px;padding:10px 16px;border:1px solid var(--light);background:var(--light);color:#1a1021;font-weight:600;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}
.button:hover:not(:disabled){background:#ead0ff;border-color:#ead0ff}
.hero-actions .button{min-height:50px;box-shadow:0 4px 27px #b777fb30}
.text-link{color:var(--ink);font-weight:600;font-size:.75rem;text-decoration:underline;text-decoration-color:#9274a5;text-underline-offset:.3em}

.section{display:grid;grid-template-columns:minmax(215px,.9fr) minmax(0,1.7fr);align-items:start;gap:clamp(30px,6vw,85px);padding-block:72px;scroll-margin-top:12px}
.section h2{font-size:clamp(2.6rem,5.25vw,5.25rem)}
.section-intro>p{color:var(--dim);max-width:28ch;margin:18px 0}
.quota{display:flex;align-items:center;gap:12px;font-size:.71rem;letter-spacing:.045em;text-transform:uppercase}
.quota-dots{display:flex;gap:6px;margin-inline:2px}
.quota-dots i{width:7px;height:7px;transform:rotate(45deg);background:var(--light);box-shadow:0 0 10px #c38bfa48}
.quota-dots .spent{background:#50415a;box-shadow:none}
.section-intro .sign-in{margin:5px 0;font-size:.72rem}
.terminal{border:1px solid #82629b;border-top:2px solid var(--light);background:#17101d;box-shadow:0 0 37px #ab74e31d}
.terminal-bar{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--edge);background:#24182e;color:var(--ink);font-size:.69rem;letter-spacing:.08em}
.terminal-bar span:last-child{color:var(--light);text-align:right}
.terminal-bar i{display:inline-block;width:6px;height:6px;margin-right:.6em;border-radius:50%;background:var(--light);box-shadow:0 0 10px var(--light);vertical-align:.12em}
form{padding:20px 20px 0}
label{display:block;margin-bottom:8px;color:var(--ink);font-weight:600;font-size:.77rem}
.question-wrap{display:flex;gap:11px;padding:12px;border:1px solid #715682;background:#100c15}
.question-wrap:focus-within{border-color:var(--light)}
.question-wrap>span{color:var(--light)}
textarea{display:block;width:100%;min-height:66px;padding:0;border:0;resize:vertical;background:transparent;color:var(--ink);outline:none!important}
textarea::placeholder{color:#ae9bb9}
.form-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:12px}
.examples{display:flex;gap:6px;flex-wrap:wrap}
.examples-label{flex-basis:100%;color:var(--dim);font-size:.69rem}
.sample{padding:6px 8px;border:1px solid #695378;background:none;color:#e2cfe9;font-size:.69rem}
.sample:hover{border-color:var(--light);color:var(--light)}
.send{white-space:nowrap}
.fine,.status{font-size:.68rem}
.fine{color:var(--dim);margin:14px 0 18px}
.status{color:#d5b0f5;margin:0 20px 18px}
.status:empty{display:none}
.reply{margin:0 20px 20px;padding:13px 16px;border-left:2px solid var(--light);background:#261932}
.reply h3{margin:0 0 7px;color:var(--light);font-size:.68rem;letter-spacing:.12em}
.reply p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.reply .typing::after{content:"";display:inline-block;width:.48em;height:1em;margin-left:.14em;background:var(--light);vertical-align:-.15em}

.omens{border-top:1px solid var(--edge);background:#120e17}
.omen-list{border-top:1px solid var(--edge)}
.omen{padding:17px 0 19px;border-bottom:1px solid var(--edge)}
.omen h3{margin:0;color:var(--light);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.omen blockquote{margin:9px 0 7px;color:var(--ink)}
.footer{border-top:1px solid var(--edge);padding:22px 0;color:var(--dim)}
.footer .shell{display:flex;justify-content:space-between;align-items:center;gap:16px}
.footer p{margin:0;font-size:.72rem}
.footer p a{text-decoration:underline;text-underline-offset:.25em}

@media(max-width:1050px){.shell{width:calc(100% - 56px)}}
@media(max-width:740px){
  .shell{width:calc(100% - 36px)}
  .nav{height:59px}.nav nav{display:none}
  .hero-art{inset:0 0 auto;height:330px}
  .hero-art::after{background:linear-gradient(0deg,#0d0a10 1%,transparent 47%)}
  .oracle-image{width:max(100%,690px);right:calc((100% - 405px)*.16 - 7px)}
  .hero-content{min-height:0;padding-block:263px 36px}
  .hero-copy{width:100%}
  h1{font-size:clamp(3.55rem,13vw,6.5rem)}
  h1 br{display:none}
  .eyebrow{margin-bottom:10px}
  .hero-summary{margin:17px 0 19px}
  .section{grid-template-columns:1fr;gap:21px;padding-block:42px}
  .section-intro>p{margin:13px 0}
  .section-intro .sign-in{margin:4px 0 0}
  form{padding-inline:14px}
  .footer .shell{flex-wrap:wrap}
}
@media(max-width:375px){.hero-actions{gap:10px 14px}.button{padding-inline:10px}.form-tools{gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
