:root{font-family:"PingFang SC","Microsoft YaHei",sans-serif;color:#473b50;background:#fff7e6;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 8% 8%,#fff0a8 0,transparent 22%),radial-gradient(circle at 95% 28%,#ffd8c9 0,transparent 24%),#fff9ee}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:default}.page{max-width:1100px;margin:auto;padding:20px 30px}header{display:flex;justify-content:space-between;align-items:center;padding:0 4px 18px}.brand{font-size:19px;font-weight:800;color:#614856;text-decoration:none}.sound-test{border:2px solid #f4d5b9;border-radius:30px;background:#fff;color:#9b644d;padding:10px 17px;font-size:14px;font-weight:700;box-shadow:0 3px 0 #eed9c8}.intro{height:240px;border:5px solid #fff;border-radius:30px;box-shadow:0 10px 28px #d7996328;position:relative;overflow:hidden;background:#a7dcea url('/game/wordplay/wordgame-hero.jpg?v=20261110p') center 54%/cover}.intro>div:first-child{position:absolute;z-index:1;top:25px;left:30px;background:#fffbf0ed;padding:15px 20px;border-radius:22px;box-shadow:0 3px 0 #e8cba5}.eyebrow{color:#dd795d;font-size:12px;font-weight:800;letter-spacing:.1em}.intro h1{font-size:clamp(31px,4vw,45px);line-height:1.1;margin:8px 0;color:#664c62}.intro h1 span{color:#f17963}.intro h1 i{font-style:normal;font-size:22px;color:#eeb54c}.intro p{font-size:15px;margin:0;color:#806d76;font-weight:600}.mascot small{position:absolute;right:25px;bottom:18px;background:#fff8dd;border:2px solid #fff;border-radius:30px;padding:8px 15px;color:#ac7255;font-size:14px;font-weight:700;transform:rotate(-4deg)}.game{margin-top:24px;background:#fff;border:3px solid #f7d8bd;border-radius:28px;padding:26px;box-shadow:0 8px 0 #f3e0cb,0 14px 30px #aa775115}.game-top{display:flex;justify-content:space-between;align-items:center}.level-label{display:inline-block;border-radius:20px;background:#e4f5df;color:#65936b;font-size:13px;font-weight:800;padding:6px 12px}.game-top h2{font-size:21px;margin:9px 0 18px;color:#674e61}.dots{display:flex;gap:8px}.dots span{width:11px;height:11px;border-radius:50%;background:#f1dfd5}.dots .current{width:28px;border-radius:10px;background:#ff9a78}.dots .done{background:#a8d391}.cards{display:grid;grid-template-columns:1fr 45px 1fr;align-items:center}.picture-card{border:3px solid #e8f2df;border-radius:23px;padding:12px 14px 14px;text-align:center;background:#f8fff4;overflow:hidden}.picture-card.change{border-color:#ffe4cf;background:#fff9f2}.card-heading{display:flex;align-items:center;gap:8px;color:#71966e;font-size:14px;font-weight:800;text-align:left}.number{font-size:22px;color:#8ac985}.change .card-heading{color:#d98a66}.change .number{color:#f5a080}.scene{height:245px;position:relative;overflow:hidden;border-radius:15px;background:#fff9ee;margin-top:6px}.scene img{position:absolute;top:0;height:100%;width:200%;max-width:none;object-fit:fill}.scene.left img{left:0}.scene.right img{left:-100%}.picture-card p{font-size:19px;font-weight:800;margin:12px 0 0;min-height:26px}.connector{text-align:center;font-size:26px;color:#efad8a}.answer-area{margin-top:22px;padding:22px;background:#fff8e9;border:2px dashed #f6d9a6;border-radius:22px}.prompt{display:flex;align-items:center;gap:12px}.spark{color:#f6ad59;font-size:30px}.prompt h3{margin:0;color:#65485c;font-size:22px}.prompt p{margin:5px 0 15px;color:#a0898d;font-size:14px}.answer-row{display:flex;align-items:stretch;gap:10px}.answer-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.answer-slots-wrap{position:relative;min-width:0;flex:1;background:#fff;border:2px solid #f2e0ce;border-radius:16px;min-height:72px;display:flex;align-items:center;justify-content:center;padding:8px 16px}.answer-slots-wrap:focus-within{outline:3px solid #ffc895}.answer-slots{display:flex;gap:12px;justify-content:center}.answer-slot{width:52px;height:48px;text-align:center;border-bottom:4px solid #eaab78;font-size:29px;line-height:43px;color:#715068;font-weight:800}.answer-slots-wrap input{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;cursor:text}.mic,.check,.next{border:0;border-radius:16px;padding:14px 20px;font-weight:800;font-size:16px}.mic{background:#ff936f;color:#fff;box-shadow:0 4px 0 #e87a5b}.mic.listening{background:#e96773}.check,.next{background:#80bd87;color:#fff;box-shadow:0 4px 0 #69a772}.status{color:#9b827d;font-size:14px;min-height:20px;margin:15px 0 8px}.answer-echo{font-size:14px;color:#8d7280;margin:10px 0 0;overflow-wrap:anywhere}.actions{display:flex;gap:18px}.text-button{border:0;background:transparent;color:#db8b63;font-size:14px;font-weight:700;padding:6px 0}.hint{background:#fff0c5;border-radius:13px;padding:12px 14px;color:#886e3c}.result{margin-top:14px;background:#fff2dc;border-radius:14px;padding:16px;line-height:1.7;font-size:16px}.result.correct{background:#e9f8e5;color:#618665}.next{margin-top:14px;min-width:140px}footer{text-align:center;padding:32px;color:#b89e98;font-size:14px}footer span{color:#f0b963;margin-left:8px}[hidden]{display:none!important}@media(max-width:650px){.page{padding:15px 13px}.intro{height:205px;background-position:56% 55%}.intro>div:first-child{top:14px;left:13px;padding:11px 13px}.intro h1{font-size:28px}.intro p{font-size:12px}.mascot small{right:10px;bottom:8px;font-size:12px}.game{padding:15px;margin-top:15px}.cards{grid-template-columns:1fr 24px 1fr}.picture-card{padding:8px 7px 10px}.scene{height:145px}.picture-card p{font-size:15px;min-height:42px}.card-heading{font-size:12px}.answer-area{padding:16px 12px}.answer-row{flex-wrap:wrap}.answer-slots-wrap{flex-basis:100%}.mic,.check{flex:1}.answer-slot{width:43px;height:44px;font-size:26px}.game-top h2{font-size:18px}}
.scene{height:auto;aspect-ratio:1/1}
@media(max-width:650px){.scene{height:auto;aspect-ratio:1/1}}
.themes{margin-top:24px;padding:26px;background:#fff;border:3px solid #f7d8bd;border-radius:28px;box-shadow:0 8px 0 #f3e0cb,0 14px 30px #aa775115}.themes-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.themes-heading h2{font-size:26px;margin:8px 0;color:#664c62}.themes-heading p{margin:0;color:#9b858b;font-size:15px}.themes-badge{background:#fff2cf;border-radius:22px;padding:9px 15px;color:#cf9562;font-size:13px;font-weight:800;white-space:nowrap}.theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.theme-card{text-align:left;overflow:hidden;padding:0;border:2px solid #f0e6da;background:#fff;border-radius:20px;box-shadow:0 5px 0 #f5e9df;transition:transform .18s,box-shadow .18s;color:#604c5c}.theme-card:not(:disabled):hover{transform:translateY(-4px);box-shadow:0 9px 0 #f5e9df}.theme-card:disabled{opacity:.72}.theme-art{display:block;height:155px;background-size:200% auto;background-position:left center;background-repeat:no-repeat;background-color:#f5eee5}.theme-card-copy{display:flex;flex-direction:column;gap:8px;padding:15px}.theme-card strong{font-size:20px}.theme-card small{font-size:13px;color:#a38e91;line-height:1.4}.theme-count{align-self:flex-start;border-radius:20px;background:#eaf6e7;color:#75a27b;padding:6px 10px;font-size:12px;font-weight:800}.theme-card:disabled .theme-count{background:#f4efeb;color:#aa9994}.themes-note{margin:23px 0 0;color:#af9790;font-size:13px}.game-nav{display:flex;justify-content:flex-start;margin-bottom:15px}.back-themes{border:0;background:#fff1dc;color:#b47c5c;border-radius:20px;padding:9px 14px;font-weight:800;font-size:14px}@media(max-width:650px){.themes{padding:18px;margin-top:15px}.themes-heading h2{font-size:21px}.themes-heading p{font-size:13px}.themes-badge{display:none}.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.theme-art{height:115px}.theme-card-copy{padding:11px;gap:6px}.theme-card strong{font-size:17px}.theme-card small{font-size:12px;min-height:34px}.theme-count{font-size:11px}}
.animals .theme-art,.nature .theme-art{background-image:url('/game/wordplay/wordgame-illustration-4.jpg?v=20261110p')}.life .theme-art{background-image:url('/game/wordplay/wordgame-illustration-1.jpg?v=20261110p')}.food .theme-art{background-image:url('/game/wordplay/wordgame-illustration-3.jpg?v=20261110p')}.school .theme-art{background-image:url('/game/wordplay/wordgame-illustration-5.jpg?v=20261110p')}

.dots{flex-wrap:wrap;justify-content:flex-end;max-width:260px}@media(max-width:650px){.dots{max-width:125px;gap:5px}.dots span{width:8px;height:8px}.dots .current{width:18px}}
.jump-box{display:flex;align-items:center;gap:8px;color:#927987;font-size:13px;font-weight:700}.jump-box select{max-width:175px;border:2px solid #f2dbc5;background:#fffaf2;color:#6a5361;border-radius:12px;padding:9px;font:inherit}.progress-note{color:#af968c;font-size:12px;margin:13px 0 0;line-height:1.5}@media(max-width:650px){.jump-box{align-items:flex-end;flex-direction:column;gap:4px;font-size:12px}.jump-box select{max-width:150px;padding:7px}}

.life .theme-art{background-image:url('/game/wordplay/wordgame-life-baozhi.jpg?v=20261110p')}

.scene-wait,.scene-retry{position:absolute;inset:0;display:none;align-items:center;justify-content:center;padding:12px;color:#95777a;font-size:13px;line-height:1.5;text-align:center}.scene.scene-loading .scene-wait{display:flex}.scene.scene-loading img{visibility:hidden}.scene-retry{border:0;width:100%;height:100%;background:#fff6e9;font:inherit;cursor:pointer}.scene.scene-failed .scene-retry{display:flex}.scene.scene-failed img{visibility:hidden}

.access-overlay{position:fixed;inset:0;z-index:30;background:#372f3ab8;display:flex;align-items:center;justify-content:center;padding:20px}.access-card{width:min(100%,400px);background:#fffaf2;border:3px solid #f3d8bd;border-radius:24px;padding:24px;box-shadow:0 16px 48px #382a3333}.access-card h2{margin:0;color:#674e61;font-size:22px}.access-card p{color:#806d76;line-height:1.6}.access-card label{display:block;color:#674e61;font-weight:700;margin-bottom:6px}.access-card input{width:100%;border:2px solid #ead3c0;border-radius:12px;background:white;padding:12px;font-size:18px}.access-buttons{display:flex;gap:10px}.access-buttons button{flex:1;border:0;border-radius:12px;padding:12px;font-weight:700;background:#f5e7da;color:#805b4a}.access-buttons button[type=submit]{background:#80bd87;color:white}#accessMessage{min-height:1.5em;color:#ac5a4e;margin:8px 0}

/* 答题时把主要内容放进屏幕，主题页仍保留完整插画。 */
body.playing .page{max-width:980px;padding:8px 12px}
body.playing .page>header,body.playing .intro,body.playing .page>footer{display:none}
body.playing .game{margin:0;padding:12px 16px;border-radius:22px}
body.playing .game-nav{margin-bottom:3px}
body.playing .back-themes{padding:6px 12px}
body.playing .game-top h2{margin:3px 0 8px;font-size:18px}
body.playing .cards{width:min(100%,calc((100dvh - 445px)*2 + 80px));margin:0 auto;grid-template-columns:1fr 30px 1fr}
body.playing .picture-card{padding:6px 8px 8px;border-radius:18px}
body.playing .card-heading{font-size:12px;gap:5px}
body.playing .card-heading .number{font-size:18px}
body.playing .scene{margin-top:3px}
body.playing .picture-card p{font-size:15px;margin:5px 0 0;min-height:22px;line-height:1.25}
body.playing .answer-area{margin-top:9px;padding:10px 14px;border-radius:17px}
body.playing .prompt h3{font-size:18px}
body.playing .prompt p{margin:2px 0 7px;font-size:12px}
body.playing .spark{font-size:24px}
body.playing .answer-slots-wrap{min-height:50px;padding:4px 10px}
body.playing .answer-slot{height:38px;line-height:34px;font-size:25px}
body.playing .mic,body.playing .check{padding:9px 14px}
body.playing .status{margin:6px 0 3px}
body.playing .progress-note,body.playing .voice-access{margin:5px 0 0;font-size:11px}
body.playing .actions{gap:14px}
body.playing .text-button{padding:3px 0}
@media(max-width:650px){body.playing .page{padding:5px 7px}body.playing .game{padding:9px 10px}body.playing .cards{width:min(100%,calc((100dvh - 365px)*2 + 70px));grid-template-columns:1fr 22px 1fr}body.playing .picture-card{padding:5px}body.playing .card-heading{font-size:11px}body.playing .picture-card p{font-size:13px;min-height:30px}body.playing .answer-area{padding:8px 10px}body.playing .answer-row{gap:6px}body.playing .answer-slots-wrap{min-height:44px}body.playing .answer-slot{width:36px;height:33px;line-height:29px;font-size:22px}body.playing .mic,body.playing .check{padding:8px 10px;font-size:14px}body.playing .status{font-size:12px}body.playing .progress-note,body.playing .voice-access{line-height:1.25}}

/* 词语冒险地图：关卡入口与答题台 */
:root{color:#314d48;background:#d7f1dd}
body{background:radial-gradient(ellipse at 15% 0%,#fff6bd 0,transparent 35%),radial-gradient(ellipse at 92% 8%,#bee7f3 0,transparent 30%),#dff2e3}
.page{max-width:1120px}
.brand{color:#416e60;letter-spacing:.02em}.sound-test{border-color:#c5e1cd;color:#477763;box-shadow:0 4px 0 #a7cdb0}
.intro{height:230px;border:6px solid #fffdf1;border-radius:34px;box-shadow:0 8px 0 #8ec8a2,0 18px 32px #4d87602a}
.intro>div:first-child{background:#fffdf1ee;border:2px solid #e4efd0;box-shadow:0 5px 0 #b8d7af;transform:rotate(-1deg)}
.eyebrow{color:#e27e58}.intro h1{color:#365f53}.intro h1 span{color:#f2825e}.intro p{color:#688778}
.themes{position:relative;background:#f8fdeb;border:5px solid #fffaf0;border-radius:32px;box-shadow:0 8px 0 #9dcba4,0 18px 32px #54896922;overflow:hidden}
.themes:before{content:'';position:absolute;inset:130px -20% 75px;background:radial-gradient(ellipse at 15% 45%,#bde5a9 0 13%,transparent 13.5%),radial-gradient(ellipse at 50% 55%,#c6eaaa 0 17%,transparent 17.5%),radial-gradient(ellipse at 85% 35%,#b4e0b7 0 15%,transparent 15.5%);pointer-events:none;opacity:.48}
.themes-heading,.theme-grid,.themes-note{position:relative}.themes-heading h2{color:#315f50}.themes-heading p{color:#75907f}.themes-badge{color:#a85e37;background:#ffe39b;border:2px solid #fff7d5;box-shadow:0 3px 0 #e9c77b}
.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
.theme-card{position:relative;overflow:visible;background:#fffdf2;border:4px solid #fffdf2;border-radius:24px;box-shadow:0 7px 0 #9ecba5,0 12px 18px #51826b24;color:#32594f}
.theme-card:not(:disabled):hover{transform:translateY(-5px) rotate(-1deg);box-shadow:0 12px 0 #91c6a0,0 17px 24px #51826b28}
.theme-card:focus-visible,.mic:focus-visible,.check:focus-visible,.back-themes:focus-visible,.text-button:focus-visible{outline:3px solid #1c776c;outline-offset:3px}
.theme-card:disabled{opacity:.65}.theme-art{height:148px;border-radius:17px 17px 10px 10px}.theme-card-copy{padding:12px 13px 14px;gap:6px}.theme-card strong{font-size:20px;color:#315d51}.theme-card small{color:#7b9382}.theme-count{background:#e6f6d7;color:#537e4d}.themes-note{color:#7c9b86}
.theme-card:before{content:'✦';position:absolute;z-index:2;top:-12px;left:-10px;width:31px;height:31px;display:grid;place-items:center;border:3px solid #fff8df;border-radius:50%;color:white;background:#f9b957;box-shadow:0 3px 0 #d99c48;font-size:17px}
.game{background:#fffdf0;border:4px solid #fffdf0;box-shadow:0 7px 0 #9acba8,0 16px 32px #54896922}.back-themes{background:#e0f2d8;color:#578163}.level-label{background:#ffdea0;color:#9a6639}.game-top h2{color:#365f52}.jump-box{color:#6e8a79}.jump-box select{border-color:#d9e8ce;background:#fbfff3;color:#466c5e}
.picture-card{background:#eef9e8;border-color:#cbe9bf;box-shadow:0 4px 0 #b8dcae}.picture-card.change{background:#fff5e9;border-color:#ffdbb9;box-shadow:0 4px 0 #efcfae}.card-heading{color:#4f8d5c}.change .card-heading{color:#d87a52}.connector{color:#f19f6f}
.answer-area{background:#fff5d9;border-color:#f2ce86}.prompt h3{color:#526f55}.prompt p{color:#907f69}.answer-slots-wrap{border-color:#efd7a9}.answer-slot{color:#3f715f;border-color:#eea16e}.mic{background:#fa8867;box-shadow:0 4px 0 #d86c50}.check,.next{background:#5fb985;box-shadow:0 4px 0 #449c6a}.status{color:#728773}.text-button{color:#c77c4d}footer{color:#81a48b}
@media(max-width:650px){.intro{height:185px}.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.theme-art{height:112px}.themes{border-width:4px}.themes-heading h2{font-size:21px}.theme-card strong{font-size:16px}.theme-card-copy{padding:10px}.theme-card:before{width:26px;height:26px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.theme-card{transition:none}.theme-card:not(:disabled):hover{transform:none}}
/* 沿途小路把不同主题串成一张轻巧的冒险地图。 */
.theme-grid{counter-reset:island;isolation:isolate}
.theme-grid:before{content:'';position:absolute;z-index:-1;left:6%;right:6%;top:70px;height:calc(100% - 140px);border:7px dashed #e8c98d;border-radius:85px;opacity:.75;pointer-events:none}
.theme-card{counter-increment:island}
.theme-card:before{content:counter(island);font-size:15px;font-weight:900}
.life .theme-art{background-image:url('/game/wordplay/wordgame-hero.jpg?v=20261110p');background-size:cover;background-position:35% center}
.food .theme-art{background-image:url('/game/wordplay/wordgame-illustration-2.jpg?v=20261110p')}
@media(max-width:650px){.theme-grid:before{top:50px;bottom:50px;height:auto;border-width:5px;left:13%;right:13%}.theme-card:before{font-size:12px}}

.food .theme-art{background-image:url('/game/wordplay/wordgame-food-cover.jpg?v=20261110p');background-size:cover;background-position:center}

@media(max-width:650px){.intro{background-image:url("/game/wordplay/wordgame-hero-mobile.jpg")}.animals .theme-art,.nature .theme-art{background-image:url("/game/wordplay/wordgame-illustration-4-mobile.jpg")}.life .theme-art{background-image:url("/game/wordplay/wordgame-illustration-1-mobile.jpg")}.food .theme-art{background-image:url("/game/wordplay/wordgame-food-cover-mobile.jpg?v=20261110p")}.school .theme-art{background-image:url("/game/wordplay/wordgame-illustration-5-mobile.jpg")}}
.voice-access{color:#917880;font-size:13px;line-height:1.6;margin:12px 0 0}.voice-access a{color:#a96154;font-weight:700}
