:root{--ink:#eaffff;--muted:#90b8c8;--cyan:#1ffcff;--cyan-bright:#a9ffff;--violet:#a869ff;--magenta:#ff49d1;--lime:#b8ff43;--panel:#051a2fb8;--line:#5ef6ff4d;--display:"Plus Jakarta Sans", "Arial Narrow", Impact, sans-serif;--body:"Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, sans-serif}@font-face{font-family:Plus Jakarta Sans;src:url(/assets/fonts/PlusJakartaSans-Regular.ttf)format("truetype");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:Plus Jakarta Sans;src:url(/assets/fonts/PlusJakartaSans-ExtraBold.ttf)format("truetype");font-display:swap;font-style:normal;font-weight:800}*{box-sizing:border-box}html,body{width:100%;min-width:320px;height:100%;min-height:100%;color:var(--ink);font-family:var(--body);overscroll-behavior:none;background:#03101f;margin:0;padding:0;overflow:hidden}body{background-image:linear-gradient(#04162a47,#020813d1),url(/assets/arcade/art/cyber-city-arena.webp);background-position:50%;background-size:cover;position:relative}button,a{-webkit-tap-highlight-color:transparent}body:before{z-index:0;background:radial-gradient(circle at 50% 34%,#1ffcff33,#0000 31%),radial-gradient(circle at 19% 58%,#a869ff2e,#0000 23%),linear-gradient(90deg,#010a1ac2,#0000 28% 72%,#010a1ac2)}body:after{z-index:0;box-shadow:none;opacity:.15;mix-blend-mode:soft-light;background-image:repeating-linear-gradient(0deg,#0000 0 3px,#8dfbff33 4px);border:0}.ambient-grid{z-index:0;opacity:.28;transform-origin:bottom;pointer-events:none;background-image:linear-gradient(#36ebff40 1px,#0000 1px),linear-gradient(90deg,#36ebff40 1px,#0000 1px);background-size:52px 42px;height:50%;position:fixed;bottom:-19%;left:-20%;right:-20%;transform:perspective(360px)rotateX(63deg);-webkit-mask-image:linear-gradient(#0000,#000 28%);mask-image:linear-gradient(#0000,#000 28%)}.game-shell{z-index:4;width:100%;max-width:none;height:100%;min-height:0;padding:max(12px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));pointer-events:none;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:0;margin:0;display:grid;position:relative}.shell-header{grid-template-columns:minmax(132px,1fr) auto minmax(132px,1fr);align-items:center;width:min(1500px,100%);margin:0 auto 8px;display:grid}.arcade-brand{opacity:.92;pointer-events:auto;justify-self:start;align-items:center;width:clamp(108px,10vw,160px);transition:opacity .16s,filter .16s;display:inline-flex}.arcade-brand:hover{opacity:1;filter:drop-shadow(0 0 10px #1ffcffb3)}.arcade-brand img{filter:brightness(0)invert();width:100%;height:auto;display:block}.title-lockup{text-align:center;filter:drop-shadow(0 0 14px #1ffcff59)}.title-kicker{color:var(--cyan-bright);font:800 clamp(7px, .62vw, 10px)/1 var(--display);letter-spacing:.31em;margin-bottom:-1px;display:block}.title-lockup h1{color:#fff;font:800 clamp(22px, 2.05vw, 35px)/1 var(--display);letter-spacing:.055em;text-shadow:0 0 7px #ffffffb3,0 0 18px #a869ffe6;margin:0}.title-lockup h1 span{color:var(--cyan);text-shadow:0 0 9px #1ffcfff2,0 0 24px #1ffcffa3}.icon-button{width:84px;height:84px;color:var(--cyan-bright);cursor:pointer;pointer-events:auto;background:linear-gradient(145deg,#144158ad,#031123db);border:1px solid #5af6ff75;border-radius:20px;justify-self:end;place-items:center;display:grid;box-shadow:inset 0 0 16px #1ffcff14,0 0 18px #1ffcff14}.icon-button:hover,.icon-button:focus-visible{border-color:var(--cyan);outline:none;box-shadow:inset 0 0 18px #1ffcff29,0 0 22px #1ffcff4d}.icon-button svg{fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.8px;width:42px}.fullscreen-exit,:fullscreen .fullscreen-enter{display:none}:fullscreen .fullscreen-exit{display:block}.play-layout{grid-template-columns:minmax(154px,244px) minmax(280px,auto) minmax(154px,244px);justify-content:center;align-items:center;gap:clamp(12px,2vw,34px);width:min(1480px,100%);min-height:0;margin:0 auto;display:grid;position:relative}.hud-column{align-content:center;gap:clamp(12px,2vh,24px);display:grid}.hud-card{border:1px solid var(--line);background:linear-gradient(145deg, #27597033, transparent 48%), var(--panel);-webkit-backdrop-filter:blur(13px)saturate(125%);backdrop-filter:blur(13px)saturate(125%);border-radius:14px 3px;padding:clamp(15px,1.5vw,22px);transition:border-color .18s,box-shadow .18s,transform .18s;position:relative;overflow:hidden;box-shadow:inset 0 1px #d2ffff21,inset 0 0 26px #1ffcff0b,0 14px 35px #00051247}.hud-card:before,.hud-card:after{content:"";pointer-events:none;position:absolute}.hud-card:before{background:var(--cyan);width:38%;height:1px;box-shadow:0 0 9px var(--cyan);top:0;left:14px}.hud-card:after{border:1px solid #a869ff21;width:75px;height:75px;bottom:-28px;right:-18px;transform:rotate(45deg)}.hud-label{color:var(--muted);font:800 clamp(9px, .68vw, 11px)/1.15 var(--display);letter-spacing:.15em}.hud-value-row{align-items:center;gap:10px;margin:9px 0 6px;display:flex}.hud-value-row img{filter:drop-shadow(0 0 10px #1ffcff8c);width:clamp(27px,2.25vw,38px);height:clamp(27px,2.25vw,38px)}.hud-value{color:#fff;font:800 clamp(26px, 2.3vw, 40px)/1 var(--display);letter-spacing:.02em;text-shadow:0 0 13px #1ffcff73}.hud-note{color:#8fbdca99;letter-spacing:.2em;font-size:9px}.run-meter{background:#83c9d61f;height:3px;margin-top:13px;overflow:hidden}.run-meter span{background:linear-gradient(90deg, var(--violet), var(--cyan));width:0%;height:100%;box-shadow:0 0 10px var(--cyan);transition:width .3s;display:block}.hud-card--metric{grid-template-columns:1fr auto;align-items:end;min-height:94px;display:grid}.metric-value{color:var(--cyan-bright);font:800 clamp(24px, 2.35vw, 40px)/.88 var(--display);text-shadow:0 0 15px #1ffcff85}.metric-value--status{letter-spacing:.04em;font-size:clamp(16px,1.55vw,25px)}.score-disclosure{border-color:#a869ff5c}.score-value{color:#e7d6ff;font:800 clamp(22px, 2vw, 34px)/1 var(--display);letter-spacing:.08em;text-shadow:0 0 14px #a869ff80;margin:9px 0;display:block}.score-disclosure p{color:#b0ced7ad;margin:0;font-size:clamp(9px,.72vw,11px);line-height:1.45}.game-frame{pointer-events:auto;background:linear-gradient(145deg,#6cf7ff29,#051227e0 16%,#050d1ef0 82%,#a869ff2e);border:1px solid #63f7ff80;border-radius:20px 5px;width:min(56.25dvh - 90px,720px,48vw);min-width:280px;padding:6px;position:relative;box-shadow:0 0 0 1px #000712e6,0 0 22px #1ffcff3d,0 0 72px #7144ff29,0 24px 56px #000511a8}.frame-glow{z-index:-1;pointer-events:none;border:1px solid #1ffcff21;border-radius:26px 8px;animation:3.8s ease-in-out infinite alternate frame-breathe;position:absolute;inset:-12px}.effects-layer{z-index:120;pointer-events:none;position:fixed;inset:0;overflow:visible}.game-viewport{aspect-ratio:9/16;isolation:isolate;touch-action:none;background:#020913;border:1px solid #adffff38;border-radius:14px 2px;width:100%;position:relative;overflow:hidden}.chainfall-game-surface{background:radial-gradient(circle at 50% 18%,#6342ff38,#0000 32%),linear-gradient(#071229 0%,#030717 62%,#08031b 100%);grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;padding:12px 11px 10px;display:grid;position:relative}.chainfall-next{z-index:3;background:#051530cc;border:1px solid #5df0ff40;border-radius:9px 2px;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;min-height:44px;padding:6px 8px;display:grid;box-shadow:inset 0 0 18px #1ffcff0d}.chainfall-next>span{color:var(--muted);font:800 7px/1 var(--display);letter-spacing:.17em}.chainfall-next>strong{align-items:center;gap:5px;display:flex}.chainfall-next button,.chainfall-pause,.chainfall-start-panel button{color:#f6ffff;font:800 9px/1 var(--display);cursor:pointer;background:linear-gradient(135deg,#532da4e0,#0c4569e6);border:1px solid #57f5ff8c;box-shadow:inset 0 0 13px #1ffcff14,0 0 11px #1ffcff14}.chainfall-next button{border-radius:8px 2px;place-items:center;width:31px;height:31px;padding:0;display:grid}.arcade-piece{color:#fff;width:25px;height:25px;font:800 9px/1 var(--display);border:1px solid #ffffffa6;border-radius:7px;place-items:center;display:grid;box-shadow:inset 0 0 8px #ffffff47,0 0 8px}.arcade-piece-I{background:#28c7ef}.arcade-piece-J{background:#5b74e9}.arcade-piece-L{background:#f28b32}.arcade-piece-O{color:#21170a;background:#f5d640}.arcade-piece-S{background:#51ce6b}.arcade-piece-T{background:#b85be3}.arcade-piece-Z{background:#ef4d75}.chainfall-board{aspect-ratio:1/2;background:#020713;border:1px solid #6ef1ff3d;border-radius:7px;justify-self:center;width:auto;max-width:100%;height:calc(100% - 16px);min-height:0;margin:8px 0;position:relative;overflow:hidden;box-shadow:inset 0 0 24px #248fff24,0 0 18px #1ffcff14}.chainfall-board:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 3px,#77f3ff06 4px);position:absolute;inset:0}#chainfall-canvas{object-fit:contain;width:100%;height:100%;display:block}.chainfall-pause{border-radius:8px 2px;min-height:36px}.chainfall-pause:disabled{opacity:.38;cursor:default}.chainfall-start-panel,.chainfall-paused{z-index:8;text-align:center;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#030a1feb;border:1px solid #84eeff8c;border-radius:14px 3px;gap:10px;padding:17px 14px;display:grid;position:absolute;inset:50% 9% auto;transform:translateY(-50%);box-shadow:0 0 42px #622deb66,inset 0 0 28px #1ffcff12}.chainfall-start-panel p,.chainfall-paused strong{color:var(--cyan-bright);font:800 clamp(14px, 1.5vw, 21px)/1 var(--display);letter-spacing:.08em;text-shadow:0 0 14px #1ffcff8c;margin:0}.chainfall-start-panel strong{color:#fff2a3;font:800 10px/1.25 var(--display)}.result-detail{color:#cceef8d1;font:700 8px/1.45 var(--display);letter-spacing:.025em;display:block}.chainfall-start-panel button{background:linear-gradient(90deg,#6d38ff,#0ad3e7);border-radius:9px 2px;min-height:42px}.chainfall-start-panel .secondary-action{background:#0c2244d1}.chainfall-replay-badge{z-index:7;color:#fff0a2;font:800 7px/1 var(--display);letter-spacing:.08em;white-space:nowrap;background:#180c31e0;border:1px solid #ffe15a9e;border-radius:8px 2px;padding:6px 9px;position:absolute;top:62px;left:50%;transform:translate(-50%);box-shadow:0 0 16px #ffd03033}.chainfall-paused span{color:#c2e3edb8;font:800 9px/1.4 var(--display);letter-spacing:.04em}.chainfall-start-panel small{color:#b4d8e4b8;font-size:8px;line-height:1.45}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#chainfall-canvas{touch-action:none;background:#020913;border:0;width:100%;height:100%;margin:0;display:block}.frame-caption{color:#80e8f375;height:22px;font:800 7px/1 var(--display);letter-spacing:.22em;justify-content:center;align-items:center;gap:9px;display:flex}.frame-caption i{background:var(--lime);width:3px;height:3px;box-shadow:0 0 6px var(--lime);border-radius:50%}.shell-footer{justify-content:center;align-items:center;gap:22px;width:min(1100px,100%);min-height:24px;margin:7px auto 0;display:flex}.system-status{color:#caff7c;font:800 9px/1 var(--display);letter-spacing:.1em;background:#010f1db3;border:1px solid #b8ff4336;border-radius:99px;flex:none;align-items:center;gap:8px;padding:7px 11px;display:flex}.status-light{background:var(--lime);width:7px;height:7px;box-shadow:0 0 9px var(--lime);border-radius:50%}.system-status[data-state=playing]{color:var(--cyan-bright);border-color:#1ffcff4d}.system-status[data-state=playing] .status-light{background:var(--cyan);box-shadow:0 0 9px var(--cyan)}.system-status[data-state=paused]{color:#ffe687;border-color:#ffda4f47}.system-status[data-state=paused] .status-light{background:#ffd84f;box-shadow:0 0 9px #ffd84f}.fair-play-note{color:#a7cbd694;margin:0;font-size:9px;line-height:1.35}.fair-play-note span{color:#8af4ffc2;letter-spacing:.1em;font-weight:800}.hud-card.is-awarded{animation:.38s ease-out hud-award}#chainfall-total-token.is-rewarded{animation:.42s cubic-bezier(.2,.8,.25,1) token-reward}.reward-coin{z-index:3;opacity:0;object-fit:contain;filter:drop-shadow(0 0 5px #fff1a2)drop-shadow(0 0 12px #ffcc19d6);will-change:transform, opacity;width:clamp(26px,3vw,38px);height:clamp(26px,3vw,38px);animation:reward-flight-motion var(--flight-duration,.65s) cubic-bezier(.18, .78, .24, 1) var(--flight-delay,0s) both, reward-flight-fade var(--flight-duration,.65s) linear var(--flight-delay,0s) both;position:absolute;transform:translate(-50%,-50%)}@keyframes frame-breathe{to{border-color:#1ffcff47;box-shadow:0 0 26px #1ffcff1f}}@keyframes reward-flight-motion{0%{transform:translate(-50%,-50%)scale(.74)rotate(-6deg)}to{transform:translate(calc(-50% + var(--flight-x)), calc(-50% + var(--flight-y))) scale(.42) rotate(12deg)}}@keyframes reward-flight-fade{0%{opacity:0}8%,82%{opacity:1}to{opacity:0}}@keyframes token-reward{42%{filter:drop-shadow(0 0 8px #fff3aa)drop-shadow(0 0 18px #ffd329);transform:scale(1.28)}}@keyframes hud-award{35%{border-color:#1ffcffbd;box-shadow:inset 0 0 18px #1ffcff1a,0 0 14px #1ffcff33}}@media (max-width:1020px){.play-layout{grid-template-columns:minmax(128px,180px) minmax(280px,auto) minmax(128px,180px);gap:12px}.game-frame{width:min(56.25dvh - 90px,54vw)}.hud-card{padding:13px}.hud-card--metric{min-height:0;display:block}.metric-value{margin-top:8px;display:block}}@media (max-width:720px){body{background-image:linear-gradient(#03132438,#010812b8),url(/assets/arcade/art/cyber-city-arena-mobile.webp);background-position:bottom}.game-shell{padding:max(6px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(5px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left))}.shell-header{grid-template-columns:76px 1fr 74px;margin-bottom:4px}.arcade-brand{width:74px}.title-kicker{display:none}.title-lockup h1{font-size:clamp(16px,5vw,24px)}.icon-button{border-radius:18px;width:72px;height:72px}.icon-button svg{width:36px}.play-layout{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:1fr;place-items:center;gap:4px;width:100%;min-height:0;display:grid}.game-frame{border-radius:15px 4px;grid-row:2;width:min(56.25dvh - 126px,100vw - 34px);min-width:0;padding:4px}.frame-caption{height:14px;font-size:6px}.hud-column{pointer-events:none;width:min(100%,390px);display:grid;position:static;transform:none}.hud-column--left{grid-row:1;grid-template-columns:1fr 1fr;gap:5px}.hud-column--right{grid-row:3;grid-template-columns:1fr 1fr 1fr;gap:5px}.hud-card{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#031425d1;border-radius:9px 2px;min-height:0;padding:7px 9px}.hud-label{letter-spacing:.1em;font-size:6px}.hud-value-row{gap:5px;margin:4px 0 0}.hud-value-row img{width:18px;height:18px}.reward-coin{width:38px;height:38px}.hud-value,.metric-value,.score-value{font-size:clamp(15px,4.8vw,21px)}.metric-value{margin-top:5px;display:block}.metric-value--status{font-size:clamp(9px,2.8vw,13px)}.score-value{letter-spacing:.03em;margin:5px 0 0}.hud-note,.run-meter,.score-disclosure p{display:none}.shell-footer{gap:7px;min-height:25px;margin-top:3px}.system-status{padding:6px 8px;font-size:7px}.fair-play-note{display:none}}@media (max-height:600px) and (orientation:landscape){.game-shell{--landscape-game-width:min(calc((100vh - 22px) * .5625), 42vw);padding:max(4px, env(safe-area-inset-top)) max(4px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left));display:block}.shell-header{z-index:30;top:max(4px, env(safe-area-inset-top));right:max(4px, env(safe-area-inset-right));width:64px;height:64px;margin:0;display:block;position:fixed;left:auto}.arcade-brand,.title-lockup{display:none}.icon-button{border-radius:16px;width:64px;height:64px}.icon-button svg{width:32px}.play-layout{grid-template-columns:minmax(0, 1fr) var(--landscape-game-width) minmax(0, 1fr);grid-template-rows:1fr;align-items:center;gap:clamp(4px,1.4vw,12px);width:100%;height:100%;display:grid}.game-frame{width:var(--landscape-game-width);grid-area:1/2;padding:3px}.hud-column{width:min(100%,220px);display:grid;position:static;transform:none}.hud-column--left{grid-area:1/1;grid-template-columns:1fr;justify-self:end}.hud-column--right{grid-area:1/3;grid-template-columns:1fr;justify-self:start}.hud-card{padding:6px 7px}.shell-footer{z-index:30;bottom:max(4px, env(safe-area-inset-bottom));left:max(4px, env(safe-area-inset-left));width:min(calc((100vw - var(--landscape-game-width)) / 2 - 12px), 220px);justify-content:flex-start;min-height:0;margin:0;display:flex;position:fixed}.shell-footer .fair-play-note{display:none}.frame-caption{height:10px;font-size:5px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
