@font-face{font-family:Bangers;src:url(assets/fonts/Bangers.ttf) format("truetype");font-display:swap}
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;background:#1a0833;color:#fff;font-family:Bangers,Impact,"Arial Black",sans-serif;letter-spacing:.04em;
  touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;-webkit-text-size-adjust:100%}
img{-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
button{font:inherit;color:inherit;-webkit-touch-callout:none}
#bg{position:fixed;inset:-60px;background:#2a0d55 url(assets/screens/title.webp) center/cover no-repeat;filter:blur(24px) brightness(.45) saturate(1.25)}
#loading{position:fixed;inset:0;display:grid;place-items:center;background:#2a0d55;color:#ffd84a;font-size:34px;z-index:99}
.scr{position:fixed;inset:0;display:none;overflow:hidden}
.scr.on{display:block}
.box{position:absolute;--u:1px;box-shadow:0 0 40px #000c}
.box>img{width:100%;height:100%;display:block;pointer-events:none}
#cv{position:absolute;left:0;top:0;touch-action:none;display:block}

/* live widgets on painted screens (positions set in JS from zone rects) */
.z{position:absolute;display:flex;align-items:center;white-space:nowrap;overflow:hidden;pointer-events:none;line-height:1}
.zb{position:absolute;border:0;padding:0;margin:0;background:transparent;cursor:pointer;border-radius:999px;transition:background .08s,transform .08s}
.zb:active,.zb.dn{background:rgba(255,255,255,.22);transform:scale(.97)}
.lbn{justify-content:flex-start;padding:0 calc(var(--u)*12);color:#fff;font-size:calc(var(--u)*30);border-radius:calc(var(--u)*12);
  background:linear-gradient(#5b2aa6,#2f1068);box-shadow:inset 0 0 0 calc(var(--u)*3) #f2c14e;text-shadow:0 calc(var(--u)*2) 0 #1a0533}
.lbn.pod{font-size:calc(var(--u)*30);white-space:normal;line-height:.95}
.lbs{justify-content:flex-end;padding:0 calc(var(--u)*14);color:#ffe15a;font-size:calc(var(--u)*34);border-radius:999px;
  background:linear-gradient(#2a1046,#140624);box-shadow:inset 0 0 0 calc(var(--u)*2) #6c3fb0;text-shadow:0 calc(var(--u)*2) 0 #5a2a00}
.lbs.pod{font-size:calc(var(--u)*44);background:linear-gradient(#24103c,#0f0620)}
.lbn.me,.lbs.me{box-shadow:inset 0 0 0 calc(var(--u)*4) #7dff6a,0 0 calc(var(--u)*14) #7dff6a}
.empty{color:rgba(255,255,255,.45)}
.vf{justify-content:center;color:#ffe14a;font-size:calc(var(--u)*92);border-radius:999px;background:radial-gradient(ellipse at 50% 35%,#d4183a,#8c0a22 70%,#6a0618);
  text-shadow:0 calc(var(--u)*5) 0 #6b2400,0 0 calc(var(--u)*3) #6b2400}
.vb{justify-content:flex-end;padding:0 calc(var(--u)*14);color:#ffe14a;font-size:calc(var(--u)*34);border-radius:calc(var(--u)*10);background:linear-gradient(#2b2373,#16104a);text-shadow:0 calc(var(--u)*2) 0 #000}
.vj{justify-content:center;color:#ffe14a;font-size:calc(var(--u)*66);border-radius:999px;background:linear-gradient(#5d1a99,#350a62);text-shadow:0 calc(var(--u)*4) 0 #5a2000}

#ov{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:#0009;z-index:20;padding:16px}
#ov.on{display:flex}
.card{display:none;width:min(92vw,440px);max-height:92vh;overflow:auto;padding:18px 20px 20px;border-radius:22px;text-align:center;
  background:linear-gradient(#5b2aa6,#2a0d55);border:4px solid #f2c14e;box-shadow:0 10px 40px #000c,inset 0 0 30px #0006}
.card.on{display:block}
.card h2{margin:0 0 10px;color:#ffd84a;font-size:34px;font-weight:normal;text-shadow:0 3px 0 #7a2a00}
.card ul{margin:0 0 14px;padding-left:18px;text-align:left;font-family:system-ui,-apple-system,sans-serif;letter-spacing:0;font-size:16px;line-height:1.35}
.card li{margin:6px 0}
.card li b{color:#ffd84a}
.card p{font-size:28px;color:#ffe15a;margin:0 0 10px}
.pill{display:block;width:100%;margin:10px 0 0;padding:12px 10px;border:3px solid #ffd84a;border-radius:999px;cursor:pointer;font-size:26px;
  background:linear-gradient(#e42b3c,#a3101f);color:#fff;text-shadow:0 2px 0 #5a0000;box-shadow:0 4px 0 #5a0610}
.pill:active{transform:translateY(2px);box-shadow:0 2px 0 #5a0610}
.pill.sm{font-size:20px;padding:8px;background:linear-gradient(#6a3bb5,#3d1678);box-shadow:0 4px 0 #1d0840}
#nInput{display:block;width:100%;font-size:22px;padding:12px;border-radius:14px;border:3px solid #ffd84a;text-align:center;font-family:Bangers,Impact,sans-serif;letter-spacing:.08em;
  background:#160628;color:#fff;outline:none;-webkit-user-select:text;user-select:text;touch-action:manipulation;text-transform:uppercase}
#toast{position:fixed;left:50%;top:46%;transform:translate(-50%,-50%);padding:10px 18px;border-radius:999px;background:#000c;color:#ffd84a;font-size:22px;
  border:2px solid #ffd84a;display:none;z-index:30;white-space:nowrap;pointer-events:none}
#toast.on{display:block}
#ov.top{align-items:flex-start;padding-top:max(16px,7vh)}

#rotate{display:none;position:fixed;inset:0;z-index:9999;background:#2a1450;color:#ffd75e;font-family:Bangers,Impact,sans-serif;font-size:28px;letter-spacing:1px;text-align:center;align-items:center;justify-content:center;touch-action:none}
#rotate .rIcon{font-size:64px;display:inline-block;transform:rotate(90deg);margin-bottom:12px}
@media (orientation:landscape) and (pointer:coarse) and (max-height:600px){#rotate{display:flex}}
.gobg{position:absolute;inset:-60px;background:#3a1c0c url(assets/screens/gameover.webp) center/cover no-repeat;filter:blur(26px) brightness(.55) saturate(1.2)}
.gv{justify-content:flex-end;padding:0 calc(var(--g)*16);color:#ffd91a;font-size:calc(var(--g)*58);letter-spacing:.02em;border-radius:calc(var(--g)*8);
  background:linear-gradient(180deg,#fde9b8,#f9dca0 55%,#f6d393);box-shadow:0 0 calc(var(--g)*6) calc(var(--g)*3) #f9dca0;
  text-shadow:calc(var(--g)*2.5) 0 0 #2e1000,calc(var(--g)*-2.5) 0 0 #2e1000,0 calc(var(--g)*2.5) 0 #2e1000,0 calc(var(--g)*-2.5) 0 #2e1000,calc(var(--g)*2) calc(var(--g)*2) 0 #2e1000,calc(var(--g)*-2) calc(var(--g)*2) 0 #2e1000,calc(var(--g)*2) calc(var(--g)*-2) 0 #2e1000,calc(var(--g)*-2) calc(var(--g)*-2) 0 #2e1000,0 calc(var(--g)*5) 0 #2e1000}
