*,*:before,*:after{box-sizing:border-box}*{margin:0}html{interpolate-size:allow-keywords}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}#root,#app{isolation:isolate}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color-scheme:light dark;--navy: #0b1e3d;--navy-deep: #071531;--cobalt: #2547d6;--icy: #eaf3ff;--icy-dim: #cfe3ff;--white: #ffffff;--charcoal: #1c2536;--electric: #3d8bff}body{min-height:100dvh}.page{max-width:80ch;margin-inline:auto;padding:2rem}.oracle{display:flex;flex-direction:column;align-items:center;min-height:100dvh;padding:clamp(2rem,6vw,4rem) 1.5rem;gap:1.5rem;background-color:var(--navy);text-align:center}.oracle__title{margin:0;color:var(--white);font-size:clamp(2rem,5vw,2.75rem);font-weight:800;letter-spacing:-.02em}.oracle__subtitle{margin:0;max-width:32ch;color:var(--icy-dim);font-size:1.0625rem;font-weight:500}.oracle__answer,.oracle__error{max-width:46ch;margin:0;padding:1rem 1.5rem;border-radius:20px;font-size:1.0625rem;font-weight:500;box-shadow:0 8px 24px #030a1a40}.oracle__answer{background-color:var(--icy);color:var(--charcoal)}.oracle__error{background-color:#ffe3ea;color:#7a1330}.oracle__form{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:28rem;padding:1.75rem;border-radius:28px;background-color:var(--white);box-shadow:0 16px 40px #030a1a4d}.oracle__label{text-align:left;font-size:.8125rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--cobalt)}.oracle__input{resize:vertical;min-height:4.5rem;padding:.9rem 1.1rem;border:1px solid var(--icy-dim);border-radius:16px;background-color:var(--icy);color:var(--charcoal);font-size:1rem;font-family:inherit}.oracle__input:focus-visible{outline:2px solid var(--electric);outline-offset:2px}.oracle__submit{padding:.9rem 1.5rem;border:none;border-radius:999px;background-color:var(--electric);color:var(--white);font-size:1rem;font-weight:700;cursor:pointer;transition:transform .15s ease,background-color .15s ease}.oracle__submit:hover:not(:disabled){background-color:var(--cobalt)}.oracle__submit:active:not(:disabled){transform:scale(.98)}.oracle__submit:disabled{background-color:var(--icy-dim);color:var(--navy);cursor:not-allowed}.head{position:relative;width:148px;height:148px;display:flex;align-items:center;justify-content:center}.head__glow{position:absolute;inset:-14px;border-radius:50%;background-color:var(--cobalt);opacity:.35;filter:blur(6px);transition:opacity .3s ease}.head__face{position:relative;width:148px;height:148px;border-radius:50%;background-color:var(--cobalt);box-shadow:0 12px 30px #030a1a66;display:flex;align-items:center;justify-content:center}.head__eye{position:absolute;top:56px;width:14px;height:14px;border-radius:50%;background-color:var(--white);transition:height .15s ease}.head__eye--left{left:46px}.head__eye--right{right:46px}.head__mouth{position:absolute;bottom:42px;left:50%;width:44px;height:8px;border-radius:999px;background-color:var(--white);transform:translate(-50%);transition:height .12s ease,width .12s ease,border-radius .12s ease}.head--idle .head__glow{opacity:.25}.head--idle .head__eye{animation:head-blink 4.5s ease-in-out infinite}.head--listening .head__glow{opacity:.55;animation:head-pulse 1.6s ease-in-out infinite}.head--listening .head__mouth{width:30px;height:12px;border-radius:50%}.head--thinking .head__glow{opacity:.6;animation:head-pulse .9s ease-in-out infinite}.head--thinking .head__eye{height:4px;border-radius:4px}.head--thinking .head__mouth{width:20px}.head--speaking .head__glow{opacity:.7;animation:head-pulse .5s ease-in-out infinite}.head--speaking .head__mouth{animation:head-talk .35s ease-in-out infinite}@keyframes head-blink{0%,92%,to{height:14px}96%{height:2px}}@keyframes head-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes head-talk{0%,to{height:8px;border-radius:999px}50%{height:22px;border-radius:50%}}
