:root{--ink:#12110f;--coral:#ff4d2e;--cream:#f6ecd9}*{box-sizing:border-box}html,body{background:var(--cream);height:100%;color:var(--ink);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.scene{--px:0;--py:0;position:fixed;inset:0;overflow:hidden}.scene svg{width:100%;height:100%;display:block}.layer{transform:translate3d(calc(var(--px) * var(--d) * 1px), calc(var(--py) * var(--d) * .5px), 0);will-change:transform}.sun{animation:48s ease-in-out infinite alternate sun-drift}@keyframes sun-drift{0%{transform:translate(-18px,26px)}to{transform:translate(18px,-30px)}}.grain{pointer-events:none;opacity:.22;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.consent{z-index:10;background:var(--ink);max-width:400px;color:var(--cream);border:1px solid #f6ecd947;border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-left:auto;padding:12px 14px;font-size:14px;line-height:1.35;animation:.5s ease-out .9s backwards consent-in;display:flex;position:fixed;bottom:16px;left:16px;right:16px}@keyframes consent-in{0%{opacity:0;transform:translateY(10px)}}.consent svg{color:var(--coral);flex:none}.consent p{flex:200px;margin:0}.consent-actions{gap:8px;margin-left:auto;display:flex}.consent button{border:1px solid var(--cream);min-height:36px;color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:0 14px}.consent button:hover{background:var(--cream);color:var(--ink)}.consent button:focus-visible{outline:2px solid var(--coral);outline-offset:2px}@media (prefers-reduced-motion:reduce){.sun,.consent{animation:none}.layer{transform:none}}.admin{max-width:1100px;margin:0 auto;padding:40px 16px 64px}.admin h1{margin:0 0 24px;font-size:28px}.stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:32px;display:grid}.stat{border:1px solid var(--ink);border-radius:12px;padding:16px}.stat b{font-variant-numeric:tabular-nums;font-size:32px;display:block}.table-wrap{overflow-x:auto}.admin table{border-collapse:collapse;width:100%;font-size:14px}.admin th,.admin td{text-align:left;white-space:nowrap;border-bottom:1px solid #12110f33;padding:10px 12px 10px 0}
