*,*:before,*:after{box-sizing:border-box}:root{--bg: #05050c;--text: #dfe6f2;--dim: #8b93a8;--dimmer: #5d6577;--line: #31315a;--line-dark: #23233a;--panel: rgba(10, 10, 20, .82);--panel-solid: rgba(9, 9, 17, .97);--accent: #22d3ee;--accent-soft: #67e8f9;color-scheme:dark}html,body{margin:0;min-height:100%;background:var(--bg)}body{font-family:Avenir Next,Futura,-apple-system,BlinkMacSystemFont,sans-serif;font-size:clamp(11px,1vw,16px);color:var(--text);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}#bg{position:fixed;inset:0;z-index:0;background:radial-gradient(ellipse at 50% 35%,#12122a,#05050c 70%)}#bg .art{position:absolute;inset:0;background-position:center;background-size:cover;opacity:0;transition:opacity .45s ease}#bg .art.on{opacity:.55}#bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#05050cb8,#05050ce0)}.shell{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:1fr minmax(15em,21%);grid-template-rows:auto 1fr auto;grid-template-areas:"brand rail" "view  rail" "view  dock";gap:1.4em;padding:1.6em}.brand{grid-area:brand;font-weight:800;letter-spacing:.3em;font-size:.95em;color:var(--text);align-self:start}.brand span{color:var(--accent-soft)}.view{grid-area:view;min-width:0}.rail{grid-area:rail;display:flex;flex-direction:column;gap:.9em;min-width:0}.dock{grid-area:dock;display:flex;gap:.7em;justify-content:flex-end;align-items:flex-end}.panel{background:var(--panel);border:1px solid var(--line);border-radius:.6em;backdrop-filter:blur(3px)}.sechead{display:flex;align-items:center;gap:.8em;color:var(--dim);font-weight:700;letter-spacing:.3em;font-size:.72em;justify-content:center}.sechead:before,.sechead:after{content:"";flex:1;height:1px;background:var(--line);opacity:.6}.profile{display:flex;gap:.9em;align-items:center;padding:.7em .9em}.profile .face{width:3.2em;height:3.6em;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:linear-gradient(160deg,#1b1b34,#0d0d18);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);font-weight:800;font-size:1.2em;color:var(--accent-soft)}.profile .who{min-width:0}.profile .nm{font-weight:800;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile .sub{color:var(--accent-soft);font-size:.7em;font-weight:700;letter-spacing:.08em;margin-top:.2em}.profile .edit{margin-left:auto;color:var(--dimmer);font-size:.7em;font-weight:700;letter-spacing:.12em;flex:none}.profile .edit:hover{color:var(--text)}.plist{display:flex;flex-direction:column;gap:.6em}.pslot{display:flex;gap:.7em;align-items:center;background:var(--panel);border:1px dashed var(--line-dark);border-radius:.5em;padding:.55em .8em;color:var(--dimmer);backdrop-filter:blur(3px);font-size:.85em}.pslot.you{border-style:solid;border-color:var(--line);color:var(--text)}.pslot .fc{width:2em;height:2em;border-radius:.35em;border:1px solid var(--line-dark);background:#0d0d18;flex:none;display:flex;align-items:center;justify-content:center;font-size:1.1em;font-weight:800}.pslot.inv{cursor:pointer;color:#93c5fd;border-color:#2a4a8a;font-weight:700;letter-spacing:.12em;font-size:.76em;transition:border-color .15s}.pslot.inv:hover{border-color:#3b6ad1}.pslot.inv .fc{border-color:#2a4a8a;color:#93c5fd}.railnote{color:var(--dimmer);font-size:.68em;line-height:1.5;text-align:center;padding:0 .4em}.coderow:not(:empty){display:flex;align-items:center;gap:.6em;background:var(--panel);border:1px solid var(--accent);border-radius:.5em;padding:.55em .7em;backdrop-filter:blur(3px)}.coderow .codelabel{font-size:.6em;font-weight:800;letter-spacing:.24em;color:var(--dimmer)}.coderow .code{font-size:1.05em;font-weight:800;letter-spacing:.22em;color:var(--accent-soft);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.coderow .copy{flex:none;font-size:.62em;font-weight:800;letter-spacing:.14em;color:var(--accent-soft);border:1px solid var(--line);border-radius:.35em;padding:.45em .6em}.coderow .copy:hover{border-color:var(--accent)}.pslot.filled{border-style:solid;border-color:var(--line-dark);color:var(--text)}.pslot .pn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pslot .tagl{margin-left:auto;flex:none;font-size:.62em;font-weight:800;letter-spacing:.16em;color:var(--accent-soft)}.pslot .tagl.away,.pslot.away{color:var(--dimmer)}.pslot.away{opacity:.6}.railacts:not(:empty){display:flex;flex-direction:column;gap:.5em}.railbtn{border:1px solid var(--line-dark);border-radius:.5em;padding:.6em 0;font-size:.68em;font-weight:800;letter-spacing:.16em;color:var(--dim);background:var(--panel);backdrop-filter:blur(3px);transition:border-color .15s,color .15s}.railbtn:hover{border-color:var(--line);color:var(--text)}.railbtn.danger:hover{border-color:#7f1d1d;color:#fca5a5}.nameinput.code{letter-spacing:.3em;font-weight:800;text-transform:uppercase}.namehint.err:empty{display:none}.namehint.err{color:#fca5a5}.dock .d{width:3em;height:3em;border-radius:.5em;border:1px solid var(--line);background:var(--panel);backdrop-filter:blur(3px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25em}.dock .d:hover{border-color:#4a4a80}.dock .g{width:1.05em;height:1.05em;border-radius:.25em}.dock .l{font-size:.44em;letter-spacing:.12em;color:var(--dimmer);font-weight:700}.games{display:grid;gap:1.2em;grid-template-columns:1fr}.games.many{grid-template-columns:repeat(auto-fill,minmax(17em,1fr))}.card{position:relative;display:block;width:100%;text-align:left;border:1px solid var(--line-dark);border-radius:.7em;overflow:hidden;background:linear-gradient(180deg,#12121f,#0a0a14);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.card:hover:not(.blocked){transform:translateY(-2px);border-color:var(--accent);box-shadow:0 0 34px #22d3ee2e}.card .art{height:16em;background-position:center 22%;background-size:cover;border-bottom:2px solid var(--accent)}.games.many .card .art{height:9em}.art.noart{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#0d0d18,#0d0d18 10px,#12121f 10px 20px);color:var(--dimmer);font-size:.7em;font-weight:800;letter-spacing:.3em;border-bottom-color:var(--rc, var(--accent))}.card .plate{padding:.9em 1.1em 1.1em}.card .nm{font-weight:800;font-size:1.15em;letter-spacing:.03em}.card .tag{color:var(--dim);font-size:.82em;line-height:1.5;margin-top:.3em}.card .meta{margin-top:.7em;color:var(--dimmer);font-size:.72em;font-weight:700;letter-spacing:.14em}.card.blocked{cursor:default;opacity:.55}.card .why{position:absolute;top:.8em;right:.8em;background:#05050cdb;border:1px solid var(--line);border-radius:.4em;padding:.3em .6em;font-size:.7em;font-weight:700;letter-spacing:.06em;color:#fca5a5}.empty{border:1px dashed var(--line-dark);border-radius:.5em;padding:2em 1em;color:var(--dimmer);font-size:.85em;text-align:center}.game{display:flex;flex-direction:column;gap:1.1em}.back{align-self:flex-start;color:var(--dim);font-size:.74em;font-weight:700;letter-spacing:.18em}.back:hover{color:var(--text)}.game .hero{border:1px solid var(--line-dark);border-radius:.7em;overflow:hidden;background:linear-gradient(180deg,#12121f,#0a0a14)}.game .hero .art{height:20em;background-position:center 20%;background-size:cover;border-bottom:2px solid var(--accent)}.game .body{padding:1.2em 1.4em 1.4em}.game h1{margin:0;font-size:1.6em;letter-spacing:.02em}.game .tag{color:var(--accent-soft);font-size:.85em;margin-top:.35em;letter-spacing:.04em}.game .blurb{color:var(--dim);font-size:.9em;line-height:1.6;margin:1em 0 0;max-width:46em}.game .facts{display:flex;flex-wrap:wrap;gap:1.4em;margin-top:1.1em;color:var(--dimmer);font-size:.72em;font-weight:700;letter-spacing:.14em}.play{margin-top:1.3em;padding:.85em 2.4em;border-radius:.5em;border:1px solid var(--accent);color:#eafcff;background:linear-gradient(180deg,#1691b4,#0d4a63 55%,#093247);box-shadow:0 0 26px #22d3ee4d,inset 0 1px #fff3;font-weight:800;letter-spacing:.18em;font-size:.95em;transition:filter .15s,box-shadow .15s}.play:hover:not(:disabled){filter:brightness(1.12);box-shadow:0 0 38px #22d3ee80}.play:disabled{cursor:default;filter:grayscale(.8);opacity:.5;box-shadow:none}.blockedwhy{margin-top:.7em;color:#fca5a5;font-size:.78em}.overlay{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#04040ac7;backdrop-filter:blur(5px);padding:1.2em}.namebox{width:min(26em,100%);background:var(--panel-solid);border:1px solid var(--line);border-radius:.8em;padding:1.8em;display:flex;flex-direction:column;gap:.9em;text-align:center}.namebox h2{margin:0;font-size:1em;letter-spacing:.18em;color:var(--accent-soft)}.nameinput{width:100%;background:#0a0a16;color:var(--text);border:1px solid var(--line-dark);border-radius:.4em;padding:.7em .9em;font:inherit;font-size:1em;text-align:center;letter-spacing:.06em}.nameinput:focus{outline:none;border-color:var(--accent)}.namebox .play{margin-top:0;padding:.7em 1.4em}.namehint{color:var(--dimmer);font-size:.72em;line-height:1.5}#status{position:fixed;left:50%;bottom:5%;transform:translate(-50%);z-index:20;padding:.6em 1.2em;border-radius:.5em;background:#090911f0;border:1px solid var(--line);color:var(--text);font-size:.82em;letter-spacing:.03em;pointer-events:none;opacity:0;transition:opacity .2s;max-width:min(34em,88vw);text-align:center}#status.on{opacity:1}.mobilenote{display:none}@media(max-width:860px){.shell{grid-template-columns:1fr;grid-template-areas:"brand" "view" "rail" "dock";padding:1.2em}body{font-size:15px}.dock{justify-content:flex-start}.card .art,.game .hero .art{height:11em}.mobilenote{display:block;border:1px dashed var(--line);border-radius:.5em;padding:.9em 1em;color:var(--dim);font-size:.85em;line-height:1.55;text-align:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
