:root{font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:#355962;background:#eef9fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100svh;background:linear-gradient(160deg,#eefaff 0%,#e9f7f7 53%,#fff9e9 100%)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:4px solid #25778d;outline-offset:6px}button:disabled{cursor:default}[hidden]{display:none!important}.sky{position:fixed;inset:0;overflow:hidden;pointer-events:none}.sun{position:absolute;right:7%;top:13%;width:95px;height:95px;border-radius:50%;background:#ffebaf;box-shadow:0 0 0 18px #fff1c957,0 0 0 38px #fff1c92b}.cloud{position:absolute;width:130px;height:30px;background:#ffffffc2;border-radius:100px}.cloud:before,.cloud:after{content:"";position:absolute;background:inherit;border-radius:50%;width:60px;height:60px;bottom:0;left:20px}.cloud:after{width:45px;height:45px;left:70px}.cloud-a{top:19%;left:36%;opacity:.6;transform:scale(.7)}.cloud-b{right:0;top:44%;opacity:.6}.hill{position:absolute;bottom:-200px;border-radius:50%;width:90vw;height:300px;background:#cdebe28c}.hill-a{left:-25%;transform:rotate(8deg)}.hill-b{right:-30%;bottom:-185px;background:#e0ecd0a6;transform:rotate(-8deg)}.topbar{height:112px;max-width:1440px;margin:auto;padding:30px 5%;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:12px;color:#4d7379;text-decoration:none;font-size:20px;font-weight:800;letter-spacing:2px}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:#74b7bd;color:#fff9e5;font-size:27px;transform:rotate(-7deg);box-shadow:0 4px 0 #d7e9e7}.settings-button{display:flex;align-items:center;gap:9px;min-height:48px;padding:10px 18px;border:1px solid #d6e8e7;background:#ffffffb8;border-radius:18px;color:#5e797e;font-weight:700}.settings-button svg{width:23px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round}.home{max-width:1240px;margin:auto;min-height:calc(100svh - 140px);padding:0 50px 55px;display:grid;grid-template-columns:1fr 1.12fr;align-items:center;position:relative}.invitation{position:relative;z-index:2;padding-bottom:18px}.little-label{font-size:15px;letter-spacing:2px;color:#759292;margin-bottom:24px;display:flex;align-items:center;gap:10px}.little-label span{width:7px;height:7px;background:#eeb878;border-radius:50%}h1{font-size:clamp(46px,5.1vw,68px);line-height:1.24;letter-spacing:2px;margin:0;font-weight:900;color:#375e68}h1 span{display:block;color:#47969e;margin-top:6px}.tagline{font-size:20px;line-height:1.6;margin:24px 0 39px;color:#6b8585}.start-button{display:flex;align-items:center;justify-content:center;gap:21px;width:300px;min-height:86px;border:3px solid #fff5dd;border-radius:29px;background:linear-gradient(#ffad77,#f78b62);box-shadow:0 8px 0 #d66c4b,0 17px 27px #d88d5430;color:#fffdf5;font-size:29px;font-weight:900;text-shadow:0 2px #d97854;transition:transform .16s,box-shadow .16s}.start-button:hover{transform:translateY(-3px);box-shadow:0 11px 0 #d66c4b,0 19px 30px #d88d5435}.start-button:active{transform:translateY(5px);box-shadow:0 3px 0 #d66c4b}.start-button svg{width:27px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.play{font-size:22px}.start-decoration{width:300px;display:flex;align-items:center;justify-content:center;gap:14px;margin-top:29px;color:#adcac2;font-size:13px}.start-decoration i{width:56px;height:3px;border-radius:100%;background:#bfd7d0}.scene{position:relative;width:100%;height:540px;max-width:570px;justify-self:center}.orbit{position:absolute;width:440px;height:440px;border-radius:50%;left:50%;top:65px;transform:translateX(-50%);background:radial-gradient(circle,#fffdf4 0%,#fffaf077 65%,#fffaf000 72%);border:1px solid #ffffff8c}.robot{position:absolute;width:420px;height:447px;top:27px;left:50%;transform:translateX(-50%);overflow:visible}.robot-body{animation:bob 4s ease-in-out infinite;transform-origin:center}.speech{position:absolute;top:5px;left:33%;border:2px solid #fff;background:#ffffffd6;border-radius:21px 21px 21px 4px;padding:14px 21px;font-size:19px;font-weight:700;transform:rotate(4deg);box-shadow:0 7px 20px #79acac0b;z-index:1}.speech span{margin-left:12px;color:#eabb6b}.spark{position:absolute;color:#e6b969;z-index:1}.spark-one{top:123px;left:9%;font-size:32px;transform:rotate(12deg)}.spark-two{top:270px;right:3%;font-size:46px;color:#8bc6c1}.word-postcard{position:absolute;bottom:0;left:50%;transform:translateX(-50%) rotate(-4deg);display:flex;align-items:center;gap:22px;background:#fffcf1;padding:15px 24px 17px 16px;border:4px solid white;border-radius:26px;box-shadow:0 8px 0 #dde9dc,0 17px 26px #638b7c16}.cat-stamp{width:64px;display:flex;align-items:center;flex-direction:column;gap:2px}.cat-stamp svg{width:57px;height:57px}.cat-stamp span{font-size:14px;color:#9c8970}.demo-letters{display:flex;gap:9px}.demo-letters>span{display:grid;place-items:center;width:62px;height:71px;border-radius:15px;background:#e3f1ec;box-shadow:0 4px 0 #c3dcd2;font-size:43px;font-weight:900;color:#548a85;font-family:Arial,sans-serif}.demo-letters .missing{background:#fff1d8;border:2px dashed #e9b576;box-shadow:none;color:#dca368}.missing span{animation:letter 4s ease-in-out infinite}.postcard-star{position:absolute;right:-17px;top:-18px;color:#f1b968;font-size:39px}.delivery-path{position:absolute;width:85px;right:1%;bottom:70px;fill:none;stroke:#8cbbb4;stroke-width:2.5;stroke-dasharray:5 7;stroke-linecap:round}dialog{border:0;border-radius:30px;padding:30px;color:#355962;background:#fffdf5;width:min(500px,calc(100% - 32px));box-shadow:0 30px 100px #315c6340;max-height:calc(100svh - 32px);overflow:auto}dialog::backdrop{background:#45666a55;backdrop-filter:blur(7px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-header small{color:#849795;font-size:13px}.dialog-header h2{font-size:25px;margin:7px 0}.icon-close{width:46px;height:46px;border:0;border-radius:50%;background:#edf3ec;color:#668383;font-size:29px;flex-shrink:0}.preview-note,.settings-footnote{font-size:14px;line-height:1.8;color:#7b8e8a}.preview-note{padding:12px 15px;background:#f5f1e5;border-radius:14px}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:20px 0}.setting-row strong{font-size:18px}.setting-row p{font-size:14px;margin:8px 0;color:#819691}.toggle{width:62px;min-height:44px;border:0;border-radius:30px;background:#dfe8e0;padding:6px}.toggle span{display:block;width:32px;height:32px;background:white;border-radius:50%;box-shadow:0 2px 5px #35596222;transition:transform .2s}.toggle[aria-checked=true]{background:#75b9af}.toggle[aria-checked=true] span{transform:translateX(18px)}.planned-settings{border-top:1px solid #e4ebe2}.planned-settings>div{display:flex;justify-content:space-between;padding:14px 0;color:#81928b}.planned-settings strong{font-weight:500;color:#658278}.secondary-button{width:100%;min-height:52px;border:0;border-radius:17px;background:#dceddf;color:#417366;font-size:18px;font-weight:700}.trial-dialog{text-align:center}.trial-dialog .dialog-header{text-align:left}.trial-clue{font-size:60px;margin:25px 0 16px;display:flex;justify-content:center;align-items:center;gap:15px}.trial-clue strong{font-size:28px}.trial-word{display:flex;justify-content:center;gap:12px}.trial-word span{display:grid;place-items:center;width:74px;height:82px;border-radius:17px;background:#e5f1e9;color:#4b8178;font:800 47px Arial,sans-serif}.trial-word #trialBlank{border:3px dashed #e6b27b;background:#fff0d9;color:#be8a51}.trial-word #trialBlank.correct{border:3px solid #83b7a7;background:#dcf0df;color:#427764}.trial-choices{display:flex;justify-content:center;gap:15px;margin:24px 0}.trial-choices button{width:75px;height:64px;border:0;border-radius:17px;background:#fff0dc;color:#986d4d;box-shadow:0 4px #e3c49f;font:700 32px Arial,sans-serif}.trial-choices button:disabled{opacity:.45}.trial-note{display:block;color:#83978b;margin-top:22px;font-size:12px}#trialMessage{min-height:24px}.wrong{animation:wiggle .25s}.trial-dialog .secondary-button{margin-top:20px}@keyframes bob{50%{transform:translateY(-8px) rotate(-1deg)}}@keyframes letter{0%,20%,100%{opacity:.25;transform:translateY(-5px)}45%,80%{opacity:1;transform:translateY(0)}}@keyframes wiggle{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
@media(min-width:1500px){.home{max-width:1340px;grid-template-columns:1fr 1.1fr}.scene{transform:scale(1.1)}h1{font-size:76px}}
@media(max-width:1050px) and (min-width:761px){.home{padding:0 35px 45px;grid-template-columns:1fr 1fr}.scene{height:470px}.robot{width:355px;height:379px;top:30px}.orbit{width:350px;height:350px}.word-postcard{gap:13px;padding:12px}.demo-letters>span{width:51px;height:61px;font-size:37px}.speech{left:23%;font-size:16px}.delivery-path{display:none}h1{font-size:51px}.tagline{font-size:17px}.start-button{width:280px}.start-decoration{width:280px}.sun{width:70px;height:70px;right:4%}}
@media(max-width:900px) and (orientation:portrait){.topbar{height:100px;padding:25px 6%}.home{display:flex;flex-direction:column;min-height:calc(100svh - 100px);padding:0 25px 45px;justify-content:center}.invitation{display:contents}h1{text-align:center;font-size:51px;order:1}h1 span{display:inline;margin-left:8px}.little-label{display:none}.tagline{order:2;text-align:center;margin:14px 0 4px;font-size:19px}.scene{order:3;height:465px;width:490px;max-width:100%;margin:12px 0 25px}.robot{width:360px;height:384px;top:22px}.orbit{width:360px;height:360px}.speech{top:0;left:34%;font-size:16px;padding:11px 17px}.word-postcard{padding:10px 20px;gap:18px}.demo-letters>span{width:55px;height:62px;font-size:38px}.start-button{order:4;flex-shrink:0;width:330px;min-height:80px}.start-decoration{display:none}.sun{top:18%;right:7%;width:65px;height:65px}.delivery-path{right:5%;bottom:45px;width:65px}}
@media(max-width:600px){.topbar{height:80px;padding:18px 6%}.brand{font-size:16px;gap:8px}.brand-mark{width:36px;height:36px;border-radius:12px}.settings-button{padding:9px 13px;min-height:44px;font-size:14px}.home{min-height:calc(100svh - 80px);padding:14px 18px 35px}h1{font-size:34px;letter-spacing:0}.tagline{font-size:16px;margin:10px 0 0}.scene{height:340px;width:350px;margin:14px 0 24px}.robot{width:267px;height:284px;top:11px}.orbit{width:270px;height:270px;top:25px}.speech{font-size:13px;left:34%;top:-2px;padding:8px 13px}.word-postcard{padding:7px 12px;gap:10px;border-width:3px;border-radius:20px}.cat-stamp{width:43px}.cat-stamp svg{width:40px;height:40px}.cat-stamp span{font-size:11px}.demo-letters>span{width:43px;height:49px;font-size:31px;border-radius:11px}.start-button{min-height:72px;width:280px;font-size:25px;border-radius:25px}.spark-one{font-size:23px;top:94px}.spark-two{font-size:31px;top:184px}.sun{width:45px;height:45px;top:22%}.delivery-path{display:none}dialog{padding:23px}.dialog-header h2{font-size:22px}}
@media(min-width:761px) and (max-height:720px) and (orientation:landscape){.topbar{height:85px;padding-top:20px;padding-bottom:20px}.home{min-height:calc(100svh - 85px);padding-bottom:30px}.scene{height:440px;transform:scale(.92)}.robot{height:363px;width:342px;top:15px}.speech{top:-10px}h1{font-size:48px}.tagline{margin:20px 0 29px}.start-button{min-height:76px}.orbit{width:350px;height:350px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.missing span{opacity:1}}

/* 首页通行密码：首次验证，沿用主按钮。 */
.entry-form{width:330px;max-width:100%;margin:0}.password-gate{margin:0 0 20px;width:100%}.password-gate label{display:block;font-size:15px;font-weight:700;margin-bottom:9px;color:#55767b}.password-input-wrap{display:flex;align-items:center;min-height:56px;border:2px solid #c9e1df;border-radius:18px;background:#fffdf8;overflow:hidden}.password-input-wrap:focus-within{border-color:#5a9fa5;box-shadow:0 0 0 3px #5a9fa51c}.password-input-wrap input{width:100%;min-width:0;padding:14px 12px;border:0;outline:none;background:transparent;color:#355962;font:inherit;font-size:16px}.password-input-wrap input::placeholder{color:#889d9c}.password-input-wrap button{flex-shrink:0;min-width:54px;min-height:48px;border:0;background:transparent;color:#53858a;font-size:14px;font-weight:700}.password-gate p{font-size:12px;color:#728b89;margin:8px 0 0;line-height:1.5}.password-gate .password-error{color:#b14f38;font-size:14px;min-height:0}.password-error:empty{display:none}.entry-form .start-button{width:100%}
@media(max-width:900px) and (orientation:portrait){.entry-form{order:4;flex-shrink:0;width:330px}.home:has(.password-gate:not([hidden])) .scene{height:350px;margin:5px 0 20px}.home:has(.password-gate:not([hidden])) .robot{width:270px;height:288px;top:12px}.home:has(.password-gate:not([hidden])) .orbit{height:270px;width:270px;top:30px}.home:has(.password-gate:not([hidden])) .speech{font-size:14px;padding:9px 14px}.home:has(.password-gate:not([hidden])) .word-postcard{padding:7px 13px}.home:has(.password-gate:not([hidden])) .demo-letters>span{width:45px;height:49px;font-size:31px}.home:has(.password-gate:not([hidden])) .cat-stamp svg{height:39px;width:39px}.password-gate{margin-bottom:15px}}
@media(max-width:600px){.entry-form{width:280px}.home:has(.password-gate:not([hidden])) .scene{height:285px}.home:has(.password-gate:not([hidden])) .robot{height:237px;width:222px;top:8px}.home:has(.password-gate:not([hidden])) .orbit{height:215px;width:215px}.home:has(.password-gate:not([hidden])) .speech{font-size:12px;padding:7px 11px}.password-gate label{font-size:14px}}
/* 单屏布局：先按可用高度重排，再限制页面滚动。 */
html,body{height:100%;height:100dvh;min-height:0;overflow:hidden}
body{--bar-height:clamp(64px,12dvh,100px);height:var(--screen-height,100dvh)}
.topbar{height:var(--bar-height);padding-block:12px;width:100%}
.home{height:calc(var(--screen-height,100dvh) - var(--bar-height));min-height:0;width:100%;padding-top:12px;padding-bottom:26px;grid-template-rows:minmax(0,1fr)}
.invitation{min-height:0;padding-bottom:0}.little-label{display:none}.start-decoration{display:none}
h1{font-size:clamp(40px,min(5.1vw,8dvh),68px)}.tagline{margin:18px 0 25px}
.scene{height:min(510px,calc(var(--screen-height,100dvh) - var(--bar-height) - 60px));min-height:0;transform:none;container-type:size}
.scene .robot{width:auto;height:84%;max-width:100%;top:4%}.scene .orbit{width:min(85cqh,90%);height:85%;top:7%}
.scene .speech{top:0}.scene .spark-one{top:25%}.scene .spark-two{top:55%}
.password-gate{margin-bottom:15px}.entry-form .start-button{min-height:72px}
dialog{max-height:calc(var(--screen-height,100dvh) - 24px);overflow:hidden;padding:24px}
.settings-dialog .preview-note{margin:10px 0;padding:9px 12px}.settings-dialog .setting-row{padding:12px 0}.planned-settings>div{padding:10px 0}.settings-footnote{margin:10px 0;font-size:13px}
.word-library-row{gap:10px;align-items:center}.word-library-row small{display:block;font-size:12px;margin-top:6px}.sample-downloads{display:flex;gap:8px}.sample-downloads a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;border-radius:12px;text-decoration:none;color:#396f70;background:#e4f0e9;font-size:13px;font-weight:700;white-space:nowrap}
@media(max-width:900px) and (orientation:portrait){
 .home{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;justify-items:center;align-items:center;gap:10px;padding:12px 24px 28px}
 h1{order:1;font-size:clamp(30px,5.9vw,52px)}.tagline{order:2;margin:0;font-size:clamp(16px,2.4vw,20px)}
 .scene,.home:has(.password-gate:not([hidden])) .scene{order:3;align-self:center;height:100%;max-height:480px;width:min(490px,100%);margin:0}
 .scene .robot,.home:has(.password-gate:not([hidden])) .robot{height:83%;width:auto;top:4%}
 .scene .orbit,.home:has(.password-gate:not([hidden])) .orbit{height:85%;width:min(85cqh,90%);top:7%}
 .entry-form{order:4;width:min(330px,100%)}.scene .speech{font-size:15px;padding:9px 14px}
 .word-postcard{padding:8px 15px;gap:14px}.demo-letters>span{height:53px;width:47px;font-size:33px}.cat-stamp svg{width:42px;height:42px}
 .home:has(.password-gate:not([hidden])) .word-postcard{padding:7px 13px}
}
@media(max-height:650px){
 body{--bar-height:64px}.topbar{padding-block:8px}.home{padding-bottom:20px}h1{font-size:40px}.tagline{font-size:16px;margin:12px 0 16px}.password-gate label{margin-bottom:6px}.password-input-wrap{min-height:48px}.password-input-wrap input{padding-block:10px}.password-gate{margin-bottom:10px}.entry-form .start-button{min-height:64px;font-size:25px}
 dialog{padding:16px 22px}.dialog-header h2{font-size:22px}.settings-dialog .preview-note{margin:7px 0;padding:6px 10px;font-size:12px}.setting-row p{margin:4px 0}.settings-dialog .setting-row{padding:8px 0}.planned-settings>div{padding:7px 0}.settings-footnote{line-height:1.5}.trial-clue{font-size:45px;margin:10px 0}.trial-word span{height:64px;width:65px;font-size:40px}.trial-choices{margin:15px 0}.trial-note{margin-top:12px}
}
@media(max-height:650px) and (orientation:portrait){.home{gap:7px}.tagline{margin:0}.scene .speech{display:none}.scene .word-postcard{transform:translateX(-50%) scale(.82);transform-origin:bottom center}}
/* 软键盘出现时将空间让给密码及开始按钮。 */
body.keyboard-open .home{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:8px 18px 18px}
body.keyboard-open .invitation{display:contents}body.keyboard-open .scene,body.keyboard-open .tagline{display:none}body.keyboard-open h1{font-size:25px;order:1}body.keyboard-open h1 span{display:inline;margin-left:6px}body.keyboard-open .entry-form{order:2}body.keyboard-open .password-gate label,body.keyboard-open #passwordHint{display:none}
/* 六个基础入口与四套明亮主题 */
body{--page-a:#eefaff;--page-b:#e9f7f7;--page-c:#fff9e9;--accent:#5ba7ac;--accent-dark:#397b83;--soft:#e3f1ec;--ink:#355962;--button-a:#ffad77;--button-b:#f78b62;--button-shadow:#d66c4b;--hill-a:#cdebe28c;--hill-b:#e0ecd0a6;background:linear-gradient(150deg,var(--page-a),var(--page-b) 55%,var(--page-c));color:var(--ink)}
body[data-theme=ocean]{--page-a:#def2ff;--page-b:#e4f5ff;--page-c:#d6f5fa;--accent:#58a7dd;--accent-dark:#367ba7;--soft:#dfedfb;--ink:#365e7d;--button-a:#ffd778;--button-b:#f1b74e;--button-shadow:#c38b2e;--hill-a:#afdceb90;--hill-b:#c0e9fc;}
body[data-theme=peach]{--page-a:#ffe9f1;--page-b:#fff0f4;--page-c:#fff7e7;--accent:#d77caa;--accent-dark:#a24f7b;--soft:#fae3ee;--ink:#80596d;--button-a:#87d7bf;--button-b:#63bca6;--button-shadow:#408f7d;--hill-a:#f2c4d990;--hill-b:#f8debe90;}
body[data-theme=sunny]{--page-a:#fff2c9;--page-b:#fff6de;--page-c:#fff0dc;--accent:#d8a64b;--accent-dark:#997132;--soft:#f9edcb;--ink:#795e3b;--button-a:#ffb87c;--button-b:#ef935f;--button-shadow:#c67845;--hill-a:#e6d89199;--hill-b:#f5d2a380;}
.topbar{max-width:1500px;padding-inline:4%;gap:18px}.brand{flex-shrink:0;color:var(--ink)}.brand-mark{background:var(--accent)}
.basic-toolbar{display:flex;align-items:center;gap:8px}.basic-toolbar button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:70px;min-height:48px;padding:10px 13px;border:1px solid #ffffffd9;border-radius:17px;background:#ffffffbb;box-shadow:0 3px 0 #47746e0b;color:var(--ink);font-size:14px;font-weight:700;white-space:nowrap}.basic-toolbar button>span:first-child{font-size:21px;line-height:1}.basic-toolbar button:hover{background:#fffdf5;transform:translateY(-1px)}
h1{color:var(--ink)}h1 span{color:var(--accent-dark)}.tagline{color:var(--ink);opacity:.8}.start-button{background:linear-gradient(var(--button-a),var(--button-b));box-shadow:0 8px 0 var(--button-shadow),0 17px 27px #99745525;text-shadow:0 2px #00000012}.start-button:hover{box-shadow:0 11px 0 var(--button-shadow),0 19px 30px #99745525}.start-button:active{box-shadow:0 3px 0 var(--button-shadow)}
.hill-a{background:var(--hill-a)}.hill-b{background:var(--hill-b)}.speech{color:var(--ink)}.demo-letters>span,.trial-word span{background:var(--soft);color:var(--accent-dark)}.robot [fill="#609b9f"]{fill:var(--accent-dark)}.robot [fill="#5babb4"],.robot [fill="#70bdc4"],.robot [fill="#5b9ca4"]{fill:var(--accent)}.robot [stroke="#62b5bd"],.robot [stroke="#568f99"]{stroke:var(--accent)}
dialog{color:var(--ink);background:linear-gradient(160deg,#fffdf8 40%,var(--page-b))}.secondary-button,.sample-downloads a,.icon-close{background:var(--soft);color:var(--accent-dark)}.toggle[aria-checked=true]{background:var(--accent)}.password-input-wrap{border-color:var(--accent)}
.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.theme-card{border:3px solid transparent;border-radius:22px;min-height:133px;padding:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#546069;position:relative}.theme-card>span{font-size:31px}.theme-card strong{font-size:18px}.theme-card small{font-size:12px}.theme-card.mint{background:#e1f4df}.theme-card.ocean{background:#dceeff}.theme-card.peach{background:#ffe0ec}.theme-card.sunny{background:#ffedb7}.theme-card[aria-pressed=true]{border-color:var(--accent-dark);box-shadow:inset 0 0 0 3px #ffffffb0}.theme-card[aria-pressed=true]::after{content:'✓';position:absolute;top:7px;right:12px;font-weight:900;font-size:19px}
.help-steps{padding:0;margin:18px 0;list-style:none;display:grid;gap:17px}.help-steps li{display:flex;align-items:center;gap:14px}.help-steps li>span{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;background:var(--soft);color:var(--accent-dark);border-radius:15px;font-size:23px;font-weight:800}.help-steps strong{font-size:18px}.help-steps p{font-size:14px;line-height:1.6;margin:5px 0;color:var(--ink)}
.volume-label{display:flex;justify-content:space-between;font-size:15px;font-weight:700;margin-top:14px}#musicVolume{width:100%;height:44px;accent-color:var(--accent-dark);cursor:pointer}.audio-previews{display:flex;gap:10px}.audio-previews button,.library-pages button,.trial-tools button{border:0;background:var(--soft);color:var(--accent-dark);border-radius:13px;min-height:44px;padding:9px 12px;font:inherit;font-size:14px;font-weight:700}.audio-previews button{flex:1}.library-heading{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin:16px 0 12px}.library-heading span{font-size:12px;opacity:.7}.library-words{display:grid;grid-template-columns:1fr 1fr;gap:9px}.library-words>div{display:flex;justify-content:space-between;align-items:center;gap:8px;border-radius:14px;background:var(--soft);padding:12px 14px;min-height:46px;font-size:15px}.library-words strong{font-family:Arial,sans-serif;font-size:18px}.library-pages{display:flex;justify-content:space-between;align-items:center;margin:13px 0}.library-pages button:disabled{opacity:.4}.library-dialog .sample-downloads a{flex:1}.home-return{min-height:44px;border:0;border-radius:15px;padding:10px 12px;background:var(--soft);color:var(--accent-dark);font-size:14px;font-weight:700;white-space:nowrap}.toolbar-notice{position:fixed;z-index:20;bottom:20px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;border:2px solid white;border-radius:16px;padding:15px 20px;background:#fff7d9;color:#725c36;font-size:14px;box-shadow:0 5px 25px #0001}.trial-tools{display:flex;justify-content:center;gap:12px;margin-top:15px}.lowercase-letters .trial-word,.lowercase-letters .demo-letters,.lowercase-letters .robot text{text-transform:lowercase}.no-motion *, .no-motion *::before,.no-motion *::after{animation:none!important;transition:none!important}
@media(max-width:1100px){.topbar{padding-inline:3%;gap:10px}.basic-toolbar{gap:6px}.basic-toolbar button{flex-direction:column;gap:4px;min-width:61px;min-height:53px;padding:7px 10px;font-size:12px}.basic-toolbar button>span:first-child{font-size:20px}.brand{font-size:18px;gap:9px}}
@media(max-width:700px){body{--bar-height:105px}.topbar{align-items:center;flex-wrap:wrap;justify-content:center;padding:7px 12px;gap:5px}.brand{width:100%;justify-content:center;font-size:15px}.brand-mark{width:25px;height:25px;border-radius:8px;font-size:19px}.basic-toolbar{width:100%;justify-content:center;gap:5px}.basic-toolbar button{min-width:0;flex:1;min-height:48px;padding:6px 7px;font-size:11px;border-radius:13px}.basic-toolbar button>span:first-child{font-size:17px}.theme-card{min-height:112px}.library-words>div{padding:10px}.library-words strong{font-size:16px}.home-return{font-size:12px;padding:8px}.dialog-header h2{font-size:21px}}
@media(max-height:650px){.theme-card{min-height:110px}.theme-grid{gap:10px;margin-top:12px}.help-steps{gap:10px;margin:12px 0}.library-heading{margin:12px 0 8px}.library-words>div{padding:8px 12px}.setting-row{padding:10px 0}.trial-tools{margin-top:8px}.trial-tools button{min-height:40px}.trial-note{margin-top:8px}.library-dialog .settings-footnote{font-size:12px;line-height:1.4}}
body[data-theme=ocean] .start-button{color:#71561e;text-shadow:none}
.library-filter{display:flex;gap:10px;margin:10px 0}.library-filter select,.library-filter button,.input-actions button{font:inherit;font-size:14px;min-height:44px;border:0;border-radius:13px;padding:8px 12px;background:var(--soft);color:var(--accent-dark)}.library-filter select{min-width:0;flex:1}.library-filter button{font-weight:700}.library-words{min-height:168px}.library-words>div{min-width:0;align-items:flex-start;flex-direction:column;gap:3px;min-height:50px;padding:7px 12px}.library-words strong{font-size:16px;overflow-wrap:anywhere}.library-words span{font-size:12px;line-height:1.3;overflow-wrap:anywhere}.input-tip{font-size:14px;line-height:1.6}.input-actions{display:flex;gap:10px}.input-actions button{flex:1}.input-label{display:block;font-size:14px;font-weight:700;margin:14px 0 8px}#wordInput{width:100%;resize:none;border:2px solid var(--accent);border-radius:15px;padding:12px;background:#fffef9;color:var(--ink);font:16px/1.65 'Microsoft YaHei',sans-serif;max-height:180px}.input-status{min-height:42px;font-size:13px;line-height:1.5;color:var(--ink);margin:10px 0}
@media(max-height:650px){.library-dialog{padding:16px 22px}.library-filter{margin:8px 0}.library-words{min-height:153px;gap:6px}.library-words>div{min-height:47px;padding:5px 10px}.library-pages{margin:8px 0}.library-dialog .settings-footnote{margin:8px 0 0}#wordInput{height:140px}.input-label{margin-top:10px}.input-status{margin:8px 0}}
/* 完整关卡：棋盘、结算、复习共用单屏游戏区。 */
.game-screen{height:calc(var(--screen-height,100dvh) - var(--bar-height));max-width:1400px;margin:auto;padding:8px 4% 16px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;position:relative}.game-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.game-heading h2{font-size:22px;margin:0 0 5px}.game-heading>div>span{font-size:12px;color:var(--ink)}.game-actions{display:flex;gap:8px;flex-shrink:0}.game-actions button,.result-actions button,.library-use button{border:0;border-radius:14px;min-height:44px;padding:9px 14px;background:var(--soft);color:var(--accent-dark);font:700 14px 'Microsoft YaHei',sans-serif}.game-actions #gameHome{background:#ffffffc9}.play-area{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;min-height:0}.clue-panel{background:#fffcf3c9;border:2px solid #fff;border-radius:24px;padding:14px;min-height:0}.clue-panel h3{font-size:16px;margin:0 0 10px}#gameClues{display:grid;gap:9px}.game-clue{display:block;width:100%;text-align:left;border:2px solid transparent;border-radius:15px;background:var(--soft);color:var(--ink);padding:10px 11px;min-height:58px}.game-clue strong{font-size:15px;line-height:1.35;display:block;overflow-wrap:anywhere}.game-clue small{display:block;font-size:11px;margin-top:5px}.game-clue.active{border-color:var(--accent-dark);background:#fffef7}.game-clue.done{opacity:.7}.mail-progress{display:flex;gap:13px;margin-top:13px;font-size:24px;color:var(--accent)}.mail-progress .sent{color:var(--accent-dark)}.board-stage{min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;border-radius:25px;background:#ffffff45}.crossword-board{display:grid;--cell:40px}.cross-cell{position:relative;margin:2px;border:2px solid #fff;border-bottom:4px solid #b9d7d2;border-radius:10px;background:#fffefa;color:var(--ink);font:800 clamp(16px,2.3vw,30px) Arial,sans-serif;padding:0;min-width:0;min-height:0;text-transform:uppercase}.cross-cell small{position:absolute;top:1px;left:3px;font:700 9px Arial,sans-serif}.cross-cell.active-word{background:var(--soft)}.cross-cell.given{background:#ffe9b7;border-bottom-color:#dfbe76}.cross-cell.filled:not(.given){background:var(--accent);color:#fff}.cross-cell.delivered{background:#c5e9b9;color:#3c7146}.cross-cell.selected{outline:3px solid var(--accent-dark);outline-offset:0;z-index:1;box-shadow:0 0 0 5px #fff8}.answer-area{max-width:810px;width:100%;justify-self:center;border-radius:20px;background:#fffdf3d9;padding:10px 20px 12px}.answer-heading{display:flex;gap:10px;justify-content:space-between;align-items:center}.answer-heading p{margin:0 0 8px;font-size:15px;font-weight:700}.answer-heading>span{white-space:nowrap;font-size:13px}.game-choices{display:flex;gap:10px;justify-content:center}.game-choice{flex:1;max-width:82px;height:52px;border:2px solid white;border-radius:14px;background:var(--accent);color:white;box-shadow:0 3px 0 var(--accent-dark);font:800 27px Arial,sans-serif;text-transform:uppercase}.game-choice:disabled{opacity:.35}.lowercase-letters .cross-cell,.lowercase-letters .game-choice,.lowercase-letters .review-slots span{text-transform:lowercase}.result-area,.review-area{grid-row:2 / 4;align-self:center;justify-self:center;width:min(860px,100%);text-align:center;background:#fffdf4e8;border:3px solid white;border-radius:28px;padding:20px 26px;min-height:0}.result-icon{font-size:32px;color:var(--accent)}.result-area h2,.review-area h2{margin:6px 0 10px;font-size:27px}.result-area p{font-size:14px;margin:8px 0 13px}.result-stats{display:flex;justify-content:center;gap:12px;margin:14px 0}.result-stats>div{background:var(--soft);padding:10px 22px;border-radius:16px;flex:1}.result-stats strong{display:block;font-size:25px;color:var(--accent-dark)}.result-stats span{font-size:12px}.result-words{display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:left}.result-words>div{background:#fff;border-radius:13px;padding:9px 12px;display:grid;grid-template-columns:auto 1fr;gap:5px 10px}.result-words strong{font-size:17px;color:var(--accent-dark);overflow-wrap:anywhere}.result-words span{font-size:12px;overflow-wrap:anywhere}.result-words small{grid-column:1 / -1;font-size:11px;color:#708477}.result-actions{display:flex;gap:12px;justify-content:center;margin:16px 0 0}.result-actions button{flex:1;max-width:300px;background:var(--accent);color:white;font-size:16px;min-height:48px}.save-status{font-size:11px!important;margin-bottom:0!important}.review-area{padding:30px}.review-area>span{font-size:13px}.review-area h2{margin:24px 0 12px;overflow-wrap:anywhere}.review-area p{font-size:14px;min-height:22px}.review-slots{display:flex;gap:6px;justify-content:center;margin:24px 0}.review-slots span{display:grid;place-items:center;flex:1;max-width:57px;height:62px;min-width:0;border-radius:10px;background:var(--soft);color:var(--accent-dark);font:800 27px Arial,sans-serif;text-transform:uppercase}.review-slots .current{outline:3px solid var(--accent-dark);outline-offset:1px}.review-area .secondary-button{max-width:340px;margin-top:10px}.library-use{display:flex;flex-wrap:wrap;gap:6px;margin:5px 0 8px}.library-use button{flex:1;min-height:38px;font-size:12px;padding:5px 9px}.library-use span{width:100%;font-size:11px;color:var(--accent-dark)}.in-game .scene{display:none}
@media(max-width:900px) and (orientation:portrait){.game-screen{padding:5px 3% 15px;gap:10px}.play-area{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:10px}.clue-panel{padding:9px 12px}.clue-panel h3,.mail-progress{display:none}#gameClues{grid-template-columns:1fr 1fr;gap:7px}.game-clue{min-height:58px;padding:7px 9px}.game-clue strong{font-size:14px}.board-stage{min-height:0}.game-heading h2{font-size:19px}.game-heading>div>span{font-size:11px}.game-actions button{font-size:12px;padding:7px 10px}.result-area,.review-area{padding:20px}.result-words{grid-template-columns:1fr}.result-area h2{font-size:25px}.review-slots span{font-size:23px}.game-choice{height:56px}.answer-area{padding:10px 12px}.answer-heading p{font-size:13px}}
@media(max-height:650px){.game-screen{padding-top:4px;padding-bottom:9px;gap:6px}.game-heading h2{font-size:19px}.play-area{gap:12px;grid-template-columns:220px minmax(0,1fr)}.clue-panel{padding:9px 10px}.clue-panel h3{margin-bottom:6px;font-size:14px}#gameClues{gap:5px}.game-clue{padding:7px 9px;min-height:53px}.game-clue strong{font-size:13px}.game-clue small{font-size:10px;margin-top:3px}.mail-progress{margin-top:5px;font-size:20px}.answer-area{padding:6px 16px 9px}.game-choice{height:46px}.answer-heading p{font-size:13px;margin-bottom:5px}.result-area{padding:12px 20px}.result-icon{font-size:24px}.result-area h2{font-size:23px;margin:4px 0}.result-stats{margin:9px 0}.result-stats>div{padding:7px 15px}.result-words>div{padding:6px 10px}.result-actions{margin-top:10px}.review-area{padding:17px 24px}.review-area h2{margin:12px 0}.review-slots{margin:15px 0}.review-slots span{height:51px}.library-dialog .library-words{min-height:144px}.library-dialog .library-words>div{min-height:44px}.library-dialog .settings-footnote{font-size:11px}.library-dialog .library-heading{margin-top:8px}.library-dialog .library-filter{margin:6px 0}}
.result-words>button{border:0;color:var(--ink);font:inherit;text-align:left;background:#fff;border-radius:13px;padding:9px 12px;display:grid;grid-template-columns:auto 1fr;gap:5px 10px}.result-words>button span,.game-clue strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.result-words>button:hover{background:var(--soft)}#meaningText{font-size:20px;line-height:1.7;overflow-wrap:anywhere}.game-clue:has(strong + small + small){padding-block:5px}.game-clue:has(strong + small + small) strong{-webkit-line-clamp:1}
@media(max-height:650px){.result-words>button{padding:6px 10px}.game-clue:has(strong + small + small) small{font-size:9px;margin-top:2px}}
