/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.flex{display:flex}.hidden{display:none}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--blue:#006491;--blue-dark:#0d2f40;--blue-soft:#a7e2ef;--red:#e31837;--yellow:#ffd84e;--cream:#fff7e8;--ink:#102f3e;--paper:#f4efe2}*{box-sizing:border-box}html{background:var(--cream)}body{color:var(--ink);background:radial-gradient(circle at 12% 7%,#ffd84e4d,#0000 21rem),linear-gradient(#fffaf0 0%,#f5eddd 100%);min-height:100vh;margin:0;font-family:Arial,Noto Sans TC,Microsoft JhengHei,sans-serif}button,kbd{font:inherit}button{-webkit-tap-highlight-color:transparent}.site-shell{min-height:100vh;overflow:hidden}.topbar{background:var(--blue-dark);color:#fff;justify-content:space-between;align-items:center;min-height:66px;padding:10px clamp(18px,4vw,64px);display:flex}.brand-lockup,.topbar-actions{align-items:center;display:flex}.brand-lockup{letter-spacing:.04em;gap:13px;font-size:clamp(15px,1.6vw,20px);font-weight:950}.brand-lockup b{color:var(--yellow);font-size:25px}.domino-logo{object-fit:contain;flex:none;width:40px;height:40px;display:block}.keychron-logo{filter:invert();object-fit:contain;flex:none;width:36px;height:36px;display:block}.topbar-actions{gap:8px}.best-score,.icon-button{color:#fff;letter-spacing:.06em;border:1px solid #ffffff30;border-radius:10px;padding:9px 12px;font-family:Courier New,monospace;font-size:12px;font-weight:900}.best-score{color:var(--yellow)}.icon-button{cursor:pointer;background:#ffffff12;transition:background .16s,transform .16s}.icon-button:hover{background:#ffffff29;transform:translateY(-1px)}.game-heading{justify-content:space-between;align-items:flex-end;gap:40px;max-width:1440px;margin:0 auto;padding:clamp(28px,4vw,54px) clamp(18px,4vw,64px) 25px;display:flex}.eyebrow,.section-kicker{color:var(--blue);letter-spacing:.13em;margin:0 0 8px;font-family:Courier New,monospace;font-size:13px;font-weight:900}.game-heading h1{color:var(--ink);letter-spacing:-.075em;margin:0;font-size:clamp(48px,7vw,94px);font-weight:1000;line-height:.85}.game-heading h1 span{color:var(--red)}.heading-copy{max-width:450px;margin:0;font-size:clamp(14px,1.6vw,18px);line-height:1.7}.game-stage{background:var(--blue-dark);border-radius:28px;width:calc(100% - clamp(26px,6vw,96px));max-width:1440px;margin:0 auto;overflow:hidden;box-shadow:0 24px 70px #0d2f403d}.game-stage:fullscreen{background:#071d27;border-radius:0;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:none;padding:18px;display:flex}.game-stage:fullscreen .screen-bezel{max-height:calc(100vh - 118px)}.screen-bezel{aspect-ratio:16/9;border:12px solid var(--blue-dark);background:#081e28;border-radius:27px 27px 12px 12px;width:100%;position:relative;overflow:hidden}.game-canvas{height:100%;image-rendering:pixelated;touch-action:none;width:100%;display:block}.screen-corner{color:#ffffffbd;letter-spacing:.12em;pointer-events:none;z-index:2;background:#0d2f40e0;padding:6px 9px;font-family:Courier New,monospace;font-size:clamp(7px,1.1vw,12px);font-weight:900;position:absolute;bottom:11px}.corner-left{left:12px}.corner-right{right:12px}.result-overlay{z-index:4;background:#020d1333;place-items:center;padding:3.2%;display:grid;position:absolute;inset:0}.result-card{box-shadow:0 0 0 5px var(--blue), 0 0 0 9px #071d29, 12px 12px 0 #00000061;color:#fff;font-smooth:never;background:repeating-linear-gradient(0deg,#ffffff05 0 2px,#0000 2px 5px),radial-gradient(circle at 50% 0,#00649173,#0000 45%),#071d29f7;border:4px solid #ffffffe6;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;width:78%;max-width:880px;height:100%;max-height:700px;padding:clamp(10px,2.1vw,30px);font-family:Courier New,Microsoft JhengHei,monospace;display:flex;overflow:hidden auto}.result-card.leaderboard-card{justify-content:flex-start;width:94%;max-width:1120px;padding:clamp(8px,1.55vw,22px) clamp(12px,2vw,28px)}.result-brand-lockup{flex:none;justify-content:center;align-items:center;gap:clamp(12px,2vw,26px);margin-bottom:clamp(6px,1vw,14px);display:flex}.result-brand-lockup span{color:var(--yellow);text-shadow:3px 3px 0 var(--blue);font-family:Courier New,monospace;font-size:clamp(18px,2.7vw,38px);font-weight:950}.result-dominos-logo,.result-keychron-logo{object-fit:contain;width:clamp(30px,4.2vw,62px);height:clamp(30px,4.2vw,62px)}.result-keychron-logo{filter:invert()}.score-entry-view{text-align:center;flex-direction:column;align-items:center;width:100%;min-height:0;display:flex}.result-kicker{color:var(--blue-soft);letter-spacing:.14em;text-shadow:2px 2px #00141e;margin:0 0 clamp(3px,.5vw,7px);font-family:Courier New,monospace;font-size:clamp(9px,1.08vw,15px);font-weight:900}.score-entry-view h2,.leaderboard-heading h2{color:#fff;letter-spacing:.02em;text-shadow:3px 0 0 #071d29, 0 3px 0 #071d29, 3px 3px 0 var(--blue);margin:0;font-family:Courier New,Microsoft JhengHei,monospace;font-size:clamp(22px,3.4vw,48px);font-weight:1000;line-height:1}.final-score{color:var(--yellow);text-shadow:4px 0 0 #071d29, 0 4px 0 #071d29, 5px 5px 0 var(--red);margin:clamp(5px,.9vw,12px) 0;font-family:Courier New,monospace;font-size:clamp(38px,6.7vw,90px);line-height:.95}.result-summary{color:#ffffffc2;margin:0 0 clamp(8px,1.3vw,18px);font-family:Courier New,Microsoft JhengHei,monospace;font-size:clamp(10px,1.45vw,19px);font-weight:900}.name-entry-form{width:min(100%,620px)}.name-entry-form label{margin-bottom:clamp(5px,.8vw,11px);font-family:Courier New,Microsoft JhengHei,monospace;font-size:clamp(11px,1.55vw,20px);font-weight:900;display:block}.name-entry-row{justify-content:center;gap:clamp(6px,.8vw,10px);display:flex}.name-entry-row--spaced{margin-bottom:clamp(10px,1.6vw,18px)}.name-entry-row input,.name-entry-row button,.leaderboard-actions button{border:3px solid #071d29;border-radius:2px;min-height:clamp(32px,4.3vw,56px);font-family:Courier New,Microsoft JhengHei,monospace;font-weight:900}.name-entry-row input{color:var(--ink);background:#fff;outline:3px solid #0000;flex:1;min-width:0;padding:0 clamp(10px,1.3vw,18px);font-size:clamp(12px,1.7vw,22px);transition:outline-color .16s}.name-entry-row input:focus{outline-color:var(--yellow)}.name-entry-row button{background:var(--red);color:#fff;cursor:pointer;padding:0 clamp(12px,1.8vw,24px);font-size:clamp(10px,1.3vw,17px);box-shadow:4px 4px #961129}.name-entry-form small{color:#ffffff94;margin-top:clamp(5px,.7vw,9px);font-family:Courier New,monospace;font-size:clamp(7px,.82vw,11px);display:block}.name-entry-error{color:#ff889a;margin:clamp(4px,.6vw,8px) 0 0;font-family:Courier New,Microsoft JhengHei,monospace;font-size:clamp(9px,1.1vw,14px);font-weight:900}.leaderboard-view{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.leaderboard-heading{flex:none;justify-content:space-between;align-items:center;margin-bottom:clamp(5px,.8vw,10px);display:flex}.leaderboard-heading h2{font-size:clamp(22px,2.8vw,40px)}.current-score-chip{background:#ffd84e1f;border:3px solid #ffd84eb3;border-radius:2px;flex-direction:column;align-items:flex-end;padding:clamp(5px,.65vw,9px) clamp(8px,1.1vw,15px);display:flex;box-shadow:4px 4px #0000004d}.current-score-chip small{color:#ffffffa8;font-size:clamp(9px,.9vw,13px);font-weight:900}.current-score-chip strong{color:var(--yellow);text-shadow:2px 2px #071d29;font-family:Courier New,monospace;font-size:clamp(18px,2vw,28px);line-height:1}.leaderboard-list{flex:1;gap:clamp(3px,.42vw,6px);min-height:0;margin:0;padding:0;list-style:none;display:grid}.leaderboard-list li{text-shadow:2px 2px #0000009e;background:#fff1;border:2px solid #ffffff2e;border-radius:2px;grid-template-columns:clamp(32px,3.8vw,52px) minmax(90px,1.1fr) minmax(120px,.9fr) clamp(70px,7.5vw,104px);align-items:center;gap:clamp(6px,1vw,14px);min-height:0;padding:clamp(3px,.38vw,5px) clamp(8px,1vw,14px);font-family:Courier New,Microsoft JhengHei,monospace;font-size:clamp(11px,1.25vw,18px);font-weight:900;display:grid}.leaderboard-list li.podium{border-color:#fff3}.leaderboard-list li.rank-1{background:linear-gradient(90deg,#ffd84e3b,#ffd84e12);border-color:#ffd84e8c}.leaderboard-list li.rank-2{background:linear-gradient(90deg,#dae3e933,#dae3e90e);border-color:#dae3e96b}.leaderboard-list li.rank-3{background:linear-gradient(90deg,#c4754633,#c475460d);border-color:#d38b5a66}.leaderboard-list li.is-current-player{box-shadow:inset 6px 0 0 var(--red), 3px 3px 0 #00000052}.rank-mark{color:var(--blue-soft);justify-content:center;align-items:center;font-family:Courier New,monospace;font-size:clamp(12px,1.35vw,19px);font-weight:900;display:flex}.trophy{text-shadow:none;font-size:clamp(19px,2.2vw,31px);line-height:1;display:inline-block}.trophy-2{filter:grayscale()brightness(1.5)}.trophy-3{filter:sepia(.9)saturate(1.5)hue-rotate(330deg)brightness(.82)}.leader-name{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(12px,1.45vw,20px);font-weight:900;overflow:hidden}.leader-detail{color:#ffffff94;font-size:clamp(10px,1.05vw,15px);font-weight:900}.leaderboard-list li>strong{color:var(--yellow);text-align:right;font-family:Courier New,monospace;font-size:clamp(14px,1.65vw,23px)}.empty-leaderboard{color:#ffffffb8;text-align:center;text-shadow:2px 2px #0000009e;border:3px dashed #fff6;border-radius:2px;flex:1;justify-content:center;align-items:center;padding:24px;font-family:Courier New,Microsoft JhengHei,monospace;font-size:clamp(13px,1.65vw,22px);font-weight:900;display:flex}.leaderboard-actions{flex:none;justify-content:center;gap:clamp(6px,.8vw,10px);margin-top:clamp(6px,.8vw,10px);display:flex}.leaderboard-actions button{color:#fff;cursor:pointer;text-shadow:2px 2px #0000008c;min-height:clamp(30px,3.4vw,46px);padding:0 clamp(12px,1.6vw,22px);font-family:Courier New,monospace;font-size:clamp(10px,1.15vw,16px)}.play-again-button{background:var(--red);box-shadow:4px 4px #961129}.game-toolbar{justify-content:space-between;align-items:center;gap:20px;min-height:92px;padding:16px 22px;display:flex}.live-stats{gap:clamp(16px,3vw,38px);display:flex}.live-stats span{color:#fff;white-space:nowrap;font-family:Courier New,monospace;font-size:clamp(14px,1.7vw,20px);font-weight:900}.live-stats small{color:var(--blue-soft);letter-spacing:.1em;margin-bottom:4px;font-size:9px;display:block}.toolbar-buttons{gap:9px;display:flex}.pause-button,.start-button{cursor:pointer;border:0;border-radius:12px;min-height:48px;padding:0 19px;font-size:14px;font-weight:900;transition:transform .16s,filter .16s}.pause-button{color:#fff;background:#ffffff1f}.pause-button:disabled{cursor:not-allowed;opacity:.35}.start-button{background:var(--red);color:#fff;min-width:118px;box-shadow:0 5px #961129}.start-button:hover,.pause-button:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-1px)}.controls-section{grid-template-columns:.86fr 1.14fr;gap:clamp(30px,8vw,110px);max-width:1440px;margin:0 auto;padding:clamp(52px,8vw,100px) clamp(18px,4vw,64px);display:grid}.control-copy h2{letter-spacing:-.045em;margin:0 0 18px;font-size:clamp(30px,4vw,52px);line-height:1.05}.control-copy>p:last-child{color:#4f6570;max-width:520px;margin:0;line-height:1.8}.keyboard-guide{grid-template-columns:1fr 1fr;gap:12px;display:grid}.guide-item{background:#fff;border:1px solid #102f3e17;border-radius:18px;align-items:center;gap:17px;min-height:112px;padding:18px;display:flex;box-shadow:0 12px 28px #0f354712}.compact-guide{grid-column:1/-1;min-height:92px}.guide-item kbd,.touch-key{color:var(--ink);white-space:nowrap;background:#fffdf8;border:2px solid #d8d4c9;border-bottom-width:6px;border-radius:9px;place-items:center;min-width:49px;min-height:49px;padding:0 10px;font-family:Courier New,monospace;font-size:15px;font-weight:900;display:inline-grid}.key-cluster{gap:4px;display:flex}.key-cluster kbd{min-width:38px;padding:0}.guide-item b,.guide-item span{display:block}.guide-item b{margin-bottom:5px;font-size:17px}.guide-item span{color:#60727a;font-size:13px;line-height:1.45}.touch-panel{display:none}.site-footer{background:var(--red);color:#fff;letter-spacing:.12em;justify-content:space-between;padding:24px clamp(18px,4vw,64px);font-family:Courier New,monospace;font-size:12px;font-weight:900;display:flex}@media (width<=900px){.game-heading{flex-direction:column;align-items:flex-start;gap:16px}.controls-section{grid-template-columns:1fr}.game-toolbar{flex-direction:column;align-items:stretch}.toolbar-buttons button{flex:1}}@media (width<=680px){.topbar{flex-direction:column;align-items:flex-start;gap:11px}.brand-lockup{gap:8px}.keychron-logo{width:30px;height:30px}.topbar-actions{width:100%}.best-score{margin-right:auto}.game-heading{padding-top:35px}.game-stage{border-radius:16px;width:calc(100% - 20px)}.screen-bezel{border-width:6px;border-radius:14px 14px 8px 8px}.result-overlay{padding:2.2%}.result-card,.result-card.leaderboard-card{border-radius:9px;width:96%;padding:7px 9px}.result-brand-lockup{margin-bottom:3px}.leaderboard-list li{grid-template-columns:29px minmax(70px,1fr) 58px;gap:5px;padding:2px 6px}.leader-detail{display:none}.leaderboard-actions{margin-top:4px}.leaderboard-actions button{min-height:26px}.game-toolbar{padding:14px}.live-stats{grid-template-columns:repeat(4,1fr);gap:11px;display:grid}.live-stats span{font-size:12px}.keyboard-guide{grid-template-columns:1fr}.compact-guide{grid-column:auto}.touch-panel{grid-template-columns:repeat(4,1fr);gap:8px;padding:0 10px 42px;display:grid}.touch-key{cursor:pointer;touch-action:none;min-height:70px;font-size:23px}.touch-key span{font-family:Arial,sans-serif;font-size:10px;display:block}.jump-key{background:var(--red);color:#fff;border-color:#a20e27}.controls-section{padding-bottom:40px}.site-footer{flex-direction:column;align-items:center;gap:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
