@font-face{font-family:FalcoSans;src:url(geometry--assets--noto-sans-latin-400-normal.woff2)}@font-face{font-family:FalcoSerif;src:url(geometry--assets--noto-serif-latin-400-normal.woff2)}:root{color-scheme:dark;--night:#08061c;--gold:#dcb964;--purple:#b4a1ff;--green:#76e5b3;--ink:#e8e4dc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--ink);font:16px/1.75 FalcoSans,system-ui,sans-serif}main{max-width:1600px;margin:auto;padding:30px}header{text-align:center;padding:35px 0 30px}h1{font:clamp(32px,4.4vw,65px)/1.15 FalcoSerif,serif;color:var(--gold);margin:20px 0}h2{font:29px/1.35 FalcoSerif,serif;color:var(--green)}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:11px;color:var(--gold)}.deck{font:19px/1.65 FalcoSerif,serif;color:#bbb0d5}.stage{border:1px solid #dcb96444;background:#0b0820}canvas{display:block;width:100%;height:auto;aspect-ratio:16/9}.controls{padding:20px;display:flex;gap:15px;align-items:center;flex-wrap:wrap;border-top:1px solid #b4a1ff33}button,select{background:#18112c;color:var(--ink);border:1px solid #b4a1ff66;padding:10px 15px;font:inherit;cursor:pointer}button:hover,button:focus-visible{border-color:var(--green);color:var(--green)}input[type=range]{accent-color:var(--green);min-width:150px;flex:1}#clock{font-variant-numeric:tabular-nums;min-width:50px}.steps{display:flex;gap:8px;flex-wrap:wrap;padding:0 20px}.steps button{font-size:12px}#status{margin:18px 25px;color:var(--gold)}.secondary{font-size:12px;color:#bbb0d5}.secondary label{display:flex;align-items:center;gap:12px}.secondary span{margin-left:auto}.explain{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:65px 10px}p{max-width:750px}details{border-top:1px solid #dcb96455;padding:25px 10px}summary{cursor:pointer;color:var(--gold);font-size:19px}.proof{max-width:950px;padding-top:20px}.proof p{max-width:950px}code{color:var(--green);overflow-wrap:anywhere}a{color:var(--gold)}footer{border-top:1px solid #dcb96433;margin-top:35px;padding:25px 10px;color:#9c94ae;font-size:12px}@media(max-width:800px){main{padding:12px}.explain{grid-template-columns:1fr;gap:20px;padding:40px 15px}.controls{gap:10px;padding:12px}button,select{font-size:13px}#time{flex-basis:60%}.secondary span{margin:0}.steps{padding:0 12px}header{padding:20px 10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
