:root{color-scheme:dark;--page:#080B12;--surface:#101723;--raised:#172235;--divider:#2A3850;--boundary:#7486A4;--heading:#F2F5FA;--body:#C6CEDB;--meta:#9BA8BE;--accent:#A8B8FF;--positive:#6EE7B7;--negative:#FDA4AF;--warning:#F4CD77;--focus:#D7C3FF;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--page);color:var(--body)}
*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-underline-offset:4px}a:hover{color:var(--heading)}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.wrap{max-width:1200px;margin:auto;padding-inline:24px}.site-header{height:64px;display:flex;align-items:center;justify-content:space-between}.wordmark{color:var(--heading);font-size:23px;font-weight:650;letter-spacing:-1px;text-decoration:none}nav{display:flex;gap:28px}nav a{text-decoration:none;font-size:14px}.hero{background:radial-gradient(ellipse at 50% 42%,#182B50 0%,#101A31 40%,#080B12 75%)}.hero-grid{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;min-height:396px;gap:24px}h1{font-size:clamp(64px,5.3vw,72px);line-height:1.08;font-weight:300;letter-spacing:-2px;color:var(--heading);margin:0}.hero-copy{max-width:290px;font-size:18px;line-height:1.65}.cta{display:inline-block;margin-top:12px;font-weight:550}.coin-column{position:relative;display:flex;flex-direction:column;align-items:center}#coin-stage{width:100%;max-width:384px;aspect-ratio:1;position:relative}#coin-stage picture,#coin-stage img{display:block;width:100%;height:100%;object-fit:contain}#motion-toggle{position:absolute;bottom:10px;min-width:140px;min-height:44px;padding:6px 12px;border:1px solid var(--boundary);border-radius:20px;background:var(--surface);color:var(--body);font:inherit;font-size:14px;cursor:pointer}#motion-toggle:hover{background:var(--raised)}.markets{padding-top:24px;scroll-margin-top:16px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}h2{color:var(--heading);font-size:24px;font-weight:500;margin:0}#connection-status,.table-note,time,.symbol,.disclaimer{color:var(--meta);font-size:14px;line-height:20px}.table-scroll{background:var(--surface);border:1px solid var(--divider);border-radius:12px;overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:17px;font-variant-numeric:tabular-nums lining-nums}thead{color:var(--meta);font-size:14px}th,td{padding:18px 24px;height:74px}thead th{height:54px;font-weight:500}tbody tr+tr{border-top:1px solid var(--divider)}tbody th{font-weight:500;width:25%}tbody th a{text-decoration:none;color:var(--heading)}.symbol{margin-left:12px}.price{color:var(--heading);width:27%;white-space:nowrap;font-weight:550}.change{width:16%}.evidence{font-size:14px;line-height:20px}.evidence time{display:block}.quality.limited,.quality.delayed,.quality.unavailable{color:var(--warning)}.positive{color:var(--positive)}.negative{color:var(--negative)}.table-note{margin:12px 0}.contact{padding-block:48px}.contact p{line-height:1.6}footer{border-top:1px solid var(--divider);padding-block:30px}footer p{margin:0 0 12px}footer>a{display:inline-block;margin-bottom:16px}.disclaimer{margin-top:24px}
@media(max-width:767px){.wrap{padding-inline:16px}.site-header{height:56px}nav{gap:16px}.wordmark{font-size:21px}.hero-grid{display:flex;flex-direction:column;gap:8px;padding-top:16px;padding-bottom:8px;min-height:0;text-align:center}h1{font-size:36px;line-height:1.08;letter-spacing:-1px}h1 br{display:none}.coin-column{width:160px;padding-bottom:30px}#coin-stage{width:160px;height:160px}#motion-toggle{bottom:0;min-height:44px}.hero-copy{max-width:340px;font-size:16px;line-height:1.4}.hero-copy p{margin:8px 0}.cta{margin:4px 0 0}.section-heading{margin-bottom:12px;display:block}h2{font-size:21px}#connection-status{display:block;margin-top:4px}table{font-size:16px;min-width:0}th,td{padding:12px 10px;height:72px}thead th{font-size:12px;padding:12px 8px}.symbol{display:block;margin:3px 0 0;font-size:12px}.asset-name{font-size:14px}.price{font-size:15px}.change{font-size:14px}.evidence,.evidence time{font-size:12px;line-height:17px}.table-note{font-size:12px}.contact{padding-block:32px}}
@media(max-height:650px) and (max-width:767px){.hero-grid{padding-top:8px;gap:4px}.coin-column{width:104px}#coin-stage{width:104px;height:104px}.hero-copy p{margin:4px 0}.markets{padding-top:24px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
@media(forced-colors:active){.table-scroll,#motion-toggle{border:1px solid CanvasText}a{color:LinkText}.hero{background:Canvas}}
@media print{:root{color-scheme:light;background:white;color:black}.hero{background:none}nav,#motion-toggle{display:none}.table-scroll{background:white}h1,h2,.price,.wordmark,tbody th a{color:black}}

#coin-stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}#coin-stage.is-3d picture{visibility:hidden}#motion-toggle[hidden]{display:none}

/* Hero decoration shares the renderer's active/paused lifecycle. */
#coin-stage{isolation:isolate}
#coin-stage::before,#coin-stage::after{content:"";position:absolute;pointer-events:none;z-index:-1}
#coin-stage::before{inset:4%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--glow-colour,#D4A64A) 50%,transparent),color-mix(in srgb,var(--glow-colour,#D4A64A) 18%,transparent) 40%,transparent 70%);opacity:0}
#coin-stage::after{left:50%;bottom:var(--shadow-bottom);width:var(--shadow-width);height:var(--shadow-height);border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.9),rgba(0,0,0,.6) 36%,rgba(106,153,255,.2) 62%,transparent 75%);filter:blur(var(--shadow-blur));opacity:0;transform:translateX(-50%) scale(var(--shadow-scale-x,1),var(--shadow-scale-y,1))}
#coin-stage.is-3d::after{opacity:var(--shadow-opacity)}
#coin-stage.is-3d::before{animation:hero-glow var(--glow-period) ease-in-out infinite alternate;animation-play-state:paused}
#coin-stage.hero-motion-running::before{animation-play-state:running}
#coin-stage canvas{transform:var(--coin-transform,none)}
@keyframes hero-glow{from{opacity:var(--glow-min-opacity);transform:scale(var(--glow-min-scale))}to{opacity:var(--glow-max-opacity);transform:scale(var(--glow-max-scale))}}
@media(prefers-reduced-motion:reduce){#coin-stage.is-3d::before{animation:none;opacity:0}}
@media(forced-colors:active){#coin-stage::before,#coin-stage::after{display:none}}

/* The poster moves immediately and remains visible until WebGL renders a frame. */
#coin-stage{perspective:850px}
#coin-stage .coin-poster{width:100%;height:100%;transform:translate(var(--poster-x,0px),var(--poster-scroll-y,0px)) rotateX(calc(var(--poster-pitch,0deg) + var(--poster-scroll-pitch,0deg))) rotateY(calc(var(--poster-yaw,0deg) + var(--poster-scroll-yaw,0deg))) scale(var(--poster-scale,1));transition:transform var(--pointer-settle,200ms) ease-out;transform-style:preserve-3d}
#coin-stage picture{position:relative;transform-style:preserve-3d;animation:hero-poster-spin var(--poster-spin-period,6s) linear infinite}
#coin-stage picture::after{content:"";position:absolute;inset:16%;border-radius:50%;pointer-events:none;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.22) 48%,transparent 66%);background-size:300% 100%;animation:hero-poster-sheen var(--poster-sheen-period,3s) ease-in-out infinite}
#coin-stage.is-3d .coin-poster{visibility:hidden}
#coin-stage.is-3d picture,#coin-stage.is-3d picture::after,#coin-stage.hero-still picture,#coin-stage.hero-still picture::after{animation-play-state:paused}
#coin-stage.hero-still .coin-poster{transition:none}
@keyframes hero-poster-spin{from{transform:rotateY(0deg)}to{transform:rotateY(360deg)}}
@keyframes hero-poster-sheen{from{background-position:100% 0}to{background-position:0% 0}}
#hero-debug{position:fixed;right:8px;bottom:8px;z-index:1000;max-width:calc(100vw - 16px);max-height:55vh;overflow:auto;margin:0;padding:10px;border:1px solid var(--boundary);border-radius:6px;background:rgba(8,11,18,.94);color:var(--heading);font:11px/1.4 monospace;pointer-events:none;white-space:pre-wrap}
@media(prefers-reduced-motion:reduce){#coin-stage picture,#coin-stage picture::after{animation:none}#coin-stage .coin-poster{transform:none;transition:none}#coin-stage picture::after{display:none}}
@media(forced-colors:active){#coin-stage picture::after{display:none}}
@media print{#coin-stage picture,#coin-stage picture::after{animation:none}#hero-debug{display:none}}
