:root{--paper:#fff;--paper-press:#f4eded;--ink:#5f3f3f;--ink-soft:#5f3f3fcc;--ink-faint:#5f3f3f57;--danger:#b03030;--warn:#b07830;--hud-h:78px}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;margin:0}body{background:var(--paper);color:var(--ink);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.5}#app{place-items:stretch stretch;display:grid;position:fixed;inset:0}.screen{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--paper);flex-direction:column;display:none;position:absolute;inset:0}.screen.is-active{display:flex}.mono{font-variant-numeric:tabular-nums;font-family:inherit;font-weight:700}.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}.sprite{width:32px;height:32px;image-rendering:pixelated;background:url(/original/sube.png) no-repeat;flex:none;display:inline-block}.sprite--dung{background-position:0 -96px}.sprite--x2{background-size:256px 256px;width:64px;height:64px}.sprite--x2.sprite--dung{background-position:0 -192px}.btn{appearance:none;border:1px solid var(--ink);background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;text-align:center;border-radius:0;padding:11px 18px;font-weight:700}.btn:hover{background:var(--paper-press)}.btn:active{background:var(--ink);color:var(--paper)}.btn:focus-visible,.touch-control:focus-visible,.sound-toggle:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.btn--primary{border-width:2px;padding:14px 18px;font-size:18px}.btn--symbol{min-height:52px;font-size:28px;line-height:1}.btn__label{vertical-align:middle;margin-left:10px;font-size:15px;font-weight:700;line-height:1}.btn__label:empty{display:none}.btn[disabled]{opacity:.4;cursor:not-allowed}.btn[disabled]:active{background:var(--paper);color:var(--ink)}.sound-toggle{appearance:none;top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));z-index:20;border:1px solid var(--ink);background:var(--paper);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:0;padding:0;font:700 22px/1 Arial,Helvetica,sans-serif;position:fixed}.sound-toggle:hover{background:var(--paper-press)}.badge{letter-spacing:.06em;border:1px solid var(--ink-faint);color:var(--ink-soft);vertical-align:middle;padding:1px 5px;font-size:10px;font-weight:700;display:inline-block}.card{background:var(--paper);border:1px solid var(--ink);border-radius:0;padding:14px 16px}.meter{border:1px solid var(--ink);background:var(--paper);border-radius:0;height:12px;overflow:hidden}.meter>i{background:var(--ink);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}#s-splash{justify-content:center;align-items:center;gap:8px}.splash__logo{place-items:end center;height:88px;display:grid;overflow:hidden}.splash__logo .sprite{animation:1.4s steps(12,end) infinite splash-fall}@keyframes splash-fall{0%{transform:translateY(-88px)}60%,to{transform:translateY(0)}}.splash__title{margin:10px 0 2px;font-size:30px;font-weight:700}.splash__sub{color:var(--ink-soft);margin-bottom:26px;font-size:13px}.splash__bar{width:min(280px,70vw)}.splash__pct{color:var(--ink-soft);margin-top:10px;font-size:12px}.credits-link{width:max-content;min-height:44px;color:var(--ink-soft);text-underline-offset:3px;align-items:center;margin:4px auto 0;padding:10px 6px;font-size:12px;display:inline-flex}.credits-link:hover{color:var(--ink)}.credits-link:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.legal-links{justify-content:center;align-items:center;gap:4px;width:max-content;max-width:calc(100% - 24px);margin:4px auto 0;display:flex}.legal-links .credits-link{margin:0}.legal-links--splash{bottom:max(16px, env(safe-area-inset-bottom));position:absolute}#s-nickname{padding:max(24px, env(safe-area-inset-top)) 20px max(72px, env(safe-area-inset-bottom));justify-content:center;align-items:center;overflow-y:auto}.nickname__form{gap:10px;width:min(360px,100%);display:grid}.nickname__mark{place-items:center;height:44px;display:grid}.nickname__eyebrow{color:var(--ink-soft);letter-spacing:.14em;text-align:center;margin:4px 0 0;font-size:11px;font-weight:700}.nickname__title{text-align:center;margin:0;font-size:clamp(25px,8vw,32px);line-height:1.2}.nickname__intro{color:var(--ink-soft);text-align:center;margin:0 0 12px;font-size:13px}.nickname__label{font-size:12px;font-weight:700}.nickname__input{appearance:none;border:2px solid var(--ink);background:var(--paper);width:100%;height:56px;color:var(--ink);text-align:center;-webkit-user-select:text;user-select:text;border-radius:0;padding:0 14px;font:700 20px/1 Arial,Helvetica,sans-serif}.nickname__input::placeholder{color:var(--ink-faint)}.nickname__input:focus{outline:3px solid var(--ink);outline-offset:3px}.nickname__input[aria-invalid=true]{border-color:var(--danger)}.nickname__meta{color:var(--ink-soft);justify-content:space-between;gap:12px;font-size:11px;display:flex}.nickname__meta>:first-child{min-width:0}.nickname__meta .mono{flex:none}.nickname__error{min-height:22px;color:var(--danger);margin:0;font-size:12px;font-weight:700}.nickname__submit{width:100%;min-height:56px}.meta-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.meta-actions .btn{min-width:0;padding-inline:8px;font-size:12px}.legal-links--nickname{bottom:max(12px, env(safe-area-inset-bottom));position:absolute}.match__status:empty{visibility:hidden}.match__wait-wrap{align-items:center;gap:5px;display:inline-flex}.match__roster{--match-grid-cols:15;grid-template-columns:repeat(var(--match-grid-cols), minmax(0, 1fr));gap:2px;width:100%;padding:2px 0 6px;display:grid}.match__slot{aspect-ratio:3/4;border:1px solid var(--ink-faint);background:var(--paper);min-width:0;position:relative}.match__slot.is-filled{border-color:var(--ink)}.match__slot.is-filled:after{content:"";background:var(--ink);border-radius:50%;width:3px;height:3px;margin-left:-1.5px;position:absolute;bottom:10%;left:50%}.match__slot.is-pulsing{animation:.24s ease-out match-slot-pulse}@keyframes match-slot-pulse{0%{box-shadow:0 0 0 2px var(--paper), 0 0 0 3px var(--ink);transform:scale(1.4)}to{box-shadow:none;transform:scale(1)}}.match__bar{width:100%;height:8px}.match__practice{place-items:center;width:100%;height:100%;transition:opacity .25s;display:grid;position:relative;overflow:hidden}.match__nickname{z-index:2;border:1px solid var(--ink);background:var(--paper);text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 24px);padding:4px 9px;font-size:12px;line-height:1.2;position:absolute;top:10px;left:50%;overflow:hidden;transform:translate(-50%)}#practice-field{touch-action:none;image-rendering:pixelated;box-shadow:0 0 0 1px var(--ink);display:block}.match__countdown{color:var(--ink);opacity:0;pointer-events:none;place-items:center;font-size:clamp(88px,28vw,150px);line-height:1;display:grid;position:absolute;inset:0}.match__countdown.is-on{opacity:1}.match__countdown.is-pulsing{animation:.18s ease-out countdown-pulse}@keyframes countdown-pulse{0%{transform:scale(1.18)}to{transform:scale(1)}}.match__note{color:var(--ink-soft);text-align:center;margin:0;font-size:12px;line-height:1.6}.lobby-reactions{justify-content:center;gap:5px;display:flex}.lobby-reactions button{appearance:none;border:1px solid var(--ink-faint);background:var(--paper);cursor:pointer;border-radius:0;place-items:center;width:38px;height:38px;padding:0;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:21px;display:grid}.lobby-reactions button:hover,.lobby-reactions button:focus-visible{border-color:var(--ink);background:var(--paper-press)}.lobby-reactions button:active{transform:translateY(1px)scale(.94)}.reaction-feed{z-index:8;pointer-events:none;min-height:44px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.reaction-feed__item{border:1px solid var(--ink);background:var(--paper);white-space:nowrap;align-items:center;gap:7px;max-width:min(78vw,320px);padding:7px 11px;font-size:12px;font-weight:700;animation:1.8s both reaction-pop;display:flex}.reaction-feed__emoji{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:24px}@keyframes reaction-pop{0%{opacity:0;transform:translateY(8px)scale(.85)}12%,75%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(.96)}}#s-game{background:var(--paper)}.hud{height:var(--hud-h);background:var(--paper);border-bottom:1px solid var(--ink);flex-direction:column;flex:none;justify-content:center;gap:4px;padding:10px 16px 8px;display:flex}.hud__row1{justify-content:space-between;align-items:baseline;display:flex}.hud__alive{letter-spacing:.02em;font-size:19px}.hud__phase{letter-spacing:.08em;border:1px solid var(--ink);padding:2px 8px;font-size:11px;font-weight:700}.hud__phase.is-sudden{background:var(--ink);color:var(--paper);animation:.6s step-end infinite blink}@keyframes blink{50%{opacity:.25}}.hud__row2{color:var(--ink-soft);gap:18px;font-size:13px;display:flex}.hud__row2 b{color:var(--ink)}.hud__nickname{text-overflow:ellipsis;white-space:nowrap;max-width:min(30vw,150px);display:block;overflow:hidden}.stage{flex:1;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}#field{touch-action:none;box-shadow:0 0 0 1px var(--ink);display:block}.hint{background:var(--paper);border:1px solid var(--ink);color:var(--ink);text-align:center;opacity:0;max-width:min(88%,330px);padding:8px 16px;font-size:14px;font-weight:700;line-height:1.4;transition:opacity .35s;position:absolute;bottom:16%;left:50%;transform:translate(-50%)}.hint.is-on{opacity:1}.start-flash{color:var(--ink);opacity:0;pointer-events:none;z-index:3;place-items:center;font-size:clamp(88px,28vw,150px);line-height:1;display:grid;position:absolute;inset:0;transform:scale(.86)}.start-flash.is-on{animation:.6s ease-out both start-flash}@keyframes start-flash{0%{opacity:0;transform:scale(.86)}18%,55%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.06)}}.spectate{z-index:5;pointer-events:none;flex-direction:column;justify-content:space-between;align-items:center;padding:16px;display:none;position:absolute;inset:0}.spectate.is-on{display:flex}.spectate__head{justify-items:center;gap:6px;display:grid}.spectate__rank{border:2px solid var(--ink);background:var(--paper);color:var(--ink);padding:8px 14px;font-size:clamp(30px,9vw,52px);line-height:1}.spectate__note{border:1px solid var(--ink);background:var(--paper);color:var(--ink-soft);padding:4px 10px;font-size:12px;font-weight:700}.spectate__note:empty{display:none}.spectate__actions{pointer-events:auto;grid-template-columns:1fr;gap:10px;width:min(220px,100%);display:grid}.spectate__actions .btn{min-width:0;padding-inline:8px}.spectate__actions .btn--symbol{font-size:22px}.spectate__actions .btn__label{white-space:nowrap;margin-left:6px;font-size:13px}#s-game.is-spectating #touch-controls{visibility:hidden;pointer-events:none}.touch-controls{width:100%;padding:10px max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));background:var(--paper);border-top:2px solid var(--ink);touch-action:none;flex:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:none}.touch-control{appearance:none;border:2px solid var(--ink);background:var(--paper);min-width:0;min-height:82px;color:var(--ink);cursor:pointer;touch-action:none;-webkit-touch-callout:none;border-radius:0;font:700 44px/1 Arial,Helvetica,sans-serif}.touch-control.is-pressed,.touch-control:active{background:var(--ink);color:var(--paper);transform:translateY(1px)}@keyframes control-hint{0%{box-shadow:inset 0 0 0 0 var(--ink)}to{box-shadow:inset 0 0 0 5px var(--ink)}}.touch-controls.is-hinting .touch-control{animation:.55s steps(2,end) 3 alternate control-hint}#s-game.is-original .hud{display:none}#s-game.is-original .stage{place-items:center}#s-game.is-original #field{image-rendering:pixelated;box-shadow:0 0 0 1px var(--ink)}.minifields{background:var(--paper);border-bottom:1px solid var(--ink);flex:none;width:100%;max-width:460px;height:54px;margin:0 auto;display:none}#s-game.is-royale .minifields{display:block}#s-result{padding:max(24px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom));justify-content:flex-start;gap:14px;overflow-y:auto}.result__rank{text-align:center;margin-top:auto}.result__nickname{max-width:min(300px,80vw);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0 auto 8px;font-size:14px;overflow:hidden}.result__rank em{font-size:60px;font-style:normal;font-weight:700;line-height:1;display:inline-block}.result__rank span{color:var(--ink-soft);margin-left:4px;font-size:18px}.result__headline{text-align:center;color:var(--ink-soft);margin-top:6px;font-size:14px}.result__stats{gap:0;width:min(300px,100%);margin:0 auto;display:grid}.result__stats div{justify-content:space-between;padding:10px 2px;font-size:14px;display:flex}.result__stats div+div{border-top:1px dashed var(--ink-faint)}.result__stats span{color:var(--ink-soft);font-size:19px}.result__stats i{color:var(--ink-soft);align-self:center;margin-left:8px;font-size:12px;font-style:normal}.result__stats b{margin-left:auto;font-weight:700}.result__reward{border-width:2px;justify-content:space-between;align-items:center;width:min(300px,100%);margin:0 auto;padding:12px 16px;font-size:18px;display:flex}.result__reward[hidden]{display:none}.result__earned{font-size:22px}.result__balance{color:var(--ink-soft);font-size:15px}.result__balance b:last-child{color:var(--ink);font-size:18px}.result__reward.is-earning{animation:.56s steps(6,end) both result-reward-in}.result__reward.is-earning .result__earned{animation:.56s steps(2,end) both result-earned-pulse}@keyframes result-reward-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes result-earned-pulse{0%,to{color:var(--ink)}50%{color:var(--paper);background:var(--ink)}}.result__actions{grid-template-columns:1fr;gap:9px;width:min(300px,100%);margin:0 auto;display:grid}.result__achievements{gap:6px;width:min(300px,100%);margin:0 auto;display:grid}.result__achievements[hidden]{display:none}.result__achievement{border:2px solid var(--ink);background:var(--paper);grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:9px 11px;animation:.42s steps(5,end) both result-reward-in;display:grid}.result__achievement>span:first-child{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:22px}.result__achievement b{font-size:12px}.result__achievement em{color:var(--ink-soft);font-size:11px;font-style:normal}.result__ad-offer{border-top:1px dashed var(--ink-faint);gap:9px;width:min(300px,100%);margin:6px auto 0;padding-top:16px;display:grid}.result__ad-offer[hidden]{display:none}.result__ad-copy{color:var(--ink-soft);text-align:center;font-size:11px;line-height:1.45}.btn--ad{min-height:44px;color:var(--ink-soft);background:var(--paper);border-width:1px;font-size:12px}.btn--ad:disabled{cursor:wait;opacity:.55}#s-result>.legal-links{margin-bottom:auto}.meta-dialog{border:2px solid var(--ink);background:var(--paper);width:min(430px,100vw - 24px);max-height:min(760px,100dvh - 24px);color:var(--ink);border-radius:0;margin:auto;padding:0;overflow:auto}.meta-dialog::backdrop{background:#32202075}.meta-dialog__head{z-index:2;border-bottom:1px solid var(--ink);background:var(--paper);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.meta-dialog__head h2,.meta-dialog__eyebrow{margin:0}.meta-dialog__head h2{font-size:20px}.meta-dialog__eyebrow{color:var(--ink-soft);letter-spacing:.12em;font-size:10px;font-weight:700}.meta-dialog__close{appearance:none;border:1px solid var(--ink);background:var(--paper);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:0;font:700 28px/1 Arial,sans-serif}.shop__balance{border:1px solid var(--ink);text-align:right;margin:14px 16px 4px;padding:9px 12px;font-size:18px}.shop__grid,.achievements__grid{gap:8px;padding:12px 16px 16px;display:grid}.shop__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop__item{border:1px solid var(--ink-faint);background:var(--paper);grid-template-columns:auto 1fr;align-items:center;gap:4px 9px;min-width:0;padding:11px;display:grid}.shop__item.is-equipped{border:2px solid var(--ink);padding:10px}.shop__icon{grid-row:1/span 2;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:30px}.shop__name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.shop__buy{min-height:36px;padding:5px 7px;font-size:11px}.meta-dialog__status{min-height:24px;color:var(--ink-soft);text-align:center;margin:0;padding:0 16px 16px;font-size:12px}.achievements__summary{color:var(--ink-soft);text-align:right;margin:14px 16px 0;font-size:12px}.achievement{border:1px solid var(--ink-faint);opacity:.58;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 10px;padding:11px;display:grid}.achievement.is-unlocked{border-color:var(--ink);opacity:1}.achievement__icon{grid-row:1/span 3;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:28px}.achievement__name{font-size:13px}.achievement__reward{color:var(--ink-soft);font-size:11px}.achievement__description,.achievement__progress{color:var(--ink-soft);grid-column:2/4;margin:0;font-size:11px}.achievement__meter{border:1px solid var(--ink-faint);grid-column:2/4;height:5px}.achievement__meter i{background:var(--ink);height:100%;display:block}@media (min-width:720px){body{background:var(--paper-press)}.screen{border-left:1px solid var(--ink);border-right:1px solid var(--ink);max-width:460px;margin:0 auto}#s-game.is-royale{border:0;max-width:none}#s-game.is-royale .minifields{max-width:640px}#s-game.is-original{border:0;max-width:none}}@media (pointer:coarse){#s-game{padding-bottom:0}.touch-controls{display:grid}.hint{display:none}#field,#practice-field{pointer-events:none}}@media (pointer:coarse) and (max-height:650px){.touch-control{min-height:62px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}#s-game.is-reconnecting .hud{position:relative}#s-game.is-reconnecting .hud:after{content:"⌛";font-size:18px;animation:.9s steps(2,jump-none) infinite reconnect-blink;position:absolute;top:50%;right:14px;transform:translateY(-50%)}@keyframes reconnect-blink{0%{opacity:1}to{opacity:.15}}.match__head{border-bottom:1px solid var(--ink);background:var(--paper);flex:none;padding:9px 58px 8px 12px;display:none}#s-game.is-matching .match__head{gap:8px;display:grid}.match__summary{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:34px;display:grid}.match__summary .match__status{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:14px;overflow:hidden}.match__metric{border:1px solid var(--ink);background:var(--paper);min-height:32px;color:var(--ink);white-space:nowrap;align-items:baseline;gap:3px;padding:5px 8px;font-size:13px;display:inline-flex}.match__label{color:var(--ink-soft);letter-spacing:.04em;margin-right:4px;font-size:10px}.match__slash{color:var(--ink-faint)}.match__head .match__bar{border-color:var(--ink-faint);height:3px}.match__head .match__roster,.match__head .match__note{display:none}#s-game .hud{flex-direction:row;justify-content:space-between;align-items:center;gap:10px;height:52px;padding:8px 58px 8px 14px}#s-game .hud__row1{display:block}#s-game .hud__alive{font-size:16px}#s-game .hud__phase{display:none}#s-game .hud__row2{margin-left:auto;font-size:13px}#s-game.is-matching .hud{display:none}.game__arena{flex:1;place-items:stretch stretch;min-height:0;display:grid;position:relative;overflow:hidden}.game__arena .stage{z-index:1;background:var(--paper);width:min(42vw,75vh - 48px,520px);height:100%;box-shadow:-1px 0 0 var(--ink-faint), 1px 0 0 var(--ink-faint);flex:none;grid-area:1/1;justify-self:center}#s-game.is-royale .game__arena .minifields{z-index:0;background:var(--paper);border:0;width:100%;max-width:none;height:100%;margin:0;display:block;position:absolute;inset:0}#s-game.is-matching #field{visibility:hidden}.game__arena .match__practice{z-index:2;background:var(--paper);display:none;position:absolute;inset:0}#s-game.is-matching .game__arena .match__practice{display:grid}#s-game:not(.is-matching) .game__arena .match__practice,#s-game .hint{display:none}@media (max-width:719px){.game__arena .stage{width:min(70vw,75vh - 48px,420px)}}@media (max-width:359px){.match__label{display:none}.spectate{padding-inline:10px}.spectate__actions{gap:6px}.spectate__actions .btn{padding-inline:4px}.spectate__actions .btn--symbol{font-size:18px}.spectate__actions .btn__label{margin-left:4px;font-size:12px}}@media (pointer:coarse){#s-game.is-matching .touch-controls{display:grid}}
