:root{--paper:#f5f3e9;--card:#fffef8;--ink:#283f35;--muted:#7b8475;--green:#365f4d;--line:#dedfd1;--orange:#d9854c;--orange-light:#f4e3cf;--soft:#eaf0e5;--red:#b5483e;--blue:#4c6e9b;font-family:'Microsoft YaHei','PingFang SC',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,select,input,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation;color:inherit;border:0}button:disabled{opacity:.48;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:4px}button{transition:background .18s,transform .18s}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}a{color:inherit}input[type=checkbox]{accent-color:var(--green);width:18px;height:18px;vertical-align:middle}select,input:not([type=checkbox]),textarea{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:12px;color:var(--ink);min-height:48px;max-width:100%}select{cursor:pointer}textarea{width:100%;resize:vertical;line-height:1.8;user-select:text}.app-shell{max-width:1440px;margin:auto;padding:0 48px}.header{height:104px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:800;letter-spacing:1px;font-size:23px}.brand small{display:block;font-size:9px;letter-spacing:2.3px;margin-top:4px;color:var(--muted)}.brand-icon{width:43px;height:43px;background:var(--orange);color:#fff6e6;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:13px;font-size:29px;line-height:20px;transform:rotate(-5deg)}.brand-icon small{font-size:11px;color:#fff6e6;letter-spacing:9px;margin:0 0 0 8px;line-height:12px}.header nav{display:flex;align-items:center;gap:12px}.quiet,.icon-button{background:transparent;min-height:44px;border-radius:10px}.quiet{padding:10px 16px;font-size:14px}.quiet:hover,.icon-button:hover{background:var(--soft)}.icon-button{width:44px;font-size:23px}.hero{display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;min-height:480px;gap:10px;padding:24px 0}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--green);display:inline-flex;align-items:center;gap:9px}.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--orange)}h1{font-size:clamp(34px,3.5vw,52px);line-height:1.45;letter-spacing:1px;font-weight:800;margin:23px 0 20px}.accent{color:var(--orange)}.hero-copy>p{font-size:15px;line-height:2.1;color:#778171}.feature-pills{display:flex;gap:12px;margin-top:26px}.feature-pills span{border:1px solid var(--line);border-radius:30px;padding:8px 14px;font-size:12px;color:#657761}.hero-note{display:flex;gap:12px;align-items:center;color:#909482;font-size:11px;margin-top:31px;letter-spacing:1px}.tiny-line{width:26px;height:1px;background:#a4ac94}.hero-art{position:relative;min-width:0}.hero-art img{width:100%;display:block;max-height:430px}.art-caption{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#86917e;padding:0 26px}.departure{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px 28px 16px;box-shadow:0 8px 30px #40513b04}.departure-title{display:flex;align-items:center;gap:14px}.section-number{color:var(--orange);font-family:Georgia,serif;font-size:31px;font-style:italic}.departure-title h2{font-size:18px}.departure-title p{font-size:12px;color:var(--muted);margin-top:5px}.best-note{margin-left:auto;font-size:12px;color:var(--muted)}.departure-controls{display:grid;grid-template-columns:1.1fr 1.1fr .9fr .95fr;gap:22px;margin-top:23px;align-items:end}.departure-controls label,legend{font-size:12px;color:#6d7868;line-height:1.5}fieldset{border:0;padding:0;margin:0;min-width:0}.departure-controls select{width:100%;display:block;margin-top:9px;font-size:14px;background:#fafbf6}.segmented{display:flex;background:#eeefe6;padding:4px;border-radius:12px;gap:4px;margin-top:9px}.segmented button{flex:1;min-height:42px;font-size:13px;background:transparent;border-radius:9px;white-space:nowrap}.segmented .selected{background:var(--green);color:#fffcef;box-shadow:0 2px 5px #264e361a}.primary{background:var(--green);color:#fffdf0;padding:13px 23px;border-radius:12px;min-height:48px;font-weight:600}.primary:hover{background:#294c3d}.start{height:51px;display:flex;align-items:center;justify-content:space-between;font-size:16px}.start span{font-size:22px;font-weight:400}.departure-footer{border-top:1px dashed var(--line);margin-top:23px;padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px}.text-button{background:transparent;color:var(--green);font-size:12px;min-height:36px}.home-footer{display:flex;justify-content:space-between;gap:16px;font-size:11px;color:#909783;padding:24px 0}.game-top{display:flex;gap:20px;align-items:center;padding:23px 0 12px}.game-top h2{font-size:23px;margin-top:4px}.game-top>div>span{font-size:12px;color:var(--muted)}.game-options{display:flex;gap:18px;align-items:center;margin-left:auto;font-size:12px}.clock{font-variant-numeric:tabular-nums;font-size:20px!important;font-weight:700;color:var(--green)!important}.route-strip{display:flex;align-items:center;gap:14px;font-size:11px;color:var(--muted);margin:8px 8px 24px}.route-line{height:5px;flex:1;background:repeating-linear-gradient(90deg,#cbd2bd 0 12px,transparent 12px 18px);position:relative}.route-line i{position:absolute;top:-16px;left:0%;color:var(--orange);font-size:30px;transition:left .6s;transform:translateX(-50%)}.boards{display:grid;grid-template-columns:1fr;gap:20px;padding-bottom:28px}.boards.duel{grid-template-columns:1fr 1fr}.board{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden}.board-header{padding:18px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font-size:13px;gap:12px}.player-tag{display:flex;align-items:center;gap:10px;font-weight:700}.player-dot{width:10px;height:10px;border-radius:50%;background:var(--orange)}.board:nth-child(2) .player-dot{background:var(--blue)}.score-tag{color:var(--green);font-size:18px;font-weight:700}.question{padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:14px;background:#f0f3e9}.question-label{font-size:10px;letter-spacing:2px;color:#7b8871;margin-bottom:10px}.question h3{font-size:clamp(21px,2vw,28px);line-height:1.55;font-weight:600;overflow-wrap:anywhere}.question .listen{flex-shrink:0;border-radius:50%;width:48px;height:48px;background:var(--card);font-size:21px}.workbench{padding:22px 28px}.zone-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);gap:10px;margin-bottom:12px}.zone-heading strong{font-size:13px;color:var(--ink);font-weight:600}.slots{display:flex;flex-wrap:wrap;gap:9px;min-height:88px;align-content:center;padding:14px;background:#f7f5eb;border:1px dashed #d9d4be;border-radius:15px;position:relative}.slot{min-width:78px;min-height:56px;display:flex;align-items:center;justify-content:center;border-radius:10px;border:1px dashed #d0d3c2;position:relative;transition:background .2s}.slot.empty:before{content:attr(data-number);font:italic 16px Georgia,serif;color:#adb39e}.slot.filled{border:0;min-width:0}.word{min-height:54px;padding:12px 21px;border:1px solid #d7dccb;border-bottom:3px solid #c1c9b6;background:#fffef9;border-radius:10px;color:var(--ink);font-family:system-ui,'Microsoft YaHei',sans-serif;font-size:21px;font-weight:600;user-select:none;touch-action:none;overflow-wrap:anywhere;max-width:100%}.word:hover{background:#ecf1e5;border-color:#a8bba4}.slot .word{background:#e3ecdb;border-color:#c2d1b5}.bank{min-height:90px;display:flex;flex-wrap:wrap;align-content:center;gap:10px;padding:12px 0;margin-bottom:8px;max-width:100%}.bank.drop-over,.slot.drop-over{background:#d8e7c8;outline:2px solid #829b6c}.word.dragging{opacity:.35}.drag-ghost{position:fixed;z-index:1000;pointer-events:none;opacity:.96;box-shadow:0 12px 25px #263f3533;transform:rotate(-3deg);margin:0}.bank-title{margin-top:23px}.board-bottom{border-top:1px solid var(--line);padding-top:15px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.feedback{font-size:13px;line-height:1.7;flex:1;min-width:160px;color:#6f7d68}.feedback.good{color:#356a42}.feedback.error{color:var(--red)}.board-actions{display:flex;gap:5px}.board-actions button{font-size:12px}.answer-readout{background:#edf3e6;color:#3a6349;padding:14px 18px;border-radius:12px;margin:12px 0;font-size:18px;line-height:1.6;overflow-wrap:anywhere}.finished-board{text-align:center;padding:64px 24px}.finished-board .finish-icon{font-size:44px;color:var(--orange);margin-bottom:18px}.finished-board p{color:var(--muted);line-height:1.8;margin-top:10px}.duel .workbench{padding:20px}.duel .question{padding:20px;min-height:125px}.duel .word{font-size:19px;padding:10px 14px}.duel .slot{min-width:60px}.duel .slots{padding:10px;gap:8px}.duel .board-header{padding:16px 20px}.duel .board-bottom{align-items:flex-start}.result-view{max-width:840px;margin:44px auto;text-align:center;padding-bottom:40px}.result-badge{font-size:52px;color:var(--orange);margin:24px}.result-view h1{font-size:36px;margin:12px}.result-view>p{color:var(--muted);line-height:1.9}.result-cards{display:flex;justify-content:center;gap:16px;margin:28px 0}.result-card{flex:1;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:23px}.result-card strong{font-size:38px;display:block;margin:12px 0}.result-card span{font-size:13px;color:var(--muted)}.result-actions{display:flex;justify-content:center;gap:15px;margin:25px 0}.review-list{text-align:left;margin-top:30px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px}.review-list h3{font-size:16px;margin-bottom:15px}.review-row{padding:13px 0;border-top:1px solid var(--line);line-height:1.7;font-size:14px}.review-row small{display:block;color:var(--muted)}dialog{color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:24px;padding:27px;width:min(850px,calc(100vw - 32px));max-height:88dvh;overflow:auto;box-shadow:0 30px 90px #142b3640}dialog::backdrop{background:#20382c75;backdrop-filter:blur(5px)}.modal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:18px}.modal-top h2{font-size:25px;margin-top:7px}.modal-top .eyebrow{font-size:10px}#modalBody p{line-height:1.9;color:#687961;font-size:14px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px;flex-wrap:wrap}.modal-actions .quiet{border:1px solid var(--line)}.library-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.library-bar select{flex:1;min-width:150px}.library-bar button{font-size:12px}.library-list{max-height:36vh;overflow:auto;border-top:1px solid var(--line)}.library-row{padding:13px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center}.library-row>div{flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.7;font-size:14px}.library-row small{display:block;color:var(--muted)}.library-row button{font-size:12px;flex-shrink:0;padding:8px;min-height:44px;background:transparent;border-radius:8px}.library-row button:hover{background:var(--soft)}.danger{color:var(--red)}.form-stack{display:grid;gap:14px;margin-top:16px}.form-stack label{font-size:13px;display:grid;gap:8px}.form-stack input,.form-stack select{width:100%}.notice{border-radius:10px;background:var(--soft);padding:12px 15px;font-size:13px;line-height:1.8;margin:15px 0}.notice.error{background:#f9e9df;color:var(--red)}.preview-list{max-height:210px;overflow:auto;font-size:13px;line-height:1.8}.select-list{max-height:45vh;overflow:auto}.select-row{display:flex;gap:14px;align-items:center;padding:15px 4px;border-bottom:1px solid var(--line);cursor:pointer;min-height:60px}.select-row span{flex:1;font-size:14px;line-height:1.8;overflow-wrap:anywhere}.select-row small{display:block;color:var(--muted)}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.guide-card{background:var(--soft);border-radius:15px;padding:20px}.guide-card h3{font-size:16px;margin-bottom:10px}.guide-card b{color:var(--orange);margin-right:8px}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fffced;padding:14px 23px;border-radius:12px;font-size:13px;z-index:100;max-width:90vw;box-shadow:0 8px 22px #243e3522}.storage-notice{padding:12px;border:1px solid #dfb58c;background:#f7e8d2;font-size:13px;line-height:1.8;border-radius:12px;margin:15px 0}.shake{animation:shake .3s ease}.pop{animation:pop .35s ease}@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@keyframes pop{50%{transform:scale(1.015)}}
@media(min-width:1450px){.hero{min-height:535px}.hero-art img{max-height:480px}.departure{padding:28px 32px 18px}.departure-controls{margin-top:27px}}
@media(max-width:1100px){.app-shell{padding:0 28px}.header{height:88px}.hero{min-height:410px}h1{font-size:38px}.hero-copy>p{font-size:14px}.hero-art img{min-height:300px}.departure-controls{gap:14px;grid-template-columns:1.1fr 1fr 1fr}.start{grid-column:1/-1;justify-content:center;gap:20px}.hero-note{margin-top:22px}.game-options{gap:8px}.game-top{gap:8px}.duel .word{font-size:18px;padding:10px 12px}.duel .workbench{padding:16px}.departure-footer{margin-top:16px}}
@media(max-width:800px){.app-shell{padding:0 20px}.header{height:84px}.brand{font-size:20px}.header nav{gap:2px}.quiet{padding:10px}.hero{grid-template-columns:1fr 1fr;min-height:385px;gap:0}h1{font-size:31px;letter-spacing:0}.eyebrow{font-size:10px;letter-spacing:1px}.hero-art{margin-left:-20px}.hero-art img{min-height:270px}.hero-copy>p{font-size:12px}.feature-pills{gap:6px;margin-top:20px}.feature-pills span{padding:7px 9px;font-size:11px}.hero-note{font-size:10px}.art-caption{font-size:8px;padding:0 15px}.art-caption span:last-child{display:none}.departure{padding:20px}.departure-controls{gap:10px}.segmented button{font-size:12px}.departure-controls select{font-size:12px}.best-note{font-size:10px}.game-top{flex-wrap:wrap}.game-options{margin-left:auto}.boards.duel{gap:12px}.duel .question{padding:15px;min-height:130px}.duel .question h3{font-size:20px}.duel .question .listen{width:42px;height:42px}.duel .slots{gap:6px;padding:8px}.duel .slot{min-width:48px;min-height:50px}.duel .word{font-size:17px;min-height:50px;padding:9px 11px}.duel .board-header{padding:13px;font-size:11px}.duel .workbench{padding:13px}.zone-heading{font-size:10px}.duel .board-actions{flex-wrap:wrap}.home-footer{font-size:10px}.question{padding:22px}.workbench{padding:20px}}
@media(max-width:600px){.app-shell{padding:0 16px}.header{gap:6px}.brand{font-size:17px;gap:8px}.brand small{font-size:7px}.brand-icon{width:35px;height:35px}.header .quiet{font-size:12px;padding:8px}.header .icon-button{width:35px}.hero{grid-template-columns:1fr;min-height:0;padding-top:32px}.hero-copy{text-align:center}h1{font-size:37px;margin:15px 0}.feature-pills,.hero-note{justify-content:center}.hero-note{display:none}.hero-art{margin:0}.hero-art img{height:280px;min-height:0}.art-caption{display:none}.departure-controls{grid-template-columns:1fr 1fr}.mode-field{grid-column:1/-1}.best-note{display:none}.departure-footer{align-items:flex-start;flex-direction:column;gap:3px}.home-footer{flex-direction:column;gap:8px;text-align:center}.game-top h2{font-size:19px}.game-options{width:100%;justify-content:flex-end}.boards.duel{grid-template-columns:1fr}.guide-grid{grid-template-columns:1fr}dialog{padding:20px}.result-cards{flex-wrap:wrap}.result-card{min-width:130px}.question h3{font-size:22px}.result-view h1{font-size:29px}}
@media(min-width:1101px) and (max-height:850px){.header{height:80px}.hero{min-height:365px;padding:16px 0}.hero-art img{max-height:330px}h1{font-size:42px;margin:16px 0}.hero-copy>p{line-height:1.9}.feature-pills{margin-top:18px}.hero-note{margin-top:18px}.departure{padding:20px 26px 12px}.departure-controls{margin-top:18px}.departure-footer{margin-top:15px;padding-top:8px}.home-footer{padding:17px 0}.game-top{padding-top:16px}.question{padding:18px 25px}.workbench{padding:18px 25px}.bank-title{margin-top:17px}.board-header{padding:15px 24px}}
@media(min-width:801px) and (max-width:1100px) and (max-height:820px){.header{height:76px}.hero{min-height:330px;padding:12px 0}.hero-art img{min-height:0;max-height:285px}h1{font-size:34px;margin:14px 0}.hero-note{display:none}.feature-pills{margin-top:16px}.departure{padding:18px 22px 12px}.departure-controls{margin-top:16px}.departure-footer{margin-top:12px;padding-top:8px}.home-footer{padding:15px 0}.game-top{padding-top:15px}.duel .question{min-height:100px;padding:15px 18px}.duel .bank{min-height:72px}.duel .bank-title{margin-top:15px}}
.continue-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#e8eee0;border:1px solid #d1dcc4;border-radius:15px;padding:14px 22px;margin-bottom:16px}.continue-card strong{font-size:14px}.continue-card small{display:block;color:var(--muted);margin-top:5px;font-size:11px}.continue-card .primary{font-size:13px}.home-secondary{display:flex;gap:20px;flex-shrink:0}.mini-stats{display:flex;justify-content:space-between;gap:10px;padding:10px 23px;font-size:11px;background:#fafbf5;color:#6a7d61;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.mini-stats span:last-child{color:var(--green);font-weight:600}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px}.settings-grid>label{display:grid;gap:8px;font-size:13px;min-width:0}.settings-grid input:not([type=checkbox]),.settings-grid select{width:100%;min-width:0}.setting-checks{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}.setting-checks label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px}.settings-wide{grid-column:1/-1}.sound-tests{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.sound-tests span{font-size:12px;color:var(--muted);flex-basis:100%}.settings-grid .notice{margin:0}.builtin-badge{font-size:11px;color:#78906b;padding:5px 10px;background:var(--soft);border-radius:15px;flex-shrink:0}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 15px;text-align:left;margin-top:18px}.stat-grid span{font-size:12px;line-height:1.8}.stat-grid b{display:block;font-size:20px;color:var(--ink);font-weight:600}.result-actions{flex-wrap:wrap}.small-note{color:var(--muted);font-size:12px}.board-actions{flex-wrap:wrap;justify-content:flex-end}.board-actions .primary{min-height:44px}.duel .mini-stats{font-size:10px;padding:9px 14px;gap:7px}.word:disabled{opacity:1;color:#58784b}.continue-card+.departure{margin-top:0}
@media(min-width:1101px) and (max-height:850px){.hero{min-height:325px}.hero-art img{max-height:290px}.hero-note{display:none}.hero h1{font-size:38px}.hero .feature-pills{margin-top:13px}.hero h1{margin:13px 0}.departure-controls{margin-top:14px}}
@media(max-width:800px){.header nav{gap:0}.header nav .quiet{padding:8px;font-size:12px}.brand{font-size:18px}.home-secondary{gap:12px}.continue-card{padding:12px 16px}.continue-card strong{font-size:12px}.continue-card .primary{padding:10px 12px}.duel .mini-stats{flex-wrap:wrap}.game-top h2{font-size:20px}}
@media(max-width:600px){.settings-grid{grid-template-columns:1fr}.setting-checks{grid-template-columns:1fr}.continue-card{flex-wrap:wrap}.header nav .quiet{padding:6px;font-size:11px}.brand{font-size:15px}.brand small{letter-spacing:1px}.header .icon-button{width:28px}.stat-grid{grid-template-columns:1fr 1fr}.home-secondary{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Word carriages and conductor: short feedback, no animation-driven game state. */
.conductor-heading{display:flex;align-items:center;gap:8px;min-width:0}.conductor{width:42px;height:38px;flex-shrink:0;overflow:visible}.conductor-note{line-height:1.5}.slots{padding-bottom:24px;gap:14px 10px;border-bottom:3px double #b6bba7}.slot:after{content:"";position:absolute;bottom:-7px;left:14%;width:11px;height:11px;border:3px solid #426756;border-radius:50%;background:#f5dfb2;box-shadow:34px 0 0 -3px #f5dfb2,34px 0 0 0 #426756;pointer-events:none}.slot.filled:before{content:"";position:absolute;right:-10px;top:65%;width:10px;height:3px;background:#7d9680;pointer-events:none}.slot .word{position:relative;z-index:1}.rail-engine{position:relative;align-self:center;width:56px;height:45px;flex-shrink:0;background:#d9854c;border-radius:7px 16px 7px 7px;border-bottom:7px solid #365f4d;margin:5px 4px 0 0;pointer-events:none}.rail-engine:before{content:"";position:absolute;left:6px;top:6px;width:21px;height:17px;border-radius:4px;background:#f8e6c7}.rail-engine:after{content:"";position:absolute;left:7px;bottom:-13px;width:14px;height:14px;background:#f5dfb2;border:4px solid #426756;border-radius:50%;box-shadow:28px 0 0 -4px #f5dfb2,28px 0 0 0 #426756}.rail-engine i{position:absolute;right:8px;top:-10px;width:10px;height:14px;background:#365f4d;border-radius:3px}.arrival .rail-engine{animation:train-depart .48s ease-out}.arrival .slot{animation:carriage-ready .45s ease-out}.arrival .conductor-arm{transform-origin:60px 64px;animation:conductor-wave .45s ease-in-out}.arrival .slots{background:#edf3e4;border-color:#8cab7b}.gentle-reminder .conductor{animation:conductor-nod .4s ease-in-out}.duel .conductor{width:34px;height:31px}.duel .conductor-heading{font-size:11px}.duel .slots{padding-bottom:23px;gap:14px 8px}.duel .rail-engine{width:47px}.duel .slot:after{left:7px;box-shadow:27px 0 0 -3px #f5dfb2,27px 0 0 0 #426756}
@keyframes train-depart{25%{transform:translateY(-3px)}65%{transform:translateX(7px)}100%{transform:translateX(0)}}
@keyframes carriage-ready{45%{transform:translateY(-3px)}}
@keyframes conductor-wave{25%{transform:rotate(-22deg)}65%{transform:rotate(12deg)}}
@keyframes conductor-nod{50%{transform:rotate(5deg)}}
@media(max-width:800px){.zone-heading{flex-wrap:wrap}.conductor-heading{flex:1 1 180px}.duel .conductor-heading{flex-basis:170px}}

/* Rainbow journey: bright surfaces with dark, readable text. */
:root{--ink:#203951;--muted:#536b80;--paper:#eff8ff;--card:#fff;--green:#285ca8;--line:#cfdfed;--orange:#dc5637;--orange-light:#ffe0ce;--soft:#e5f2ff;--red:#b73750;--blue:#5e55b4;background:#eff8ff}
body{background:radial-gradient(ellipse at 4% 18%,#ffe7b5 0,transparent 32%),radial-gradient(ellipse at 100% 65%,#e3dcff 0,transparent 40%),linear-gradient(150deg,#e7f7ff,#f4fbff 52%,#eef9e7);min-height:100vh}.header{border-bottom:2px solid #c8e3f4}.brand-icon{background:#f28543;box-shadow:0 4px 0 #c86430}.header nav .quiet:hover,.icon-button:hover{background:#ddecff}.hero h1{color:#234c81}.hero h1 .accent{color:#dc5637}.eyebrow{color:#315d89}.eyebrow i{background:#f19f21}.hero-copy>p{color:#48647b}.hero-art{filter:drop-shadow(0 12px 15px #418db017)}.feature-pills span{font-weight:700;border:0;color:#285477;background:#cfeeff}.feature-pills span:nth-child(2){color:#804825;background:#ffe2a2}.feature-pills span:nth-child(3){color:#624887;background:#e9dcff}.hero-note,.art-caption,.home-footer{color:#526c82}.departure{border:2px solid #c3dfee;box-shadow:0 7px 0 #d6e8f2;position:relative;overflow:hidden}.departure:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#ffb554 0 20%,#fc8c93 20% 40%,#ac9bea 40% 60%,#6acbd0 60% 80%,#8fd7a2 80%)}.section-number{color:#ce6335}.departure-controls select{background:#f1f8ff;border-color:#bdd9ef}.segmented{background:#e7eef9}.segmented .selected{background:#3566b2;box-shadow:0 3px 0 #234b88}.primary{background:#3263b1;box-shadow:0 3px 0 #204886}.primary:hover{background:#254f94}.start{background:#ef8543;color:#392713;box-shadow:0 4px 0 #ce6931}.start:hover{background:#ff9b56}.continue-card{background:#e7f6db;border-color:#b5d794}.continue-card small{color:#496743}.game-top h2{color:#27558c}.game-options{background:#ffffffa8;padding:7px 11px;border:1px solid #cbe3f4;border-radius:14px}.route-strip{color:#476583}.route-line{height:7px;background:repeating-linear-gradient(90deg,#a7c8e4 0 12px,transparent 12px 18px)}.route-line i{color:#e87637;text-shadow:0 2px #ffe6a7}.board{border:2px solid #a9cfe9;box-shadow:0 7px 0 #cfe4f4}.board-header{background:#e0f1ff;border-color:#bfdcf1;color:#234e78}.board:nth-child(2){border-color:#c8b8ed;box-shadow:0 7px 0 #e2d8f5}.board:nth-child(2) .board-header{background:#ece5ff;color:#5e4388;border-color:#d2c4ed}.score-tag{background:#fff4b8;border:1px solid #eed583;color:#785018;border-radius:22px;padding:4px 13px}.player-dot{background:#f18440}.board:nth-child(2) .player-dot{background:#8e6bd1}.mini-stats{background:#f5faff;color:#506b83;border-color:#d6e8f4}.question{background:linear-gradient(110deg,#fff0c5,#fff9e7);border-bottom:1px solid #eddfb1}.question h3{color:#3e4a60}.question-label{color:#796039;letter-spacing:1px}.question .listen{color:#2e629f;background:white;border:2px solid #afd5ec;box-shadow:0 3px 0 #c6e2f2}.board:nth-child(2) .question{background:linear-gradient(110deg,#fae6f1,#fff4fa)}.workbench{background:#fff}.zone-heading strong{color:#2d597b}.slots{background:#edf7ff;border:2px dashed #b1d2ed;border-bottom:4px double #97bad5}.slot.empty{background:#ffffffb3;border-color:#aecae0}.slot.empty:before{color:#62829c;font-weight:700}.slot.filled:before{background:#8aafce}.bank{border-radius:14px}.word{color:#23394d;border-width:2px;border-bottom-width:4px;border-radius:13px;font-weight:750;box-shadow:0 2px 0 #21344808}.word.candy-0{--candy:#ffe2a0;--edge:#d9ae51;--hover:#ffedc2}.word.candy-1{--candy:#c9ebff;--edge:#86bce0;--hover:#dff3ff}.word.candy-2{--candy:#fbd5df;--edge:#dba0b3;--hover:#ffe7ed}.word.candy-3{--candy:#d9cff9;--edge:#b0a0d8;--hover:#eae2ff}.word.candy-4{--candy:#c9edd3;--edge:#93c8a4;--hover:#e2f8e8}.word[class*=candy-],.slot .word[class*=candy-]{background:var(--candy);border-color:var(--edge);color:#263a4d}.word[class*=candy-]:hover:not(:disabled){background:var(--hover);border-color:#527898}.word:focus-visible{outline:3px solid #224e95;outline-offset:3px}.bank.drop-over,.slot.drop-over{background:#e0f2b9;outline-color:#65a253}.feedback{color:#526879}.feedback.good{color:#246c45;background:#e8f7e9;border-radius:10px;padding:7px 10px}.feedback.error{color:#a53148;background:#ffedf1;border-radius:10px;padding:7px 10px}.answer-readout{background:#eaf4ff;color:#254d78;border:1px solid #bfdcf5}.board-actions .quiet{background:#f0f5fd;border:1px solid #ccdced}.board-actions .quiet:hover{background:#e0ebfc}.rail-engine{background:#f89645;border-bottom-color:#2f6190}.rail-engine i{background:#4e89b6}.arrival .slots{background:#edf9dc;border-color:#9ac968}.result-card{border:2px solid #bfd6f0;box-shadow:0 5px 0 #e0eafa}.result-card:nth-child(2){border-color:#d7c3f0}.result-badge{color:#dc8523}.notice{background:#eaf4ff}.guide-card:nth-child(2n){background:#fff1d4}.guide-card:nth-child(3){background:#f0e7ff}.import-examples{padding:16px;border:2px solid #c2dff3;background:linear-gradient(120deg,#edf8ff,#f5efff);border-radius:16px}.import-examples strong{color:#285789;font-size:14px}.import-examples p{margin:8px 0}.example-actions{display:flex;gap:8px;flex-wrap:wrap}.example-actions .quiet{background:white;border:1px solid #b9d3ee;color:#2d5780;font-size:12px}.example-actions .quiet:hover{background:#ddefff}.continue-card strong{color:#355d3c}
@media(max-width:800px){.hero .eyebrow{line-height:1.7;font-size:10px}.game-options{padding:5px 8px}.duel .score-tag{padding:3px 8px}.duel .mini-stats{font-size:10px}.duel .zone-heading>span{line-height:1.5}}

@media(min-width:801px) and (max-height:850px){.board-header{padding:11px 20px}.question{padding:14px 22px}.workbench{padding:14px 22px}.bank{min-height:64px;padding:8px 0}.bank-title{margin-top:14px}.board-bottom{padding-top:11px}.route-strip{margin-bottom:19px}.duel .board-header{padding:11px 16px}.duel .bank{min-height:64px}}

/* Dream station — sky, meadow, candy frame and rainbow railway. */
:root{--ink:#284c49;--muted:#54736e;--green:#357971;--paper:#d9f9e8;--line:#d8e7cf;--soft:#eff9e8}
body{background:radial-gradient(ellipse at 52% 4%,#b3edfa 0,transparent 48%),linear-gradient(180deg,#c2effb 0%,#d2f9f3 48%,#eaffbc 100%);background-attachment:fixed;min-height:100vh}.dream-scenery{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}.app-shell{position:relative;z-index:1;max-width:1440px;padding:0 48px}.cloud{position:absolute;width:110px;height:32px;border-radius:60px;background:#ffffffd9}.cloud:before,.cloud:after{content:"";position:absolute;background:inherit;border-radius:50%;bottom:8px;width:49px;height:49px;left:18px}.cloud:after{width:38px;height:38px;left:57px;bottom:4px}.cloud-one{top:15%;left:-34px;transform:scale(1.15)}.cloud-two{top:13%;right:26%;transform:scale(.55)}.cloud-three{top:32%;right:-34px;transform:scale(1.5)}.star{position:absolute;color:#fff592;text-shadow:0 1px #efce67;font-size:35px}.star-one{left:1%;top:38%}.star-two{right:2%;top:14%;font-size:39px}.star-three{left:39%;top:12%;font-size:25px;color:white}.star-four{right:2%;top:68%}.star-five{left:2%;bottom:15%;font-size:27px}.header{height:76px;border-bottom:1px solid #9ddcde;background:#ffffff12}.brand{font-size:22px;gap:9px;background:#ffffffb8;padding:7px 13px 7px 8px;border-radius:22px}.brand small{font-size:8px;letter-spacing:2px}.brand-icon{width:37px;height:40px;box-shadow:none;background:#ee9358}.header nav{gap:10px}.header nav .quiet,.header .icon-button{background:#fffffff2;border:1px solid #ddf1e8;border-radius:30px;box-shadow:0 3px 0 #afd8d331;font-weight:650;color:#355b55}.header nav .quiet{padding:9px 15px}.header .icon-button{width:44px}.header nav .quiet:hover,.header .icon-button:hover{background:#fff8d2}.game-top{padding:22px 4px 13px;gap:14px}.game-top>div>span{font-size:11px;color:#557c70}.game-top h2{font-size:19px;color:#355d51}.game-top>#leaveBtn{background:linear-gradient(#ffe6e7,#ffc9d0);border:1px solid #eaa6b4;border-radius:18px;box-shadow:0 3px 0 #dba3ad55;min-height:44px;font-weight:650}.game-options{background:transparent;border:0;gap:12px;padding:0}.game-options label,.game-options .clock,.game-options #pauseBtn{background:#ffffffe8;border-radius:20px;padding:8px 12px}.game-options .clock{font-size:18px!important;color:#37645a!important}.game-options #pauseBtn{min-height:44px}.route-strip{margin:8px 10px 25px;gap:16px;color:#5e8475}.route-line{height:11px;border:1px solid #b9d9bd;border-radius:20px;background:linear-gradient(90deg,#ff9eaf 0% 20%,#b7e98b 20% 40%,#ffa0b6 40% 50%,#b4e785 50% 60%,#ffdf70 60% 70%,#ff9bad 70% 76%,#ffdc75 76% 84%,#b9bbef 84% 100%);box-shadow:0 2px 0 #69a59e17}.route-line:after{content:"";position:absolute;inset:3px 5px;border-top:2px dashed #ffffffbb;pointer-events:none}.route-line i{top:-12px;z-index:2;color:#ed9675;text-shadow:0 2px #cc70534d;font-size:30px}.route-flag{position:absolute;bottom:9px;font-size:39px;line-height:1;color:#f6c756;text-shadow:0 1px #bba34b;z-index:1}.flag-one{left:27%}.flag-two{left:51%;color:#f5a27b}.board{border:5px solid transparent;border-radius:29px;background:linear-gradient(#fffff9,#fffff9) padding-box,conic-gradient(from 0deg,#fff099,#b9e799,#9bddeb,#c0d2fa,#eea9db,#ffa8b3,#ffe995,#fff099) border-box;box-shadow:0 5px 0 #72ab8c30,0 10px 22px #65a38e12;overflow:hidden;display:flex;flex-direction:column;min-height:clamp(440px,calc(100svh - 225px),680px)}.board:nth-child(2){border-color:transparent;box-shadow:0 5px 0 #72ab8c30}.board-header,.board:nth-child(2) .board-header{background:#fffffa;border-bottom:1px solid #e1ebd4;color:#34594b;padding:13px 21px;min-height:52px}.score-tag{border:0;background:transparent;color:#bf622c;padding:0;font-size:19px}.score-tag:before{content:"✿";display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-right:7px;border-radius:50%;background:conic-gradient(#ffc980,#d4bbff,#a6e1ef,#ffd593);color:#fff;font-size:20px}.mini-stats{background:#f8fcef;color:#5e7655;padding:8px 22px;border-color:#e0edcd}.mini-stats span:last-child{color:#476449}.question,.board:nth-child(2) .question{background:linear-gradient(110deg,#f2fae7,#eaf8e9 65%,#f5fae8);border-bottom:0;padding:19px 23px;min-height:100px}.question-label{font-size:10px;letter-spacing:1px;color:#6c8564;margin-bottom:8px}.question h3.rainbow-prompt{font-size:clamp(27px,3vw,38px);line-height:1.6;font-weight:900;letter-spacing:1px;filter:drop-shadow(0 2px 0 #ce967447)}.rainbow-prompt span{display:inline;-webkit-text-stroke:3px white;paint-order:stroke fill;text-shadow:1px 0 #7b8b63,-1px 0 #7b8b63,0 1px #7b8b63,0 -1px #7b8b63}.rainbow-prompt .letter-0{color:#349cae}.rainbow-prompt .letter-1{color:#e36c8f}.rainbow-prompt .letter-2{color:#c5941c}.rainbow-prompt .letter-3{color:#bf7e46}.question .listen{background:#fffffb;border:3px solid #f3adc9;box-shadow:0 3px 0 #bad9ba;color:#48a88b;width:51px;height:51px}.workbench{background:linear-gradient(125deg,#fffffc,#fffef4);padding:18px 23px;flex:1;display:flex;flex-direction:column}.zone-heading{color:#667a56}.zone-heading strong{color:#3c5a40}.conductor{width:32px;height:29px}.conductor-heading{gap:6px}.slots{background:linear-gradient(100deg,#f6fce9,#fffceb);border:1px solid #e5e9bf;border-bottom:2px solid #e7e4b9;border-radius:15px;padding:13px 13px 23px;min-height:86px}.slot.empty{background:#ffffff8c;border-color:#d5dcb2}.slot.empty:before{color:#929f74}.rail-engine{background:#ffc28c;transform:scale(.88);margin-right:0}.slot:after{border-color:#dabd72;background:#fffce0;box-shadow:34px 0 0 -3px #fffce0,34px 0 0 0 #dabd72}.slot.filled:before{background:#d6cd91}.word{font-size:21px;min-height:54px;border-radius:12px;box-shadow:0 3px 0 #d9ddbb26}.word.candy-0{--candy:#e4f9d7;--edge:#b5dba3;--hover:#f1ffe9}.word.candy-1{--candy:#ffdce1;--edge:#eab2bc;--hover:#ffeef0}.word.candy-2{--candy:#fff6c9;--edge:#e3d59a;--hover:#fffbe5}.word.candy-3{--candy:#d9f1fc;--edge:#a9d7e3;--hover:#ecfaff}.word.candy-4{--candy:#e8e0fb;--edge:#c9b9e8;--hover:#f3edff}.word[class*=candy-],.slot .word[class*=candy-]{color:#35483c}.bank-title{margin-top:19px}.bank{flex:1;min-height:92px;align-content:flex-start;padding:12px 0}.board-bottom{margin-top:12px;border-color:#e7ead5;padding-top:12px}.feedback{color:#8c6b53}.feedback.error{background:transparent;color:#b85355}.board-actions .quiet{background:#fffdf2;border-color:#e0e7ce;border-radius:15px;min-height:44px}.primary{background:#528e76;box-shadow:0 3px 0 #366c58}.primary:hover{background:#3d765f}.start{background:linear-gradient(#ffde8d,#ffc67e);color:#5c492e;box-shadow:0 4px 0 #dda862}.start:hover{background:#ffd897}.departure{border:3px solid #a9dcce;background:#fffff7;box-shadow:0 5px 0 #9ac7ac38}.departure:before{height:5px}.hero h1{color:#386c64}.hero h1 .accent{color:#d27762}.hero-copy>p{color:#537a69}.feature-pills span{box-shadow:0 3px 0 #77a39418}.continue-card{background:#fcffdb;border-color:#d4dfa8}.duel .question h3.rainbow-prompt{font-size:27px}.duel .board{min-height:clamp(470px,calc(100svh - 225px),680px)}.duel .workbench{padding:16px}.duel .mini-stats{color:#576e50}.duel .slot:after{border-color:#dabd72;box-shadow:27px 0 0 -3px #fffce0,27px 0 0 0 #dabd72}
@media(max-width:1100px){.app-shell{padding:0 28px}.header{height:70px}.game-top h2{font-size:17px}.game-options{gap:6px}.game-options label,.game-options .clock{padding:6px 9px}.game-options .clock{font-size:16px!important}.board{min-height:calc(100svh - 225px)}}
@media(max-width:800px){.app-shell{padding:0 20px}.header{height:69px}.brand{font-size:17px;padding:5px 9px 5px 5px}.brand small{font-size:7px}.brand-icon{width:32px;height:35px}.header nav{gap:5px}.header nav .quiet{padding:8px 10px;font-size:11px}.header .icon-button{width:39px}.game-top{padding-top:17px;gap:9px}.game-options label{font-size:11px}.game-top h2{font-size:16px}.route-strip{margin-top:13px}.board{border-width:4px;min-height:600px}.duel .board{min-height:640px}.duel .question h3.rainbow-prompt{font-size:24px}.duel .board-header{padding:11px}.duel .workbench{padding:12px}.duel .zone-heading{gap:5px}.cloud-two{right:22%}.rainbow-prompt span{-webkit-text-stroke:2.5px white}}
@media(min-width:801px) and (max-height:850px){.game-top{padding-top:16px;padding-bottom:9px}.board-header{padding:10px 20px}.question{padding:13px 20px;min-height:90px}.workbench{padding:13px 20px}.bank{min-height:65px}.bank-title{margin-top:13px}.board-bottom{margin-top:8px}.board{min-height:calc(100svh - 220px)}}
@media(max-width:600px){.app-shell{padding:0 12px}.brand{font-size:14px}.brand small{font-size:6px;letter-spacing:1px}.header nav{gap:3px}.header nav .quiet{padding:7px 6px;font-size:10px}.header .icon-button{width:30px}.game-options{width:100%;justify-content:flex-end}.board{min-height:550px;border-radius:23px}.question h3.rainbow-prompt{font-size:27px}.workbench{padding:14px}.board-header{padding:12px;font-size:11px}.score-tag{font-size:16px}.cloud-three{right:-60px}.hero .eyebrow{font-size:9px}}

/* Theme chooser and five high-contrast child-friendly scenes. */
.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.theme-card{position:relative;min-height:118px;text-align:left;border:3px solid #fff;border-radius:18px;background:var(--theme-swatch);padding:15px 16px;color:#243c51;box-shadow:0 4px 0 #536c7b2b;overflow:hidden}.theme-card:hover,.theme-card.selected{border-color:#fff5a3;transform:translateY(-2px)}.theme-card .theme-icon{font-size:30px;display:block;margin-bottom:7px}.theme-card strong,.theme-card small{display:block;position:relative;z-index:1}.theme-card strong{font-size:16px}.theme-card small{font-size:12px;margin-top:5px;opacity:.85}.theme-card i{position:absolute;width:76px;height:76px;border-radius:50%;right:-19px;bottom:-23px;background:#ffffff75}.music-panel{display:grid;gap:9px}.music-panel>div{display:grid;grid-template-columns:39px 1fr auto;align-items:center;gap:10px;padding:13px;border-radius:15px;background:#f4fbef;border:1px solid #d8e9cb}.music-panel span{font-size:25px}.music-panel strong{font-size:14px}.music-panel small{grid-column:2;color:var(--muted);font-size:12px}.switch{grid-column:3;grid-row:1/3;position:relative;width:48px;height:28px}.switch input{opacity:0;width:0;height:0}.switch i{position:absolute;inset:0;border-radius:20px;background:#c5d5c4;transition:.2s}.switch i:before{content:"";position:absolute;width:20px;height:20px;left:4px;top:4px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+i{background:#5fba86}.switch input:checked+i:before{transform:translateX(20px)}
html[data-theme="ocean"] body{background:radial-gradient(circle at 80% 15%,#bff8ff 0,transparent 30%),linear-gradient(180deg,#6fdef5,#bff8e8 52%,#90d5d6)}html[data-theme="ocean"] .dream-scenery{filter:hue-rotate(115deg)}html[data-theme="ocean"] .board{background:linear-gradient(#f7ffff,#f7ffff) padding-box,conic-gradient(#77eff5,#1498cc,#6ed5ff,#1aa2cb,#77eff5) border-box}html[data-theme="ocean"] .route-line{background:linear-gradient(90deg,#55d4e9,#2c9ed3,#82e9c8,#3c91d2)}html[data-theme="ocean"] .start{background:linear-gradient(#ffbd87,#f08761)}
html[data-theme="candy"] body{background:radial-gradient(circle at 20% 5%,#fff2ac 0,transparent 25%),linear-gradient(145deg,#ffb9d3,#d5c4ff 48%,#fff08f)}html[data-theme="candy"] .dream-scenery{filter:hue-rotate(280deg)}html[data-theme="candy"] .board{background:linear-gradient(#fffaff,#fffaff) padding-box,conic-gradient(#ff9bbd,#ffdc71,#c8a8fa,#ff9bbd) border-box}html[data-theme="candy"] .route-line{background:linear-gradient(90deg,#ff9eb7,#ffe477,#bda5f7,#ff9eb7)}html[data-theme="candy"] .primary{background:#a66ccb;box-shadow:0 3px 0 #7e4da4}
html[data-theme="space"] body{background:radial-gradient(circle at 30% 14%,#566ac0 0,transparent 2%),radial-gradient(circle at 72% 34%,#ffda91 0,transparent 1.4%),linear-gradient(150deg,#142759,#2c276e 55%,#612d78)}html[data-theme="space"] .dream-scenery{filter:hue-rotate(190deg) brightness(.7)}html[data-theme="space"] .header{border-color:#ffffff38}html[data-theme="space"] .board{background:linear-gradient(#fffdfb,#fffdfb) padding-box,conic-gradient(#8eeaff,#c99cff,#ff9fcd,#7ae7f6,#8eeaff) border-box}html[data-theme="space"] .route-line{background:linear-gradient(90deg,#75e9ff,#d491ff,#ff9fcb,#ffe47a)}html[data-theme="space"] .game-top h2,html[data-theme="space"] .game-top>div>span{color:#eaf5ff}html[data-theme="space"] .hero h1,html[data-theme="space"] .hero-copy>p,html[data-theme="space"] .eyebrow{color:#f3f5ff}html[data-theme="space"] .departure{background:#ffffffee}
html[data-theme="forest"] body{background:radial-gradient(circle at 80% 8%,#fff1a0 0,transparent 23%),linear-gradient(160deg,#b8e4a4,#e4f2b5 48%,#86c79e)}html[data-theme="forest"] .dream-scenery{filter:hue-rotate(55deg)}html[data-theme="forest"] .board{background:linear-gradient(#fffef5,#fffef5) padding-box,conic-gradient(#e5b56e,#90ce89,#ef9756,#b9de83,#e5b56e) border-box}html[data-theme="forest"] .route-line{background:linear-gradient(90deg,#e99b68,#b9dc7a,#f1cf6b,#89bf87)}html[data-theme="forest"] .primary{background:#4e9160;box-shadow:0 3px 0 #327140}
@media(max-width:800px){.theme-grid{grid-template-columns:1fr}.theme-card{min-height:92px}.music-panel>div{padding:11px}.header nav{overflow-x:auto;max-width:68vw}.header nav .quiet{white-space:nowrap}}

/* 首页是一张给孩子的邀请函：只让角色和“开始游戏”占据视觉中心。 */
.kid-home{position:relative;display:grid;grid-template-columns:minmax(280px,.95fr) minmax(360px,1.05fr);align-items:center;max-width:1080px;min-height:calc(100svh - 100px);margin:0 auto;overflow:hidden}.kid-intro{position:relative;z-index:2;padding:20px 10px 70px 30px;text-align:center}.kid-kicker{display:inline-block;padding:8px 18px;border-radius:30px;background:#fff9d4;color:#9b6b32;font-size:15px;font-weight:800;box-shadow:0 3px 0 #dcbf722e}.kid-home h1{margin:15px 0 2px;color:#2c6972;font-size:clamp(46px,6vw,76px);line-height:1.15;letter-spacing:3px;text-shadow:0 4px #fff}.kid-line{font-size:clamp(18px,2vw,24px);font-weight:800;color:#507766}.launch-button{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;width:min(340px,90%);margin:29px auto 0;padding:13px 24px 11px;border:3px solid #fff1bd;border-radius:34px;background:linear-gradient(180deg,#ffdb75,#ffad69);box-shadow:0 7px 0 #d87b55,0 13px 24px #d96d4b34;color:#5c3d29;font-size:27px;font-weight:900;line-height:1.1;text-align:left}.launch-button:hover{background:linear-gradient(180deg,#ffe68d,#ffbb78);transform:translateY(-2px)}.launch-button:active{transform:translateY(3px);box-shadow:0 3px 0 #d87b55}.launch-button small{grid-column:2;font-size:12px;font-weight:700;color:#8b5946;margin-top:4px}.launch-train{font-size:39px;grid-row:1/3;filter:drop-shadow(0 2px #ffffff88)}.kid-mascot{position:relative;z-index:1;align-self:center;padding:20px 15px 60px}.kid-mascot img{display:block;width:min(100%,540px);margin:auto;filter:drop-shadow(0 16px 15px #47998e22);animation:mascot-float 3.4s ease-in-out infinite}.kid-mascot p{position:absolute;top:11%;left:6%;padding:11px 15px;background:#fffefa;border:2px solid #f3d48d;border-radius:20px;color:#5b7865;font-size:15px;font-weight:800;box-shadow:0 4px 0 #dab8792e}.kid-mascot p:after{content:"";position:absolute;bottom:-10px;right:27px;border:7px solid transparent;border-top-color:#f3d48d;transform:rotate(20deg)}.home-track{position:absolute;z-index:0;bottom:8%;left:4%;right:3%;height:28px;border-radius:30px;background:repeating-linear-gradient(90deg,#ffb4c1 0 12%,#aee390 12% 24%,#ffdd71 24% 36%,#aaceef 36% 48%);border:3px solid #fff9c8;transform:rotate(-2deg);box-shadow:0 4px #79b8a85c}.home-track i{position:absolute;left:13%;bottom:19px;width:2px;height:36px;background:#e78f72}.home-track i:before{content:"⚑";position:absolute;top:-17px;left:0;color:#f5a779;font-size:29px}.home-track b{position:relative;display:inline-block;margin:3px 8%;color:#fffbed;font-size:12px}.home-track span{position:absolute;right:8%;top:-33px;color:#ffe15e;font-size:31px;text-shadow:0 2px #d5aa48}.home-spark{position:absolute;z-index:1;color:#fff6a0;font-size:38px;text-shadow:0 2px #e9b854}.spark-a{top:18%;left:5%}.spark-b{right:6%;top:12%;font-size:27px}.home-cloud{position:absolute;border-radius:50px;background:#ffffffb8}.home-cloud:before,.home-cloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.home-cloud-a{width:120px;height:30px;top:13%;left:32%}.home-cloud-b{width:92px;height:25px;right:1%;bottom:20%}.home-cloud:before{width:48px;height:48px;bottom:0;left:18px}.home-cloud:after{width:38px;height:38px;bottom:0;left:55px}.home-admin-controls,.continue-card{display:none!important}.trip-settings{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:15px;border:2px solid #c9e9d7;background:#f5fff6;border-radius:18px}.trip-settings h3{grid-column:1/-1;color:#39695b;font-size:16px}.trip-settings label{display:grid;gap:7px;font-size:13px;color:#4d715f}.trip-settings select{width:100%;min-width:0}.settings-grid .trip-settings{margin:0}
@keyframes mascot-float{50%{transform:translateY(-9px) rotate(1deg)}}
@media(max-width:800px){.kid-home{grid-template-columns:1fr;min-height:calc(100svh - 88px);padding:10px 0 50px}.kid-intro{order:2;padding:0 10px 18px}.kid-home h1{font-size:47px}.kid-mascot{order:1;padding:0 18px 0}.kid-mascot img{width:min(100%,390px);max-height:310px}.kid-mascot p{top:1%;left:6%;font-size:12px;padding:8px 11px}.launch-button{margin-top:19px;font-size:25px}.home-track{bottom:2%;left:2%;right:2%}.spark-a{top:10%;left:6%}.spark-b{right:5%;top:37%}.home-cloud-a{left:5%;top:30%}.home-cloud-b{display:none}.trip-settings{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}}

/* 用户提供的小狐狸列车画面作为首页主场景。 */
.kid-home{grid-template-columns:minmax(300px,.75fr) 1.25fr}.kid-mascot{position:absolute;inset:0;z-index:1;padding:0;pointer-events:none}.kid-mascot img{position:absolute;width:min(760px,72%);max-width:none;right:-28px;bottom:6%;margin:0;filter:drop-shadow(0 14px 18px #438d8424);animation:mascot-float 3.4s ease-in-out infinite}.kid-intro{width:min(100%,410px);padding:35px 0 85px 25px}.home-track{opacity:.5;left:2%;right:2%;bottom:4%}
@media(max-width:800px){.kid-home{display:flex;align-items:flex-end;min-height:calc(100svh - 78px);padding-bottom:32px}.kid-mascot img{width:112%;right:-6%;bottom:34%;max-height:none}.kid-intro{width:calc(100% - 24px);margin:0 12px;padding:19px 10px 18px;border-radius:27px;background:#ffffffb3;backdrop-filter:blur(4px);box-shadow:0 5px 20px #4d9f8b1a}.kid-home h1{font-size:43px}.kid-kicker{font-size:13px}.kid-line{font-size:17px}.home-track{bottom:25%;opacity:.32}.home-cloud-a{top:15%;left:-4%}.spark-a{top:18%;left:5%}.spark-b{top:22%;right:5%}}

/* 左侧标题和按钮、右侧列车场景的少儿首页构图。 */
.kid-home{max-width:1220px;min-height:calc(100svh - 76px)}.kid-intro{padding:34px 0 76px 42px;text-align:center}.kid-kicker{position:relative;border:2px solid #fff;background:#fffdf4;color:#8e6945;box-shadow:0 4px 0 #e6bd633b;font-size:14px}.kid-kicker:after{content:"";position:absolute;bottom:-11px;left:43%;border:7px solid transparent;border-top-color:#fffdf4}.kid-home h1{display:flex;flex-direction:column;align-items:center;margin:21px 0 6px;font-family:system-ui,'Microsoft YaHei',sans-serif;font-size:clamp(40px,4.7vw,66px);font-weight:1000;letter-spacing:0;line-height:.98;color:#f5824f;-webkit-text-stroke:3px #fff7c5;paint-order:stroke fill;text-shadow:0 4px 0 #d7584d,4px 0 0 #fff7c5,-4px 0 0 #fff7c5}.kid-home h1 span{white-space:nowrap}.kid-home h1 em{font-style:normal;margin-top:8px;font-size:1.14em;color:#ff816b}.kid-line{font-size:15px;color:#466d62}.launch-button{width:min(292px,92%);margin-top:17px;padding:11px 20px 9px;border-width:2px;border-color:#fff7c7;border-radius:28px;background:linear-gradient(#ffe378,#ffab63);box-shadow:0 5px 0 #dd7951,0 10px 20px #d96d4b30;font-size:22px}.launch-button small{font-size:10px}.launch-train{font-size:32px}.kid-mascot img{width:min(800px,74%);right:-16px;bottom:9%;filter:drop-shadow(0 16px 16px #438d8430)}.home-rainbow{position:absolute;z-index:0;top:7%;left:-27px;width:112px;height:60px;border:7px solid #ff9a9f;border-bottom:0;border-radius:100px 100px 0 0;box-shadow:0 -9px 0 -2px #ffdd70,0 -18px 0 -4px #9dddf3,0 -27px 0 -6px #b8e994}.home-rainbow:after{content:"✿";position:absolute;right:-26px;top:-33px;font-size:29px;color:#fff4a7;text-shadow:0 2px #e6b75c}.home-balloon{position:absolute;z-index:2;width:35px;height:44px;border-radius:50% 50% 48% 48%;box-shadow:inset -6px -7px #ffffff33,0 3px 7px #447b6320}.home-balloon:after{content:"";position:absolute;left:50%;bottom:-22px;width:1px;height:20px;background:#7a967f;transform:rotate(9deg)}.balloon-one{right:14%;top:18%;background:#ff9d70}.balloon-two{right:8%;top:25%;background:#b6d977}.balloon-three{right:3%;top:20%;background:#ae93e8}.home-track{height:17px;bottom:3%;left:7%;right:7%;border:2px solid #fff8c9;opacity:.82}.home-track i{bottom:13px}.home-track b{margin:0 8%;font-size:8px}.home-track span{top:-25px;font-size:23px}
@media(max-width:800px){.kid-intro{padding:17px 8px 15px}.kid-home h1{margin:12px 0 5px;font-size:43px;-webkit-text-stroke:2px #fff7c5;text-shadow:0 3px 0 #d7584d,3px 0 0 #fff7c5,-3px 0 0 #fff7c5}.kid-home h1 em{display:inline;margin:0 0 0 3px}.kid-mascot img{width:112%;right:-6%;bottom:34%}.home-rainbow{top:8%;left:-37px;transform:scale(.72)}.home-balloon{transform:scale(.7)}.balloon-one{right:13%;top:16%}.balloon-two{right:6%;top:21%}.balloon-three{right:0;top:15%}.home-track{bottom:26%;left:4%;right:4%}}

/* 透明插画不再形成矩形底图，列车自然融入首页天空。 */
.kid-mascot img{width:min(1060px,76vw);right:-34px;bottom:-12%;filter:drop-shadow(0 15px 16px #438d8430)}.home-balloon{display:none}.kid-intro{padding-left:54px}.home-track{opacity:.6}
@media(max-width:800px){.kid-mascot img{width:132%;right:-18%;bottom:32%}.kid-intro{padding-left:8px}}

/* 电脑端采用清晰的左右安全区：左侧标题与入口，右侧完整列车。 */
@media(min-width:801px){.kid-home{grid-template-columns:38% 62%;min-height:calc(100svh - 76px)}.kid-intro{align-self:center;width:100%;padding:15px 0 26px 58px;transform:translateY(-50px) scale(1.2);transform-origin:center center}.kid-home h1{margin:17px 0 8px;font-size:clamp(36px,2.85vw,50px);line-height:1.05}.kid-home h1 em{margin-top:5px;font-size:1.02em}.kid-line{font-size:16px}.launch-button{width:278px;margin-top:18px}.kid-mascot{height:100%;align-self:stretch}.kid-mascot img{width:min(1180px,78vw);right:2%;top:22%;bottom:auto;filter:drop-shadow(0 13px 14px #438d8428)}.home-track{left:7%;right:8%;bottom:4%;opacity:.72}.home-rainbow{left:2%;top:11%}.spark-a{top:31%;left:9%}.spark-b{top:13%;right:7%}}

.kid-kicker{display:block;width:max-content;margin:0 auto;padding:12px 25px;font-size:20px;line-height:1.2;letter-spacing:.4px}
@media(max-width:800px){.kid-kicker{padding:10px 20px;font-size:17px}}

/* 答错时用颜色、文字和短动画同时提示，孩子能立刻看到该调整哪里。 */
.wrong-callout{margin:12px 0 10px;padding:11px 14px;border:2px solid #f07d8b;border-radius:13px;background:#fff0f2;color:#b6384b;font-size:16px;font-weight:850;line-height:1.45;box-shadow:0 3px 0 #f7c4cb}.board.error-state .slots{border-color:#ee9ca7;background:linear-gradient(100deg,#fff5f5,#fff8f0);box-shadow:0 0 0 3px #ffe1e4}.slot.mistake .word{background:#ffd7dd!important;border-color:#e85f73!important;color:#8e293b!important;box-shadow:0 4px 0 #d94c62!important;animation:wrong-wiggle .42s ease-in-out}.slot.mistake .word:after{content:'×';position:absolute;right:-9px;top:-12px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e34f65;color:white;font-size:20px;font-weight:900;line-height:1;border:2px solid white;box-shadow:0 2px 0 #b93146}.feedback.error{margin-top:10px;padding:10px 14px!important;border:2px solid #f07585;border-radius:12px!important;background:#fff0f2!important;color:#af2840!important;font-size:16px;font-weight:850;box-shadow:0 3px 0 #f6c2c9}.slots.shake{animation:wrong-shake .46s ease-in-out}@keyframes wrong-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}@keyframes wrong-wiggle{25%{transform:rotate(-3deg) translateY(-3px)}70%{transform:rotate(3deg)}}@media(max-width:800px){.wrong-callout{font-size:14px;padding:9px 11px}.feedback.error{font-size:14px}.slot.mistake .word:after{transform:scale(.85);transform-origin:top right}}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.access-form{display:grid;grid-template-columns:1fr auto;gap:7px;width:min(360px,92%);margin:17px auto 0;padding:5px;border:2px solid #a8ddd5;border-radius:20px;background:#fffffff2;box-shadow:0 4px 0 #74b9ac2b}.access-form input{min-width:0;height:52px;border:0;background:transparent;padding:10px 14px;font-size:17px;font-weight:700;color:#45675f;outline:none}.access-form input::placeholder{color:#7b91a2}.access-form input:focus-visible{outline:2px solid #68b8ad;outline-offset:-3px}.access-form button{min-width:76px;border-radius:14px;background:#e0f3f0;color:#27776b;font-size:15px;font-weight:800}.access-form button:hover{background:#ccece6}.access-form small{grid-column:1/-1;padding:0 10px 4px;text-align:left;color:#6d837f;font-size:11px}.access-form[hidden]+.launch-button{margin-top:23px}.launch-button:disabled{filter:grayscale(.35);box-shadow:0 3px 0 #b8a28b;cursor:not-allowed}
@media(max-width:800px){.access-form{width:min(340px,94%);margin-top:13px}.access-form input{height:48px;font-size:16px}.access-form button{min-width:67px}}

/* 乘车指南使用清晰的四步卡片，方便孩子和家长扫读。 */
#modal:has(.guide-grid){width:min(1080px,calc(100vw - 32px));padding:34px}.guide-grid{gap:18px}.guide-card{min-height:156px;padding:24px;border-radius:20px}.guide-card:nth-child(1){background:#eef9e8}.guide-card:nth-child(2),.guide-card:nth-child(4){background:#fff0cf}.guide-card:nth-child(3){background:#eee4ff}.guide-card h3{font-size:20px;color:#294f4f;margin-bottom:12px}.guide-card b{color:#f05e48;margin-right:10px}.guide-card p{font-size:16px!important;line-height:2!important;color:#687961}.guide-grid+.notice{margin:20px 0 16px;padding:16px 18px;background:#e9f3ff;color:#426172;border-radius:14px;font-size:14px;line-height:1.9}.guide-grid~p:last-child{font-size:14px!important;color:#6a7a6a}.modal-top .eyebrow{color:#2e5d92}
@media(max-width:600px){#modal:has(.guide-grid){padding:22px}.guide-card{min-height:0;padding:18px}.guide-card h3{font-size:18px}.guide-card p{font-size:14px!important}.guide-grid+.notice{font-size:13px}}

.new-unit-btn{min-height:48px;padding:11px 18px;border:2px solid #fff4b8;border-radius:14px;background:linear-gradient(180deg,#ffcf68,#ff8e5d);box-shadow:0 4px 0 #d8664c;color:#5c3a2d;font-size:14px;font-weight:900;white-space:nowrap}.new-unit-btn:hover{background:linear-gradient(180deg,#ffda83,#ffa573);transform:translateY(-1px)}.sample-download{min-height:44px;padding:9px 13px;border:1px solid #9edbd4;border-radius:12px;background:#e9fbf8;color:#247b70;font-size:12px;font-weight:800;white-space:nowrap}.sample-download:hover{background:#d5f4ef}
.inline-unit-form{min-height:260px;justify-content:center}.unit-form-note{margin-bottom:8px;color:#637b73!important}
.library-workspace{display:grid;grid-template-columns:210px minmax(0,1fr);gap:30px;min-height:390px}.library-sidebar{display:grid;align-content:start;gap:7px;padding-right:24px;border-right:1px solid #dbe6d8}.library-sidebar strong{padding:4px 10px 12px;color:#305f58;font-size:15px}.library-nav-item,.library-nav-new{min-height:42px;padding:9px 12px;border-radius:11px;background:transparent;color:#315552;text-align:left;font-size:14px}.library-nav-item:hover,.library-nav-item:focus-visible{background:#eef6e8}.library-nav-new{margin-top:14px;border:1px solid #c9dfcf;background:#fffdf5;text-align:center;font-weight:800}.library-nav-new.selected{border-color:#f4a362;background:#fff0cf;color:#a64f2c}.library-editor{padding-top:9px}.library-editor .editor-kicker{color:#688077!important;font-size:14px!important;margin-bottom:16px}.library-editor h3{font-size:18px;margin-bottom:10px}.library-editor .form-stack{max-width:620px}.library-editor .modal-actions{justify-content:flex-start}
.inline-sentence-panel{margin:20px 0;padding:20px;border:2px solid #c9e9d7;border-radius:18px;background:#f8fff7}.inline-sentence-panel h3{font-size:17px;color:#376a5e;margin-bottom:14px}.inline-sentence-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.inline-sentence-form label{display:grid;gap:6px;color:#55746a;font-size:13px}.inline-sentence-form p{grid-column:1/-1;color:#70877b!important;font-size:12px!important}.inline-sentence-form .primary{min-height:48px;white-space:nowrap}
@media(max-width:700px){.library-workspace{grid-template-columns:1fr;gap:18px}.library-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 0 15px;border-right:0;border-bottom:1px solid #dbe6d8}.library-sidebar strong{grid-column:1/-1}.library-nav-new{margin-top:0}.library-editor{padding-top:0}}
@media(max-width:700px){.inline-sentence-form{grid-template-columns:1fr}.inline-sentence-form .primary{width:100%}}

/* 把本题操作集中到题板中间：孩子不用在边角找小按钮。 */
.board-bottom{justify-content:center;padding:18px 22px 22px}
.board-bottom .feedback{flex:0 0 100%;text-align:center}
.board-actions{width:100%;justify-content:center;gap:16px;padding-top:4px}
.board-actions button{min-width:126px;min-height:62px;padding:13px 26px;border:2px solid #c8dfd1;border-radius:20px;background:#fffdf4;color:#28544c;font-size:18px;font-weight:900;box-shadow:0 4px 0 #b7d1c1}
.board-actions button:hover:not(:disabled){background:#edf9ef;transform:translateY(-2px)}
.board-actions .primary{min-height:62px;background:linear-gradient(180deg,#ffcf69,#ff965f);border-color:#fff0b3;color:#613a2b;box-shadow:0 5px 0 #d9694c}
@media(max-width:700px){.board-bottom{padding:16px 12px 19px}.board-actions{gap:9px}.board-actions button{min-width:0;flex:1;min-height:56px;padding:10px 12px;border-radius:17px;font-size:16px}.board-actions .primary{min-height:56px}}

/* 单人游戏把列车和词块放大、居中，充分利用题板空间。 */
.rainbow-prompt span{color:#268b87!important;-webkit-text-stroke:3px #fffdf2!important;text-shadow:0 3px 0 #a7cbbd!important}
.boards:not(.duel) .question{min-height:128px;padding:23px 30px}
.boards:not(.duel) .question h3.rainbow-prompt{font-size:clamp(34px,3.2vw,46px);line-height:1.35}
.boards:not(.duel) .workbench{padding:22px 30px}
.boards:not(.duel) .slots{justify-content:center;gap:14px;min-height:122px;padding:19px 20px 28px}
.boards:not(.duel) .slot{min-width:112px;min-height:70px}
.boards:not(.duel) .slot.empty:before{font-size:20px}
.boards:not(.duel) .rail-engine{transform:scale(1.12);margin:0 12px 0 5px}
.boards:not(.duel) .word{min-height:68px;padding:14px 28px;font-size:26px}
.boards:not(.duel) .bank{justify-content:center;gap:14px;min-height:112px;padding:18px 0}
@media(max-width:800px){.rainbow-prompt span{-webkit-text-stroke:2.5px #fffdf2!important}.boards:not(.duel) .question{min-height:110px;padding:18px}.boards:not(.duel) .question h3.rainbow-prompt{font-size:clamp(29px,8vw,38px)}.boards:not(.duel) .workbench{padding:16px}.boards:not(.duel) .slots{gap:9px;min-height:104px;padding:14px 10px 20px}.boards:not(.duel) .slot{min-width:76px;min-height:58px}.boards:not(.duel) .word{min-height:57px;padding:10px 16px;font-size:20px}.boards:not(.duel) .bank{gap:9px;min-height:92px;padding:12px 0}.boards:not(.duel) .rail-engine{transform:scale(.95);margin-right:3px}}

/* 电脑与平板的答题界面固定在一个视口内，内容随屏幕高度收紧。 */
@media(min-width:701px){html:has(#gameView:not([hidden])),body:has(#gameView:not([hidden])){height:100%;overflow:hidden}#gameView:not([hidden]){height:calc(100svh - 76px);display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}#gameView .game-top{padding-top:13px;padding-bottom:8px}#gameView .route-strip{margin-top:5px;margin-bottom:10px}#gameView .boards{min-height:0;height:100%;padding-bottom:10px;overflow:hidden}#gameView .board{height:100%;min-height:0}#gameView .workbench{min-height:0;overflow:hidden}#gameView .bank{min-height:0}#gameView .board-bottom{flex-shrink:0}}
@media(min-width:701px) and (max-height:900px){#gameView .game-top{padding-top:8px;padding-bottom:5px}#gameView .route-strip{margin-bottom:6px}#gameView .board-header{min-height:42px;padding:8px 16px}#gameView .mini-stats{padding:6px 16px}#gameView .question{min-height:82px;padding:12px 18px}#gameView .question h3.rainbow-prompt{font-size:clamp(28px,2.6vw,36px)}#gameView .question .listen{width:43px;height:43px}#gameView .workbench{padding:11px 18px}#gameView .zone-heading{margin-bottom:7px}#gameView .bank-title{margin-top:9px}#gameView .slots{min-height:78px;padding:10px 12px 18px;gap:9px}#gameView .slot{min-width:82px;min-height:54px}#gameView .word{min-height:53px;padding:9px 18px;font-size:21px}#gameView .rail-engine{transform:scale(.86);margin-right:2px}#gameView .bank{padding:8px 0;gap:9px}#gameView .board-bottom{padding:10px 16px 13px}#gameView .board-actions button,#gameView .board-actions .primary{min-height:48px;font-size:16px;padding:9px 19px}}

/* 首次游玩时的三步引导，也可从“游戏说明”重复查看。 */
.onboarding{max-width:580px;margin:0 auto;text-align:center;padding:8px 16px 4px}.onboarding-step{color:#477b71;font-size:13px;font-weight:800;letter-spacing:1px}.onboarding-icon{display:grid;place-items:center;width:94px;height:94px;margin:18px auto 13px;border-radius:50%;background:linear-gradient(145deg,#fff4b6,#c8f0de);font-size:49px;box-shadow:0 5px 0 #9ccfb44a}.onboarding h3{font-size:27px;color:#2c6358;margin-bottom:13px}.onboarding p{font-size:17px!important;line-height:1.9!important;color:#56746b!important}.onboarding-dots{display:flex;justify-content:center;gap:9px;margin-top:22px}.onboarding-dots i{width:10px;height:10px;border-radius:50%;background:#d0e6d7}.onboarding-dots i.active{width:26px;border-radius:10px;background:#ff9d70}.onboarding-actions{justify-content:center;margin-top:19px}.onboarding-actions .primary{min-width:154px;font-size:17px}.onboarding-actions .quiet{min-width:100px;border:1px solid #c9dfcf}
@media(max-width:600px){.onboarding{padding:0}.onboarding-icon{width:76px;height:76px;margin:12px auto 9px;font-size:40px}.onboarding h3{font-size:23px}.onboarding p{font-size:15px!important}.onboarding-dots{margin-top:15px}}

/* 新手引导把真实的游戏与题库界面缩略呈现出来。 */
#modal:has(.onboarding){width:min(1080px,calc(100vw - 32px));padding:32px}.onboarding{max-width:none;display:grid;grid-template-columns:minmax(240px,.7fr) minmax(430px,1.3fr);align-items:center;gap:30px;padding:6px 10px}.onboarding-copy{text-align:left}.onboarding-copy h3{font-size:30px;line-height:1.35}.onboarding-copy p{font-size:16px!important;line-height:1.85!important}.onboarding-copy .onboarding-dots{justify-content:flex-start}.onboarding-preview{min-width:0}.guide-screen{height:310px;overflow:hidden;border:4px solid #fff;border-radius:23px;background:#fbfff8;box-shadow:0 10px 24px #447d6640;color:#294f49;text-align:left}.guide-screen-top{display:flex;justify-content:space-between;padding:11px 16px;background:#fffdf7;border-bottom:1px solid #deebd8;font-size:12px;font-weight:800}.guide-question{display:flex;justify-content:space-between;align-items:center;padding:16px 17px;background:#eaf8e8;color:#268b87;font-size:25px;font-weight:900}.guide-question b{display:grid;place-items:center;width:37px;height:37px;border:2px solid #f3aaca;border-radius:50%;background:#fff;font-size:19px}.guide-train{display:flex;align-items:center;justify-content:center;gap:8px;padding:25px 12px 15px;background:#fffdf8}.guide-train i{font-size:38px;font-style:normal}.guide-train strong{position:relative;min-width:68px;padding:11px 12px;border:2px solid #b4d9a7;border-radius:12px;background:#e6f8d8;text-align:center;font-size:17px}.guide-train strong:after{content:'';position:absolute;right:-11px;top:50%;width:10px;border-top:2px solid #dfc979}.guide-train strong:last-child:after{display:none}.guide-bank{display:flex;justify-content:center;gap:9px;padding:13px}.guide-bank em{padding:8px 13px;border:2px solid #b6d8ed;border-radius:11px;background:#d9f1fc;color:#35483c;font-size:14px;font-style:normal;font-weight:800}.guide-error-tip{margin:12px 14px 2px;padding:8px 10px;border:2px solid #ef7c8d;border-radius:10px;background:#fff0f3;color:#b23a50;font-size:12px;font-weight:900}.error-preview .guide-train{padding-top:18px}.guide-train strong.wrong{border-color:#e85f73;background:#ffd8df;color:#942d41}.guide-train strong small{position:absolute;right:-8px;top:-11px;display:grid;place-items:center;width:20px;height:20px;border:2px solid #fff;border-radius:50%;background:#e34f65;color:#fff;font-size:16px}.library-screen{display:grid;grid-template-columns:30% 70%;background:#fffdf7}.library-screen aside{display:grid;align-content:start;gap:7px;padding:18px 12px;border-right:1px solid #d8e4d6;background:#fcfbf5;font-size:12px}.library-screen aside b{margin-bottom:7px;font-size:14px}.library-screen aside span{padding:8px;border-radius:9px}.library-screen aside .chosen{background:#e4f0df;color:#3a725e;font-weight:900}.library-screen main{padding:18px;position:relative;font-size:12px}.library-screen label{display:grid;gap:6px;font-weight:800}.library-screen input{min-height:36px;padding:7px 9px;border:1px solid #cbded0;border-radius:9px;background:#fff;color:#526f65;font-size:13px}.guide-import-tabs{display:flex;align-items:center;gap:11px;margin:14px 0}.guide-import-tabs b{color:#317064}.guide-import-tabs button{padding:7px 10px;border:1px solid #9ec9ec;border-radius:9px;background:#e9f5ff;color:#2f658e;font-size:11px;font-weight:800}.guide-textarea{height:91px;margin-top:8px;padding:9px;border:1px solid #cfded2;border-radius:10px;background:#fff;color:#49685e;line-height:1.8;font-size:11px}.guide-save{position:absolute;right:18px;bottom:17px;padding:9px 15px;border-radius:10px;background:#55967c;color:#fff;font-size:12px;font-weight:900}
@media(max-width:760px){#modal:has(.onboarding){padding:22px}.onboarding{display:flex;flex-direction:column-reverse;gap:18px;padding:0}.onboarding-copy{text-align:center}.onboarding-copy .onboarding-dots{justify-content:center}.guide-screen{width:100%;height:250px}.guide-question{font-size:20px;padding:12px}.guide-train{padding:18px 6px 9px;gap:4px}.guide-train i{font-size:29px}.guide-train strong{min-width:0;padding:8px;font-size:13px}.guide-bank{padding:9px}.library-screen aside{padding:12px 8px}.library-screen main{padding:12px}.guide-save{right:12px;bottom:12px}}

/* 覆盖在真实首页上的聚光引导。 */
.spotlight-guide{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;overflow:visible;z-index:9000;font-family:'Microsoft YaHei','PingFang SC',system-ui,sans-serif}.spotlight-guide::backdrop{background:transparent}.spotlight-shade{position:absolute;inset:0;background:#123f559c;backdrop-filter:blur(3px)}.spotlight-ring{position:fixed;z-index:2;border:4px solid #ffc34b;border-radius:18px;box-shadow:0 0 0 5px #fff3b17a,0 0 28px 8px #ffbd357a;pointer-events:none;animation:spotlight-pulse 1.2s ease-in-out infinite}.spotlight-arrow{position:fixed;z-index:3;height:8px;border-radius:20px;background:#ffbd38;transform-origin:0 50%;box-shadow:0 2px 0 #b96b1b}.spotlight-arrow:after{content:'';position:absolute;right:-3px;top:50%;width:0;height:0;border-top:20px solid transparent;border-bottom:20px solid transparent;border-left:32px solid #ffbd38;transform:translateY(-50%)}.spotlight-card{position:fixed;z-index:4;width:min(470px,calc(100vw - 40px));padding:26px 28px 23px;border:2px solid #9ee9ff;border-radius:24px;background:linear-gradient(150deg,#116d9d,#07547f);box-shadow:0 14px 36px #092a4780;color:#f4fcff}.spotlight-kicker{display:flex;justify-content:space-between;align-items:center;color:#c9effe;font-size:15px;font-weight:800}.spotlight-kicker span{padding:6px 12px;border-radius:18px;background:#ffffff22;color:#fff0b2;font-size:13px}.spotlight-card h2{margin:18px 0 11px;font-size:29px;line-height:1.25;color:#fff}.spotlight-card p{font-size:17px;line-height:1.75;color:#e4f6ff}.spotlight-actions{display:flex;gap:12px;margin-top:20px}.spotlight-actions button{flex:1;min-height:52px;border-radius:15px;font-size:17px;font-weight:900}.spotlight-actions .quiet{border:1px solid #7bd2ed;background:#ffffff12;color:#e2f8ff}.spotlight-actions .primary{background:linear-gradient(#ffca55,#ff9837);box-shadow:0 4px 0 #bd6420;color:#183c55}.spotlight-actions .primary:hover{background:linear-gradient(#ffdb76,#ffab4b)}@keyframes spotlight-pulse{50%{box-shadow:0 0 0 8px #fff3b15c,0 0 34px 12px #ffbd358f}}
.library-guide .spotlight-note{margin-top:14px;padding:13px 15px;border:1px solid #ffd45a;border-radius:16px;background:#fff5ba22;color:#ffe98b;font-size:16px;font-weight:800;line-height:1.55}
@media(max-width:700px){.spotlight-card{padding:19px 20px 17px;border-radius:20px}.spotlight-card h2{font-size:23px;margin:12px 0 7px}.spotlight-card p{font-size:15px}.spotlight-kicker{font-size:13px}.spotlight-actions{margin-top:14px}.spotlight-actions button{min-height:47px;font-size:15px}.spotlight-arrow{height:6px}.spotlight-arrow:after{border-top-width:15px;border-bottom-width:15px;border-left-width:24px}}

/* 首页游戏名与玩法句作为一组主信息放大呈现。 */
@media(min-width:801px){.kid-home h1{font-size:clamp(72px,5.7vw,100px);line-height:1.02}.kid-line{font-size:32px;line-height:1.35}.kid-intro{transform:translateY(-50px) scale(1.08)}}
@media(max-width:800px){.kid-home h1{font-size:clamp(58px,10vw,86px);line-height:1.04;letter-spacing:-2px}.kid-line{font-size:clamp(25px,4.3vw,34px);line-height:1.4}}

/* 放大标题后重新划分电脑/平板左右区域，避免文字被首页容器裁切。 */
@media(min-width:1101px){.kid-home{grid-template-columns:53% 47%}.kid-intro{padding-left:36px;transform:translateY(-34px) scale(1)}.kid-home h1{font-size:clamp(60px,4.3vw,78px);letter-spacing:-2px}.kid-line{font-size:28px}}
@media(min-width:801px) and (max-width:1100px){.kid-home{grid-template-columns:62% 38%}.kid-intro{padding-left:22px;padding-right:10px;transform:translateY(-22px) scale(1)}.kid-home h1{font-size:clamp(48px,6.2vw,58px);letter-spacing:-2px}.kid-line{font-size:23px}.kid-mascot img{width:min(930px,112vw);right:-34%;top:25%}}

/* 游戏中的两类核心信息优先占用屏幕：中文题目与英文词块。 */
@media(min-width:701px){.boards:not(.duel) .question{min-height:156px;padding:26px 34px}.boards:not(.duel) .question h3.rainbow-prompt{font-size:clamp(48px,4.8vw,72px);line-height:1.22}.boards:not(.duel) .question .listen{width:66px;height:66px;font-size:29px}.boards:not(.duel) .slots{min-height:142px;padding:22px 24px 31px;gap:18px}.boards:not(.duel) .slot{min-width:138px;min-height:94px}.boards:not(.duel) .slot.empty:before{font-size:28px}.boards:not(.duel) .word{min-height:90px;padding:16px 34px;font-size:clamp(31px,2.7vw,46px);line-height:1.05}.boards:not(.duel) .bank{gap:18px;min-height:132px;padding:20px 0}}
@media(min-width:701px) and (max-height:900px){#gameView .question{min-height:126px;padding:18px 26px}#gameView .question h3.rainbow-prompt{font-size:clamp(42px,4vw,60px);line-height:1.2}#gameView .question .listen{width:55px;height:55px;font-size:25px}#gameView .slots{min-height:112px;padding:15px 16px 25px;gap:13px}#gameView .slot{min-width:112px;min-height:76px}#gameView .slot.empty:before{font-size:23px}#gameView .word{min-height:72px;padding:12px 25px;font-size:clamp(27px,2.35vw,39px)}#gameView .bank{gap:13px;min-height:104px;padding:13px 0}}

/* 结果页固定在一个电脑 / 平板版面内；逐句内容改由“逐句记录”弹窗查看。 */
@media(min-width:701px){html:has(#resultView:not([hidden])),body:has(#resultView:not([hidden])){height:100%;overflow:hidden}#resultView:not([hidden]){width:min(1000px,100%);height:calc(100svh - 104px);margin:0 auto;padding:clamp(14px,2.5vh,28px) 0 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(8px,1.4vh,16px);overflow:hidden}.result-kicker{color:#315d89;font-size:13px;letter-spacing:3px;font-weight:800}.result-title{text-align:center}.result-title i{display:block;color:#dd8c20;font-size:38px;font-style:normal;line-height:1}.result-view h1{margin:3px 0 5px;font-size:clamp(34px,3.2vw,48px);line-height:1.2}.result-title p{font-size:15px!important;line-height:1.5!important}.result-cards{width:100%;margin:0;display:flex;justify-content:center;gap:18px}.result-card{width:min(520px,100%);padding:19px 28px 17px;border-radius:22px}.result-card header{display:flex;align-items:center;justify-content:space-between}.result-card header>span{font-size:15px;color:#4d6c79;font-weight:800}.result-card strong{margin:0;font-size:46px;line-height:1;color:#285750}.result-card strong small{margin-left:4px;font-size:17px;color:#4d6c79}.result-card .stat-grid{margin-top:13px;grid-template-columns:repeat(3,1fr);gap:12px 20px}.result-card .stat-grid span{font-size:13px;line-height:1.3;color:#52707b}.result-card .stat-grid b{margin-top:5px;font-size:23px;line-height:1.1}.result-footnote{font-size:13px;color:#52707b}.result-actions{margin:0;display:flex;justify-content:center;gap:11px}.result-actions button{min-height:50px;padding:10px 17px;border:1px solid #c4daeb;border-radius:15px;background:#ffffffc9;color:#28566e;font-size:15px;font-weight:800}.result-actions .primary{background:linear-gradient(180deg,#ffcb70,#ff9961);border-color:#ffd39c;box-shadow:0 4px 0 #d66d52;color:#633728}.result-actions .primary:disabled{box-shadow:none}}
@media(min-width:701px) and (max-height:760px){#resultView:not([hidden]){padding-top:9px;gap:7px}.result-title i{font-size:28px}.result-view h1{font-size:34px}.result-card{padding:13px 22px}.result-card strong{font-size:38px}.result-card .stat-grid{margin-top:9px;gap:8px 16px}.result-card .stat-grid b{font-size:19px}.result-actions button{min-height:43px;font-size:13px;padding:8px 13px}}

/* 到站成绩改为儿童可一眼读懂的庆祝卡：彩色成绩格、奖牌和火车旅程感。 */
.result-badge-seal{display:flex;flex-direction:column;align-items:center;justify-content:center;width:102px;height:69px;position:relative;border:4px solid #f4bc47;border-radius:50% 50% 44% 44%;background:radial-gradient(circle at 50% 38%,#fff6be 0 32%,#ffc85a 33% 56%,#ed8b3d 57%);box-shadow:0 4px 0 #cc6b37,0 7px 18px #c86c4555;color:#87432d;transform:rotate(-2deg)}.result-badge-seal:before,.result-badge-seal:after{content:'';position:absolute;z-index:-1;bottom:-17px;width:23px;height:32px;background:#ed8b3d}.result-badge-seal:before{left:16px;transform:rotate(18deg)}.result-badge-seal:after{right:16px;transform:rotate(-18deg)}.result-badge-seal span{font-size:22px;line-height:18px;color:#fffdf0;text-shadow:0 1px #b85a2f}.result-badge-seal b{font-size:8px;letter-spacing:.4px;white-space:nowrap}.result-summary{position:relative;width:min(720px,100%);display:flex;align-items:center;justify-content:center;padding-right:70px}.result-summary .result-cards{width:100%;display:block}.result-summary .result-card{width:100%;padding:14px 110px 14px 18px;border:3px solid #cae0f2;border-radius:17px;background:#fffdf9;box-shadow:0 5px 0 #c5d8e9}.result-summary .result-card header{display:none}.result-summary .result-card .stat-grid{margin:0;grid-template-columns:repeat(6,1fr);gap:8px}.result-summary .stat-grid span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:76px;padding:7px 3px;border-radius:12px;text-align:center;color:#52707b;font-size:10px;font-weight:800;line-height:1.25}.result-summary .stat-grid i{font-style:normal;font-size:15px;line-height:1.1}.result-summary .stat-grid b{margin:3px 0 1px;font-size:21px;line-height:1;color:#285750}.result-summary .stat-grid small{font-size:9px;color:#66808a;white-space:nowrap}.result-summary .stat-completed{background:#ffd9df}.result-summary .stat-first{background:#d7efff}.result-summary .stat-accuracy{background:#fff0bd}.result-summary .stat-adjusted{background:#dff4d9}.result-summary .stat-wrong{background:#ffe5c7}.result-summary .stat-review{background:#e8ddff}.result-medallion{position:absolute;right:0;top:50%;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:112px;height:112px;border:5px solid #ffe7a3;border-radius:50%;background:radial-gradient(circle at 38% 30%,#fff6b0 0 5%,#ffd763 6% 36%,#f0a33b 37% 61%,#cf7035 62% 100%);box-shadow:0 4px 0 #b65b37,0 7px 18px #9c603e55;transform:translateY(-50%) rotate(5deg);color:#fffbed;text-shadow:0 2px #a24d31}.result-medallion:before,.result-medallion:after{content:'';position:absolute;bottom:-22px;z-index:-1;width:28px;height:41px;background:#ef8751}.result-medallion:before{left:18px;clip-path:polygon(0 0,100% 0,78% 100%,48% 74%,18% 100%);transform:rotate(8deg)}.result-medallion:after{right:18px;background:#f4b84c;clip-path:polygon(0 0,100% 0,82% 100%,51% 74%,18% 100%);transform:rotate(-8deg)}.result-medallion span{font-size:14px;line-height:11px}.result-medallion strong{font-size:41px;line-height:.95}.result-medallion small{font-size:13px;font-weight:900}.result-medallion b{margin-top:3px;font-size:10px;letter-spacing:1px}.result-view{position:relative}.result-view:before,.result-view:after{content:'☁';position:absolute;z-index:-1;color:#fffdf2b8;font-size:54px;line-height:1}.result-view:before{left:-70px;top:20%}.result-view:after{right:-80px;bottom:20%;font-size:72px}.result-view .result-kicker{margin-top:6px;font-size:10px;letter-spacing:2.4px}.result-view .result-title i{font-size:23px}.result-view .result-title h1{color:#285750;text-shadow:0 2px #fff7d8}.result-view .result-title p{color:#507080}.result-view .result-footnote{font-size:10px}.result-view .result-actions{gap:8px}.result-view .result-actions button{min-height:38px;padding:7px 12px;border-radius:12px;font-size:12px}.result-view .result-actions .primary{background:linear-gradient(180deg,#d5a3eb,#ac75d0);border-color:#cfafe8;box-shadow:0 3px 0 #8c58b2;color:#fffdf5}
@media(min-width:701px){#resultView:not([hidden]){width:min(920px,100%);gap:6px;padding-top:8px;padding-bottom:9px}.result-badge-seal{margin-bottom:0}.result-view h1{font-size:clamp(30px,2.8vw,42px)!important}.result-title p{font-size:12px!important}.result-summary{margin:4px 0 1px}}
@media(min-width:701px) and (max-height:760px){.result-badge-seal{width:82px;height:54px;border-width:3px}.result-badge-seal span{font-size:17px}.result-badge-seal b{font-size:6px}.result-summary{width:min(650px,100%)}.result-summary .result-card{padding:10px 94px 10px 12px}.result-summary .stat-grid span{min-height:60px;font-size:9px}.result-summary .stat-grid i{font-size:12px}.result-summary .stat-grid b{font-size:17px}.result-summary .stat-grid small{font-size:8px}.result-medallion{width:89px;height:89px}.result-medallion strong{font-size:32px}.result-medallion b{font-size:8px}.result-view .result-actions button{min-height:35px}.result-badge-seal:before,.result-badge-seal:after{bottom:-12px;height:24px}}
@media(max-width:700px){.result-badge-seal{margin:20px auto 8px;width:86px;height:59px}.result-summary{width:calc(100% - 28px);margin:16px auto;padding:0}.result-summary .result-card{width:100%;padding:14px}.result-summary .result-card header{display:none}.result-summary .result-card .stat-grid{margin:0;grid-template-columns:repeat(3,1fr);gap:8px}.result-summary .stat-grid span{padding:9px 3px;border-radius:11px;text-align:center}.result-summary .stat-grid span:nth-child(1){background:#ffd9df}.result-summary .stat-grid span:nth-child(2){background:#d7efff}.result-summary .stat-grid span:nth-child(3){background:#fff0bd}.result-summary .stat-grid span:nth-child(4){background:#dff4d9}.result-summary .stat-grid span:nth-child(5){background:#ffe5c7}.result-summary .stat-grid span:nth-child(6){background:#e8ddff}.result-summary .stat-grid i{display:block;font-style:normal}.result-summary .stat-grid b{display:block;font-size:20px}.result-summary .stat-grid small{font-size:9px}.result-medallion{right:-4px;top:-20px;width:78px;height:78px}.result-medallion strong{font-size:29px}.result-medallion b{font-size:8px}.result-medallion:before,.result-medallion:after{display:none}.result-view .result-kicker{text-align:center}.result-view .result-title{text-align:center}.result-view .result-title h1{margin:8px 12px;font-size:30px}.result-view .result-title p{font-size:13px!important;padding:0 18px}.result-view .result-actions{padding:0 14px;gap:7px}.result-view .result-actions button{font-size:12px;padding:8px 10px}}

/* 参考庆祝徽章：皇冠、浮雕金章、横向缎带与双飘带。 */
.result-badge-seal{width:132px;height:76px;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none;color:#96502e;isolation:isolate}.result-badge-seal:before{content:'';position:absolute;z-index:-2;top:6px;left:25px;width:82px;height:67px;border:5px solid #f7be45;border-radius:50%;background:radial-gradient(circle at 40% 33%,#fff9c8 0 14%,#ffe688 15% 37%,#f8bd49 38% 67%,#df7b38 68%);box-shadow:inset 0 0 0 5px #ffe995,0 3px 0 #cf6835,0 5px 11px #b5614845}.result-badge-seal:after{display:none}.result-badge-seal .seal-crown{position:absolute;z-index:2;top:-2px;left:50%;font-family:Georgia,serif;font-size:28px;font-style:normal;line-height:1;color:#fff5b5;text-shadow:0 2px #d68734;transform:translateX(-50%)}.result-badge-seal .seal-ribbon{position:absolute;z-index:-1;top:28px;width:48px;height:26px;border:2px solid #f8ca65;background:linear-gradient(#ffdf77,#f29058);box-shadow:0 3px 0 #ca6342}.result-badge-seal .seal-ribbon.left{left:1px;clip-path:polygon(0 30%,100% 0,100% 100%,0 68%);transform:rotate(-6deg)}.result-badge-seal .seal-ribbon.right{right:1px;clip-path:polygon(0 0,100% 30%,100% 68%,0 100%);transform:rotate(6deg)}.result-badge-seal>span{position:absolute;z-index:2;top:26px;left:50%;font-size:19px;line-height:1;color:#fffcec;text-shadow:0 1px #cf6f32;transform:translateX(-50%)}.result-badge-seal>b{position:absolute;z-index:3;top:31px;left:50%;width:118px;padding:5px 0;border-top:1px solid #ffd76c;border-bottom:1px solid #d66c3b;background:linear-gradient(90deg,#f18f59,#ffdda0 25%,#fff0bf 50%,#ffdda0 75%,#f18f59);font-size:9px;letter-spacing:.35px;text-align:center;white-space:nowrap;color:#97462b;text-shadow:0 1px #fff1c9;transform:translateX(-50%) rotate(-2deg);box-shadow:0 2px 3px #bd633844}.result-badge-seal>small{position:absolute;z-index:2;top:50px;left:50%;font-size:14px;color:#fff3a7;text-shadow:0 1px #c86131;transform:translateX(-50%)}.result-badge-seal .seal-tail{position:absolute;z-index:-2;top:59px;width:25px;height:34px;background:linear-gradient(#f6bd4e,#ea7d44);box-shadow:0 3px 0 #c65c37}.result-badge-seal .seal-tail.left{left:39px;clip-path:polygon(0 0,100% 0,86% 100%,48% 74%,10% 100%);transform:rotate(8deg)}.result-badge-seal .seal-tail.right{right:39px;clip-path:polygon(0 0,100% 0,90% 100%,52% 74%,14% 100%);transform:rotate(-8deg)}
@media(min-width:701px){.result-badge-seal{margin:0 0 3px}.result-badge-seal:before{top:4px}.result-badge-seal .seal-tail{top:57px}}
@media(min-width:701px) and (max-height:760px){.result-badge-seal{width:108px;height:61px;transform:scale(.82);margin:-8px 0 -5px}.result-badge-seal .seal-tail{top:57px}}
@media(max-width:700px){.result-badge-seal{width:118px;height:68px;margin:23px auto 6px;transform:scale(.9)}.result-badge-seal .seal-tail{top:59px}}

/* 结果页改用独立奖杯：金杯、双耳、星章和底座。 */
.result-trophy{position:relative;width:112px;height:96px;margin:0 auto 1px;filter:drop-shadow(0 5px 6px #a9603d44)}.trophy-cup{position:absolute;z-index:2;top:5px;left:26px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:60px;height:60px;border:4px solid #ffe798;border-radius:11px 11px 28px 28px;background:radial-gradient(circle at 35% 26%,#fff9bc 0 9%,#ffe47a 10% 34%,#f9bb45 35% 66%,#dc8132 67%);box-shadow:inset 0 0 0 3px #ffc94e,0 3px 0 #c86435;color:#fffdf1;clip-path:polygon(0 0,100% 0,91% 64%,69% 92%,50% 100%,31% 92%,9% 64%)}.trophy-cup:before{content:'';position:absolute;inset:7px;border:1px solid #fff3b1;border-radius:7px 7px 23px 23px}.trophy-cup span{position:relative;z-index:1;font-size:25px;line-height:24px;text-shadow:0 2px #c66a32}.trophy-cup b{position:relative;z-index:1;margin-top:2px;font-size:8px;letter-spacing:.4px;color:#884329;text-shadow:0 1px #fff4bd;white-space:nowrap}.trophy-handle{position:absolute;z-index:1;top:18px;width:32px;height:31px;border:7px solid #f5af3b;border-radius:50%;box-shadow:inset 0 0 0 3px #ffe77d}.trophy-handle.left{left:4px;border-right:0;border-radius:26px 0 0 26px}.trophy-handle.right{right:4px;border-left:0;border-radius:0 26px 26px 0}.trophy-stem{position:absolute;z-index:1;top:59px;left:47px;width:18px;height:22px;border:3px solid #ffdf76;border-top:0;background:linear-gradient(90deg,#e58636,#ffc64c 45%,#e58636);clip-path:polygon(17% 0,83% 0,100% 100%,0 100%)}.trophy-base{position:absolute;z-index:2;bottom:3px;left:24px;width:65px;height:15px;border:3px solid #f6c04c;border-radius:9px 9px 5px 5px;background:linear-gradient(#ffde75,#ea8c3e);box-shadow:0 3px 0 #bd6039}.result-view .result-trophy+.result-kicker{margin-top:0;font-size:13px;letter-spacing:3px}.result-view .result-title i{font-size:28px}.result-view h1{font-size:clamp(38px,3.35vw,52px)!important}.result-view .result-title p{font-size:15px!important}.result-summary .stat-grid span{font-size:12px}.result-summary .stat-grid i{font-size:18px}.result-summary .stat-grid b{font-size:25px}.result-summary .stat-grid small{font-size:10px}.result-view .result-footnote{font-size:12px}.result-view .result-actions button{min-height:44px;padding:9px 15px;font-size:14px}
@media(min-width:701px){#resultView:not([hidden]){gap:8px}.result-trophy{margin-top:-5px}.result-summary{width:min(765px,100%)}.result-summary .result-card{padding:16px 118px 16px 20px}.result-medallion{width:124px;height:124px}.result-medallion strong{font-size:47px}}
@media(min-width:701px) and (max-height:760px){.result-trophy{width:88px;height:75px;margin:-7px auto -4px;transform:scale(.8)}.result-view .result-trophy+.result-kicker{font-size:10px}.result-view h1{font-size:35px!important}.result-view .result-title p{font-size:12px!important}.result-summary .result-card{padding:11px 96px 11px 14px}.result-summary .stat-grid span{min-height:62px;font-size:10px}.result-summary .stat-grid i{font-size:13px}.result-summary .stat-grid b{font-size:19px}.result-summary .stat-grid small{font-size:8px}.result-medallion{width:93px;height:93px}.result-medallion strong{font-size:35px}.result-view .result-actions button{min-height:37px;font-size:12px}}
@media(max-width:700px){.result-trophy{margin:18px auto 0;transform:scale(.9)}.result-view .result-trophy+.result-kicker{font-size:11px}.result-view h1{font-size:34px!important}.result-view .result-title p{font-size:14px!important}.result-summary .stat-grid span{font-size:11px}.result-summary .stat-grid b{font-size:22px}.result-view .result-actions button{font-size:13px}}

/* 一台电脑的双人接力：等待的一方明确锁定，交接后才开始自己的计时。 */
.waiting-board{position:relative;isolation:isolate;min-height:370px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px;text-align:center;background:linear-gradient(180deg,#edf5ffab 0%,#f6faff47 37%,#ffffff09 68%,#ffffff00 100%);color:#496a82;overflow:hidden}.waiting-board:after{content:'';position:absolute;z-index:-1;left:50%;bottom:-20px;width:min(620px,100%);height:310px;background:url('assets/hero-scene-v4.png') center bottom/contain no-repeat;opacity:.16;filter:saturate(.9) blur(.2px);transform:translateX(-50%);pointer-events:none}.waiting-board .finish-icon{font-size:52px}.waiting-board h3{margin:10px 0;font-size:27px;color:#315d89}.waiting-board p{font-size:16px;line-height:1.8}.board.waiting-turn{background:linear-gradient(180deg,#edf5ff9e 0%,#f9fbff44 48%,#ffffff00 100%);filter:saturate(.72);box-shadow:0 7px 0 #cfe4f45c}.board.waiting-turn .board-header{background:#edf2f7a8}.turn-handoff{text-align:center;padding:6px 6px 2px}.turn-handoff>span{display:block;font-size:46px}.turn-handoff h3{margin:10px 0 7px;font-size:26px;color:#2e5d82}.turn-handoff p{font-size:16px;line-height:1.7;color:#55758c}.turn-handoff .primary{margin-top:18px;min-width:220px;font-size:17px}
@media(max-width:700px){.waiting-board{min-height:250px;padding:24px}.waiting-board h3{font-size:22px}.waiting-board p,.turn-handoff p{font-size:14px}.turn-handoff h3{font-size:22px}}

/* 长句仍保持在一个版面内，单词多或单词很长时自动收窄车厢。 */
@media(min-width:701px){.boards:not(.duel) .board.long-sentence .slots,.boards:not(.duel) .board.long-sentence .bank{gap:clamp(8px,1vw,13px)}.boards:not(.duel) .board.long-sentence .slot{min-width:clamp(88px,8vw,118px)}.boards:not(.duel) .board.long-sentence .word{min-height:clamp(62px,5.2vw,78px);padding:11px clamp(14px,1.8vw,24px);font-size:clamp(24px,2.05vw,34px)}.boards:not(.duel) .board.long-sentence .rail-engine{transform:scale(.9);margin-right:2px}}
.review-row.needs-review{margin:7px 0;padding:12px 13px;border:2px solid #ef7d8b;border-radius:13px;background:#fff0f3;color:#8c2c42}.review-row.needs-review b{display:inline-block;margin:0 7px 4px 0;padding:3px 8px;border-radius:10px;background:#e95168;color:#fff;font-size:12px}.review-row.needs-review small{color:#9c5360}

/* 答对后的夸奖放在词块上方，避免被底部按钮或自动下一题遮住。 */
.praise-banner{display:flex;align-items:center;justify-content:center;gap:10px;margin:4px 0 14px;padding:13px 18px;border:2px solid #ffc952;border-radius:18px;background:linear-gradient(100deg,#fff7bb,#ffe1a0);color:#765126;font-size:clamp(18px,1.7vw,25px);font-weight:900;line-height:1.35;box-shadow:0 4px 0 #e9bc6a;animation:praise-pop .42s ease-out}.praise-banner span{font-size:1.25em}@keyframes praise-pop{0%{transform:scale(.8);opacity:.3}65%{transform:scale(1.04)}100%{transform:scale(1);opacity:1}}@media(max-width:700px){.praise-banner{margin-bottom:10px;padding:10px 12px;border-radius:14px;font-size:17px}}

/* 答对时仍保留夸奖，但把重复反馈和留白收起，确保继续按钮不被屏幕底部遮住。 */
@media(min-width:701px){#gameView .board:has(.praise-banner){min-height:0}#gameView .board:has(.praise-banner) .question{min-height:104px;padding:12px 24px}#gameView .board:has(.praise-banner) .question h3.rainbow-prompt{font-size:clamp(38px,3.3vw,54px);line-height:1.15}#gameView .board:has(.praise-banner) .question .listen{width:48px;height:48px;font-size:22px}#gameView .board:has(.praise-banner) .workbench{padding:10px 20px}#gameView .board:has(.praise-banner) .zone-heading{margin-bottom:6px}#gameView .board:has(.praise-banner) .praise-banner{margin:0 0 8px;padding:8px 14px;border-radius:14px;font-size:clamp(17px,1.45vw,22px);box-shadow:0 3px 0 #e9bc6a}#gameView .board:has(.praise-banner) .slots{min-height:88px;padding:10px 14px 18px;gap:10px}#gameView .board:has(.praise-banner) .slot{min-height:61px;min-width:92px}#gameView .board:has(.praise-banner) .word{min-height:59px;padding:9px 20px;font-size:clamp(23px,2vw,32px)}#gameView .board:has(.praise-banner) .bank-title{margin-top:8px}#gameView .board:has(.praise-banner) .answer-readout{margin:5px 0;padding:9px 13px;font-size:20px}#gameView .board:has(.praise-banner) .board-bottom{margin-top:5px;padding-top:7px}#gameView .board:has(.praise-banner) .feedback.good{display:none}#gameView .board:has(.praise-banner) .board-actions button,#gameView .board:has(.praise-banner) .board-actions .primary{min-height:50px;padding:9px 22px}}

/* 右上角“游戏说明”的完整操作指南。 */
#modal:has(.guide-overview){width:min(1120px,calc(100vw - 32px));padding:34px}.guide-overview>h3{margin:0 0 24px;font-size:31px;color:#295750}.guide-start{padding:23px 25px 18px;border:1px solid #abd6ed;border-radius:23px;background:#eaf6fd}.guide-start h4{margin:0 0 12px;font-size:22px;color:#315d7a}.guide-start ol{margin:0;padding-left:30px;color:#315d7a;font-size:16px;line-height:2}.guide-start li b{font-weight:900}.guide-start-actions{display:flex;gap:14px;margin:14px 0 10px}.guide-start-actions .quiet{min-height:49px;padding:10px 18px;border:2px solid #f2bd57;border-radius:15px;background:#fff9df;color:#325c72;font-size:16px;font-weight:900;box-shadow:0 3px 0 #efc76755}.guide-start>p{font-size:14px!important;color:#3c6982!important}.guide-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.guide-overview-card{min-height:190px;padding:24px 26px;border-radius:26px}.guide-overview-card h4{margin:0 0 14px;font-size:22px;color:#2d5653}.guide-overview-card h4 b{margin-right:13px;color:#f26f4e}.guide-overview-card p{font-size:16px!important;line-height:1.85!important;color:#56746b!important}.card-green{background:#edf8e7}.card-yellow{background:#fff0d0}.card-purple{background:#eee4ff}
@media(max-width:700px){#modal:has(.guide-overview){padding:22px}.guide-overview>h3{font-size:25px;margin-bottom:17px}.guide-start{padding:18px}.guide-start h4{font-size:19px}.guide-start ol{padding-left:23px;font-size:14px;line-height:1.75}.guide-start-actions{gap:8px;flex-wrap:wrap}.guide-start-actions .quiet{flex:1;min-width:160px;font-size:14px}.guide-overview-grid{grid-template-columns:1fr;gap:12px;margin-top:16px}.guide-overview-card{min-height:0;padding:19px}.guide-overview-card h4{font-size:19px}.guide-overview-card p{font-size:14px!important}}
