:root{--bg: #07070c;--panel: rgba(255, 255, 255, .035);--line: rgba(255, 255, 255, .09);--text: #ecebf5;--muted: #9391a8;--violet: #8b5cf6;--cyan: #22d3ee;--ok: #34d399;--bad: #f87171;--sans: "Space Grotesk", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh}.mono{font-family:var(--mono)}svg{width:1em;height:1em}.bg{position:fixed;inset:0;overflow:hidden;z-index:-1}.bg:after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;opacity:.35;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 20%,transparent 75%)}.bg i{position:absolute;border-radius:50%;filter:blur(110px);opacity:.45;animation:drift 22s ease-in-out infinite alternate}.bg i:nth-child(1){width:46vw;height:46vw;background:var(--violet);top:-18vw;left:-8vw}.bg i:nth-child(2){width:38vw;height:38vw;background:var(--cyan);top:10vh;right:-12vw;opacity:.3;animation-duration:28s}.bg i:nth-child(3){width:30vw;height:30vw;background:#ec4899;bottom:-14vw;left:30vw;opacity:.18;animation-duration:34s}@keyframes drift{to{transform:translate(6vw,5vh) scale(1.12)}}main{max-width:1080px;margin:0 auto;padding:24px 20px 48px}header{display:flex;justify-content:space-between;align-items:center}.brand{font-weight:700;font-size:22px;letter-spacing:-.03em}.brand b{color:var(--cyan)}button{font:inherit;cursor:pointer}.ghost,.chip,.modal button[type=submit]{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 16px;font-size:14px;border:1px solid var(--line);color:var(--text);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-decoration:none;transition:border-color .2s,background .2s}.ghost:hover,.chip:hover{border-color:#ffffff47;background:#ffffff12}.hero{padding:clamp(56px,12vh,120px) 0 clamp(36px,7vh,72px)}.eyebrow{color:var(--cyan);font-size:13px;letter-spacing:.08em;margin:0 0 18px}h1{font-size:clamp(44px,9vw,96px);line-height:.98;letter-spacing:-.045em;margin:0;font-weight:700}h1 span{background:linear-gradient(100deg,var(--violet),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}.lede{color:var(--muted);font-size:clamp(16px,2.2vw,20px);max-width:520px;margin:22px 0 0;line-height:1.5}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}@media(min-width:1000px){.grid{grid-template-columns:repeat(4,1fr)}}.tile-wide{grid-column:1 / -1}@media(min-width:640px){.tile-wide{grid-column:span 2}}.tile{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px;min-height:200px;border-radius:22px;border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:inherit;text-decoration:none;overflow:hidden;transition:transform .25s ease,border-color .25s;animation:rise .6s both}.tile:nth-child(2){animation-delay:.06s}.tile:nth-child(3){animation-delay:.12s}.tile:nth-child(4){animation-delay:.18s}.tile:nth-child(5){animation-delay:.24s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.tile:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(360px circle at var(--mx, 50%) var(--my, 50%),rgba(139,92,246,.22),transparent 65%)}.tile:hover{transform:translateY(-3px);border-color:#fff3}.tile:hover:before{opacity:1}.tile>*{position:relative}.tile-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:auto}.icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:24px;background:linear-gradient(135deg,#8b5cf640,#22d3ee2e);border:1px solid var(--line);color:#fff}.go{color:var(--muted);font-size:22px;transition:transform .25s,color .25s}.tile:hover .go{color:var(--cyan);transform:translate(3px,-3px)}.tile h2{margin:18px 0 0;font-size:22px;letter-spacing:-.02em;font-weight:600}.tile p{margin:0;color:var(--muted);font-size:15px;line-height:1.45}.badge{margin-top:12px;display:inline-flex;gap:5px;align-items:center;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.status{display:inline-flex;align-items:center;gap:8px;font-size:13px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#00000040}.status i{width:8px;height:8px;border-radius:50%;background:var(--muted)}.status.on i{background:var(--ok);box-shadow:0 0 0 0 var(--ok);animation:pulse 2s infinite}.status.off i{background:var(--bad)}@keyframes pulse{70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}.players{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:10px 0 0}.players li{font-family:var(--mono);font-size:12px;padding:4px 10px;border-radius:8px;background:#ffffff0f}.mc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.chip{font-size:13px}footer{margin-top:56px;color:var(--muted);font-size:13px;text-align:center}.overlay{position:fixed;inset:0;display:grid;place-items:center;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:20px;z-index:10}.modal{width:min(360px,100%);padding:24px;border-radius:20px;background:#12121c;border:1px solid var(--line);display:flex;flex-direction:column;gap:14px}.modal h3{margin:0;font-size:20px}.modal input{font:inherit;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#ffffff0a;color:var(--text);outline:none}.modal input:focus{border-color:var(--violet)}.err{color:var(--bad);font-size:14px;margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.modal button[type=submit]{background:linear-gradient(100deg,var(--violet),#6366f1);border-color:transparent;font-weight:600}.modal button:disabled{opacity:.5;cursor:default}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}}
