@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-400-normal-DYBYyMQr.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-DREgrEoJ.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-500-normal-CfdwVo8-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-ext-500-normal-h0Fp6aX0.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-500-normal-CK0UkkKf.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-500-normal-B6LVzGNe.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-500-normal-BJkVuMHw.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-Csr0PCuG.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-700-normal-By_5yT39.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-ext-700-normal-C8_gqRu2.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-700-normal-4Hjo2OtD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-700-normal-DlW1Zbsh.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-700-normal-C2EtzaOi.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Charis SIL;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/charis-sil-cyrillic-ext-400-normal-MoGX1eSK.woff2)format("woff2"),url(/assets/charis-sil-cyrillic-ext-400-normal-MCHmA64f.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Charis SIL;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/charis-sil-cyrillic-400-normal-CdnZqOBR.woff2)format("woff2"),url(/assets/charis-sil-cyrillic-400-normal-BXNxvJbU.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Charis SIL;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/charis-sil-vietnamese-400-normal-88Zuid3V.woff2)format("woff2"),url(/assets/charis-sil-vietnamese-400-normal-DVPOp1fy.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Charis SIL;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/charis-sil-latin-ext-400-normal-C4umB5xr.woff2)format("woff2"),url(/assets/charis-sil-latin-ext-400-normal-C4TQf3Zd.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Charis SIL;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/charis-sil-latin-400-normal-BoW7QV_k.woff2)format("woff2"),url(/assets/charis-sil-latin-400-normal-DK5SBUMy.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:"Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", "Noto Sans", "Noto Sans Arabic", "Noto Sans Thai", "PingFang SC", "Hiragino Sans", "Apple SD Gothic Neo", sans-serif;--font-ipa:"Charis SIL", "Doulos SIL", "Gentium Plus", "Noto Serif", "Times New Roman", serif;--bg:#0b0e14;--bg-2:#10141c;--surface:#161b26;--surface-2:#1c2230;--line:#2b3343;--line-soft:#212836;--text:#e9edf5;--muted:#98a2b6;--accent:#7d93ff;--accent-ink:#0a0f2e;--tongue:#ff7a8a;--air:#5cc8ff;--voiced:#ffc46b;--voiceless:#7fd6c2;--focus:#a9b8ff;--shadow:0 12px 32px #0006;--radius:12px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--press:.16s;--stage-bg:radial-gradient(120% 90% at 55% 40%, #1d2433 0%, #121722 55%, #0a0d13 100%);--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.6 9.5 3.6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root{--bg:#f5f7fb;--bg-2:#eef1f6;--surface:#fff;--surface-2:#f7f9fc;--line:#d4dbe7;--line-soft:#e3e8f0;--text:#0f1729;--muted:#55617a;--accent:#3651e8;--accent-ink:#fff;--tongue:#d23e57;--air:#1d8fd6;--voiced:#b86e00;--voiceless:#1b8a73;--focus:#3651e8;--shadow:0 12px 32px #0f17291a;--stage-bg:radial-gradient(120% 90% at 55% 40%, #283247 0%, #171d2b 60%, #0e121b 100%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button,select,label,input{touch-action:manipulation}h1,h2,.name{text-wrap:balance}p,li{text-wrap:pretty}::selection{background:color-mix(in srgb, var(--accent) 28%, transparent)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:.82rem}[lang=und-fonipa],.ipa,.ipa-big{font-family:var(--font-ipa)}.app{flex-direction:column;height:100dvh;display:flex}.topbar{padding:10px 18px;border-block-end:1px solid var(--line-soft);background:var(--bg);align-items:center;gap:16px;padding-block-start:max(10px, env(safe-area-inset-top));display:flex}.brand{color:var(--text);letter-spacing:-.02em;align-items:center;gap:9px;font-size:1.15rem;font-weight:700;text-decoration:none;display:inline-flex}.brand svg{width:30px;height:30px}.brand b{color:var(--accent);font-weight:700}.brand-bg{fill:#3651e8}.brand-tongue{fill:#fff}.brand-air{fill:#9fe3ff}.tagline{color:var(--muted);margin:0;font-size:.88rem}.topbar-actions{align-items:center;gap:8px;margin-inline-start:auto;display:flex}.seg{background:var(--surface);border:1px solid var(--line-soft);border-radius:11px;padding:3px;display:inline-flex}.seg button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:6px 12px;font-weight:500}.seg button[aria-pressed=true],.seg button[aria-checked=true]{background:var(--accent);color:var(--accent-ink)}.select{background:var(--surface);border:1px solid var(--line-soft);border-radius:11px;align-items:center;gap:6px;padding-inline:10px 4px;transition:border-color .15s;display:inline-flex;position:relative}.select svg,.icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;width:18px;height:18px}.select select{appearance:none;cursor:pointer;field-sizing:content;background:0 0;border:0;padding-block:7px;padding-inline:2px 26px}.select select:focus-visible,.chip-toggle input:focus-visible{outline:none}:is(.select:has(select:focus-visible),.chip-toggle:has(input:focus-visible)){outline:2px solid var(--focus);outline-offset:2px}.select:after{content:"";inset-inline-end:10px;background:var(--muted);width:12px;height:12px;-webkit-mask:var(--chevron) center / contain no-repeat;mask:var(--chevron) center / contain no-repeat;pointer-events:none;margin-top:-6px;position:absolute;top:50%}.icon-btn{background:var(--surface);border:1px solid var(--line-soft);border-radius:11px;place-items:center;width:38px;height:38px;display:inline-grid}.layout{flex:1;grid-template-columns:300px minmax(0,1fr) 380px;min-height:0;display:grid}.chart{border-inline-end:1px solid var(--line-soft);background:var(--bg-2);padding:14px;overflow-y:auto}.chart h2{color:var(--muted);margin:6px 4px 8px;font-size:.85rem;font-weight:600}.chart section+section{margin-block-start:14px}.grid{gap:6px;display:grid}.grid.vowels,.grid.diph,.grid.cons{grid-template-columns:repeat(4,1fr)}.tile{border:1px solid var(--line-soft);background:var(--surface);min-height:58px;transition:transform var(--press) var(--ease-out), border-color .15s ease, background-color .15s ease;border-radius:11px;justify-items:center;gap:0;padding:8px 2px 6px;display:grid;position:relative}.tile .ipa{font-size:1.35rem;line-height:1.1}.tile .kw{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding-inline:2px;font-size:.68rem;overflow:hidden}.tile.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.tile.selected .kw{color:inherit;opacity:.85}.tile .kw mark{background:color-mix(in srgb, var(--tongue) 24%, transparent);color:var(--text);border-radius:2px}.tile.selected .kw mark{background:color-mix(in srgb, var(--accent-ink) 22%, transparent);color:inherit}.accent-dot{background:var(--air);border-radius:50%;width:6px;height:6px;position:absolute;inset-block-start:5px;inset-inline-end:6px}.center{flex-direction:column;min-width:0;min-height:0;display:flex}.stage{background:var(--stage-bg);flex:1;min-height:320px;position:relative;overflow:hidden}.stage-canvas{touch-action:none;position:absolute;inset:0}.stage-canvas canvas{display:block}.label-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.leaders{width:100%;height:100%;position:absolute;inset:0}.leaders line{stroke:#eef2fab3;stroke-width:1.2px}.leaders circle{fill:#fff;stroke:#0b0e14;stroke-width:1px}.leaders line,.leaders circle,.label-chip{opacity:0}.label-chip{pointer-events:auto;white-space:nowrap;color:#e9edf5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b0e14db;border:1px solid #eef2fa47;border-radius:999px;padding:4px 11px;font-size:.8rem;position:absolute;top:0;left:0}.label-chip:not(.noted){pointer-events:none;color:#e9edf5b8;border-color:#eef2fa29}.label-chip.noted{cursor:pointer;font-weight:600}.label-chip.noted:hover,.label-chip.selected{color:#c9d3ff;border-color:#a9b8ff}.label-chip.selected{background:#3651e859}.label-note{color:#e9edf5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b0e14e6;border:1px solid #a9b8ff;border-radius:12px;width:min(380px,100% - 24px);padding:10px 36px 12px 14px;font-size:.88rem;line-height:1.45;position:absolute;inset-block-end:12px;inset-inline-start:12px}.label-note strong{color:#c9d3ff}.label-note p{margin:4px 0 0}.label-note .close{color:#e9edf5b3}.stage-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:absolute;inset-block-start:12px;inset-inline:12px}.stage-toolbar .seg{background:#0b0e14cc;border-color:#ffffff1f}.stage-toolbar .seg button{color:#c7d0e2}.stage-toolbar .seg button[aria-pressed=true]{color:#0a0f2e;background:#a9b8ff}.chip-toggle{--tone:#a9b8ff;color:#dfe6f3;cursor:pointer;background:#0b0e14cc;border:1px solid #ffffff1f;border-radius:11px;align-items:center;gap:7px;padding:6px 11px;font-size:.85rem;display:inline-flex}.chip-toggle input{appearance:none;cursor:pointer;background:0 0;border:1.5px solid #dfe6f380;border-radius:4px;flex:none;place-content:center;width:15px;height:15px;margin:0;transition:background-color .15s,border-color .15s;display:grid}.chip-toggle input:after{content:"";width:11px;height:11px;-webkit-mask:var(--check) center / contain no-repeat;mask:var(--check) center / contain no-repeat;opacity:0;transition:transform var(--press) var(--ease-out), opacity .12s ease;background:#0a0f2e;transform:scale(.4)}.chip-toggle.compare{--tone:#ffd166}.chip-toggle input:checked{background:var(--tone);border-color:var(--tone)}.chip-toggle input:checked:after{opacity:1;transform:scale(1)}.chip-toggle:has(input:checked){border-color:color-mix(in srgb, var(--tone) 40%, transparent)}.stage-readout{font-variant-numeric:tabular-nums;color:#e6ecf6e6;pointer-events:none;background:#0c121e99;border-radius:6px;margin:0;padding:4px 8px;font-size:.8rem;position:absolute;inset-block-end:28px;inset-inline-end:12px}.stage-hint{text-align:center;color:#dce4f299;pointer-events:none;margin:0;font-size:.75rem;position:absolute;inset-block-end:8px;inset-inline:0}.under-stage{border-block-start:1px solid var(--line-soft);background:var(--bg);padding:12px 16px 14px}.transport{align-items:center;gap:10px;display:flex}.transport-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-block-end:8px;display:flex}.modes{flex-wrap:wrap;gap:8px;margin-inline-start:auto;display:flex}.clip-word{color:var(--muted);margin:0;font-size:.9rem}.clip-word span{color:var(--text);font-weight:600}.clip-word mark{background:color-mix(in srgb, var(--tongue) 24%, transparent);color:inherit;border-radius:3px;padding-inline:1px}.play{background:var(--accent);width:54px;height:54px;color:var(--accent-ink);box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 40%, transparent);transition:transform var(--press) var(--ease-out);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.play:active{transform:scale(.96)}.play svg{fill:currentColor;width:24px;height:24px}.timeline{flex:1;align-items:center;height:36px;display:flex;position:relative}.timeline .segments{background:var(--surface);border-radius:6px;position:absolute;inset-block:13px;inset-inline:0}.timeline .segments span{background:color-mix(in srgb, var(--air) 45%, transparent);border-inline:1px solid var(--bg);transition:opacity .16s var(--ease-out);border-radius:4px;position:absolute;inset-block:0}.timeline .segments span.target{background:color-mix(in srgb, var(--tongue) 80%, transparent)}.timeline .segments span.outside{opacity:.3}.timeline .segments span.focus-window{border:1.5px solid var(--text);opacity:.85;background:0 0;border-radius:7px;inset-block:-5px}.timeline input[type=range]{appearance:none;background:0 0;width:100%;margin:0;position:relative}.timeline input::-webkit-slider-runnable-track{background:0 0;height:10px}.timeline input::-webkit-slider-thumb{appearance:none;background:var(--text);border-radius:2px;width:4px;height:26px;margin-top:-8px}.timeline input::-moz-range-thumb{background:var(--text);border:0;border-radius:2px;width:4px;height:26px}.pill{border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:8px 13px;font-size:.86rem;font-weight:500;display:inline-flex}.pill svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.pill.on{background:var(--text);color:var(--bg);border-color:var(--text)}.insets{gap:12px;margin-block-start:12px;display:flex}.inset{justify-items:center;gap:4px;margin:0;display:grid}.inset svg{width:150px;height:auto}.inset:last-child svg{width:92px}.inset figcaption{color:var(--muted);font-size:.75rem}.inset-skin{fill:#e9b8a2}.lip{fill:#c9636f}.lip-line{fill:none;stroke:#8f3a46;stroke-width:1.4px}.mouth-dark{fill:#2a0d14}.teeth{fill:#fbfaf2}.tongue-fill{fill:#d4566e}.larynx-ring{fill:#2a0d14}.fold{fill:#f3d0c4}.glottis-open{fill:#000;opacity:.6}.vibrate{transform-origin:60px 66px;animation:70ms infinite alternate flutter}@keyframes flutter{0%{transform:scaleX(1)}to{transform:scaleX(1.18)}}.audio-note{margin:8px 0 0}.info{border-inline-start:1px solid var(--line-soft);background:var(--bg-2);padding:18px 20px 30px;overflow-y:auto}.info-head{align-items:center;gap:14px;display:flex}.ipa-big{white-space:nowrap;color:var(--accent);flex:none;margin:0;font-size:3.2rem;font-weight:400;line-height:1}.info .name{margin:0 0 6px;font-weight:600}.tags{color:var(--muted);flex-wrap:wrap;margin:0;font-size:.88rem;display:flex}.tag+.tag:before{content:"·";margin-inline:7px}.tag.accent{font-family:var(--font-ipa)}.info h2{color:var(--text);margin:26px 0 8px;font-size:.95rem;font-weight:600}.summary{margin:16px 0 0;font-size:1.05rem}.steps{margin:0;padding-inline-start:1.3em}.steps li{margin-block-end:8px}.words{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.words button{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:center;gap:6px;padding:6px 11px;font-size:1rem;display:inline-flex}.words .word{color:var(--muted);padding:6px 11px;font-size:1rem;display:inline-flex}.words svg{width:15px;height:15px;fill:var(--muted)}.words mark{background:color-mix(in srgb, var(--tongue) 24%, transparent);color:inherit;border-radius:3px;padding-inline:1px}.mistakes{margin:0;padding:0;list-style:none}.mistakes li{margin-block-end:10px}.heard{color:var(--voiced);font-weight:600;display:block}.note p{margin:0}.close{color:var(--muted);background:0 0;border:0;padding:4px 8px;font-size:1.4rem;line-height:1;position:absolute;inset-block-start:6px;inset-inline-end:8px}.l1 .select{border-color:var(--line);margin-inline-start:6px;font-size:.85rem;font-weight:500}.l1 .select select{padding-block:4px}.tip{background:var(--surface);border-radius:12px;padding:12px 14px}.tip p{margin:0 0 6px}.tip .priority{color:var(--muted);margin:0;font-size:.75rem}.sources{color:var(--muted);margin-block-start:20px;font-size:.82rem}.sources summary{cursor:pointer;align-items:center;gap:6px;list-style:none;display:inline-flex}.sources summary::-webkit-details-marker{display:none}.sources summary:before{content:"";width:12px;height:12px;-webkit-mask:var(--chevron) center / contain no-repeat;mask:var(--chevron) center / contain no-repeat;transition:transform .2s var(--ease-out);background:currentColor;transform:rotate(-90deg)}[dir=rtl] .sources summary:before{transform:rotate(90deg)}.sources[open] summary:before{transform:none}@media (hover:hover) and (pointer:fine){.sources summary:hover{color:var(--text)}}.sources .checked{font-style:italic}.chart,.info,.sheet-body{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 45%, transparent) transparent}.sheet-backdrop{z-index:20;background:#06090e8c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.sheet{background:var(--bg);border:1px solid var(--line);width:min(680px,100%);max-height:88dvh;box-shadow:var(--shadow);border-radius:18px;flex-direction:column;display:flex;position:relative;overflow:hidden}.sheet-body{overscroll-behavior:contain;padding:24px 26px;overflow-y:auto}.sheet .close{z-index:1;background:var(--bg);border-radius:8px;inset-block-start:10px;inset-inline-end:16px}.sheet h1{margin-block-start:0;font-size:1.4rem}.sheet h2{margin-block-start:22px;font-size:.9rem}.credits{padding-inline-start:1.1em;font-size:.82rem}.credits a{color:var(--air)}.maker a{color:var(--air);font-weight:600}.verdict{gap:6px;margin-block-end:6px;display:flex}.verdict button{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:5px 10px;font-size:.85rem}.verdict button[aria-pressed=true]{border-color:var(--focus);color:var(--focus)}.row{gap:8px;display:flex}.classroom .chart,.classroom .tagline,.classroom .stage-hint{display:none}.classroom .layout{grid-template-columns:minmax(0,1fr) 420px}.classroom .info{font-size:1.15rem}.classroom .ipa-big{font-size:4.5rem}.classroom .label-chip{padding:6px 14px;font-size:1rem}@media (max-width:1180px){.layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) 340px}.chart{border-inline-end:0;border-block-end:1px solid var(--line-soft);grid-column:1/-1;gap:18px;padding:10px 14px;display:flex;overflow:auto hidden}.chart section+section{margin:0}.grid{display:flex}.tile{flex:none;width:54px;min-height:52px}.tagline{display:none}}@media (max-width:760px){body{font-size:14px}.app{height:auto;min-height:100dvh}.layout{flex-direction:column;display:flex}.topbar{gap:8px;padding:8px 12px}.brand span{display:none}.topbar .select select{text-overflow:ellipsis;max-width:6.2rem}.chart{z-index:5;background:var(--bg-2);position:sticky;top:0}.stage{flex:none;height:62dvh}.stage-toolbar{gap:6px;inset-block-start:8px;inset-inline:8px}.chip-toggle{padding:5px 9px;font-size:.78rem}.stage-toolbar .seg button{padding:5px 9px;font-size:.82rem}.label-chip{padding:3px 8px;font-size:.72rem}.stage-hint{display:none}.modes .pill{gap:0;padding:8px 10px;font-size:0}.modes .pill svg{width:19px;height:19px}.insets{justify-content:center}.info{border-inline-start:0;border-block-start:1px solid var(--line-soft);overflow:visible}}.seg button,.pill,.icon-btn,.words button,.verdict button,.chip-toggle{transition:transform var(--press) var(--ease-out), background-color .15s ease, border-color .15s ease, color .15s ease}.label-chip{transition:border-color .15s,color .15s}.tile:active,.seg button:active,.pill:active,.icon-btn:active,.words button:active,.verdict button:active,.chip-toggle:active{transform:scale(.97)}@media (max-width:400px){.topbar .select svg{display:none}.topbar .select{padding-inline:8px 2px}}@media (hover:hover) and (pointer:fine){.tile:not(.selected):hover{border-color:var(--line);background:var(--surface-2)}.pill:hover,.icon-btn:hover,.words button:hover,.select:hover{border-color:var(--muted)}.seg button:not([aria-pressed=true]):not([aria-checked=true]):hover{color:var(--text)}.stage-toolbar .seg button:not([aria-pressed=true]):hover{color:#fff}.chip-toggle:hover{border-color:#ffffff42}}.sheet-backdrop{transition:opacity .2s ease-out}@starting-style{.sheet-backdrop{opacity:0}}.sheet{transition:opacity .2s ease-out, transform .2s var(--ease-out)}@starting-style{.sheet{opacity:0;transform:scale(.97)}}@media (prefers-reduced-motion:reduce){.vibrate{animation:none}.tile:active,.seg button:active,.pill:active,.icon-btn:active,.words button:active,.verdict button:active,.chip-toggle:active,.play:active{transform:none}@starting-style{.sheet{transform:none}}.chip-toggle input:after,.sources summary:before{transition:none}}
