@font-face{font-family:"Bangers";src:url(fonts/Bangers-Regular.ttf) format("truetype");font-display:swap}
:root{--disp:"Bangers",Impact,"Arial Black",system-ui,sans-serif;--ink:#0b0b0f;--paper:#f4f1e8;--red:#e3262e;--grey:#8a8a90;
  --hud:52px;--ctl:96px;font-family:"Bangers",Impact,"Arial Black",system-ui,sans-serif;letter-spacing:.03em}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:var(--ink);color:var(--paper);overflow:hidden;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none}
#app{position:fixed;inset:0;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
#hud{height:var(--hud);flex:none;display:flex;align-items:center;gap:8px;padding:0 10px;background:var(--paper);color:var(--ink);border-bottom:4px solid var(--ink);box-shadow:0 4px 0 var(--red)}
#hud>div{flex:1;display:flex;flex-direction:column;line-height:1}
.hud-c{align-items:center}.hud-r{align-items:flex-end}
#hud .lbl{font-size:10px;letter-spacing:.12em;opacity:.75}
#hud b{font-size:22px;font-variant-numeric:tabular-nums}
#hLives{color:var(--red);letter-spacing:1px;white-space:nowrap}
#hud .icon{flex:none;width:40px;height:40px;border:3px solid var(--ink);background:#fff;border-radius:8px;font-size:18px;cursor:pointer}
#feed{flex:1;min-height:0;width:100%;display:block;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:crosshair}
#feed.dragging{cursor:move}
#controls{height:var(--ctl);flex:none;display:flex;align-items:center;justify-content:center;gap:14px;padding:10px;background:var(--paper);border-top:4px solid var(--ink)}
#controls button{touch-action:none;-webkit-touch-callout:none;font-family:inherit;cursor:pointer;border:4px solid var(--ink);box-shadow:4px 4px 0 var(--ink);transition:transform .05s}
#controls button:active,#controls button.down{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}
.ctl{width:64px;height:64px;border-radius:50%;background:#fff;color:var(--ink);font-size:34px;line-height:1}
.cap{flex:1;max-width:260px;height:68px;border-radius:14px;background:var(--red);color:#fff;font-size:24px;letter-spacing:.08em;text-shadow:2px 2px 0 var(--ink)}
@media (min-aspect-ratio:1/1) and (min-width:700px){
  #controls{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);background:transparent;border:0;width:min(560px,90vw)}
  .ctl{background:rgba(255,255,255,.92)}
}
.screen{position:absolute;inset:0;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(11,11,15,.78);z-index:5;overflow:auto;touch-action:pan-y}
.screen.show{display:flex}
.card{position:relative;width:min(440px,100%);max-height:100%;overflow:auto;background:var(--paper);color:var(--ink);border:5px solid var(--ink);box-shadow:8px 8px 0 var(--red);padding:20px 20px 16px;text-align:center;
  background-image:repeating-linear-gradient(-45deg,transparent 0 14px,rgba(11,11,15,.035) 14px 16px)}
.badge{display:block;margin:0 auto 4px;transform:rotate(-6deg)}
h1{font-family:var(--disp);font-size:48px;line-height:.9;margin:4px 0 8px;letter-spacing:.02em;transform:skewX(-8deg)}
h1 span{color:var(--red);-webkit-text-stroke:1.5px var(--ink)}
h2{font-family:var(--disp);font-size:36px;margin:0;transform:skewX(-8deg)}
.tag{font:700 16px/1.3 system-ui,sans-serif;margin:6px 0 10px}
.how{text-align:left;font:500 14px/1.35 system-ui,sans-serif;padding-left:18px;margin:8px 0 14px}
.how li{margin:3px 0}
.red{color:var(--red);font-style:normal;font-weight:800}
kbd{display:inline-block;border:2px solid var(--ink);border-radius:4px;padding:0 4px;font:700 11px system-ui;background:#fff}
.big{display:inline-block;font-family:inherit;font-size:19px;padding:14px 20px;border:4px solid var(--ink);border-radius:12px;background:var(--ink);color:var(--paper);box-shadow:4px 4px 0 var(--red);cursor:pointer;text-decoration:none;letter-spacing:.04em}
.big:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--red)}
.big.alt{background:#fff;color:var(--ink);box-shadow:4px 4px 0 var(--ink);font-size:15px;padding:11px 12px;flex:1}
.big.red{background:var(--red);color:#fff;box-shadow:4px 4px 0 var(--ink);font-size:16px;display:block;line-height:1.25}
.hi{font:700 14px system-ui,sans-serif;margin:10px 0 0}
.score-big{font-family:var(--disp);font-size:72px;line-height:1;color:var(--red);-webkit-text-stroke:2px var(--ink);margin:6px 0 0}
.stats{display:flex;gap:8px;margin:12px 0}
.stats div{flex:1;border:3px solid var(--ink);border-radius:8px;padding:6px 2px;background:#fff}
.stats b{display:block;font-size:24px}.stats span{font:700 11px system-ui;text-transform:uppercase;letter-spacing:.06em}
.row{display:flex;gap:10px}
.share-msg{font:600 13px system-ui;min-height:18px;margin:6px 0 0}
.cta{margin:10px -6px 0;padding:12px;border:4px dashed var(--ink);border-radius:10px;background:#fff}
.cta-line{font-family:var(--disp);font-size:24px;margin:0 0 10px;transform:skewX(-6deg)}
.foot{font:700 12px system-ui;margin:12px 0 0;letter-spacing:.03em}
.nw{white-space:nowrap}
.dhs-logo{display:block;margin:0 auto;width:150px;height:auto}
.presents{font:800 12px system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;margin:6px 0 0}
h1{font-size:54px;letter-spacing:.04em}
h1 .badge{display:inline-block;width:46px;height:46px;vertical-align:-4px;margin-right:6px;transform:rotate(-8deg)}
.sponsor{font:600 12px system-ui,sans-serif;margin:8px 0 0;padding-top:8px;border-top:2px solid var(--ink)}
.sponsor b{color:var(--red)}
.links{margin-top:10px}.links .big{font:800 13px system-ui,sans-serif;padding:10px 6px}
.end-logo{width:110px;margin-top:12px}
#hud .pwr{font:800 8px system-ui,sans-serif;letter-spacing:.14em;color:var(--red);margin-top:2px}
.big,.ctl,.cap{font-family:var(--disp);letter-spacing:.06em}
.big.red{font-size:20px}
.cap{font-size:30px}
.ctl{font-family:system-ui,sans-serif;font-weight:800}
.links .big{white-space:nowrap;font-size:12px;padding:10px 4px}

/* leaderboard */
.lb-btn{display:block;width:100%;margin:10px 0 0;font-size:17px}
.lb{margin:10px 0 0}
.lb h3{font-family:var(--disp);font-size:22px;margin:0 0 6px;letter-spacing:.05em;transform:skewX(-6deg)}
.lb table{width:100%;border-collapse:collapse;font:700 14px system-ui,sans-serif;background:#fff;border:3px solid var(--ink)}
.lb th{font:800 10px system-ui;letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:var(--paper);padding:4px 6px}
.lb td{padding:5px 6px;border-top:1px solid #ddd;text-align:left}
.lb td.r{width:28px;text-align:center;color:var(--red)}.lb td.s{text-align:right;font-variant-numeric:tabular-nums}.lb td.d{font-weight:500;font-size:12px;color:#555;text-align:right;white-space:nowrap}
.lb td.n{max-width:9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lb tr.me td{background:#ffe3e4}
.lb .empty,.lb .note{font:600 13px system-ui;margin:6px 0}
.lb-form{margin:10px 0 0;padding:10px;border:3px solid var(--red);border-radius:10px;background:#fff}
.lb-form[hidden]{display:none}
.lb-form label{display:block;font:800 14px system-ui;margin:0 0 8px}
.lb-form input{flex:1;min-width:0;font:700 18px system-ui;padding:10px;border:3px solid var(--ink);border-radius:8px;text-transform:uppercase;user-select:text;-webkit-user-select:text;touch-action:manipulation}
.lb-form .big{flex:none;font-size:18px;padding:10px 16px}
.lb-err{font:700 13px system-ui;color:var(--red);min-height:16px;margin:6px 0 0}
#scores .card .big{margin-top:12px}
/* small phones: keep START SHIFT visible without scrolling the title card */
#title .card #btnPlay{position:sticky;bottom:0;z-index:2}
@media (max-width:500px) and (max-height:900px){
  #title .card{padding:14px 14px 12px}
  #title .dhs-logo{width:118px}
  #title h1{font-size:44px;margin:2px 0 6px}
  #title h1 .badge{width:38px;height:38px}
  #title .tag{font-size:15px;margin:4px 0 6px}
  #title .how{font-size:13px;line-height:1.28;margin:6px 0 10px}
  #title .how li{margin:2px 0}
  #title .lb-btn{margin-top:8px;padding:10px 12px}
}
