:root {
  color-scheme: dark;
  --ink: #080d22;
  --space: #0d132b;
  --space-mid: #26366b;
  --paper: #fff7e8;
  --carrot: #f36b2b;
  --leaf: #75c975;
  --sun: #ffcf74;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { min-width: 320px; min-height: 100vh; margin: 0; color: var(--paper); background: linear-gradient(145deg, #121c41 0%, var(--space) 52%, #070b1c 100%); }
button, input { font: inherit; }
a { color: inherit; }
.stars { position: fixed; inset: 0; opacity: .35; pointer-events: none; background-image: radial-gradient(circle, white 0 1px, transparent 1.6px), radial-gradient(circle, #ffcf74 0 1.2px, transparent 1.8px); background-size: 52px 52px, 91px 91px; background-position: 0 0, 23px 17px; }
header, main, footer { position: relative; z-index: 1; width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
header { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid rgba(255,255,255,.18); }
.resolver-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.resolver-brand svg { width: 42px; height: 42px; }
.resolver-brand span { display: grid; }
.resolver-brand strong { font-size: 1.2rem; letter-spacing: -.03em; }
.resolver-brand small { color: #b6bddb; font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.discover-link { font-size: .8rem; font-weight: 850; text-underline-offset: 5px; }
.discover-link:hover { color: var(--sun); }
main { min-height: calc(100vh - 180px); display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: clamp(35px, 7vw, 100px); padding: 70px 0; }
.eyebrow { margin: 0 0 18px; color: var(--leaf); font-size: .72rem; font-weight: 900; letter-spacing: .16em; }
h1 { margin: 0; font-family: Georgia, serif; font-size: clamp(4.3rem, 8vw, 7.8rem); line-height: .82; letter-spacing: -.07em; }
h1 em { color: var(--carrot); font-style: italic; }
.lede { max-width: 58ch; margin: 28px 0 34px; color: #cbd1e9; font-size: clamp(1rem, 1.5vw, 1.16rem); line-height: 1.65; }
form label { display: block; margin-bottom: 9px; font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.resolver-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; }
.resolver-input { min-height: 68px; display: flex; align-items: center; color: var(--ink); background: var(--paper); border: 3px solid var(--ink); border-radius: 18px; box-shadow: 6px 6px 0 var(--carrot); }
.resolver-input span { margin-left: 16px; color: var(--carrot); font-size: 1.5rem; font-weight: 950; }
.resolver-input input { min-width: 0; width: 100%; height: 62px; padding: 0 17px 0 10px; color: var(--ink); background: transparent; border: 0; outline: 0; font: 850 1rem ui-monospace, monospace; }
.resolver-input:focus-within { outline: 4px solid rgba(117,201,117,.55); outline-offset: 4px; }
button { min-height: 68px; padding: 0 24px; color: var(--ink); background: var(--leaf); border: 3px solid var(--ink); border-radius: 18px; box-shadow: 6px 6px 0 var(--sun); font-weight: 950; cursor: pointer; }
button:hover { background: #8fdb83; transform: translate(2px,2px); box-shadow: 4px 4px 0 var(--sun); }
#resolver-status { min-height: 1.4em; margin: 17px 0 0; color: var(--sun); font-size: .86rem; font-weight: 800; }
.notice { max-width: 610px; margin-top: 28px; padding: 18px 20px; border: 1px solid rgba(255,255,255,.22); border-radius: 18px; background: rgba(255,255,255,.06); }
.notice strong { color: var(--sun); }
.notice p { margin: 7px 0 0; color: #cbd1e9; font-size: .82rem; line-height: 1.5; }
.resolver-art { min-height: 600px; display: grid; place-items: center; }
.resolver-art svg { width: min(100%, 570px); filter: drop-shadow(18px 22px 0 rgba(2,5,15,.28)); }
.resolver-ship { transform-origin: 329px 310px; animation: float 3.8s ease-in-out infinite; }
@keyframes float { 50% { transform: translateY(-12px) rotate(1deg); } }
footer { min-height: 94px; padding: 25px 0 35px; display: flex; justify-content: space-between; gap: 28px; border-top: 1px solid rgba(255,255,255,.15); color: #9fa8cb; font-size: .72rem; }
@media (max-width: 900px) { main { grid-template-columns: 1fr; padding-top: 55px; } .resolver-art { min-height: 500px; width: min(600px, 100%); margin-inline: auto; } }
@media (max-width: 620px) { header, main, footer { width: min(100% - 28px, 1180px); } .discover-link { font-size: .7rem; } main { padding-bottom: 45px; } h1 { font-size: clamp(3.8rem, 19vw, 5.9rem); } .resolver-row { grid-template-columns: 1fr; } button { min-height: 61px; } .resolver-art { min-height: 390px; } footer { flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
