:root{--night: #07111F;--panel: #0C1D38;--panel-2: #12264A;--snow: #F4F1EA;--snow-dim: rgba(244, 241, 234, .72);--gold: #E9B864;--gold-hi: #FFE2A3;--gold-ink: #1A1206;--ember: #F08A3C;--display: "Josefin Sans", "Avenir Next", system-ui, sans-serif;--body: "DM Sans", system-ui, sans-serif;color-scheme:dark}html,body{margin:0;height:100%;background:var(--night);color:var(--snow);font-family:var(--body);overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none}#app{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.stage{position:relative;width:1080px;height:1920px;flex:none;overflow:hidden;transform-origin:center center;background:var(--night)}.reach-overlay{position:absolute;left:0;right:0;top:1440px;bottom:0;background:#ff3c3c2e;border-top:2px dashed rgba(255,90,90,.8);pointer-events:none;z-index:9999}.reach-overlay span{position:absolute;right:16px;top:8px;font:700 18px var(--display);letter-spacing:.2em;color:#ff9c9c}.screen{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.abs{position:absolute}.frame{position:absolute;top:26px;right:26px;bottom:26px;left:26px;border:2px solid rgba(233,184,100,.75);pointer-events:none;z-index:20}.frame2{position:absolute;top:40px;right:40px;bottom:40px;left:40px;border:1px solid rgba(233,184,100,.45);pointer-events:none;z-index:20}.chev{position:absolute;width:88px;height:88px;z-index:21;pointer-events:none;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5))}.chev.tr{right:22px;top:22px}.chev.bl{left:22px;bottom:22px}.snow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.snow i{position:absolute;top:0;border-radius:50%;background:#fff;animation:drift linear infinite}@keyframes drift{0%{transform:translateY(-20px)}to{transform:translateY(1940px)}}@media (prefers-reduced-motion: reduce){.snow{display:none}}.lockup{filter:drop-shadow(0 6px 14px rgba(4,10,24,.65)) drop-shadow(0 2px 3px rgba(4,10,24,.5))}.eyebrow{font:600 24px var(--display);letter-spacing:.4em;color:#f2c46d}.h1{margin:0;font:700 68px/1 var(--display);letter-spacing:.02em}.gold-text{background:linear-gradient(180deg,#ffe7a8,#e9b864 45%,#b97a2a);-webkit-background-clip:text;background-clip:text;color:transparent}button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer}.cta{display:flex;align-items:center;justify-content:center;gap:18px;height:128px;border-radius:999px;color:var(--gold-ink);font:700 52px/1 var(--display);letter-spacing:.18em;padding-top:.14em;box-sizing:border-box;background:linear-gradient(180deg,#ffe2a0,#e7b25a 55%,#c08033);box-shadow:0 18px 50px #e9963c4d}.cta svg{margin-top:-.14em}.cta:active,.tile:active,.key:active{transform:scale(.97)}.ghost{display:flex;align-items:center;justify-content:center;height:128px;border-radius:999px;border:2px solid rgba(244,241,234,.4);font:700 28px/1 var(--display);letter-spacing:.18em;padding-top:.14em;box-sizing:border-box}.round{width:88px;height:88px;border-radius:50%;border:2px solid rgba(233,184,100,.7);background:#09162cb3;display:flex;align-items:center;justify-content:center}.chip{display:inline-flex;align-items:center;height:48px;padding:.14em 22px 0;border-radius:999px;box-sizing:border-box;font:700 24px/1 var(--display);letter-spacing:.14em}.chip.solid{background:var(--gold);color:var(--gold-ink)}.chip.line{border:2px solid rgba(233,184,100,.7);color:#f2c46d}.avatar{flex:none;border-radius:50%;border:3px solid #E9B864;box-sizing:border-box;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;line-height:1;padding-top:.12em;color:var(--night)}.avatar.guest{background:none;border:2px dashed rgba(244,241,234,.45);color:#f4f1eab3}.panel{background:#09162ce6;border:1px solid rgba(233,184,100,.55);border-radius:24px;box-sizing:border-box}.art{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.art .cover{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.art .mark{border-radius:50%;background:#07111f59;display:flex;align-items:center;justify-content:center;position:relative}.art .circle{border-radius:50%;object-fit:cover;border:3px solid #E9B864;position:relative}.board .brow{display:flex;align-items:center;gap:22px;height:70px;border-top:1px solid rgba(244,241,234,.1);font-family:var(--display)}.board .rank{width:46px;font-weight:700;font-size:30px;color:#f2c46d}.board .name{flex:1;font-weight:600;font-size:34px;letter-spacing:.12em}.board .pts{font-weight:700;font-size:36px;color:var(--gold-hi);font-variant-numeric:tabular-nums}.board.compact .brow{height:64px;gap:18px}.board.compact .name{font-size:30px}.board.compact .pts{font-size:32px}.board .empty{padding:24px 0;font-size:24px;color:var(--snow-dim);border-top:1px solid rgba(244,241,234,.1)}.tabs{display:flex;gap:6px;padding:6px;border-radius:999px;background:var(--night);border:1px solid rgba(244,241,234,.15)}.tabs button{min-width:150px;height:56px;border-radius:999px;padding-top:.14em;font:700 20px/1 var(--display);letter-spacing:.16em}.tabs button[aria-selected=true]{background:var(--gold);color:var(--gold-ink)}.cta-wrap{position:relative;display:flex;animation:breathe 2.4s ease-in-out infinite}.cta-wrap .ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;border:4px solid #E9B864;animation:pulse 1.8s ease-out infinite}.cta-wrap .ring.r2{border-width:3px;animation-delay:.9s}.cta .shine{position:absolute;left:0;top:-20px;width:90px;height:180px;background:#ffffff73;animation:shine 3.2s ease-in-out infinite}@keyframes pulse{0%{transform:scale(1);opacity:.7}to{transform:scale(1.16,1.4);opacity:0}}@keyframes shine{0%{transform:translate(-140px) skew(-20deg)}55%,to{transform:translate(760px) skew(-20deg)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}.spot{display:flex;align-items:center;gap:44px;height:380px;animation:outAll .5s ease-in 6.5s both}.spot .thumb{flex:none;width:300px;height:300px;border-radius:32px;border:3px solid #E9B864;box-shadow:0 24px 60px #00000073;animation:thumbIn 2.6s cubic-bezier(.2,.8,.2,1) both}.spot .thumb .art{width:100%;height:100%}.slide{animation:slideIn .6s cubic-bezier(.2,.8,.2,1) both}.fly{animation:flyIn .55s cubic-bezier(.2,.9,.25,1.05) both}.pop{animation:popIn .5s cubic-bezier(.2,.9,.25,1.2) both}@keyframes thumbIn{0%{opacity:0;transform:translate(310px) scale(1.55)}18%{opacity:1;transform:translate(310px) scale(1.55)}38%,to{transform:none}}@keyframes slideIn{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:none}}@keyframes flyIn{0%{opacity:0;transform:translate(420px)}to{opacity:1;transform:none}}@keyframes outAll{0%{opacity:1}to{opacity:0;transform:translateY(40px)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}.dots{display:flex;justify-content:center;gap:12px}.dots i{height:8px;width:8px;border-radius:4px;background:#f4f1ea59;transition:width .3s}.dots i.on{width:34px;background:#e9b864}.scroller{position:absolute;left:0;right:0;top:410px;bottom:44px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-y;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 120px),transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 120px),transparent 100%)}.scroller::-webkit-scrollbar{display:none}.blocks{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px;padding:0 80px 240px}.tile{position:relative;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:var(--panel);border:1px solid rgba(233,184,100,.45);text-align:left}.tile .info{flex:1;padding:14px 18px;display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0}.tile .t{font:700 28px/1.05 var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile .l{font:600 18px var(--display);letter-spacing:.08em;color:#f2c46d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag{position:absolute;top:12px;height:32px;padding:.12em 12px 0;box-sizing:border-box;display:flex;align-items:center;gap:6px;border-radius:999px;font:700 15px/1 var(--display);letter-spacing:.18em;z-index:2}.tag.badge{left:12px;background:var(--night);color:#f2c46d}.tag.cam{right:12px;background:#07111fd9;color:var(--snow);padding-top:0}.banner{display:flex;align-items:center;gap:22px;height:96px;padding:0 26px;border-radius:22px;border:1px solid rgba(233,184,100,.6);box-sizing:border-box;text-align:left}.banner .ic{flex:none;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#07111f59}.hero{position:relative;height:360px;border-radius:26px;overflow:hidden;border:2px solid #E9B864;text-align:left}.hero .art{position:absolute;top:0;right:0;bottom:0;left:0;align-items:flex-start;padding-top:40px;box-sizing:border-box}.hero .shade{position:absolute;left:0;right:0;bottom:0;height:230px;background:linear-gradient(180deg,#07111f00,#07111fe6)}.more-hint{position:absolute;left:0;right:0;bottom:70px;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none;z-index:5;animation:bob 1.6s ease-in-out infinite;transition:opacity .3s}@keyframes bob{0%,to{transform:none}50%{transform:translateY(8px)}}.slot{width:150px;height:170px;border-radius:20px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding-top:.12em;font:700 110px/1 var(--display);color:var(--gold-hi);background:#09162ce6;border:2px solid rgba(244,241,234,.25)}.slot.active{border:4px solid #E9B864}.keys{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px;width:920px}.key{height:108px;border-radius:18px;border:1px solid rgba(244,241,234,.2);background:#12264a;display:flex;align-items:center;justify-content:center;font:700 44px/1 var(--display);padding-top:.12em;box-sizing:border-box}.key.fn{color:#f2c46d;padding-top:0}.keys.full{grid-template-columns:repeat(10,minmax(0,1fr));gap:10px}.keys.full .key{height:96px;font-size:38px}.fill>.art{flex:1;width:100%;height:100%}.admin .atabs{display:flex;gap:10px}.admin .atabs button{letter-spacing:.08em;font-size:20px}.admin .atabs button,.admin .chips button{height:72px;padding:.14em 20px 0;white-space:nowrap;border-radius:999px;border:2px solid rgba(244,241,234,.25);font:700 22px/1 var(--display);letter-spacing:.14em}.admin .atabs button[aria-pressed=true],.admin .chips button[aria-pressed=true]{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}.admin .ascroll{overflow-y:auto;touch-action:pan-y;scrollbar-width:none}.admin .acol{display:flex;flex-direction:column;gap:22px;padding-bottom:80px}.admin .arow{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.admin .chips{display:flex;gap:10px;flex-wrap:wrap}.admin .alist{display:flex;flex-direction:column;gap:10px}.admin .aitem{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:18px;background:var(--panel);border:1px solid rgba(244,241,234,.12)}.admin .aitem.off{opacity:.45}.admin .abtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:72px;padding:.14em 22px 0;border-radius:16px;background:var(--panel-2);border:1px solid rgba(244,241,234,.2);font:700 20px/1 var(--display);letter-spacing:.12em;box-sizing:border-box}.admin .abtn.sq{width:72px;padding:0;font-size:28px}.admin .abtn.gold{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}.admin .abtn.danger{color:var(--ember);border-color:#f08a3c99}.admin .abtn[aria-pressed=true]{border-color:var(--gold);color:var(--gold-hi)}.admin .abtn:disabled{opacity:.4}.admin .amsg{min-height:28px;font-size:22px;color:var(--pine, #7FC8A9)}.admin .ah{margin:18px 0 0;font:600 22px var(--display);letter-spacing:.32em;color:#f2c46d}.admin .aset{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid rgba(244,241,234,.1);flex-wrap:wrap}.admin .flag{margin-left:14px;padding:4px 10px 2px;border-radius:8px;background:#f08a3c33;color:var(--ember);font-size:16px;letter-spacing:.14em;vertical-align:middle}.corner-hold{position:absolute;right:0;top:0;width:240px;height:220px;z-index:50}
