*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.grid{display:grid}.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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:#403a33;background:#f6f1e8}button{font:inherit}.page-shell{background:radial-gradient(circle at 50% -10%,#fffaf2 0,#f6f1e8 54%);min-height:100vh;padding:54px 20px 70px}.game-wrap{width:min(100%,520px);margin:auto}.topbar{justify-content:space-between;align-items:end;gap:16px;display:flex}h1{color:#4b4137;letter-spacing:-6px;margin:0;font-size:clamp(58px,15vw,86px);font-weight:900;line-height:.8}.topbar p{color:#a09280;letter-spacing:.04em;margin:17px 0 0 5px;font-size:14px}.scores{gap:7px;display:flex}.score-box{text-align:center;color:#fffaf1;background:#a69a8a;border-radius:9px;min-width:76px;padding:9px 10px 8px;box-shadow:inset 0 5px 11px #8d80641c}.score-box span{color:#e8e0d5;letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.score-box strong{font-size:20px;line-height:1.25;display:block}.account-bar{justify-content:space-between;align-items:center;gap:12px;min-height:42px;margin-top:24px;display:flex}.account-info{color:#756858;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.account-info small{color:#927c5e;background:#eadfcf;border-radius:5px;margin-left:6px;padding:3px 6px;font-size:10px;display:inline-block}.avatar{color:#fff;background:#b8784e;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.account-hint{color:#9d8e7d;font-weight:500}.link-button{color:#8d6e53;box-shadow:none;background:0 0;padding:3px 4px;font-size:12px}.link-button:hover{text-decoration:underline}.rank-button{color:#66594c;background:#efe7db;padding:9px 12px;box-shadow:0 3px #d7c9b8}.toolbar{justify-content:space-between;align-items:center;gap:12px;margin:28px 0 15px;display:flex}.toolbar p{color:#938678;margin:0;font-size:14px}.toolbar b{color:#685b4c}.toolbar>div,.modal-actions{gap:8px;display:flex}button{cursor:pointer;border:0;border-radius:8px;padding:11px 14px;font-size:13px;font-weight:800;transition:transform .15s,box-shadow .15s,opacity .15s}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.42}.primary{color:#fff;background:#5e5043;box-shadow:0 4px #463a30}.secondary{color:#66594c;background:#e5ddd0;box-shadow:0 4px #cfc2b0}.board{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;background:#b8a995;border-radius:13px;grid-template-columns:repeat(4,1fr);gap:11px;padding:11px;display:grid;position:relative;box-shadow:0 15px 35px #77634b1c}.cell{background:#cbbfae;border-radius:8px}.tile{--gap:11px;z-index:2;top:var(--gap);left:var(--gap);width:calc((100% - 5 * var(--gap)) / 4);height:calc((100% - 5 * var(--gap)) / 4);transform:translate(calc(var(--col) * (100% + var(--gap))), calc(var(--row) * (100% + var(--gap))));color:#fffaf1;border-radius:8px;place-items:center;font-size:clamp(25px,8vw,43px);font-weight:900;transition:transform .18s cubic-bezier(.2,.8,.25,1);animation:.18s ease-out appear;display:grid;position:absolute}.tile-2{color:#665b4d;background:#eee5d8;box-shadow:0 3px #ddd0c0}.tile-4{color:#665644;background:#ece0c9;box-shadow:0 3px #d8c7ab}.tile-8{background:#d78f5b}.tile-16{background:#d5764b}.tile-32{background:#cb604c}.tile-64{background:#be4938}.tile-128{background:#d7ae4c;font-size:clamp(22px,7vw,36px)}.tile-256{background:#c99d32;font-size:clamp(22px,7vw,36px)}.tile-512{background:#b78921;font-size:clamp(22px,7vw,36px)}.tile-1024,.tile-2048,.tile-super{background:#5e4c3c;font-size:clamp(18px,6vw,31px);box-shadow:0 0 18px #f1ca65aa}.tile-merged{animation:.22s ease-out merge-pop}.tile:last-child{animation:.18s ease-out appear,.22s ease-out .18s pop}.tip{color:#978a7b;text-align:center;margin:20px 0;font-size:13px;line-height:1.7}.tip span{color:#b0a394;margin-left:8px}.live-region{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.overlay{z-index:10;background:#54483d9c;place-items:center;padding:20px;animation:.2s ease-out fade;display:grid;position:fixed;inset:0}.form-modal,.rank-modal{text-align:left;position:relative}.form-modal h2,.rank-modal h2{text-align:center}.form-modal p{font-size:13px}.form-modal label{color:#756858;margin:14px 0;font-size:12px;font-weight:800;display:block}.form-modal input{color:#4b4137;width:100%;font:inherit;background:#fff;border:1px solid #ded2c2;border-radius:8px;outline:none;margin-top:6px;padding:11px 12px;display:block}.form-modal input:focus{border-color:#b8784e;box-shadow:0 0 0 3px #b8784e22}.close-button{color:#917f6d;box-shadow:none;background:0 0;padding:2px 8px;font-size:25px;position:absolute;top:12px;right:13px}.submit-button{width:100%;margin:8px 0 12px}.form-modal>.link-button{margin:auto;display:block}.error-text{color:#b04d3b;margin:10px 0;font-size:13px;line-height:1.5}.rank-modal{width:min(100%,470px);padding:30px 20px 18px}.rank-tabs{background:#eee5d8;border-radius:8px;gap:5px;margin:20px 0 12px;padding:4px;display:flex}.rank-tabs button{color:#8e7d6b;box-shadow:none;background:0 0;flex:1;padding:8px}.rank-tabs button.active{color:#fff;background:#786653}.rank-list{margin:0;padding:0;list-style:none}.rank-list li{color:#746555;border-bottom:1px solid #eee5d8;grid-template-columns:30px minmax(70px,1fr) 65px 60px 82px;align-items:center;gap:5px;padding:11px 4px;font-size:12px;display:grid}.rank-list li>b{color:#ae9b86;text-align:center}.rank-list strong{color:#57493c;text-align:right;font-size:15px}.rank-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rank-name em{color:#fff;background:#c17b51;border-radius:4px;margin-left:5px;padding:2px 4px;font-size:9px;font-style:normal}.rank-tile{color:#a18f7c}.rank-list time{color:#a18f7c;text-align:right}.current-rank{background:#f7ecdc;border-radius:6px}.empty-state{color:#a18f7c;text-align:center;padding:28px 5px}.rank-footnote{color:#ad9b87;text-align:center;margin-top:13px;display:block}.modal{text-align:center;background:#fffaf2;border-radius:16px;width:min(100%,360px);padding:35px 28px 28px;box-shadow:0 25px 70px #392b1d55}.modal-icon{font-size:36px}.modal h2{color:#514437;margin:14px 0 8px;font-size:30px}.modal p{color:#9b8c7d;margin:0 0 25px;line-height:1.6}.modal-actions{justify-content:center}@keyframes appear{0%{opacity:0;transform:translate(calc(var(--col) * (100% + var(--gap))), calc(var(--row) * (100% + var(--gap)))) scale(0)}to{opacity:1}}@keyframes pop{50%{transform:translate(calc(var(--col) * (100% + var(--gap))), calc(var(--row) * (100% + var(--gap)))) scale(1.12)}}@keyframes merge-pop{45%{transform:translate(calc(var(--col) * (100% + var(--gap))), calc(var(--row) * (100% + var(--gap)))) scale(1.16)}}@keyframes fade{0%{opacity:0}}@media (max-width:470px){.page-shell{padding:35px 14px 50px}.account-bar{align-items:flex-start}.account-hint{display:none}.toolbar{flex-direction:column;align-items:start;margin-top:25px}.toolbar>div{width:100%}.toolbar button{flex:1}.board{--gap:8px;gap:8px;padding:8px}.tile{--gap:8px}.tip span{margin:0;display:block}.rank-list li{grid-template-columns:24px minmax(62px,1fr) 54px 52px}.rank-list time{display:none}.rank-tile{font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
