/* v0.2.4 晴天花园游戏界面 */
body.in-game[data-theme=mint]{background:radial-gradient(ellipse at 68% 3%,#b9eeff 0,transparent 54%),linear-gradient(180deg,#aee6f7 0%,#d5f5f5 43%,#faffdd 87%,#fffde4)}
.in-game .sky .hill{height:150px;bottom:-85px;background:#c1ed8b;opacity:.8}.in-game .sky .hill-b{bottom:-100px;background:#dafa9c}.in-game .sky .cloud-a{top:21%;left:38%}.in-game .sky .cloud-b{top:41%}.in-game .sky .sun{top:14%;right:4%}
.garden-decor{display:none;position:absolute;inset:0}.in-game .garden-decor{display:block}.garden-decor span{position:absolute;color:#fff;filter:drop-shadow(0 2px 1px #fff7);font-size:35px}.garden-decor .star-a{left:3%;top:22%;color:#ffda64}.garden-decor .star-b{right:3%;top:28%}.garden-decor .star-c{right:10%;top:61%}.garden-decor .flower-a{left:1.5%;bottom:3%;font-size:45px;color:#f1b751}.garden-decor .flower-b{right:2%;bottom:5%;font-size:65px;color:#f19cad}.garden-decor .flower-b:after,.garden-decor .flower-a:after{content:'';position:absolute;width:5px;height:35px;background:#91bd65;left:48%;top:75%;border-radius:8px;z-index:-1}.garden-decor .spark-a{left:25%;top:35%;font-size:18px;color:#fff7ad}.garden-decor .spark-b{right:18%;top:23%;font-size:20px;color:#fffbc3}
.game-screen{--clue-width:220px;gap:12px;padding:4px 6.5% 14px;max-width:1500px}.game-heading h2{font-size:23px;color:var(--ink)}.game-heading>div>span{font-size:12px}.game-actions button{min-height:44px;border:2px solid #fff;border-radius:18px;background:linear-gradient(#fffef5,#e1f5de);box-shadow:0 3px 0 #afd3c450;color:var(--accent-dark);font-weight:800}.game-actions #gameHome{background:linear-gradient(#fff,#e3f4fa)}
.play-area{grid-template-columns:var(--clue-width) minmax(0,1fr);gap:18px}.clue-panel{border:2px solid #ffffffdf;border-radius:23px;background:linear-gradient(155deg,#ffffffe0,#fffef1b8);padding:13px;box-shadow:0 8px 22px #88bec510}.clue-panel h3{font-size:16px;margin-bottom:12px}#gameClues{gap:10px}.game-clue{background:#dcf0eacc;border:2px solid transparent;border-radius:15px;padding:11px;min-height:62px;color:var(--ink)}.game-clue.active{border-color:#57a5b6;background:#fffdf2;box-shadow:0 2px 6px #86c2cc18}.game-clue strong{font-size:16px}.game-clue small{font-size:12px}.game-clue.done{opacity:1;background:#e8f6cb}.mail-progress{font-size:23px;gap:11px;color:#69afb5}
.board-stage{position:relative;border:2px solid #ffffff52;border-radius:30px;background:radial-gradient(ellipse at 62% 18%,#ffffff65,transparent 62%),linear-gradient(145deg,#e7fbff80,#ffffe870);box-shadow:inset 0 0 38px #ffffff30}.crossword-board{position:relative;z-index:1}.cross-cell{margin:3px;border:2px solid #fffffff2;border-bottom:3px solid #aed4d2;border-radius:11px;background:linear-gradient(#fffffd,#f6fff6);color:#659399;box-shadow:0 3px 5px #689ca324;font-size:clamp(20px,2.5vw,34px);transition:background .15s,transform .15s}.cross-cell small{color:#568189;font-size:10px}.cross-cell.active-word{background:linear-gradient(#fafffa,#def1ef)}.cross-cell.given{background:linear-gradient(#fff7c4,#ffe899);color:#ceaa3b;border-color:#fffdeb;border-bottom-color:#e3ce75}.cross-cell.given:nth-child(3n){background:linear-gradient(#ffe4e9,#fbc5d5);color:#d582a3;border-bottom-color:#dba3bd}.cross-cell.filled:not(.given){background:linear-gradient(#a5e1db,#71bfb8);color:#fff}.cross-cell.delivered{background:linear-gradient(#e9f7bb,#b9dd84);color:#638e3a;border-bottom-color:#9abd73}.cross-cell.selected{background:linear-gradient(#e6faff,#c1e8eb);outline:2px solid #388eaa;outline-offset:0;box-shadow:0 0 0 3px #fff9,0 4px 6px #74a6b82c}.cross-cell:hover{filter:brightness(1.025)}
.answer-area{justify-self:stretch;width:auto;max-width:none;margin-left:calc(var(--clue-width) + 18px);border:2px solid #ffffffe0;background:#fffff0eb;border-radius:23px;padding:10px 18px 15px;box-shadow:0 5px 16px #b0c8a420}.answer-heading p{font-size:14px}.answer-heading>span{font-size:13px;color:#658b86}.game-choices{gap:12px}.game-choice{height:56px;max-width:90px;background:linear-gradient(#f7bdcf,#e98fae);border:2px solid #fff9e8;border-radius:16px;box-shadow:0 4px 0 #ce839c,0 6px 8px #b1a18725;text-shadow:0 2px 1px #0002;font-size:30px}.game-choice:nth-child(2){background:linear-gradient(#ffc9d5,#ef9db2);box-shadow:0 4px 0 #d886a0}.game-choice:nth-child(3){background:linear-gradient(#8edfeb,#4fb7cd);box-shadow:0 4px 0 #429dad}.game-choice:nth-child(4){background:linear-gradient(#99e2e7,#68bfc8);box-shadow:0 4px 0 #53a3aa}.game-choice:nth-child(5){background:linear-gradient(#e4f4a2,#b6d979);box-shadow:0 4px 0 #98bc5c}.game-choice:nth-child(6){background:linear-gradient(#ffc5ae,#ef998b);box-shadow:0 4px 0 #d48478}.game-choice:active{translate:0 3px;box-shadow:none}.game-choice:focus-visible{outline:3px solid #327f94;outline-offset:3px}
.result-area,.review-area{background:linear-gradient(145deg,#fffef5f5,#f0fff4ed);border:3px solid white;box-shadow:0 12px 30px #8fbdb225}.result-stats>div{background:#e7f4dd}.review-slots span{background:linear-gradient(#fffef0,#dbf1e7);border:2px solid white;box-shadow:0 3px 0 #b0d3c6}
@media(max-width:1100px){.game-screen{--clue-width:190px;padding-inline:5%;gap:9px}.game-clue{padding:8px;min-height:57px}.game-clue strong{font-size:15px}.play-area{gap:14px}.answer-area{margin-left:calc(var(--clue-width) + 14px)}}
@media(max-height:650px) and (orientation:landscape){.game-screen{--clue-width:185px;padding-top:0;padding-bottom:10px;gap:8px}.game-heading h2{font-size:19px}.clue-panel{padding:10px}.clue-panel h3{font-size:14px;margin-bottom:7px}#gameClues{gap:6px}.game-clue{min-height:49px;padding:6px 8px}.game-clue strong{font-size:14px}.game-clue small{font-size:11px;margin-top:3px}.mail-progress{margin-top:8px}.answer-area{padding:8px 13px 11px}.game-choice{height:45px;font-size:26px}.answer-heading p{font-size:12px;margin-bottom:6px}}
@media(max-width:900px) and (orientation:portrait){.game-screen{padding:4px 4% 18px;gap:12px}.play-area{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:12px}.clue-panel{padding:10px 12px}.clue-panel h3,.mail-progress{display:none}#gameClues{grid-template-columns:1fr 1fr;gap:8px}.game-clue{min-height:59px;padding:8px 10px}.answer-area{margin-left:0;padding:12px 15px 17px}.game-choice{height:58px}.game-heading h2{font-size:20px}.garden-decor .flower-b{font-size:43px;right:0}.garden-decor .flower-a{font-size:32px;left:0}}/* v0.2.5 气球送信：字母气球、飘送动效、非阻断错误提示 */
.game-choices{gap:clamp(8px,1.6vw,21px);padding:4px 5px 23px;align-items:center}
.game-choice{position:relative;flex:1;max-width:78px;height:83px;border-radius:50% 50% 47% 47%;border:2px solid #fff8;box-shadow:inset -5px -7px 10px #88506416,0 4px 7px #729a9820!important;font-size:31px;overflow:visible;isolation:isolate}
.game-choice:before{content:'';position:absolute;width:17%;height:24%;left:18%;top:13%;background:#ffffff80;border-radius:50%;transform:rotate(30deg);pointer-events:none}
.game-choice:after{content:'';position:absolute;left:calc(50% - 6px);top:calc(100% - 1px);width:12px;height:25px;background:linear-gradient(90deg,transparent 44%,#789b9b 44%,#789b9b 56%,transparent 56%);clip-path:polygon(50% 0,100% 7px,58% 7px,58% 100%,42% 100%,42% 7px,0 7px);background-color:#ffffff25;pointer-events:none}
.game-choice:hover:not(:disabled){transform:translateY(-4px);filter:brightness(1.04)}.game-choice:active{translate:0 0}.game-choice:disabled{opacity:.45}.game-choice.balloon-wrong{animation:balloonShake .35s ease-in-out}
.balloon-flight{position:fixed!important;z-index:90;display:grid;place-items:center;margin:0;max-width:none!important;font-family:Arial,sans-serif;font-weight:800;text-transform:uppercase;pointer-events:none}.lowercase-letters .balloon-flight{text-transform:lowercase}
.balloon-notice{position:fixed;left:50%;top:24%;transform:translateX(-50%);z-index:100;max-width:85vw;padding:15px 24px;border:3px solid white;border-radius:23px;background:#fff1d9;color:#936338;box-shadow:0 8px 24px #9a78442b;font-size:18px;font-weight:800;pointer-events:none}
body:not(.in-game) .balloon-notice,body:not(.in-game) .balloon-flight{display:none}
@keyframes balloonShake{25%,75%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}
@media(max-height:650px) and (orientation:landscape){.game-choice{height:60px;max-width:62px;font-size:26px}.game-choices{padding-bottom:17px}.game-choice:after{height:19px}.answer-area{padding-top:6px;padding-bottom:7px}}
@media(max-width:900px) and (orientation:portrait){.game-choice{height:77px;max-width:72px}.review-area{padding:18px}.review-slots{margin:18px 0}.balloon-notice{font-size:16px}}
@media(prefers-reduced-motion:reduce){.game-choice.balloon-wrong{animation:none}}
/* 当前线索：颜色、粗边框与文字标记共同指示，不依赖颜色辨认。 */
.game-clue.active{background:linear-gradient(120deg,#fff2a8,#ffe291);border-color:#df8d22;box-shadow:inset 5px 0 0 #df8d22,0 3px 8px #c28b3026;color:#714618}
.game-clue.active strong{display:flex;align-items:center;justify-content:space-between;gap:6px;font-weight:900}
.game-clue.active small{color:#785224;font-weight:700}
.clue-current-label{display:inline-block;flex-shrink:0;white-space:nowrap;border-radius:9px;padding:4px 7px;background:#ac590c;color:#fff;font-size:11px;line-height:1.2;letter-spacing:0}
.game-clue.active.done{background:linear-gradient(120deg,#e8f6ca,#cfebaf);border-color:#639746;box-shadow:inset 5px 0 0 #639746}.game-clue.active.done .clue-current-label{background:#4c7738}
/* 字母气球统一湖蓝色，减少画面杂色。 */
.game-choices .game-choice:nth-child(n){background:linear-gradient(145deg,#a5e5e8 0%,#76cbd4 48%,#4eacbd 100%);border-color:#e2f9f8;color:#fff;box-shadow:inset -5px -7px 10px #33798a20,0 4px 7px #729a9820!important;text-shadow:0 2px 1px #428b9d66}/* 每轮计时设置与剩余时间。 */
#roundTime{font:700 16px inherit;color:var(--ink);background:#fffef5;border:2px solid var(--accent);border-radius:12px;min-height:44px;padding:8px;min-width:100px;flex-shrink:0}
#roundTimer{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:7px 12px;border:2px solid white;border-radius:14px;background:#fff4c4;color:#78551e;font-size:16px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
#roundTimer.time-low{background:#ffe1d3;color:#a53a25;border-color:#e99b83}
@media(max-width:900px){#roundTimer{font-size:13px;padding:6px 8px}.game-actions{gap:6px;flex-wrap:wrap;justify-content:flex-end}#settingsDialog .setting-row{padding-block:9px}#settingsDialog .setting-row p{max-width:230px}}
/* 正确反馈：目标格弹跳、金色光圈、整词庆祝。 */
.correct-glow{animation:correctPop .85s ease-out;box-shadow:0 0 0 4px #ffda6c,0 0 22px #f8cc54b0!important;z-index:3!important}
@keyframes correctPop{0%{scale:1}30%{scale:1.17}60%{scale:.96}100%{scale:1}}
.correct-effects{position:fixed;inset:0;pointer-events:none;z-index:95;overflow:hidden}.correct-spark{position:absolute;font-size:22px;text-shadow:0 1px 2px white;line-height:1}
.success-banner{position:fixed;z-index:96;top:23%;left:50%;transform:translateX(-50%);max-width:85vw;padding:16px 28px;border:3px solid white;border-radius:24px;background:linear-gradient(120deg,#fff2a8,#ffdf7e);color:#805114;font-size:clamp(18px,2.3vw,28px);font-weight:900;text-align:center;box-shadow:0 6px 0 #e8b75055,0 10px 28px #b4933c30;pointer-events:none;animation:successEnter .3s ease-out}
@keyframes successEnter{from{opacity:0;translate:0 12px;scale:.9}to{opacity:1;translate:0 0;scale:1}}
body:not(.in-game) .correct-effects,body:not(.in-game) .success-banner{display:none}
@media(prefers-reduced-motion:reduce){.correct-glow,.success-banner{animation:none}}
/* 说明增加倒计时规则，紧凑排版适配电脑和平板。 */
#helpDialog{width:min(620px,calc(100vw - 32px))}#helpDialog .help-steps{gap:12px;margin:16px 0}#helpDialog .help-steps li{align-items:flex-start}#helpDialog .help-steps p{margin:4px 0 0;font-size:14px;line-height:1.55}#helpDialog .preview-note{margin:10px 0 0;padding:12px;font-size:13px;line-height:1.5}
@media(max-height:650px){#helpDialog{padding:18px 22px}#helpDialog .dialog-header h2{font-size:24px;margin:3px 0}#helpDialog .help-steps{gap:9px;margin:12px 0}#helpDialog .help-steps strong{font-size:16px}#helpDialog .help-steps p{font-size:13px}#helpDialog .help-steps li>span{width:35px;height:35px;font-size:20px}}/* 默认按词库原始拼写显示；首页装饰保持大写。 */
.lowercase-letters .cross-cell,.lowercase-letters .game-choice,.lowercase-letters .review-slots span,.lowercase-letters .balloon-flight{text-transform:none}
.home .demo-letters,.lowercase-letters .home .demo-letters{text-transform:uppercase}
/* 成功提示固定在选项区，不覆盖棋盘。 */
#successSlot{height:30px;min-height:30px;display:flex;align-items:center;justify-content:center;margin:0 0 2px}
.success-banner{position:static;transform:none;max-width:100%;padding:3px 12px;border-width:1px;border-radius:10px;font-size:14px;line-height:1.4;box-shadow:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;vertical-align:middle}
#difficulty{border:2px solid var(--accent);border-radius:12px;background:#fffef5;color:var(--ink);padding:8px;min-height:44px;font:inherit;flex-shrink:0}
#settingsDialog{width:min(600px,94vw)}#settingsDialog .setting-row p{font-size:12px;line-height:1.45}#settingsDialog .setting-row{gap:15px}
#resultArea .result-actions{flex-wrap:wrap;gap:8px}#resultArea .result-actions button{min-width:130px;font-size:14px}#resultPagination{margin:8px 0}#resultPagination button{min-height:32px;border:0;border-radius:10px;background:var(--soft);color:var(--ink)}
#reviewMessage .success-banner{font-size:13px}#resultSummary .success-banner{font-size:13px}
@media(max-height:650px){#successSlot{height:25px;min-height:25px}.success-banner{font-size:12px}#settingsDialog{padding:18px}#settingsDialog .setting-row{padding-block:7px}#settingsDialog .preview-note{font-size:12px;padding:9px;margin:8px 0}#resultArea{padding:12px 18px}#resultArea h2{font-size:23px;margin:3px}#resultArea .result-stats{margin:8px 0}#resultArea .result-actions{margin-top:8px}}