:root{--ink:#24372f;--muted:#69766f;--cream:#f6f3e9;--paper:#fbfaf5;--sage:#dfe8d8;--green:#3f6655;--deep:#294b3d;--line:#dcded3;--coral:#dc795e;--shadow:0 24px 70px #32443a21}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:Arial,Helvetica Neue,sans-serif}.site{background:radial-gradient(circle at 70% 34%,#d7e5cc80,transparent 28%),var(--cream);min-height:100vh;overflow:hidden}button,a{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #d27559}svg{width:1.3em;height:1.3em}.topbar{z-index:5;justify-content:space-between;align-items:center;width:min(1180px,100% - 56px);height:92px;margin:auto;display:flex;position:relative}.brand{color:var(--ink);letter-spacing:-1px;align-items:center;gap:10px;font-family:Georgia,serif;font-size:27px;font-weight:700;text-decoration:none;display:flex}.brand span{background:var(--deep);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.brand span svg{width:20px}.brand-button{cursor:pointer;background:0 0;border:0;padding:0}.text-button{cursor:pointer;background:0 0;border:0;border-bottom:1px solid #9ca79e;padding:6px 1px;font-size:14px;font-weight:700}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:70px;width:min(1180px,100% - 56px);min-height:calc(100vh - 155px);margin:auto;padding:45px 0 85px;display:grid}.hero-copy{z-index:2;padding-left:30px;position:relative}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:2px;align-items:center;gap:8px;margin-bottom:20px;font-size:11px;font-weight:800;display:flex}.eyebrow svg{width:16px}.hero h1,.game-heading h1{letter-spacing:-4px;margin:0 0 26px;font-family:Georgia,Times New Roman,serif;font-size:clamp(56px,6vw,85px);font-weight:500;line-height:.96}.hero h1 em,.game-heading h1 em{color:var(--coral);font-weight:400}.intro{max-width:510px;color:var(--muted);margin-bottom:34px;font-family:Georgia,serif;font-size:19px;line-height:1.7}.primary,.secondary{border:1px solid var(--deep);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:25px;height:50px;padding:0 20px;font-size:14px;font-weight:750;display:inline-flex}.primary{background:var(--deep);color:#fff;box-shadow:0 8px 20px #294b3d2e}.primary:hover{background:#1e3d31}.secondary{background:0 0}.secondary:hover{background:#edf0e8}.primary.large{min-width:242px;height:56px;padding:0 22px}.primary svg,.secondary svg{width:18px}.mode-card{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:13px;margin-top:29px;padding:2px;display:flex}.mode-card strong{margin-bottom:4px;font-size:13px;display:block}.mode-card small{color:var(--muted);font-size:12px}.switch{background:#b9c1b8;border-radius:20px;width:42px;height:24px;padding:3px;transition:all .2s;display:block}.switch i{background:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;display:block;box-shadow:0 2px 5px #0002}.mode-card[aria-checked=true] .switch,.calm-pill[aria-checked=true] .switch{background:var(--green)}.mode-card[aria-checked=true] .switch i,.calm-pill[aria-checked=true] .switch i{transform:translate(18px)}.preview-wrap{place-items:center;height:560px;display:grid;position:relative}.orbit{border:1px solid #4c6e5d1f;border-radius:50%;position:absolute}.orbit.one{width:510px;height:510px}.orbit.two{width:390px;height:390px}.preview-card{width:395px;box-shadow:var(--shadow);z-index:1;background:#fbfaf5f0;border:1px solid #fffc;border-radius:18px;padding:25px;transform:rotate(2deg)}.preview-head{color:#839087;text-transform:uppercase;letter-spacing:2px;justify-content:space-between;margin-bottom:20px;font-size:10px;font-weight:700;display:flex}.dots{letter-spacing:4px}.preview-grid,.board{background:#bdc6b9;border-radius:10px;grid-template-columns:repeat(4,1fr);gap:10px;padding:10px;display:grid}.preview-grid .tile{aspect-ratio:1;color:#40574b;background:#f0f1e8a6;border-radius:7px;place-items:center;font-family:Georgia,serif;font-size:24px;font-weight:700;display:grid}.preview-grid .t2{background:#edf0df}.preview-grid .t4{background:#e3e9cf}.preview-grid .t8{background:#d9dfb7}.preview-grid .t16{background:#bfcf9e}.preview-grid .t32{color:#fff;background:#9fbd88}.preview-grid .t64{color:#fff;background:#779c70}.preview-grid .t128{color:#fff;background:#537d63}.preview-grid .t256{color:#fff;background:#315a49}.preview-note{color:var(--muted);align-items:center;gap:11px;margin-top:19px;font-family:Georgia,serif;font-size:12px;display:flex}.preview-note svg{color:var(--green)}.preview-note b{color:var(--ink)}.landing-foot{color:#849087;text-transform:uppercase;letter-spacing:1.3px;justify-content:center;gap:15px;width:100%;font-size:9px;display:flex;position:absolute;bottom:24px}.game-page{background:linear-gradient(#f9f7ef 0%,#f4f1e7 100%);min-height:100vh;overflow:auto}.game-top{border-bottom:1px solid var(--line);width:100%;height:78px;padding:0 max(28px,50vw - 580px)}.header-actions{align-items:center;gap:25px;display:flex}.calm-pill{cursor:pointer;background:#e9eee5;border:0;border-radius:30px;align-items:center;gap:7px;padding:7px 12px 7px 8px;font-size:11px;display:flex}.calm-pill b{color:var(--muted);font-weight:500}.switch.mini{width:31px;height:18px;padding:3px}.switch.mini i{width:12px;height:12px}.calm-pill[aria-checked=true] .switch i{transform:translate(13px)}.game-shell{width:min(1080px,100% - 44px);margin:0 auto;padding:46px 0 65px}.game-heading{justify-content:space-between;align-items:end;margin-bottom:34px;display:flex}.game-heading h1{letter-spacing:-2.5px;margin:0;font-size:53px}.game-heading .eyebrow{margin-bottom:11px}.score-row{gap:10px;display:flex}.score-box{background:#e6eadf;border-radius:8px;flex-direction:column;justify-content:center;min-width:105px;height:66px;padding:10px 16px;display:flex}.score-box.best{background:#ede3d4;min-width:135px}.score-box span{text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);font-size:8px;font-weight:700}.score-box strong{margin-top:4px;font-family:Georgia,serif;font-size:24px}.play-layout{grid-template-columns:minmax(360px,570px) 1fr;align-items:start;gap:42px;display:grid}.board-wrap{position:relative}.board{touch-action:none;-webkit-user-select:none;user-select:none;background:#abb8a9;border-radius:12px;gap:11px;padding:11px;box-shadow:0 15px 42px #4352481f}.game-tile{aspect-ratio:1;color:#42564c;background:#f1f0e8;border-radius:8px;place-items:center;font-family:Georgia,serif;font-size:clamp(28px,4vw,48px);font-weight:700;animation:.14s ease-out appear;display:grid}.calm .game-tile{animation:none}.game-tile.empty{background:#efefe459}.game-tile.v2{background:#f0f0df}.game-tile.v4{background:#e8ebd2}.game-tile.v8{background:#d8dfb3}.game-tile.v16{background:#c1d09b}.game-tile.v32{color:#fff;background:#a1bd82}.game-tile.v64{color:#fff;background:#7e9f71}.game-tile.v128{color:#fff;background:#5f8566;font-size:clamp(25px,3.7vw,43px)}.game-tile.v256{color:#fff;background:#416b55;font-size:clamp(25px,3.7vw,43px)}.game-tile.v512{color:#fff;background:#305747;font-size:clamp(25px,3.7vw,43px)}.game-tile.v1024{color:#fff;background:#df8a68;font-size:clamp(20px,3.2vw,37px)}.game-tile.v2048{color:#fff;background:#c9654d;font-size:clamp(20px,3.2vw,37px);box-shadow:inset 0 0 0 2px #f2b59f}.under-board{color:#858f88;text-transform:uppercase;letter-spacing:1px;justify-content:center;gap:28px;margin-top:18px;font-size:10px;display:flex}.under-board span{align-items:center;gap:7px;display:flex}.under-board svg{width:17px}.side-panel{padding-top:5px}.tip{background:#e6ebdf;border-radius:10px;gap:14px;padding:19px;display:flex}.tip>svg{color:var(--green);flex:0 0 23px}.tip strong{font-family:Georgia,serif;font-size:15px}.tip p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.6}.new-game{justify-content:space-between;width:100%;margin-top:15px}.feedback-card{border-top:1px solid var(--line);margin-top:26px;padding-top:25px}.mini-label{letter-spacing:1.7px;text-transform:uppercase;color:var(--green);font-size:9px;font-weight:700}.feedback-card h3{margin:8px 0;font-family:Georgia,serif;font-size:25px}.feedback-card>p{color:var(--muted);font-size:12px;line-height:1.6}.share-copy{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;margin-top:14px;display:flex}.share-copy span{color:var(--muted);flex:1;padding:10px 12px;font-size:10px;line-height:1.4}.share-copy button{border:0;border-left:1px solid var(--line);cursor:pointer;background:0 0;align-self:stretch;padding:10px}.share-copy svg{width:17px}.feedback-card small{color:var(--green);margin-top:8px;font-weight:700;display:block}.result-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-align:center;z-index:3;background:#f7f5ecf0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:35px;display:flex;position:absolute;inset:0}.result-icon{background:var(--deep);color:#fff;border-radius:50%;place-items:center;width:47px;height:47px;margin-bottom:15px;display:grid}.result-kicker{text-transform:uppercase;color:var(--green);letter-spacing:1.8px;font-size:9px;font-weight:700}.result-overlay h2{margin:9px 0;font:500 35px Georgia,serif}.result-overlay p{max-width:360px;color:var(--muted);margin:0 0 22px;font:15px/1.6 Georgia,serif}.result-actions{gap:10px;display:flex}.modal-backdrop{z-index:20;background:#1b2b237a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);border-radius:16px;width:min(440px,100%);padding:35px 38px 38px;position:relative;box-shadow:0 30px 90px #19251f55}.icon-button{cursor:pointer;background:0 0;border:0;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:17px;right:17px}.modal-icon{background:var(--sage);width:42px;height:42px;color:var(--green);border-radius:50%;place-items:center;margin-bottom:18px;display:grid}.modal h2{margin:8px 0 13px;font:500 37px Georgia,serif}.modal>p{color:var(--muted);font:15px/1.65 Georgia,serif}.modal ol{margin:22px 0;padding:0;list-style:none}.modal li{border-top:1px solid var(--line);grid-template-columns:60px 1fr;padding:13px 0;font-size:12px;display:grid}.modal li span{color:var(--muted)}.modal-done{width:100%}.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}@keyframes appear{0%{opacity:.75;transform:scale(.91)}to{opacity:1;transform:scale(1)}}@media (max-width:850px){.hero{grid-template-columns:1fr;padding-top:55px}.hero-copy{text-align:center;padding-left:0}.hero-copy .eyebrow,.mode-card{justify-content:center}.intro{margin-left:auto;margin-right:auto}.preview-wrap{display:none}.landing-foot{flex-wrap:wrap;padding:20px;position:static}.landing{overflow:auto}.play-layout{grid-template-columns:minmax(0,570px);justify-content:center}.side-panel{grid-template-columns:1fr 1fr;gap:15px;display:grid}.new-game{margin-top:0}.feedback-card{grid-column:1/-1}.game-heading{max-width:570px;margin-left:auto;margin-right:auto}.under-board{margin-bottom:10px}}@media (max-width:600px){.topbar{width:calc(100% - 32px);height:72px}.hero{width:calc(100% - 36px);min-height:calc(100vh - 120px);padding:35px 0}.hero h1{letter-spacing:-3px;font-size:54px}.intro{font-size:17px;line-height:1.55}.landing-foot span:nth-child(2){display:none}.game-top{padding:0 17px}.game-top .text-button{display:none}.header-actions{gap:8px}.game-shell{width:calc(100% - 24px);padding-top:28px}.game-heading{display:block}.game-heading h1{margin-bottom:22px;font-size:43px}.score-row{justify-content:stretch}.score-box{flex:1}.play-layout{display:block}.board{border-radius:10px;gap:7px;padding:7px}.game-tile{border-radius:6px}.side-panel{flex-direction:column;margin-top:18px;display:flex}.tip{order:2}.new-game{order:1}.feedback-card{order:3}.under-board{gap:16px}.result-overlay{padding:20px}.result-overlay h2{font-size:29px}.result-overlay p{font-size:13px}.modal{padding:30px 24px}.modal-backdrop{align-items:end;padding:12px}.modal{border-radius:16px}.preview-card{width:90%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.preview-card{transform:none}}
