:root{--paper:#edf3f8;--ink:#1a3152;--muted:#516987;--line:#becddd;--teal:#3f6c25;--teal-light:#bcf95c;--orange:#f58174;--surface:#fffdf4;--serif:"PingFang SC","Microsoft YaHei",sans-serif;--sans:"PingFang SC","Microsoft YaHei",sans-serif}
.time-track{height:3px;background:var(--line);overflow:hidden;border-radius:0}.time-track>div{width:100%;height:100%;background:var(--teal)}.color-wrap{position:relative;width:min(100%,360px);margin-inline:auto}.color-stage{background:#e1edf6;border:1px solid #385580;border-radius:0;min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 28px}.word-label{color:#516987;font-size:10px;letter-spacing:.08em;margin:4px 0 9px}.word-label:last-of-type{margin:9px 0 0}.word-card{width:100%;border:1px solid #e2dfd4;background:#fff6dc;color:#18253d;border-radius:0;text-align:center;font:500 clamp(35px,5vw,46px)/1.7 var(--sans);box-shadow:0 4px 10px #76624c09}.comparison-mark{font-size:14px;color:#9ab0d1;line-height:1;margin:10px}.answer-feedback{min-height:20px;font-size:11px;color:var(--muted);margin-top:14px;text-align:center}.answer-feedback.is-correct{color:#3f6c25}.answer-feedback.is-incorrect,.urgent{color:#a33a32}.color-wrap.is-paused .color-stage{visibility:hidden}.combo-meter{display:flex;align-items:center;justify-content:center;gap:6px;min-height:32px;color:var(--muted);font-size:10px;margin-top:4px}.combo-meter span{margin-right:6px}.combo-meter i{height:5px;width:18px;background:var(--line);border-radius:0}.combo-meter i.filled{background:var(--teal)}.answer-buttons{display:flex;gap:12px;max-width:360px;margin-inline:auto}.answer-button{display:flex;align-items:center;justify-content:center;gap:12px;flex:1;background:var(--surface);border:1px solid #5575a5;border-radius:0;min-height:50px;color:var(--ink);transition:background .15s,transform .15s}.answer-button:hover:not(:disabled){background:#d9e8f5;transform:translateY(-1px)}.answer-button:active:not(:disabled){transform:translateY(1px)}.answer-button small{font:10px Monaco,monospace;color:var(--muted)}.answer-button kbd{font:15px var(--sans);color:var(--teal)}.answer-button:disabled{opacity:.45}.game-surface:has(.color-wrap) .stage-actions:has(.primary-button[hidden]){display:none}.bonus-line{font-size:11px;color:var(--muted);margin-top:10px}@media(max-width:680px){.color-stage{min-height:290px;padding:16px 24px}.color-stage .word-card{font-size:38px}.answer-buttons{gap:8px}.answer-button{gap:8px}}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 var(--sans);text-wrap:pretty}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--teal);outline-offset:4px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.shell{width:min(1120px,calc(100% - 64px));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;height:78px;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:13px;font-size:18px;font-weight:600;letter-spacing:.08em}.brand-mark{display:grid;grid-template-columns:repeat(2,7px);gap:3px;transform:none}.brand-mark i{width:7px;height:7px;background:var(--teal)}.brand-mark i:last-child{background:var(--orange)}.edition,.eyebrow,.game-label{font:11px/1.6 Monaco,monospace;letter-spacing:.12em}.edition{color:var(--muted)}.game-nav{display:flex;gap:30px;min-height:68px;align-items:center}.game-nav a{position:relative;color:var(--muted);padding:15px 0;font-size:14px}.game-nav a[aria-current]{color:var(--ink);font-weight:600}.game-nav a[aria-current]:after{content:"";height:2px;background:var(--ink);position:absolute;bottom:5px;left:0;right:0}.game-nav a span{font:11px Monaco,monospace;color:var(--muted);margin-right:7px}.workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:64px;align-items:start}.intro{padding-top:24px}.eyebrow{color:var(--teal);margin:0 0 16px}h1{font:900 46px/1.2 var(--serif);letter-spacing:.035em;margin:0 0 24px}.lead{font:600 25px/1.7 var(--serif);margin:0 0 20px}.description{font-size:14px;color:var(--muted);line-height:1.9}.steps{counter-reset:step;list-style:none;margin:30px 0;padding:0}.steps li{counter-increment:step;position:relative;padding:0 0 20px 34px}.steps li:before{content:"0" counter(step);position:absolute;left:0;top:2px;color:var(--teal);font:12px Monaco,monospace}.steps b{display:block;font-size:14px;font-weight:500}.steps span{display:block;font-size:12px;color:var(--muted);margin-top:2px}.scoring-note{display:grid;grid-template-columns:1fr auto;gap:6px 12px;border-top:1px solid var(--line);padding-top:18px;font-size:12px}.scoring-note span{color:var(--muted)}.scoring-note b{font-weight:500}.session-note{font-size:12px;color:var(--muted);margin-top:18px}.game-surface{position:relative;background:var(--surface);border:2px solid #8ba4c1;border-radius:0;padding:24px 32px 18px;box-shadow:6px 6px 0 #bdcddd;min-width:0}.game-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line)}.game-label{color:var(--muted);font-size:10px}.text-button{border:0;background:none;color:var(--muted);padding:6px 8px;font-size:12px;min-height:36px}.text-button:hover:not(:disabled){color:var(--ink)}.text-button:disabled{opacity:.35}.stats{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px;padding:14px 0 12px}.stats>div{border-right:1px solid var(--line);padding-left:15px}.stats>div:first-child{padding-left:0}.stats>div:last-child{border-right:0}.stats span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.stats strong{font:700 27px/1.2 Monaco,monospace;font-variant-numeric:tabular-nums}.stats small{font:12px var(--sans);color:var(--muted)}.stage-heading{text-align:center;min-height:64px;padding-top:10px}.stage-heading h2{font-size:17px;font-weight:500;line-height:1.5;margin:0 0 3px}.stage-heading p{font-size:12px;color:var(--muted);margin:0}.board-wrap{position:relative;width:min(100%,360px);margin-inline:auto}.memory-board{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;padding:14px;background:#b9cce1;border-radius:0;box-shadow:inset 0 0 0 2px #3a5a86}.tile{display:block;aspect-ratio:1;border:0;border-radius:0;background:#e5edf5;box-shadow:inset 0 1px 0 #f1e0b011,inset 0 -2px 0 #251b2020;transition:background .14s,transform .14s;min-width:0;padding:0;color:#fff;font:34px/1 var(--sans)}.tile:disabled{opacity:1}.tile:not(:disabled):hover{background:#c9dbee;transform:translateY(-1px)}.tile.is-lit,.tile.is-hit{background:var(--teal-light)}.tile.is-wrong{background:var(--orange)}.tile.is-missed{background:#638aab;outline:2px dashed #e9f3db;outline-offset:-5px}.tile:focus-visible{outline-color:#fff;outline-offset:-4px}.board-wrap.is-paused .memory-board{visibility:hidden}.pause-overlay{position:absolute;inset:0;background:var(--paper);border:1px solid var(--line);border-radius:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.pause-overlay h2{font:32px var(--serif);margin:0}.pause-overlay p:not(.eyebrow){font-size:13px;color:var(--muted);margin:12px 0 24px}.stage-actions{display:flex;justify-content:center;min-height:70px;align-items:end;padding-top:18px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:36px;background:#bcf95c;color:#1a3152;border:2px solid #d8ffa0;border-radius:0;min-height:48px;padding:11px 30px;font-size:14px;transition:background .15s,transform .15s}.primary-button:hover:not(:disabled){background:#d0ff83;transform:translateY(-1px)}.primary-button:active:not(:disabled){transform:translateY(1px)}.primary-button:disabled{opacity:.6}.bottom-hint{font-size:11px;color:var(--muted);text-align:center;margin:15px 0 0;min-height:18px}.result{min-height:410px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.result h2{font:30px var(--serif);margin:0}.result-score{font:700 64px/1.3 Monaco,monospace;color:var(--teal);margin-top:16px}.result>p:not(.eyebrow){font-size:12px;color:var(--muted);margin:0}.result-summary{font-size:14px;margin-top:28px;line-height:1.8}.footer{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding:28px 0 24px;margin-top:16px}.result .eyebrow{margin-bottom:12px}@media(max-width:900px){.workspace{grid-template-columns:225px minmax(0,1fr);gap:28px}.game-surface{padding:20px}.shell{width:calc(100% - 40px)}h1{font-size:39px}.intro .lead{font-size:22px}}@media(max-width:680px){.shell{width:calc(100% - 24px)}.header{height:72px}.edition{font-size:9px;letter-spacing:.04em}.wordmark{font-size:15px}.game-nav{min-height:62px}.workspace{display:flex;flex-direction:column;gap:20px}.intro{padding-top:0;width:100%}.intro .eyebrow{font-size:9px;margin-bottom:8px}h1{font-size:34px;margin-bottom:8px}.intro .lead{font-size:18px;margin:0;line-height:1.5}.intro .lead br{display:none}.description{font-size:12px;margin:8px 0 0}.description br{display:none}.steps,.scoring-note,.session-note{display:none}.game-surface{width:100%;padding:16px 12px}.game-toolbar{padding-bottom:12px}.stats{padding:16px 0 10px}.stats strong{font-size:25px}.stage-heading{min-height:70px}.board-wrap{max-width:380px}.memory-board{padding:8px;gap:4px}.stage-actions{min-height:66px}.bottom-hint{font-size:10px}.footer{gap:16px;align-items:start;font-size:10px}.footer span:last-child{text-align:right}.result{min-height:330px}}@media(max-width:380px){.shell{width:calc(100% - 16px)}.game-surface{padding:12px 8px}.memory-board{padding:4px;gap:2px}.tile{min-height:44px}.edition{display:none}.stats>div{padding-left:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}

@media(max-width:680px){.is-playing .intro{display:none}.is-playing .game-nav{min-height:54px}}@media(max-width:380px){.shell{width:calc(100% - 8px)}.game-surface{padding:12px 4px}}

/* Arcade visual theme; the colored word cards stay light for clear color recognition. */
body{background-image:radial-gradient(circle at 20% 15%,#ffffff,transparent 42%),radial-gradient(#8ba4c144 1px,transparent 1px);background-size:auto,48px 48px}
h1{text-shadow:3px 3px 0 #b9ccdf}.stats strong{color:var(--teal)}
.primary-button{font-weight:700;box-shadow:4px 4px 0 #436b39}.primary-button:active:not(:disabled){transform:translate(2px,2px);box-shadow:2px 2px 0 #436b39}
.tile{box-shadow:inset 0 3px 0 #ffffff15,inset 0 -3px 0 #00000030}.tile.is-lit,.tile.is-hit{box-shadow:inset 0 3px 0 #edffb0,inset 0 -3px 0 #6f983e}.tile.is-wrong{color:#251b32}
.game-nav{gap:24px;flex-wrap:wrap}.game-nav a[aria-current]{color:var(--teal)}.game-nav a[aria-current]:after{background:var(--teal)}
.text-button{min-height:44px}.game-surface:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#00000006 3px 4px)}
.cover-main{padding-top:28px}.cover-art{position:relative;margin:0;border:2px solid #8ba4c1;box-shadow:6px 6px 0 #bdcddd}.cover-art img{display:block;width:100%;height:auto}.cover-start{position:absolute;left:12.5%;top:49.7%;width:32.8%;height:12.6%;border:2px solid transparent;color:transparent;overflow:hidden}.cover-start:hover{background:#d7ff8b18;box-shadow:0 0 24px #bcf95c66}.cover-start:focus-visible{outline:4px solid white;outline-offset:4px}
.game-select{padding:36px 0 0;scroll-margin-top:24px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-heading h2{font-size:22px;margin:0}.section-heading span{color:var(--teal);font:12px Monaco,monospace}.game-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.game-card{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:18px;background:var(--surface);border:2px solid #8ba4c1;padding:24px;box-shadow:4px 4px 0 #bdcddd}.game-card:hover{border-color:var(--teal);background:#e2edf6}.game-card h3{font-size:22px;margin:3px 0 4px}.game-card p{font-size:12px;color:var(--muted);margin:0}.game-card .eyebrow{font-size:10px;color:var(--teal)}.card-arrow{color:var(--teal);font-size:24px}.pixel-grid{display:grid;grid-template-columns:repeat(3,16px);gap:4px}.pixel-grid i{width:16px;height:16px;background:#385a8a;box-shadow:inset 0 2px #ffffff22}.pixel-grid i:nth-child(2),.pixel-grid i:nth-child(4),.pixel-grid i:nth-child(8){background:var(--teal)}.color-icon{display:grid;grid-template-columns:24px 24px;gap:5px;transform:rotate(-8deg)}.color-icon i{width:24px;height:24px;background:#77c9fa;box-shadow:inset 0 3px #ffffff44}.color-icon i:nth-child(2){background:#ff9585}.color-icon i:nth-child(3){background:#f5d777}.color-icon i:nth-child(4){background:#a692ed}.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}
@media(max-width:680px){body{background-attachment:scroll}.game-nav{gap:20px}.game-nav a{font-size:12px}.cover-main{padding-top:16px}.cover-start{min-height:44px}.game-cards{grid-template-columns:1fr;gap:14px}.game-card{padding:18px;gap:14px}.game-select{padding-top:24px}.section-heading h2{font-size:19px}.section-heading span{font-size:10px}.game-card h3{font-size:20px}.cover-art{box-shadow:3px 3px 0 #bdcddd}.cover-page .footer{margin-top:8px}}

.direction-buttons{display:grid;grid-template-columns:repeat(3,56px);grid-template-rows:50px 50px;gap:7px;justify-content:center;margin:8px auto 0}.direction-buttons .answer-button{font:700 28px/1 Monaco,monospace;border:2px solid #8ba4c1;box-shadow:2px 2px #bdcddd}.dir-up{grid-column:2;grid-row:1}.dir-left{grid-column:1;grid-row:2}.dir-down{grid-column:2;grid-row:2}.dir-right{grid-column:3;grid-row:2}.tile.is-missed{background:#c7d9e9;outline-color:#527795}.tile{box-shadow:inset 0 3px 0 #ffffff88,inset 0 -3px 0 #a4bad0}.cover-start:focus-visible{outline-color:white}
@media(max-width:680px){.direction-buttons{grid-template-rows:48px 48px}}

.leaf-stage{position:relative;padding:0;min-height:0;display:block;overflow:hidden;background:#d6eaf1}
#leaf-field{display:block;width:100%;height:auto;overflow:hidden;touch-action:none;user-select:none;background:linear-gradient(#f3fbfc33,#f3fbfc33),url('./assets/water-light.png') center / cover}
.leaf-orange{display:none}#leaf-field[data-mode="moving"] .leaf-green{display:none}#leaf-field[data-mode="moving"] .leaf-orange{display:block}
.leaf-stage .answer-feedback{position:absolute;bottom:10px;left:10px;right:10px;background:#fffdf4ed;padding:5px;margin:0;pointer-events:none}
.rule-cue{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-width:360px;margin:10px auto 0}.rule-cue span{padding:8px 4px;border:2px solid var(--line);text-align:center;color:var(--muted);background:#edf2f5}.rule-cue b{display:block;font-size:13px}.rule-cue small{display:block;font:9px/1.5 Monaco,monospace;letter-spacing:.1em}.rule-cue #rule-pointing[aria-current="true"]{background:#e0efc9;border-color:#548645;color:#294c21}.rule-cue #rule-moving[aria-current="true"]{background:#ffdfaa;border-color:#b5751d;color:#704500}
@media(max-width:680px){.leaf-stage{padding:0;min-height:0}.rule-cue b{font-size:12px}.rule-cue span{padding:6px 2px}}
