@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;650;700;750;800;900&family=Space+Mono:wght@400;700&display=swap');

:root{--paper:#f7f8f9;--ink:#202225;--muted:#797d82;--line:#dfe2e5;--green:#c8f779;--mono:'Space Mono','Consolas',monospace;--sans:'DM Sans','PingFang SC','Microsoft YaHei',sans-serif;color-scheme:light;font-family:var(--sans);color:var(--ink);font-synthesis:none;font-weight:400;background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background-image:linear-gradient(#dadee34d 1px,transparent 1px),linear-gradient(90deg,#dadee34d 1px,transparent 1px);background-size:32px 32px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}button,a{-webkit-user-select:none;user-select:none}button{cursor:pointer}a{color:inherit;text-decoration:none}a,button{touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #739f34;outline-offset:5px}button svg,a svg{pointer-events:none}svg{display:block}::selection{background:var(--green);color:var(--ink)}.shell{width:min(1280px,calc(100% - 96px));margin-inline:auto}.site-header{height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;font-size:23px;font-weight:800;letter-spacing:-1.1px}.wordmark>span{font-weight:500}.brand-symbol{width:38px;height:27px;margin-right:10px;filter:grayscale(1)}.header-note{font-family:var(--mono);font-size:12px;letter-spacing:1.05px;color:#7c8085}.header-contact{font-size:14px;font-weight:600;display:flex;align-items:center;gap:24px}.header-contact>span{font-size:22px}.hero{text-align:center;padding-top:51px}.sale-badge{display:inline-flex;align-items:center;gap:9px;border:1px solid #d8ded2;background:#f3f7ec;padding:8px 12px;border-radius:4px;font-family:var(--mono);font-size:12px;letter-spacing:1.4px;color:#525f43}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#77a637}.hero h1{position:relative;width:fit-content;margin:8px auto 2px;font-size:clamp(94px,10.6vw,154px);font-weight:800;line-height:1.19;letter-spacing:-10px}.domain-dot{position:relative;z-index:0}.domain-dot:after{content:'';position:absolute;width:.24em;height:.105em;background:var(--green);bottom:.16em;left:.04em;z-index:-1}.domain-corner{position:absolute;right:-34px;top:30px;font-size:27px;font-weight:400;letter-spacing:0;color:#b0b6bc}.hero h2{font-size:25px;letter-spacing:2.5px;font-weight:500;line-height:1.5;margin:4px 0 11px}.hero h2 span{font-weight:700}.hero-description{font-size:16px;color:#777c82;letter-spacing:.3px;line-height:1.8;margin:0}.mobile-break{display:none}.playground{display:grid;grid-template-columns:1fr 490px 1fr;column-gap:64px;align-items:center;margin-top:44px;padding-bottom:49px}.meaning{padding-top:24px}.section-index{font-family:var(--mono);font-size:12px;letter-spacing:1px;color:#848a90;white-space:nowrap}.meaning-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;margin:28px 0 17px;background:#eceef0;border:1px solid #dde0e3;border-radius:6px}.meaning-icon svg{width:27px;height:27px;stroke:#555b60;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.meaning h3{font-size:29px;line-height:1.5;font-weight:650;letter-spacing:1px;margin:0 0 15px}.green-period{color:#89b64b}.meaning p{font-size:14px;line-height:1.95;color:#7d8186;margin:0 0 24px;white-space:nowrap}.meaning-tag{display:inline-block;font-size:12px;padding:5px 9px;background:#eceff0;border:1px solid #e1e4e7;color:#737b81;border-radius:3px}.side-rule{width:177px;display:flex;align-items:center;gap:12px;color:#afb5ba;margin-top:33px}.side-rule span{width:100%;height:1px;background:var(--line)}.side-rule i{font:16px var(--mono)}.game-heading{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:12px;letter-spacing:.7px;color:#777d82;margin:0 0 12px}.game-heading>span:first-child{display:flex;gap:7px;align-items:center}.tiny-cross{color:#4d565b;font-size:18px}.live-label{font-family:var(--sans);font-size:12px;letter-spacing:0}.game-bottomline{margin-top:15px;display:flex;justify-content:space-between;align-items:center;color:#8a8e92;font-size:12px;gap:12px}.game-bottomline>a{color:#5b6268;display:flex;align-items:center;gap:5px;white-space:nowrap}.game-bottomline svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.2}.game-bottomline a:hover{color:#344e13}.delivery-note{display:flex;align-items:center;gap:9px;background:#fafbfc;border:1px solid #dfe4e6;border-radius:5px;padding:11px 12px;margin-top:25px;max-width:238px}.delivery-mark{background:#e7f3d4;color:#6c8b43;font-size:12px;border-radius:50%;width:20px;height:20px;display:grid;place-items:center}.delivery-note strong{display:block;font-size:12px;font-weight:500;color:#626c73;white-space:nowrap}.delivery-note div>span{display:block;font-family:var(--mono);font-size:12px;color:#a0a5aa;margin-top:3px}.delivery-square{margin-left:auto;color:#99a0a7;font-size:20px}.contact-section{display:grid;grid-template-columns:1fr 1.25fr;align-items:center;gap:40px;border-top:1px solid #d8dde1;padding-top:36px;padding-bottom:39px;position:relative}.contact-section:before,.contact-section:after{content:'+';position:absolute;top:-10px;color:#aab1b7;background:var(--paper);font:17px var(--mono);line-height:17px}.contact-section:before{left:-5px}.contact-section:after{right:-5px}.contact-eyebrow{display:flex;align-items:center;gap:8px;font:12px var(--mono);letter-spacing:1.5px;color:#7e858b;margin-bottom:10px}.contact-intro h2{font-size:25px;font-weight:650;line-height:1.5;letter-spacing:.5px;margin:0}.contact-intro h2 br{display:none}.contact-intro p{font-size:13px;color:#84898f;margin:10px 0 0}.contact-options{display:grid;grid-template-columns:1fr 1.35fr;gap:14px}.contact-card{display:flex;position:relative;flex-direction:column;align-items:flex-start;background:#f9fafbd9;border:1px solid #d9dee3;border-radius:5px;text-align:left;padding:20px 23px;min-height:133px;transition:border-color .2s,background .2s,transform .2s}.contact-card:hover{background:#f0f6e7;border-color:#9fba7b;transform:translateY(-2px)}.contact-label{font:12px var(--mono);letter-spacing:1px;color:#858c94}.contact-value{font:500 29px var(--sans);letter-spacing:-1px;margin-top:8px}.contact-value>span{font-weight:400;color:#8a939b}.contact-action{font-size:12px;display:flex;align-items:center;gap:6px;color:#8b9299;margin-top:9px}.contact-action svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.2}.email-card .contact-action{position:absolute;right:20px;top:11px}.email-card .contact-action>span{font-size:19px}.site-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:22px;padding-bottom:26px;font:12px var(--mono);color:#91979d}.footer-motto{font-size:12px;letter-spacing:1.15px}.site-footer>a{font-family:var(--sans);font-size:12px}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);background:#24282b;color:white;padding:12px 20px;border-radius:6px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:10;max-width:calc(100% - 24px);text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}

push-box-game{display:block}.game-frame{background:#fff;border:1px solid #d2d8dd;border-radius:9px;padding:18px 21px 15px;box-shadow:0 5px 0 #e8ebed,0 10px 28px #343e4710;position:relative}.game-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px}.level-select-wrap{display:flex;align-items:center;gap:8px}.level-indicator{height:22px;width:22px;border:1px solid #d6dde2;border-radius:4px;display:grid;place-items:center}.level-indicator svg{height:13px;width:13px;stroke:#69737b;stroke-width:1.3;fill:none}.level-select{border:0;background:transparent;font:500 12px var(--sans);color:#626c75;cursor:pointer;padding:3px 18px 3px 0;max-width:158px}.stats{display:flex;gap:15px;color:#949ba1;font-size:12px;white-space:nowrap}.stats strong{font-family:var(--mono);font-weight:400;color:#454e55;margin-left:4px;font-size:12px}.board-wrap{background:#f2f4f5;border:1px solid #e2e6e9;border-radius:5px;position:relative;padding:16px 24px;overflow:hidden}.board{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:4px;position:relative;touch-action:none;outline-offset:7px!important;max-width:380px;margin:auto}.tile{aspect-ratio:1;position:relative;border-radius:4px;display:grid;place-items:center}.tile.floor{background:#e8edf0;border:1px solid #dfe5e9}.tile.wall{background:#c8cfd6;border:1px solid #bfc8d0;box-shadow:inset 0 2px 0 #d8dee3}.tile.void{background:transparent}.goal-marker{width:15px;height:15px;border:1px dashed #94a282;border-radius:50%;background:#e0e9d6}.tile.box{background:var(--green);border:1px solid #b0d76e;box-shadow:inset 0 2px 0 #ddffa3}.box-icon{width:51%;height:51%;fill:none;stroke:#57783d;stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round}.tile.box.on-goal{background:#add75f;border-color:#8eb947}.on-goal .box-icon{stroke:#3f6130}.player{width:78%;height:78%;background:#363e45;border-radius:5px;color:white;display:grid;place-items:center;box-shadow:0 2px 2px #222b3522;animation:player-in .1s ease-out}.player svg{width:59%;height:59%;stroke:#eff2f4;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.board.blocked{animation:nudge .15s ease}.game-legend{display:flex;justify-content:center;gap:20px;font-size:12px;color:#838d96;margin-top:13px}.game-legend>span{display:flex;align-items:center;gap:6px}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:2px;background:#364049}.legend-dot.box{background:var(--green);border:1px solid #afd16e}.legend-dot.goal{background:#e5eed9;border:1px dashed #8c9e72;border-radius:50%}.game-toolbar{display:flex;align-items:center;justify-content:space-between;margin-top:15px}.keyboard-hint{display:flex;align-items:center;gap:5px;color:#949ca4;font-size:12px}.keyboard-hint kbd{display:grid;place-items:center;font:12px var(--mono);border:1px solid #dce1e6;border-bottom-width:2px;border-radius:3px;min-width:19px;height:20px;color:#707b84}.keyboard-hint>span{margin-left:2px}.game-actions{display:flex;gap:5px}.icon-button{width:28px;height:28px;display:grid;place-items:center;background:white;border:1px solid #dfe4e8;border-radius:4px;color:#77838c}.icon-button:hover{background:#eef3e7}.icon-button:disabled{color:#cad0d6;background:#fbfcfd}.icon-button svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.touch-controls{display:none;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(2,36px);gap:5px;justify-content:center;margin-top:16px}.touch-controls button{border:1px solid #d3dce2;border-radius:5px;background:#f4f6f8;font-size:19px}.touch-controls button:active{background:var(--green)}.touch-controls [data-direction=up]{grid-column:2}.touch-controls [data-direction=left]{grid-column:1;grid-row:2}.touch-controls [data-direction=down]{grid-column:2;grid-row:2}.touch-controls [data-direction=right]{grid-column:3;grid-row:2}.game-message{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#f4f7f2f0;text-align:center;z-index:2;backdrop-filter:blur(3px)}.game-message[hidden]{display:none}.success-mark{height:42px;width:42px;border-radius:50%;background:var(--green);display:grid;place-items:center;font-size:23px}.game-message h4{font-size:23px;margin:14px 0 4px}.game-message p{font-size:13px;color:#727e6b;margin:3px 10px 17px}.next-level{background:#30382c;color:white;border:0;border-radius:4px;padding:10px 18px;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.standalone-page{min-height:100vh;display:grid;place-items:center;padding:24px}.standalone-shell{width:min(100%,490px)}.standalone-shell>h1{font-size:28px;letter-spacing:-1px}.standalone-shell>p{font-size:14px;color:var(--muted)}.standalone-page .touch-controls{display:grid}
@keyframes player-in{from{transform:scale(.87)}to{transform:scale(1)}}@keyframes nudge{25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}
@media(min-width:1500px){.hero{padding-top:60px}.hero h1{font-size:164px}.playground{margin-top:51px;padding-bottom:61px}.contact-section{padding-top:44px;padding-bottom:44px}}
@media(max-width:1180px){.shell{width:calc(100% - 64px)}.playground{grid-template-columns:1fr 450px 1fr;column-gap:30px}.meaning h3{font-size:25px}.meaning p{font-size:12px;white-space:normal}.section-index{font-size:12px;letter-spacing:0}.contact-section{grid-template-columns:1fr 1.5fr;gap:24px}.contact-intro h2{font-size:22px}.contact-intro h2 br{display:block}.contact-card{padding:20px 17px}.contact-value{font-size:25px}.delivery-note{padding:9px}.delivery-square{display:none}.footer-motto{font-size:12px}.hero h1{font-size:130px}}
@media(max-width:960px){.playground{grid-template-columns:1fr 1fr;gap:35px 40px;max-width:680px}.game-column{grid-column:1/-1;grid-row:1;width:min(100%,490px);justify-self:center}.meaning{grid-row:2;padding:0}.meaning-game{padding-left:20px}.meaning-icon{margin:16px 0 12px}.meaning h3{font-size:23px;line-height:1.4}.meaning h3 br{display:none}.meaning p{font-size:13px;margin-bottom:14px}.side-rule,.delivery-note{display:none}.contact-section{grid-template-columns:1fr;padding-top:28px;gap:24px}.contact-intro h2 br{display:none}.contact-options{grid-template-columns:1fr 1.4fr}.contact-value{font-size:29px}.header-note{font-size:12px}.hero{padding-top:39px}.hero h1{font-size:122px}.hero h2{font-size:22px}.playground{margin-top:32px}.touch-controls{display:grid}.footer-motto{display:none}.game-bottomline{font-size:12px}.section-index{font-size:12px}}
@media(max-width:580px){.shell{width:calc(100% - 36px)}.site-header{height:74px}.wordmark{font-size:21px}.brand-symbol{width:31px;margin-right:7px}.header-note{display:none}.header-contact{font-size:13px;gap:12px}.hero{padding-top:31px}.sale-badge{font-size:12px;letter-spacing:1px;padding:7px 10px}.hero h1{font-size:clamp(78px,21vw,120px);letter-spacing:-6px;line-height:1.25;margin-top:10px}.domain-corner{font-size:20px;right:-20px;top:19px}.hero h2{font-size:20px;letter-spacing:1px;margin:6px 0 10px}.hero-description{font-size:12px;line-height:1.9}.mobile-break{display:block}.playground{margin-top:28px;gap:31px 15px;padding-bottom:29px}.game-frame{padding:14px 12px 13px}.game-heading{font-size:12px;margin-bottom:10px}.game-top{padding-bottom:12px}.stats{gap:10px;font-size:12px}.board-wrap{padding:14px 12px}.board{gap:3px}.tile{border-radius:3px}.player{border-radius:4px}.game-legend{gap:17px;margin-top:11px}.game-bottomline{font-size:12px;margin-top:13px;gap:6px}.game-bottomline>span{font-size:12px}.keyboard-hint{font-size:12px;gap:3px}.keyboard-hint kbd{min-width:17px;height:18px;font-size:12px}.keyboard-hint .wasd{display:none}.meaning-game{padding-left:0}.section-index{font-size:12px}.meaning-icon{width:34px;height:34px;margin-top:13px}.meaning-icon svg{width:23px;height:23px}.meaning h3{font-size:21px;margin-bottom:9px;letter-spacing:0}.meaning p{font-size:12px;margin-bottom:12px;line-height:1.9}.meaning-tag{font-size:12px;padding:5px 7px}.contact-section{padding-top:25px;padding-bottom:26px;gap:21px}.contact-intro h2{font-size:22px}.contact-intro p{font-size:12px;line-height:1.8;margin-top:6px}.contact-options{grid-template-columns:1fr;gap:10px}.contact-card{min-height:109px;padding:16px 19px}.contact-value{font-size:29px;margin-top:7px}.contact-action{position:absolute;right:19px;top:48px;margin:0;font-size:12px}.email-card .contact-action{top:51px;right:19px}.contact-label{font-size:12px}.site-footer{font-size:12px;padding-top:20px;padding-bottom:23px}.contact-eyebrow{font-size:12px}.level-select{font-size:12px}.game-toolbar{margin-top:13px}}
@media(pointer:coarse){.touch-controls{display:grid}.icon-button{width:36px;height:36px}.level-select{min-height:36px}.touch-controls{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,40px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Keep small-screen instructions and contacts readable without overflowing. */
.game-column{min-width:0}
.game-top{padding-bottom:12px}.game-top .level-select{max-width:220px;font-size:14px}.difficulty-badge{font-size:12px;line-height:1.5;border:1px solid #c8d9b4;background:#f0f7e7;color:#617943;border-radius:4px;padding:3px 9px;white-space:nowrap}.difficulty-badge[data-difficulty="挑战"]{background:#eef2f6;border-color:#cbd4de;color:#5a6b7e}.difficulty-badge[data-difficulty="专家"]{background:#343e45;border-color:#343e45;color:#e3f3ce}.game-progress{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #edf0f2;padding:11px 0 13px}.level-progress{font:12px var(--mono);color:#8b949a}.game-progress .stats{font-size:12px;gap:16px}.level-source{display:block;width:fit-content;margin:9px 0 0 auto;font-size:12px;color:#7c858d}.level-source:hover{color:#4e692f}.game-progress .stats strong{font-size:13px}.board{gap:3px}.game-top .level-select-wrap{min-width:0}.game-top .level-select{width:100%}
@media(max-width:580px){.game-progress{gap:6px}.game-progress .stats{gap:9px}.game-progress .stats strong{margin-left:2px;font-size:12px}.level-progress{font-size:12px;letter-spacing:-.7px}.game-top .level-select{max-width:190px}.board{gap:2px}.board-wrap{padding:12px 10px}.goal-marker{width:12px;height:12px}.level-source{margin:9px 0 0}.player{border-radius:3px}}
.game-bottomline{flex-wrap:wrap}.level-select,.stats{font-size:14px}.hero-description{color:#687079}.meaning p{color:#686f77}.game-heading,.game-bottomline,.game-legend{color:#6e7881}.game-toolbar{gap:8px}.keyboard-hint{flex-wrap:wrap;color:#737e87}.contact-label,.contact-action{color:#6e7881}
@media(max-width:580px){.contact-card{min-height:130px}.contact-card .contact-action{position:static;margin-top:10px}.contact-value{font-size:29px}.hero-description{font-size:14px}.meaning p{font-size:14px}.meaning h3{font-size:20px}.section-index{font-size:12px;letter-spacing:-.7px}.game-heading{font-size:12px;letter-spacing:0}.game-top{gap:4px}.stats{gap:8px;font-size:12px}.level-select{font-size:12px;max-width:136px}.game-bottomline>span{font-size:12px}.hero h1{font-size:clamp(62px,20vw,112px);letter-spacing:-5px}.touch-controls{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,40px)}}

