.tonguing-game *{box-sizing:border-box}.tonguing-game{color-scheme:dark}.tonguing-game{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;background:#0b1724;color:#f3f0e8;line-height:1.5;background-image:radial-gradient(ellipse at 15% 0,#31546d77,transparent 50%),radial-gradient(ellipse at 90% 30%,#51402455,transparent 50%)}.tonguing-game button,.tonguing-game input{font:inherit}.tonguing-game button,.tonguing-game a,.tonguing-game input{touch-action:manipulation}.tonguing-game button{cursor:pointer;border:1px solid #5c728555;color:#f3f0e8;background:#263c4f;border-radius:11px;padding:12px 16px;min-height:46px;font-size:13px;font-weight:700}.tonguing-game button:hover:not(:disabled){filter:brightness(1.15)}.tonguing-game button:disabled{opacity:.4;cursor:default}.tonguing-game button:focus-visible,.tonguing-game a:focus-visible,.tonguing-game input:focus-visible,.tonguing-game summary:focus-visible{outline:3px solid #ffc66f;outline-offset:3px}.tonguing-game a{color:#e2b86b}.tonguing-game .tongue-app{width:min(100%,640px);margin:auto;padding:22px 22px calc(35px + env(safe-area-inset-bottom))}.tonguing-game header{display:flex;justify-content:space-between;align-items:center;gap:12px}.tonguing-game header a{font-size:12px;text-decoration:none}.tonguing-game header>span{font-size:8px;letter-spacing:.14em;opacity:.6}.tonguing-game .tongue-title{position:relative;padding:44px 8px 35px;text-align:center}.tonguing-game .eyebrow{font-size:10px;font-weight:800;letter-spacing:.2em;color:#e2b86b}.tonguing-game h1{font-size:clamp(70px,18vw,110px);letter-spacing:-.07em;line-height:1.05;margin:18px 0 12px}.tonguing-game h1 i{font-style:normal;color:#dfab54;font-size:.55em;vertical-align:middle}.tonguing-game h2{font-size:24px;letter-spacing:-.03em;margin:4px 0 12px}.tonguing-game .tongue-title>p:last-child{font-size:14px;opacity:.7}.tonguing-game .title-notes{position:absolute;right:4px;top:40px;color:#e2b86b55;font-size:40px;transform:rotate(12deg)}.tonguing-game .mic-card,.tonguing-game .stage{border:1px solid #52677b66;border-radius:20px;background:linear-gradient(120deg,#22384b,#182b3c);box-shadow:0 10px 35px #0002;padding:22px;margin-bottom:22px}.tonguing-game .mic-heading{display:flex;align-items:center;gap:9px}.tonguing-game .mic-heading strong{font-size:12px;flex:1}.tonguing-game .mic-heading button{padding:9px 12px;font-size:11px}.tonguing-game .mic-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#647687}.tonguing-game .mic-dot.on{background:#81d0aa;box-shadow:0 0 12px #81d0aa66}.tonguing-game .mic-meter,.tonguing-game .track{height:7px;border-radius:9px;background:#0e1d2a;overflow:hidden;margin:18px 0 12px}.tonguing-game .mic-meter i,.tonguing-game .track i{display:block;width:0;height:100%;background:linear-gradient(90deg,#6dbda4,#edba68);transition:width .07s}.tonguing-game .mic-card p,.tonguing-game .stage p{font-size:13px;color:#bccbd7;line-height:1.65}.tonguing-game .calibration-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin:20px 0 12px}.tonguing-game .calibration-actions button{font-size:10px;padding:10px 7px}.tonguing-game .test-badges{display:flex;justify-content:space-between;font-size:10px;color:#8fcab4;margin:10px 0 20px}.tonguing-game details{border-top:1px solid #617b8d55;padding-top:14px;font-size:12px}.tonguing-game summary{cursor:pointer;min-height:35px}.tonguing-game label{display:flex;align-items:center;gap:10px;font-size:11px;margin-top:14px}.tonguing-game input[type=range]{min-width:0;flex:1;accent-color:#e0af61;min-height:35px}.tonguing-game output{min-width:48px;text-align:right;font-variant-numeric:tabular-nums}.tonguing-game #mic-error{color:#ffd4ab}.tonguing-game .stage{background:#f2eee3;color:#172b3b;border-color:#faf1db;padding:25px}.tonguing-game .stage-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;font-weight:800;color:#795a32;gap:15px;margin-bottom:20px}.tonguing-game .stage h2{font-size:27px}.tonguing-game .stage p{color:#5a6770}.tonguing-game .syllables{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:28px 0 12px}.tonguing-game .syllable{display:inline-flex;align-items:center;justify-content:center;min-width:45px;min-height:43px;border-radius:9px;background:#e0e5de;color:#215248;font-size:17px;font-weight:750;transition:transform .1s}.tonguing-game .syllable.ka{background:#e4d8c2;color:#855727}.tonguing-game .syllable.rest{background:transparent;border:1px dashed #aaa;color:#6a7279}.tonguing-game .syllable.active{outline:3px solid #244b63;transform:translateY(-4px)}.tonguing-game .pulse-display{text-align:center;padding:13px 0 0}.tonguing-game .pulse-display>div{margin:0 auto;width:105px;height:105px;border:2px solid #d0c8b6;border-radius:50%;display:grid;place-items:center;font-size:34px;font-weight:800;box-shadow:inset 0 0 0 7px #e9e4d6;transition:background .08s}.tonguing-game .pulse-display>div.hit{background:#9edbb8;border-color:#428965}.tonguing-game .pulse-display p{min-height:44px;max-width:400px;margin:14px auto}.tonguing-game .stage .track{background:#d6d2c6;height:5px;margin:20px 0}.tonguing-game .play-controls{display:flex;gap:8px}.tonguing-game .primary{background:#bb8436;color:#fff;border-color:#a16f28;flex:1}.tonguing-game .stage .secondary{background:#e3e2d9;color:#254155;border-color:#c5cccb}.tonguing-game .tempo-control{margin-top:20px;font-size:11px}.tonguing-game .small{font-size:11px!important}.tonguing-game .result{border-top:1px solid #cfc8b9;margin-top:24px;padding-top:24px;text-align:center}.tonguing-game .score-ring strong{font-size:55px;line-height:1;display:block;color:#28694c}.tonguing-game .score-ring small{font-size:18px}.tonguing-game .score-ring>span{font-size:9px;font-weight:800;letter-spacing:.18em;color:#52735b}.tonguing-game .result-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:25px 0}.tonguing-game .result-stats span{font-size:9px;color:#5a6770}.tonguing-game .result-stats strong{display:block;font-size:20px;color:#1e3547}.tonguing-game .journey{margin:32px 0}.tonguing-game .journey-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.tonguing-game .journey h2{font-size:20px}.tonguing-game .journey-title>span{font-size:11px;color:#bda886}.tonguing-game .lesson{width:100%;display:flex;align-items:center;text-align:left;gap:14px;margin:9px 0;padding:14px;background:#1c3042;border-radius:13px}.tonguing-game .lesson-num{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#0e202f;font-size:12px;color:#e5b770}.tonguing-game .lesson>span:nth-child(2){flex:1}.tonguing-game .lesson strong{font-size:13px;display:block}.tonguing-game .lesson small{font-size:10px;display:block;margin-top:5px;font-weight:400;opacity:.6}.tonguing-game .lesson>b{font-size:12px;color:#d0b581}.tonguing-game .lesson.selected{border-color:#d5a24a;background:#2e3d47}.tonguing-game .lesson.locked{opacity:.45}.tonguing-game footer{border-top:1px solid #53677855;margin-top:32px;padding-top:20px;color:#a2b4c3;font-size:11px;line-height:1.8}.tonguing-game footer p{margin-bottom:20px}.tonguing-game footer strong{color:#d4e0e9}.tonguing-game footer a{display:inline-block;min-height:44px}@media(max-width:380px){.tonguing-game .tongue-app{padding-inline:12px}.tonguing-game .mic-card,.tonguing-game .stage{padding:18px}.tonguing-game .play-controls button{padding:10px;font-size:11px}.tonguing-game .calibration-actions button{font-size:9px}.tonguing-game .stage h2{font-size:24px}}@media(prefers-reduced-motion:reduce){.tonguing-game *{transition:none!important;animation:none!important}}

body.tonguing-page{margin:0;background:#0b1724}.tonguing-game{width:100%;border-radius:0 0 14px 14px}.tonguing-game header button{font-size:11px;padding:8px 10px;background:transparent;color:#e2b86b;border-color:#e2b86b44}.tonguing-modal .modal-body{padding:0}.tonguing-modal .modal-head{background:#14273a;color:#f3f0e8}.tonguing-modal .modal-head button{color:#f3f0e8}.tonguing-game footer button{font-size:12px}.rehearsal-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}.rehearsal-choice{padding:20px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.rehearsal-choice h2{font-size:23px}.rehearsal-choice p{font-size:12px;line-height:1.6}.rehearsal-choice button{margin-top:auto;min-height:46px}.rehearsal-choice .rehearsal-mark{font-size:32px;font-weight:800;line-height:1.2;color:var(--gold)}.rehearsal-tonguing{background:#192e40;color:#f3eee2;border-color:#385168}.rehearsal-tonguing .eyebrow{color:#e0b975}.rehearsal-tonguing .primary{background:#d8a65b;color:#16293b}.rehearsal-tonguing small{color:#b7c6d1}.rehearsal-card-progress{font-size:11px;color:var(--muted)}@media(max-width:420px){.rehearsal-choices{grid-template-columns:1fr}.rehearsal-choice{gap:10px;padding:18px}.tonguing-game .tongue-app{padding:18px 14px}}

.tonguing-game h1,.tonguing-game h2,.tonguing-game h3{font-family:inherit}.tonguing-game .pulse-display p{margin-bottom:14px}

.tonguing-game .lesson-unit-label{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0 0 14px;color:#b7c6d1;font-weight:700}.tonguing-game .lesson-unit-label select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #52677b;border-radius:10px;background:#14293a;color:#f3eee2;font:inherit;font-size:13px}.tonguing-game select:focus-visible{outline:3px solid #ffc66f;outline-offset:3px}
