@font-face{font-family:Rajdhani;font-style:normal;font-weight:500;font-display:block;src:url(./rajdhani-500-C79CA2_i.woff2) format("woff2")}@font-face{font-family:Rajdhani;font-style:normal;font-weight:600;font-display:block;src:url(./rajdhani-600-45swLdS9.woff2) format("woff2")}@font-face{font-family:Rajdhani;font-style:normal;font-weight:700;font-display:block;src:url(./rajdhani-700-Bv-gb7Wq.woff2) format("woff2")}@font-face{font-family:Teko;font-style:normal;font-weight:500 700;font-display:block;src:url(./teko-variable-BcIXFqUw.woff2) format("woff2")}:root{--ink: #0d0b16;--panel: rgba(14, 11, 28, .86);--line: rgba(255, 255, 255, .1);--text: #f2eeff;--dim: rgba(242, 238, 255, .55);--accent: #8b6ef0;--hot: #ff4f6d;--gold: #ffd23f;--p1: #ff4f6d;--p2: #4fa3ff;--p3: #ffd23f;--p4: #5fe37a;--display: "Teko", "Rajdhani", "Arial Narrow", sans-serif;--body: "Rajdhani", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--ink);color:var(--text);font-family:var(--body);font-size:18px;-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none;touch-action:none}canvas#game{position:fixed;inset:0;display:block}#ui{position:fixed;inset:0;pointer-events:none}#ui>*{pointer-events:auto}button,input{font-family:inherit;color:inherit}.screen{position:absolute;inset:0;display:flex;flex-direction:column;padding:clamp(16px,3.5vw,56px);gap:20px;background:radial-gradient(ellipse at 50% 120%,rgba(139,110,240,.18),transparent 60%),linear-gradient(180deg,#06040e8c,#06040ed1);animation:fadeIn .25s ease-out;overflow-y:auto}.screen.clear{background:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.header{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}.header h1{margin:0;font-family:var(--display);font-weight:600;letter-spacing:.02em;font-size:clamp(44px,6vw,84px);line-height:.9;text-transform:uppercase}.header .sub{color:var(--dim);font-size:20px;font-weight:600}.hint{margin-top:auto;display:flex;gap:22px;flex-wrap:wrap;color:var(--dim);font-weight:600;font-size:17px}.kbd{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 7px;margin-right:6px;border-radius:6px;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);font-weight:700;font-size:15px;color:var(--text)}.kbd.a{background:#3aa655;border-color:#58c774}.kbd.b{background:#c23a4b;border-color:#e0596a}.kbd.y{background:#c9a227;border-color:#e6c14a;color:#1a1400}.title-screen{align-items:center;justify-content:center;text-align:center;background:none}.logo{font-family:var(--display);font-weight:700;line-height:.78;text-transform:uppercase;font-size:clamp(96px,17vw,260px);letter-spacing:-.01em;background:linear-gradient(180deg,#fff,#d9ccff 45%,#8b6ef0);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 8px 0 var(--ink)) drop-shadow(0 0 40px rgba(139,110,240,.55));transform:skew(-8deg)}.logo span{display:block;font-size:.13em;letter-spacing:.42em;margin-top:.35em;line-height:1;background:linear-gradient(90deg,var(--hot),var(--gold));-webkit-background-clip:text;background-clip:text}.tagline{color:var(--dim);font-size:clamp(16px,1.6vw,22px);font-weight:600;margin-top:28px}.press{margin-top:60px;font-family:var(--display);font-size:clamp(28px,3vw,40px);letter-spacing:.12em;text-transform:uppercase;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.menu-screen{justify-content:center}.menu-wrap{display:grid;grid-template-columns:minmax(280px,520px) 1fr;gap:48px;align-items:center}@media(max-width:820px){.menu-wrap{grid-template-columns:1fr}.menu-side{display:none}}.menu-list{display:flex;flex-direction:column;gap:10px}.menu-item{position:relative;text-align:left;border:0;cursor:pointer;padding:14px 26px 12px;background:var(--panel);clip-path:polygon(0 0,100% 0,calc(100% - 18px) 100%,0 100%);font-family:var(--display);font-size:clamp(32px,3.4vw,50px);line-height:1;text-transform:uppercase;letter-spacing:.02em;transition:transform .12s,background .12s,padding .12s}.menu-item small{display:block;font-family:var(--body);font-size:16px;font-weight:600;color:var(--dim);text-transform:none;letter-spacing:0;margin-top:2px}.menu-item.focus,.menu-item:hover{background:linear-gradient(90deg,var(--accent),#5a3fd0);padding-left:40px;transform:translate(8px)}.menu-item.focus small,.menu-item:hover small{color:#ffffffd9}.menu-item.focus:before{content:"";position:absolute;left:14px;top:50%;width:12px;height:12px;background:#fff;transform:translateY(-50%) rotate(45deg)}.menu-side{color:var(--dim);font-size:20px;line-height:1.5;max-width:560px}.menu-side h3{font-family:var(--display);font-size:40px;color:var(--text);margin:0 0 8px;text-transform:uppercase;font-weight:600}.css-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media(max-width:900px){.css-grid{grid-template-columns:repeat(2,1fr)}}.char-card{position:relative;aspect-ratio:3 / 4;min-height:180px;overflow:hidden;cursor:pointer;background:var(--panel);border:2px solid var(--line);clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%);transition:transform .12s,border-color .12s}.char-card canvas{position:absolute;inset:0;width:100%;height:100%}.char-card .meta{position:absolute;left:0;right:0;bottom:0;padding:14px 16px 12px;background:linear-gradient(0deg,rgba(8,6,16,.95),transparent)}.char-card .name{font-family:var(--display);font-size:clamp(36px,3.4vw,54px);line-height:.85;text-transform:uppercase}.char-card .arch{font-weight:700;font-size:15px;letter-spacing:.14em;text-transform:uppercase;opacity:.85}.char-card .cursors{position:absolute;top:10px;left:10px;display:flex;gap:6px}.cursor-tag{font-family:var(--display);font-size:24px;line-height:1;padding:4px 10px 1px;color:var(--ink);clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,0 100%)}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media(max-width:900px){.slots{grid-template-columns:repeat(2,1fr)}}.slot{position:relative;padding:14px 16px;min-height:132px;background:var(--panel);border-top:5px solid var(--line);display:flex;flex-direction:column;gap:4px}.slot.empty{opacity:.55;border-top-style:dashed}.slot .ptag{font-family:var(--display);font-size:28px;line-height:1}.slot .dev{color:var(--dim);font-size:15px;font-weight:600}.slot .pick{font-family:var(--display);font-size:38px;line-height:.9;text-transform:uppercase}.slot .blurb{font-size:15px;color:var(--dim);line-height:1.3}.slot .ready{position:absolute;right:12px;top:12px;font-family:var(--display);font-size:26px;padding:3px 12px 0;background:var(--p4);color:var(--ink)}.slot .cpu-badge{font-size:13px;font-weight:700;letter-spacing:.1em;padding:2px 8px;background:#ffffff1f;align-self:flex-start}.stage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.stage-card{border:0;text-align:left;cursor:pointer;padding:0;background:var(--panel);overflow:hidden;outline:3px solid transparent;transition:outline-color .1s,transform .12s}.stage-card.focus,.stage-card:hover{outline-color:#fff;transform:translateY(-4px)}.stage-card .thumb{height:150px;position:relative}.stage-card .info{padding:12px 16px 14px}.stage-card .sname{font-family:var(--display);font-size:38px;line-height:.9;text-transform:uppercase}.stage-card .sdesc{color:var(--dim);font-size:16px;font-weight:600}.online-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;max-width:1100px}.panel{background:var(--panel);padding:22px 24px;border-left:4px solid var(--accent)}.panel h3{margin:0 0 12px;font-family:var(--display);font-size:36px;font-weight:600;text-transform:uppercase;line-height:1}.panel p{margin:0 0 14px;color:var(--dim);line-height:1.4}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.field input{background:#00000059;border:2px solid var(--line);padding:10px 14px;font-size:24px;font-weight:700;outline:none;width:100%}.field input.focus,.field input:focus{border-color:var(--accent)}.field input.code{font-family:var(--display);font-size:48px;letter-spacing:.3em;text-transform:uppercase;text-align:center;padding:6px 10px 0}.btn{border:0;cursor:pointer;padding:12px 22px 9px;font-family:var(--display);font-size:30px;line-height:1;text-transform:uppercase;background:#ffffff14;letter-spacing:.03em;clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%);transition:background .1s}.btn.primary{background:var(--accent)}.btn.focus,.btn:hover{background:#fff;color:var(--ink)}.btn:disabled{opacity:.35;cursor:default}.room-code{font-family:var(--display);font-size:clamp(72px,9vw,130px);line-height:.8;letter-spacing:.12em;background:linear-gradient(90deg,#fff,#cbbcff);-webkit-background-clip:text;background-clip:text;color:transparent}.status{display:flex;align-items:center;gap:10px;color:var(--dim);font-weight:600}.dot{width:10px;height:10px;border-radius:50%;background:#666}.dot.ok{background:var(--p4);box-shadow:0 0 10px var(--p4)}.dot.wait{background:var(--gold);animation:pulse 1s infinite}.error{color:var(--hot);font-weight:700;min-height:1.4em}.movelist{display:grid;grid-template-columns:280px 1fr;gap:28px;min-height:0;flex:1}@media(max-width:900px){.movelist{grid-template-columns:1fr}}.movelist .tabs{display:flex;flex-direction:column;gap:8px}.moves-scroll{overflow-y:auto;padding-right:8px}.move-table{width:100%;border-collapse:collapse}.move-table th{text-align:left;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);padding:8px 10px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#120e22}.move-table td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}.move-table .mname{font-weight:700;font-size:19px}.move-table .mdesc{color:var(--dim);font-size:15px}.move-table .minput{font-family:var(--display);font-size:26px;white-space:nowrap;line-height:1}.move-table .fd{font-variant-numeric:tabular-nums;color:var(--dim);white-space:nowrap;font-weight:600}.tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.1em;padding:2px 7px;margin:2px 4px 0 0}.tag.launch{background:#c9a227;color:#1a1400}.tag.ender{background:var(--hot)}.tag.armor{background:#6b7a86}.tag.grab{background:#8a4fd8}.tag.inv{background:#3aa655}.section-title{font-family:var(--display);font-size:30px;text-transform:uppercase;margin:22px 0 6px}.guide{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.guide .panel ul{margin:0;padding-left:20px;color:var(--dim);line-height:1.55}.guide .panel b{color:var(--text)}.binds{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,auto) auto;gap:8px 16px;align-items:center}.binds span{white-space:nowrap}.guide .panel.wide{grid-column:span 2}@media(max-width:1100px){.guide .panel.wide{grid-column:auto}.binds span{white-space:normal}}.binds .act{font-weight:700}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#06040eb3;animation:fadeIn .15s}.overlay .box{background:var(--panel);padding:30px 34px;min-width:min(420px,90vw);display:flex;flex-direction:column;gap:10px}.overlay h2{margin:0 0 8px;font-family:var(--display);font-size:64px;line-height:.9;text-transform:uppercase;font-weight:600}.countdown{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;font-family:var(--display);font-size:clamp(140px,22vw,320px);line-height:1;font-style:italic;text-transform:uppercase;color:#fff;text-shadow:0 8px 0 var(--ink),0 0 60px rgba(139,110,240,.8);animation:slam .5s cubic-bezier(.2,1.6,.4,1)}@keyframes slam{0%{transform:scale(2.2);opacity:0}to{transform:scale(1);opacity:1}}#toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:10;background:var(--panel);border-left:4px solid var(--gold);padding:12px 20px;font-weight:700;animation:fadeIn .2s;max-width:90vw}.pad-hint{position:fixed;right:18px;bottom:14px;color:var(--dim);font-weight:600;font-size:15px;pointer-events:none}.net-wait{position:fixed;left:50%;top:18%;transform:translate(-50%);z-index:6;background:var(--panel);border-left:4px solid var(--gold);padding:14px 22px;font-family:var(--display);font-size:34px;text-transform:uppercase;letter-spacing:.04em;pointer-events:none;animation:fadeIn .2s}
