html:has(.confetti), body:has(.confetti) { background:#11161d; color-scheme:dark; margin:0; padding:0; }
.confetti { background:#11161d; color:#e3ebf3; min-height:100vh; padding:0; font-family:Inter,system-ui,sans-serif; color-scheme:dark; }
.confetti * { box-sizing:border-box; }
.confetti-header { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:28px; }
.confetti a { color:#b2c4d6; text-decoration:none; }
.confetti-eyebrow { font-size:10px; letter-spacing:1.3px; color:#9cabbc; }
.confetti-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:0; width:100%; align-items:start; }
.confetti-world { width:100%; max-width:100%; min-width:0; margin-inline:auto; }
.confetti-screen { position:relative; background:#0b1017; border-bottom:1px solid #3b4b5d; }
.confetti canvas { display:block; width:100%; height:60vh; cursor:default; }
.confetti-panel { padding:28px 24px 36px; }
.confetti-about { max-width:720px; }
.confetti h1 { margin:0 0 10px; font-size:30px; font-weight:500; letter-spacing:-1.5px; line-height:1.1; }
.confetti-intro { font-size:16px; line-height:1.6; color:#acb9c9; margin:0 0 18px; }
.confetti :focus-visible { outline:2px solid #a7c5e6; outline-offset:4px; }
.confetti-note { margin:0; }
.confetti-note p { color:#acb9c9; font-size:14px; line-height:1.8; margin:0 0 12px; }
.confetti-seed { color:#9cabbc; font-size:10px; letter-spacing:1px; margin-top:22px; }
@media (max-width:720px) { .confetti-header { margin-bottom:24px; gap:12px; } .confetti-panel { padding:24px 16px 30px; } }
 .confetti-stats { letter-spacing:.3px; font-variant-numeric:tabular-nums; }

.confetti-fullscreen { position:absolute; top:max(12px,env(safe-area-inset-top)); right:max(12px,env(safe-area-inset-right)); display:grid; place-items:center; width:40px; height:40px; padding:0; border:1px solid #3b4b5d; border-radius:6px; color:#c5d2df; background:rgba(11,16,23,.8); cursor:pointer; }
.confetti-fullscreen[hidden] { display:none; }
.confetti-fullscreen:hover { color:#fff; background:#263345; }
.confetti-contract { display:none; }
.confetti-screen:fullscreen { width:100vw; height:100vh; border:0; }
.confetti-screen:fullscreen .confetti-expand { display:none; }
.confetti-screen:fullscreen .confetti-contract { display:block; }

.confetti-fullscreen { transition:opacity .2s ease; }
.confetti-screen:fullscreen .confetti-fullscreen.confetti-idle { opacity:0; pointer-events:none; }
.confetti-screen:fullscreen .confetti-fullscreen:focus-visible { opacity:1; pointer-events:auto; }
@media (prefers-reduced-motion:reduce) { .confetti-fullscreen { transition:none; } }
