.zg-shell{max-width:880px;margin:0 auto;padding:26px 32px 40px;color:#283047;min-height:720px;font-family:inherit}.zg-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.zg-top button{border:0;background:transparent;color:#74758a;font:inherit;cursor:pointer}.zg-back{padding:10px 0;font-size:13px!important}.zg-mode{font-size:13px;font-weight:600;color:#74628f}.zg-icon-button{width:38px;height:38px;border:1px solid #e7e2ef!important;border-radius:12px;font-size:24px!important}.zg-intro-title{text-align:center;margin:34px 0 24px}.zg-eyebrow{color:#8b839c;font-size:12px;letter-spacing:1px;margin:0 0 9px}.zg-intro-title h1{font-size:29px;letter-spacing:-.8px;margin:0;font-weight:700}.zg-subtitle{font-size:14px;color:#8a8595;margin:12px 0 0}.zg-start-card{max-width:470px;margin:26px auto 0;background:#fff;border:1px solid #e9e4f1;border-radius:25px;padding:32px 38px;text-align:center;box-shadow:0 12px 45px #473b7010}.zg-big-icon{width:76px;height:76px;border-radius:24px;background:#f0eafb;display:grid;place-items:center;margin:0 auto 20px;font-size:32px;color:#8b69bd;font-weight:600}.zg-start-card h2{font-size:23px;margin:0 0 10px}.zg-start-card>p{font-size:14px;color:#858292;line-height:1.8}.zg-instructions{list-style:none;counter-reset:instructions;padding:0;margin:26px 0;text-align:left}.zg-instructions li{counter-increment:instructions;font-size:13px;color:#737082;line-height:1.8;margin:12px 0;display:flex;gap:10px;align-items:flex-start}.zg-instructions li:before{content:counter(instructions);flex-shrink:0;border-radius:50%;width:22px;height:22px;background:#f1eef7;color:#8b75ad;display:grid;place-items:center;font-size:11px}.zg-primary,.zg-secondary{font:inherit;border-radius:12px;border:1px solid transparent;padding:13px 24px;cursor:pointer;font-size:14px;font-weight:600;transition:transform .15s,background .15s}.zg-primary{background:#8161b6;color:#fff;box-shadow:0 5px 12px #805fb222}.zg-primary:hover{background:#7050a5;transform:translateY(-1px)}.zg-secondary{background:#fff;color:#80708f;border-color:#e5ddec}.zg-secondary:hover{background:#f7f3fb}.zg-primary:disabled,.zg-secondary:disabled{opacity:.45;cursor:not-allowed;transform:none}.zg-wide{width:100%;display:flex;justify-content:center;gap:20px}.zg-note{font-size:11px;color:#9992a2;line-height:1.8;margin:18px 0 0}.zg-progress-label{display:flex;justify-content:space-between;font-size:12px;color:#9890a2;margin:0 auto 8px;max-width:650px}.zg-progress{height:6px;border-radius:10px;background:#eae6f0;max-width:650px;margin:0 auto 28px;overflow:hidden}.zg-progress>span{display:block;background:#a291c4;height:100%;border-radius:10px;transition:width .3s}.zg-flash-wrap{max-width:470px;margin:auto;text-align:center}.zg-flashcard{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;min-height:310px;width:100%;border:1px solid #e6dfee;border-radius:25px;background:linear-gradient(150deg,#fff,#fcfaff);box-shadow:0 10px 35px #4832630b;cursor:pointer;padding:30px 24px;font-family:inherit;color:#3a3450;transition:background .25s}.zg-flashcard.is-revealed{background:linear-gradient(150deg,#fff,#f5f0fc)}.zg-card-no{position:absolute;left:24px;top:20px;color:#c4b4d8;font-size:12px;letter-spacing:2px}.zg-card-pinyin{font-size:16px;color:#9a84b5;min-height:25px;letter-spacing:1px}.zg-card-word{font-size:80px;line-height:1.4;font-weight:500;letter-spacing:6px;margin:12px 0}.zg-card-phrase{font-size:16px;color:#807387}.zg-card-sentence{font-size:14px;color:#8e8497;line-height:1.7;margin-top:14px}.zg-sound{border:0;background:transparent;color:#9c86b9;font:inherit;font-size:13px;margin:18px auto;cursor:pointer;display:block;padding:8px 15px;border-radius:8px}.zg-sound:hover{background:#eee7f5}.zg-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}.zg-match-head{display:flex;justify-content:space-between;max-width:560px;margin:0 auto 16px;font-size:12px;color:#8e859b}.zg-match-board{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:560px;margin:0 auto}.zg-match-column{display:flex;flex-direction:column;gap:12px}.zg-column-title{font-size:11px;color:#a49bae;text-align:center;margin-bottom:2px}.zg-match-tile{position:relative;min-height:74px;background:white;border:1px solid #e7dfef;border-radius:15px;font:inherit;cursor:pointer;color:#42384e;transition:all .16s;padding:12px 15px;display:flex;align-items:center;justify-content:center;gap:12px}.zg-match-tile.word{font-size:28px}.zg-match-tile.sound{font-size:20px;color:#9078b0}.zg-match-tile:hover:not(:disabled){border-color:#aa8dcd;background:#fbf8ff;transform:translateY(-1px)}.zg-match-tile.selected{background:#eee4fa;border:2px solid #9c7fc5;box-shadow:0 0 0 3px #b29acc1c}.zg-match-tile.matched{background:#ecf6f0;border-color:#cce5d7;color:#84a993}.zg-match-tile.matched span{font-size:14px;color:#6ca17d}.zg-match-tile:disabled{cursor:default}.zg-feedback{text-align:center;min-height:25px;margin:24px 0 10px;font-size:14px;color:#899d8d}.zg-feedback.gentle{color:#b18b60}.zg-next{display:block;margin:20px auto 0;min-width:180px}.zg-question-card{max-width:650px;border:1px solid #e9e3ef;background:#fff;border-radius:23px;margin:0 auto;padding:28px 35px 30px}.zg-question-number{font-size:12px;color:#a392b9;letter-spacing:1px}.zg-sentence{font-size:25px;line-height:1.9;margin:24px 0 30px;color:#4c425c;text-align:center;overflow-wrap:anywhere}.zg-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.zg-option{display:flex;align-items:center;gap:15px;min-height:69px;padding:12px 18px;border:1px solid #e8e1ef;background:#fcfaff;border-radius:13px;font:inherit;cursor:pointer;color:#635171;text-align:left}.zg-option-letter{border-radius:8px;background:#f0eaf7;color:#ad99c3;font-size:12px;width:26px;height:26px;display:grid;place-items:center}.zg-option strong{font-size:22px;font-weight:500;flex:1}.zg-option:hover:not(:disabled){border-color:#a688c8;background:#f4eefc}.zg-option.correct{background:#edf7ef;border-color:#bbd9c5;color:#64886d}.zg-option.incorrect{background:#fff6ed;border-color:#e5ceb5;color:#ad8d69}.zg-option:disabled{cursor:default}.zg-skip{display:block;margin:26px auto 0;padding:10px;color:#aaa0b3;border:0;background:transparent;font:inherit;font-size:12px;cursor:pointer}.zg-answer-panel{margin:20px 0 0;border-radius:12px;background:#f7f5fa;padding:18px 20px;font-size:13px;color:#8c8098}.zg-answer-panel strong{font-size:13px;color:#7d6d8e}.zg-answer-panel p{font-size:16px;color:#5d526a;line-height:1.7;margin:8px 0}.zg-answer-panel span{font-size:12px}.zg-result{max-width:620px;text-align:center;margin:0 auto;padding:10px 0 0}.zg-result-art{display:flex;justify-content:center;align-items:center;gap:28px;margin:0 auto 20px}.zg-result-art>span{font-size:30px;color:#d3bc6e}.zg-result-art>strong{width:82px;height:82px;border-radius:50%;background:#e3f1e7;display:grid;place-items:center;font-size:38px;color:#77a084;box-shadow:0 0 0 10px #eef6f1}.zg-result h2{font-size:25px;margin:28px 0 10px}.zg-result>p{font-size:13px;color:#9b92a3;line-height:1.7}.zg-result-stats{display:grid;grid-template-columns:1fr 1fr 1fr;margin:28px 0;border:1px solid #e7e0ee;border-radius:18px;background:white;padding:23px 10px}.zg-result-stats>div{display:flex;flex-direction:column;gap:9px;align-items:center}.zg-result-stats>div+div{border-left:1px solid #eee9f3}.zg-result-stats strong{font-size:31px;color:#80649f;font-weight:500}.zg-result-stats small{font-size:15px;color:#b6a9c3}.zg-result-stats span{font-size:11px;color:#9b92a3}.zg-result-stats .zg-time-result{font-size:19px;line-height:37px}.zg-review-box{text-align:left;border:1px solid #e6dfed;border-radius:16px;background:#faf8fd;padding:20px 24px}.zg-review-box h3{font-size:13px;color:#80718f;margin:0 0 13px;font-weight:500}.zg-review-box>div{display:flex;flex-wrap:wrap;gap:8px}.zg-review-box span{display:inline-block;background:white;padding:8px 14px;border:1px solid #eae1f1;border-radius:8px;font-size:18px;color:#8c75a3}.zg-review-box p{font-size:13px;color:#9e94a7;margin:0}.zg-result-actions{display:flex;gap:14px;justify-content:center;margin-top:24px}.zg-audio-status{min-height:20px;font-size:12px;color:#9b8ca9;text-align:center;line-height:1.8;margin:15px auto 0}.zg-shell button:focus-visible{outline:3px solid #b49acb;outline-offset:4px}.zg-shell button{-webkit-tap-highlight-color:transparent}.zg-shell *{box-sizing:border-box}@media(min-width:1400px){.zg-shell{padding-top:35px}}@media(max-width:600px){.zg-shell{padding:16px 14px 24px;min-height:0}.zg-intro-title{margin:26px 0 20px}.zg-intro-title h1{font-size:23px}.zg-start-card{padding:25px 23px;border-radius:20px}.zg-match-board{gap:22px}.zg-match-tile{min-height:67px;padding:9px}.zg-match-tile.word{font-size:26px}.zg-match-tile.sound{font-size:17px}.zg-flashcard{min-height:285px}.zg-card-word{font-size:70px}.zg-primary,.zg-secondary{padding:12px 15px;font-size:13px}.zg-question-card{padding:23px 18px}.zg-sentence{font-size:22px;line-height:1.8}.zg-options{gap:10px}.zg-option{padding:12px;gap:10px}.zg-option strong{font-size:21px}.zg-option-letter{width:21px;height:21px;font-size:10px}.zg-result-stats{padding:20px 6px}.zg-result-stats strong{font-size:27px}.zg-result-stats .zg-time-result{font-size:15px;line-height:33px}.zg-result h2{font-size:23px}.zg-back{font-size:12px!important}.zg-review-box{padding:18px}.zg-result-actions{gap:10px}}@media(prefers-reduced-motion:reduce){.zg-shell *{transition:none!important}}
.zg-sound-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;margin:14px auto}.zg-sound-row .zg-sound{margin:0}.zg-sound-settings{font-size:11px;color:#9b91a6;text-decoration:underline;text-underline-offset:4px}

/* The stable mount node enters fullscreen; card redraws replace its children. */
.zg-top .zg-icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto;min-width:84px;flex-shrink:0;padding:8px 12px;background:#fff;font-size:20px!important;line-height:1}
.zg-fullscreen-label{font-size:12px;white-space:nowrap}
.zg-fullscreen-host:fullscreen{box-sizing:border-box;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;background:#f8f6fc;color:#283047;overflow:auto;overscroll-behavior:contain;color-scheme:light}
.zg-fullscreen-host::backdrop{background:#f8f6fc}
.zg-fullscreen-host:fullscreen>.zg-shell{box-sizing:border-box;width:100%;max-width:1120px;min-height:100%;margin:0 auto;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}
.zg-fullscreen-host:fullscreen .zg-intro-title{margin:clamp(18px,3vh,32px) 0 22px}
.zg-fullscreen-host:fullscreen .zg-flash-wrap{max-width:540px}
.zg-fullscreen-host:fullscreen .zg-flashcard{min-height:clamp(220px,38vh,360px)}
.zg-fullscreen-host:fullscreen .zg-card-word{font-size:clamp(76px,10vmin,112px);line-height:1.25;overflow-wrap:anywhere}
.zg-fullscreen-host:fullscreen .zg-primary:disabled,.zg-fullscreen-host:fullscreen .zg-secondary:disabled{opacity:1;background:#eae6f0;color:#81758e;border-color:#ded5e7;box-shadow:none}
@media(max-height:800px){
 .zg-fullscreen-host:fullscreen>.zg-shell{padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom))}
 .zg-fullscreen-host:fullscreen .zg-intro-title{margin:16px 0}
 .zg-fullscreen-host:fullscreen .zg-intro-title h1{font-size:25px}
 .zg-fullscreen-host:fullscreen .zg-progress{margin-bottom:18px}
 .zg-fullscreen-host:fullscreen .zg-flashcard{min-height:220px;padding:22px}
 .zg-fullscreen-host:fullscreen .zg-card-word{font-size:clamp(64px,11vh,88px);margin:6px 0}
 .zg-fullscreen-host:fullscreen .zg-sound-row{margin:10px auto}
 .zg-fullscreen-host:fullscreen .zg-note{margin-top:12px}
}
@media(max-width:600px){.zg-fullscreen-host:fullscreen>.zg-shell{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.zg-top{gap:10px}.zg-mode{font-size:12px}.zg-top .zg-icon-button{min-width:72px;padding:8px}}
