/* Practice follows the selected mobile concept; content remains real controls. */
body[data-experience="duo"] .duo-practice-hub,
body[data-experience="duo"] .duo-practice-words{width:100%;max-width:600px;margin:0 auto;flex:1;min-height:0;overflow-y:auto;padding:14px 20px 28px;color:#3c3c3c;scrollbar-width:thin}
body[data-experience="duo"] .duo-practice-hub h1{font-size:30px;line-height:1.2;margin:0 0 16px}
body[data-experience="duo"] .duo-practice-hub h2{font-size:20px;line-height:1.25;margin:25px 0 13px}
body[data-experience="duo"] .duo-practice-feature{position:relative;background:#d8b3ff;border-radius:16px;min-height:143px;overflow:hidden;display:flex;align-items:center;margin-bottom:14px;padding:15px 18px}
body[data-experience="duo"] .duo-practice-feature>div{position:relative;z-index:1;width:66%}
body[data-experience="duo"] .duo-practice-feature p{font-size:17px;font-weight:900;line-height:1.25;margin:0 0 13px;max-width:225px;color:#302b3a}
body[data-experience="duo"] .duo-practice-feature .button{background:white;border:0;border-bottom:4px solid #e5d5f5;min-height:46px;padding:9px 24px;color:#1899d6;font-weight:1000;box-shadow:none}
body[data-experience="duo"] .duo-practice-feature>.mascot,
body[data-experience="duo"] .duo-practice-feature>img,
body[data-experience="duo"] .duo-practice-feature>[class*="tiko"]{position:absolute;right:-8px;bottom:-9px;width:142px;height:155px;object-fit:contain;pointer-events:none}
body[data-experience="duo"] .duo-practice-feature img{object-fit:contain}
body[data-experience="duo"] .duo-practice-list{display:grid;gap:9px}
body[data-experience="duo"] .duo-practice-row{width:100%;min-height:64px;display:flex;gap:16px;align-items:center;text-align:left;padding:9px 13px;background:#fff;border:2px solid #e5e5e5;border-bottom-width:3px;border-radius:13px;color:#3c3c3c;font-size:17px;font-weight:900;box-shadow:none}
body[data-experience="duo"] .duo-practice-row:active{transform:translateY(1px);border-bottom-width:2px}
body[data-experience="duo"] .duo-practice-row>span:nth-child(2){flex:1;min-width:0}
body[data-experience="duo"] .duo-practice-row small{display:block;font-size:12px;line-height:1.4;font-weight:700;color:#777;margin-top:3px}
body[data-experience="duo"] .duo-practice-chevron{font-size:28px;font-weight:700;color:#777}
body[data-experience="duo"] .duo-practice-glyph{width:40px;height:42px;flex:none;display:grid;place-items:center;border-radius:11px;background:var(--practice-bg,#e1f6ff);color:var(--practice-color,#1cb0f6)}
body[data-experience="duo"] .duo-practice-glyph>.icon{width:31px;height:31px}
body[data-experience="duo"] .practice-color-flashcards{--practice-bg:#def5ff;--practice-color:#1cb0f6}
body[data-experience="duo"] .practice-color-match{--practice-bg:#fff2d2;--practice-color:#ff9600}
body[data-experience="duo"] .practice-color-listen{--practice-bg:#ffe5e8;--practice-color:#ff4b4b}
body[data-experience="duo"] .practice-color-build{--practice-bg:#d9f7ec;--practice-color:#00b999}
body[data-experience="duo"] .practice-color-read{--practice-bg:#f2e5ff;--practice-color:#a568cc}
body[data-experience="duo"] .practice-color-speak{--practice-bg:#dcf7ef;--practice-color:#00b999}
body[data-experience="duo"] .practice-color-type{--practice-bg:#e4f5d3;--practice-color:#58a700}
body[data-experience="duo"] .practice-color-sprint{--practice-bg:#fff5cb;--practice-color:#dc9500}
body[data-experience="duo"] .practice-color-memory{--practice-bg:#f2e5ff;--practice-color:#a568cc}
body[data-experience="duo"] .duo-practice-note{font-size:13px;line-height:1.5;color:#777;font-weight:700;margin:18px 0 0}
body[data-experience="duo"] .duo-practice-reviews .review-card{margin:9px 0}
body[data-experience="duo"] .duo-practice-hub>.duo-practice-row{margin-top:10px}
body[data-experience="duo"] .duo-practice-intro,
body[data-experience="duo"] .duo-practice-result,
body[data-experience="duo"] .duo-practice-session{display:flex;flex-direction:column;width:100%;max-width:600px;flex:1;min-height:0;margin:0 auto;background:white}
body[data-experience="duo"] .duo-practice-intro{padding:12px 20px 20px}
body[data-experience="duo"] .practice-back{align-self:flex-start;flex:none}
body[data-experience="duo"] .practice-back .icon{transform:rotate(180deg)}
body[data-experience="duo"] .duo-practice-intro-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 0}
body[data-experience="duo"] .duo-practice-intro-copy{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;justify-content:center;text-align:center;gap:20px;padding:25px 0}
body[data-experience="duo"] .duo-practice-intro-copy h1{line-height:1.25}
body[data-experience="duo"] .duo-practice-intro-copy p{font-size:17px;line-height:1.5;color:#777;max-width:360px;align-self:center}
body[data-experience="duo"] .duo-practice-intro-mark{width:100px;height:100px;border-radius:26px;display:grid;place-items:center;background:var(--practice-bg);color:var(--practice-color);margin:0 0 20px}
body[data-experience="duo"] .duo-practice-intro-mark .icon{width:58px;height:58px}
body[data-experience="duo"] .duo-practice-intro h1{font-size:29px;margin:0 0 16px}
body[data-experience="duo"] .duo-practice-intro-body>p{max-width:370px;font-size:17px;line-height:1.5;margin:0 0 15px}
body[data-experience="duo"] .duo-practice-intro-body>.duo-practice-note,
body[data-experience="duo"] .duo-practice-intro-body>.duo-practice-starter{font-size:13px;color:#777}
body[data-experience="duo"] .duo-practice-actions{display:grid;gap:10px;flex:none;width:100%}
body[data-experience="duo"] .duo-practice-actions.has-two{grid-template-columns:minmax(84px,.65fr) minmax(0,1.35fr)}
body[data-experience="duo"] .duo-practice-actions .button{width:100%;min-height:52px;font-size:15px;font-weight:1000;letter-spacing:.01em;border-radius:13px;box-shadow:none}
body[data-experience="duo"] .duo-practice-actions .primary{background:#58cc02;border:0;border-bottom:4px solid #46a302;color:white}
body[data-experience="duo"] .duo-practice-actions .secondary{background:white;border:2px solid #e5e5e5;border-bottom:4px solid #d5d5d5;color:#777}
body[data-experience="duo"] .duo-practice-actions .button:disabled{background:#e5e5e5;border-color:#e5e5e5;color:#aaa;opacity:1;cursor:default}
body[data-experience="duo"] .duo-practice-top{display:flex;align-items:center;gap:14px;padding:14px 17px 10px;flex:none;min-height:68px}
body[data-experience="duo"] .duo-practice-top>.icon-button{width:36px;height:42px;min-width:36px;min-height:42px;padding:4px;background:none;border:0;box-shadow:none;color:#777}
body[data-experience="duo"] .duo-practice-progress{height:16px;flex:1;border-radius:12px;background:#e5e5e5;overflow:hidden}
body[data-experience="duo"] .duo-practice-progress>span{height:100%;display:block;background:#ffad00;border-radius:12px;min-width:0;box-shadow:inset 0 4px #ffc12b}
body[data-experience="duo"] .duo-practice-counter{flex:none;color:#777;font-size:14px;white-space:nowrap}
body[data-experience="duo"] .duo-practice-timer{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:0 20px 8px;color:#b47300;font-size:16px;font-variant-numeric:tabular-nums}
body[data-experience="duo"] .duo-practice-timer .text-button{min-height:36px;padding:5px}
body[data-experience="duo"] .duo-practice-scroll{flex:1;min-height:0;overflow-y:auto;padding:18px 20px 20px;scrollbar-width:thin}
body[data-experience="duo"] .duo-practice-scroll h1{font-size:25px;line-height:1.25;margin:0 0 25px;font-weight:1000;color:#3c3c3c}
body[data-experience="duo"] .duo-practice-retry-label{font-size:12px;font-weight:1000;text-transform:uppercase;color:#a568cc;letter-spacing:.06em;margin:-12px 0 15px}
body[data-experience="duo"] .duo-flashcard{min-height:280px;height:min(37vh,330px);border:2px solid #dfdfe5;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px 15px;margin:8px 0 23px;gap:18px;box-shadow:0 3px #f5f5f5}
body[data-experience="duo"] .duo-flashcard>strong{font-size:34px;line-height:1.25;overflow-wrap:anywhere;font-weight:1000}
body[data-experience="duo"] .duo-flashcard-meaning{font-size:20px;color:#777;line-height:1.4;margin:0}
body[data-experience="duo"] .duo-practice-session .audio-button{min-width:110px;min-height:48px;border:2px solid #e5e5e5;border-bottom-width:3px;border-radius:13px;padding:9px 15px;background:white;color:#3c3c3c;font-size:16px;box-shadow:none}
body[data-experience="duo"] .duo-practice-session .audio-button>.icon{color:#1cb0f6}
body[data-experience="duo"] .duo-reveal-action .button{background:#1cb0f6;border:0;border-bottom:4px solid #1899d6;color:white;min-height:54px;border-radius:13px;font-weight:1000;width:100%;box-shadow:none}
body[data-experience="duo"] .duo-practice-footer{flex:none;padding:16px 20px 22px;background:#fff;border-top:2px solid transparent}
body[data-experience="duo"] .duo-practice-footer.is-correct{background:#d7ffb8;border-color:#d7ffb8;color:#58a700}
body[data-experience="duo"] .duo-practice-footer.is-retry{background:#fff0dd;border-color:#fff0dd;color:#a46a16}
body[data-experience="duo"] .duo-practice-feedback h2{display:flex;align-items:center;gap:9px;font-size:21px;margin:0 0 9px;color:inherit}
body[data-experience="duo"] .duo-practice-feedback h2>.icon{width:28px;height:28px}
body[data-experience="duo"] .duo-practice-feedback p{font-size:15px;line-height:1.4;margin:0 0 15px;color:inherit}
body[data-experience="duo"] .duo-practice-footer .duo-practice-note{margin:0;text-align:center}
body[data-experience="duo"] .duo-practice-choices{display:grid;gap:12px;margin:16px 0}
body[data-experience="duo"] .duo-practice-choice{min-height:62px;border:2px solid #e5e5e5;border-bottom:4px solid #ddd;border-radius:14px;padding:12px 16px;font-size:18px;font-weight:800;color:#3c3c3c;text-align:left;background:white;display:flex;align-items:center;justify-content:space-between;gap:8px;box-shadow:none}
body[data-experience="duo"] .duo-practice-choice.is-selected{background:#ddf4ff;border-color:#84d8ff;color:#1899d6}
body[data-experience="duo"] .duo-practice-choice.is-correct{background:#d7ffb8;border-color:#a5d86e;color:#58a700}
body[data-experience="duo"] .duo-practice-choice.is-wrong{background:#ffdfdf;border-color:#ffaaa8;color:#ea3b3b}
body[data-experience="duo"] .duo-practice-choice:disabled{opacity:1}
body[data-experience="duo"] .duo-practice-pairs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px;margin-top:20px}
body[data-experience="duo"] .duo-practice-pair-column{display:grid;gap:14px}
body[data-experience="duo"] .duo-practice-pair{height:auto;min-height:60px;padding:10px 6px;border:2px solid #e5e5e5;border-bottom:4px solid #ddd;border-radius:13px;font-size:16px;font-weight:800;line-height:1.3;background:white;color:#3c3c3c;box-shadow:none;overflow-wrap:anywhere}
body[data-experience="duo"] .duo-practice-pair.is-selected{background:#ddf4ff;border-color:#84d8ff;color:#1899d6}
body[data-experience="duo"] .duo-practice-pair.is-matched{background:#edf9e2;border-color:#d3e9be;color:#82a463;opacity:.6}
body[data-experience="duo"] .duo-practice-memory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
body[data-experience="duo"] .duo-memory-card{min-height:93px;border:2px solid #bce1f5;border-bottom:4px solid #8dc9e9;border-radius:14px;background:#ddf4ff;color:#1899d6;box-shadow:none;padding:7px;font-size:15px;line-height:1.3;font-weight:900;overflow-wrap:anywhere}
body[data-experience="duo"] .duo-memory-card>.icon{width:30px;height:30px}
body[data-experience="duo"] .duo-memory-card.is-revealed{background:white;color:#3c3c3c;border-color:#e5e5e5}
body[data-experience="duo"] .duo-memory-card.is-matched{background:#d7ffb8;border-color:#a5d86e;color:#58a700;opacity:.75}
body[data-experience="duo"] .duo-typed-prompt{font-size:27px;font-weight:900;padding:20px 0 30px;line-height:1.4;text-align:center}
body[data-experience="duo"] .duo-practice-input{display:block;resize:vertical;min-height:150px;max-height:240px;width:100%;padding:16px;border:2px solid #e5e5e5;border-radius:14px;background:#f7f7f7;font:700 18px/1.5 Nunito,sans-serif;color:#3c3c3c;box-shadow:none}
body[data-experience="duo"] .duo-practice-input:focus{outline:3px solid #b8e9ff;outline-offset:2px;border-color:#1cb0f6}
body[data-experience="duo"] .duo-practice-translation{font-size:20px;line-height:1.4;margin:10px 0 22px}
body[data-experience="duo"] .duo-practice-built{display:flex;flex-wrap:wrap;gap:8px;min-height:110px;border-bottom:2px solid #e5e5e5;padding:14px 0;margin-bottom:25px;align-content:flex-start}
body[data-experience="duo"] .duo-practice-built>span{color:#aaa;font-size:15px}
body[data-experience="duo"] .duo-practice-tokens{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:15px 0}
body[data-experience="duo"] .duo-word-token{background:white;border:2px solid #e5e5e5;border-bottom:4px solid #ddd;border-radius:11px;padding:10px 13px;min-height:48px;font-size:17px;line-height:1.25;color:#3c3c3c;box-shadow:none}
body[data-experience="duo"] .duo-word-token.is-used{opacity:.25;visibility:hidden}
body[data-experience="duo"] .duo-listen-prompt{display:flex;flex-direction:column;align-items:center;gap:18px;padding:12px 0 20px;text-align:center}
body[data-experience="duo"] .duo-listen-prompt>.audio-button{min-width:140px;min-height:80px;background:#1cb0f6;border-color:#1899d6;color:white;font-size:20px}
body[data-experience="duo"] .duo-listen-prompt>.audio-button>.icon{color:white;width:35px;height:35px}
body[data-experience="duo"] .duo-listen-prompt>p{font-size:14px;color:#777;margin:0}
body[data-experience="duo"] .duo-speak-card{display:flex;align-items:center;flex-direction:column;text-align:center;gap:17px;padding:12px 15px 25px}
body[data-experience="duo"] .duo-speak-icon{width:100px;height:100px;background:#ddf7ed;border-radius:50%;display:grid;place-items:center}
body[data-experience="duo"] .duo-speak-icon>.icon{width:60px;height:60px}
body[data-experience="duo"] .duo-speak-card>strong{font-size:28px;line-height:1.4}
body[data-experience="duo"] .duo-speak-card>p{font-size:18px;color:#777;line-height:1.5;margin:0}
body[data-experience="duo"] .duo-practice-paused{display:flex;flex-direction:column;align-items:center;text-align:center;padding:45px 0;gap:22px}
body[data-experience="duo"] .duo-practice-paused>.icon{width:70px;height:70px}
body[data-experience="duo"] .duo-practice-paused h2{font-size:28px}
body[data-experience="duo"] .duo-practice-paused p{font-size:17px;line-height:1.5}
body[data-experience="duo"] .duo-practice-result{padding:20px}
body[data-experience="duo"] .duo-practice-result-content{flex:1;min-height:0;overflow-y:auto;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:20px 0}
body[data-experience="duo"] .duo-practice-result-content>img,
body[data-experience="duo"] .duo-practice-result-content>.mascot,
body[data-experience="duo"] .duo-practice-result-content>[class*="tiko"]{width:190px;height:185px;object-fit:contain;flex:none}
body[data-experience="duo"] .duo-practice-result h1{font-size:29px;line-height:1.2;margin:0}
body[data-experience="duo"] .duo-practice-result-content>p{font-size:16px;line-height:1.4;margin:0;color:#777;max-width:340px}
body[data-experience="duo"] .duo-practice-result-icon>.icon{width:100px;height:100px}
body[data-experience="duo"] .duo-practice-result-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:12px;margin:6px 0}
body[data-experience="duo"] .duo-practice-result-stats>div{display:flex;flex-direction:column;gap:10px;border:2px solid #e5e5e5;border-radius:14px;padding:20px 10px}
body[data-experience="duo"] .duo-practice-result-stats strong{font-size:27px;color:#58a700}
body[data-experience="duo"] .duo-practice-result-stats span{font-size:14px;color:#777}
body[data-experience="duo"] .duo-practice-words-heading{display:flex;gap:10px;align-items:center;margin-bottom:15px}
body[data-experience="duo"] .duo-practice-words h1{font-size:26px;line-height:1.2}
body[data-experience="duo"] .duo-practice-words>.duo-practice-note{margin-bottom:20px}
body[data-experience="duo"] .duo-practice-words>.button{width:100%;margin-bottom:20px}
body[data-experience="duo"] .duo-practice-word-list{border:2px solid #e5e5e5;border-radius:14px;overflow:hidden}
body[data-experience="duo"] .duo-practice-word-list article{display:flex;justify-content:space-between;align-items:center;padding:15px;gap:12px;border-bottom:2px solid #e5e5e5}
body[data-experience="duo"] .duo-practice-word-list article:last-child{border-bottom:0}
body[data-experience="duo"] .duo-practice-word-list article>div{min-width:0;flex:1}
body[data-experience="duo"] .duo-practice-word-list strong{display:block;font-size:18px;line-height:1.3;overflow-wrap:anywhere}
body[data-experience="duo"] .duo-practice-word-list article span{display:block;font-size:14px;color:#777;line-height:1.4;margin-top:4px}
body[data-experience="duo"] .duo-practice-word-list .audio-button{flex:none;border:0;box-shadow:none;background:none;min-width:44px;min-height:44px;padding:6px;color:#1cb0f6}
body[data-experience="duo"] .duo-practice-word-list .audio-button>span:not(.icon){display:none}
@media(max-width:360px){
 body[data-experience="duo"] .duo-practice-hub,body[data-experience="duo"] .duo-practice-words{padding:10px 14px 20px}
 body[data-experience="duo"] .duo-practice-feature{padding:14px;min-height:130px}
 body[data-experience="duo"] .duo-practice-feature p{font-size:15px}
 body[data-experience="duo"] .duo-practice-feature>.mascot,body[data-experience="duo"] .duo-practice-feature>img,body[data-experience="duo"] .duo-practice-feature>[class*="tiko"]{width:122px;height:140px;right:-12px}
 body[data-experience="duo"] .duo-practice-row{font-size:16px;gap:12px;min-height:61px;padding:8px 11px}
 body[data-experience="duo"] .duo-practice-scroll{padding:14px 15px}
 body[data-experience="duo"] .duo-practice-scroll h1{font-size:23px;margin-bottom:22px}
 body[data-experience="duo"] .duo-practice-footer{padding:13px 15px 17px}
 body[data-experience="duo"] .duo-practice-actions .button{font-size:13px;padding:11px 8px}
 body[data-experience="duo"] .duo-flashcard{min-height:220px;height:32vh}
 body[data-experience="duo"] .duo-flashcard>strong{font-size:28px}
 body[data-experience="duo"] .duo-practice-pairs{gap:10px;margin-top:10px}
 body[data-experience="duo"] .duo-practice-pair-column{gap:10px}
 body[data-experience="duo"] .duo-practice-pair{font-size:15px;min-height:54px}
 body[data-experience="duo"] .duo-practice-memory{gap:8px}
 body[data-experience="duo"] .duo-memory-card{font-size:14px;min-height:82px}
}
@media(max-height:700px){
 body[data-experience="duo"] .duo-practice-scroll{padding-top:8px}
 body[data-experience="duo"] .duo-practice-top{min-height:58px;padding-top:9px}
 body[data-experience="duo"] .duo-practice-scroll h1{margin-bottom:17px}
 body[data-experience="duo"] .duo-flashcard{min-height:205px;height:32vh;margin:0 0 18px;padding:16px}
 body[data-experience="duo"] .duo-practice-footer{padding-top:12px;padding-bottom:15px}
 body[data-experience="duo"] .duo-practice-intro-mark{width:80px;height:80px;margin-bottom:15px}
 body[data-experience="duo"] .duo-practice-intro-body{justify-content:flex-start;padding-top:20px}
 body[data-experience="duo"] .duo-practice-result-content{justify-content:flex-start;padding-top:10px}
 body[data-experience="duo"] .duo-practice-result-content>img,body[data-experience="duo"] .duo-practice-result-content>.mascot,body[data-experience="duo"] .duo-practice-result-content>[class*="tiko"]{width:150px;height:140px}
}
@media(prefers-reduced-motion:reduce){body[data-experience="duo"] .duo-practice-row:active{transform:none}}

/* The feature uses the full mascot bounds rather than the default wide scene. */
body[data-experience="duo"] .duo-practice-feature .scene-stage{width:100%;height:100%}

body[data-experience="duo"] .duo-practice-keyboard{display:flex;gap:8px;margin-top:14px}body[data-experience="duo"] .duo-practice-keyboard .button{min-width:48px;min-height:46px;padding:8px;font-size:19px;text-transform:none}

body[data-experience="duo"] .duo-practice-result-content>.mascot .scene-stage{width:100%;height:100%}
body[data-experience="duo"] .duo-practice-memory{grid-template-columns:repeat(var(--memory-columns,3),minmax(0,1fr))}
