.catalog-groups{gap:34px;display:grid}.catalog-free-model{color:var(--ml-ink);border:1px solid color-mix(in srgb, var(--ml-moss) 24%, white);background:color-mix(in srgb, var(--ml-moss) 7%, white);border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin:18px 0 26px;padding:16px 18px;display:grid}.catalog-free-model strong{font-size:1rem}.catalog-free-model p{max-width:590px;color:var(--ml-muted);margin:5px 0 0;font-size:.76rem;line-height:1.5}.model-download-button{color:#fff;border-radius:var(--ml-radius-pill);background:var(--ml-ink);cursor:pointer;border:0;min-width:190px;min-height:44px;padding:9px 16px;font-weight:820}.model-download-actions{gap:8px;display:grid}.model-download-button.is-specialist{color:var(--ml-ink);border:1px solid var(--ml-moss);background:#fff}.model-download-button.is-specialist.state-ready{color:#fff;background:var(--ml-moss)}.model-download-button.state-ready{background:var(--ml-moss)}.model-download-button:disabled{cursor:default;opacity:.78}.catalog-group{--catalog-accent:var(--ml-moss);min-width:0}.catalog-group-geminate{--catalog-accent:var(--ml-coral)}.catalog-group-moraic-nasal{--catalog-accent:var(--ml-violet)}.catalog-group-yoon{--catalog-accent:#9a6b22}.catalog-group-voicing,.catalog-group-voicing_handakuten{--catalog-accent:#36728a}.catalog-group-mixed{--catalog-accent:#a45546}.catalog-group-heading{border-bottom:1px solid var(--ml-line);align-items:center;gap:10px;margin:0 0 12px;padding-bottom:10px;display:flex}.catalog-group-heading:before{border-radius:var(--ml-radius-pill);background:var(--catalog-accent);content:"";width:7px;height:22px}.catalog-group-heading h2{letter-spacing:-.015em;margin:0;font-size:1.02rem;line-height:1.35}.catalog-group-count{min-width:25px;height:25px;color:var(--catalog-accent);border:1px solid color-mix(in srgb, var(--catalog-accent) 24%, white);border-radius:var(--ml-radius-pill);background:color-mix(in srgb, var(--catalog-accent) 7%, white);place-items:center;margin-left:auto;padding:0 7px;font-size:.72rem;font-weight:850;display:grid}.catalog-group-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;display:grid}.catalog-practice-set-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-problem-card{border:1px solid var(--ml-line);background:var(--ml-surface);border-radius:19px;flex-direction:column;min-width:0;padding:18px;display:flex;overflow:hidden;box-shadow:0 10px 28px #17324d0b}.catalog-practice-set-card{gap:10px;padding:14px}.catalog-set-title{min-height:2.6em;color:var(--ml-ink);margin:0;font-size:.9rem;line-height:1.3}.catalog-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.catalog-word-choice{min-width:0;min-height:92px;color:var(--ml-ink);border:1px solid var(--ml-line);background:var(--ml-paper);text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-content:start;justify-items:stretch;gap:7px;padding:10px;display:grid;position:relative}.catalog-word-choice:hover,.catalog-word-choice:focus-visible{border-color:color-mix(in srgb, var(--catalog-accent) 40%, white);background:color-mix(in srgb, var(--catalog-accent) 6%, white)}.catalog-word-heading{align-items:center;min-width:0;display:flex}.catalog-word-heading strong{overflow-wrap:anywhere;min-width:0;padding-right:18px;font-size:.95rem;line-height:1.15}.catalog-word-heading b{min-width:23px;height:23px;color:var(--catalog-accent);border-radius:var(--ml-radius-pill);background:color-mix(in srgb, var(--catalog-accent) 10%, white);place-items:center;padding:0 4px;font-size:.65rem;display:inline-grid;position:absolute;top:9px;right:9px}.catalog-word-choice .catalog-mora-sequence{grid-column:1/-1;justify-content:flex-start}.catalog-open-arrow{color:var(--catalog-accent);font-size:.9rem;font-weight:900}.catalog-problem-card:hover{border-color:color-mix(in srgb, var(--catalog-accent) 28%, white)}.catalog-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.catalog-card-phenomenon{color:var(--catalog-accent);margin:0;font-size:.68rem;font-weight:820;line-height:1.35}.catalog-card-title{color:var(--ml-ink);margin:11px 0 0;font-size:.84rem;font-weight:820;line-height:1.35}.catalog-card-summary{min-height:2.8em;color:var(--ml-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0 13px;font-size:.73rem;line-height:1.42;display:-webkit-box;overflow:hidden}.catalog-card-contrast{background:var(--ml-paper);border-radius:13px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px;margin-top:10px;padding:10px;display:grid}.catalog-card-contrast>div,.catalog-word-choice{width:100%;min-width:0;color:var(--ml-ink);text-align:center;background:0 0;border:1px solid #0000;border-radius:10px;justify-items:center;gap:4px;padding:7px 4px;display:grid}.catalog-word-choice:not(.is-unavailable){cursor:pointer}.catalog-word-choice:not(.is-unavailable):hover,.catalog-word-choice:not(.is-unavailable):focus-visible{border-color:color-mix(in srgb, var(--catalog-accent) 35%, white);background:var(--ml-surface)}.catalog-word-choice strong{font-size:clamp(1rem,2.6vw,1.35rem);line-height:1.1}.catalog-contrast-arrow{color:var(--ml-muted);font-size:.75rem}.catalog-mora-sequence{justify-content:center;gap:2px;min-width:0;display:flex}.catalog-mora-sequence>span{min-width:1.45em;min-height:1.55em;color:var(--ml-ink);border:1px solid var(--ml-line);background:var(--ml-surface);border-radius:5px;place-items:center;padding:1px 2px;font-size:.6rem;font-weight:780;display:grid}.catalog-mora-sequence>span.is-focus{color:#73541c;border-color:color-mix(in srgb, var(--ml-gold) 58%, white);background:color-mix(in srgb, var(--ml-gold) 18%, white)}.catalog-start-button{color:#fff;border-radius:var(--ml-radius-pill);background:var(--ml-ink);cursor:pointer;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;min-height:40px;margin-top:11px;padding:9px 14px;font-size:.76rem;font-weight:800;display:grid}.catalog-start-button>span:first-child{text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.catalog-start-button strong{text-align:right;font-size:.78rem}.catalog-start-button:hover{background:color-mix(in srgb, var(--ml-ink) 88%, var(--catalog-accent))}.catalog-pair-start-button{min-height:46px}@media (max-width:800px){.catalog-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.catalog-free-model{grid-template-columns:1fr}.model-download-button{width:100%}.catalog-groups{gap:28px}.catalog-group-grid{grid-template-columns:1fr}.catalog-problem-card{padding:16px}.catalog-card-summary{min-height:0}.catalog-card-contrast{padding:9px}}:root{--ml-ink:#17324d;--ml-paper:#f6f3ed;--ml-surface:#fff;--ml-moss:#51725c;--ml-coral:#b24c42;--ml-violet:#756a89;--ml-gold:#d3a844;--ml-muted:#667380;--ml-line:#d9d7d1;--ml-radius-card:22px;--ml-radius-pill:999px;--ml-space-1:4px;--ml-space-2:8px;--ml-space-4:16px;--ml-space-6:24px;--ml-space-10:40px;--ml-font-ui:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ml-font-japanese:"Hiragino Sans", "Yu Gothic UI", "Yu Gothic", "Noto Sans CJK JP", "Noto Sans JP", sans-serif;font-family:var(--ml-font-ui);color:var(--ml-ink);background:var(--ml-paper);font-synthesis:none;text-rendering:optimizelegibility}html:lang(zh-CN){--ml-font-ui:"PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", "Noto Sans SC", sans-serif}html:lang(zh-TW){--ml-font-ui:"PingFang TC", "Microsoft JhengHei UI", "Microsoft JhengHei", "Noto Sans CJK TC", "Source Han Sans TC", "Noto Sans TC", sans-serif}:lang(ja){font-family:var(--ml-font-japanese)}*{box-sizing:border-box}html{background:radial-gradient(circle at 50% -10%, #d3a8441c, transparent 34rem), var(--ml-paper);min-width:320px}body{min-height:100vh;margin:0}button,a,select{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid color-mix(in srgb, var(--ml-gold) 78%, white);outline-offset:3px}button:disabled{cursor:not-allowed}main{width:min(100%,900px);margin:0 auto;padding:22px clamp(16px,4vw,36px) 56px}.app-header{justify-content:space-between;align-items:center;gap:16px;min-height:54px;display:flex}.brand{color:var(--ml-ink);letter-spacing:-.02em;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:1.05rem;font-weight:650;text-decoration:none;display:inline-flex}.brand img{width:32px;height:32px}.brand strong{font-weight:850}.header-tools{justify-content:flex-end;align-items:center;gap:8px;display:flex}.language-picker{position:relative}.language-picker:after{content:"";pointer-events:none;border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;position:absolute;top:50%;right:10px;transform:translateY(-70%)rotate(45deg)}.language-picker select{max-width:148px;min-height:36px;color:var(--ml-ink);border:1px solid var(--ml-line);border-radius:var(--ml-radius-pill);appearance:none;background:var(--ml-surface);font:inherit;cursor:pointer;padding:5px 27px 5px 11px;font-size:.78rem;font-weight:720}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.privacy-chip,.research-badge,.verdict-chip{border-radius:var(--ml-radius-pill);white-space:nowrap;align-items:center;min-height:30px;padding:5px 11px;font-size:.76rem;font-weight:760;display:inline-flex}.privacy-chip{color:var(--ml-moss);background:color-mix(in srgb, var(--ml-moss) 9%, white);border:1px solid color-mix(in srgb, var(--ml-moss) 25%, white)}.catalog-shell{margin-top:32px}.catalog-heading{max-width:760px}.catalog-heading h1{letter-spacing:-.055em;margin:0;font-size:clamp(1.8rem,4.5vw,2.8rem);line-height:1.06}.catalog-heading>p:last-child{max-width:610px;color:var(--ml-muted);margin:10px 0 0;font-size:.88rem;line-height:1.5}.preview-callout{border:1px solid color-mix(in srgb, var(--ml-violet) 17%, white);background:color-mix(in srgb, var(--ml-violet) 5%, white);border-radius:15px;align-items:center;gap:13px;margin:28px 0 18px;padding:13px 15px;display:flex}.preview-callout p{color:var(--ml-muted);margin:0;font-size:.8rem;line-height:1.55}.problem-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.problem-card{border:1px solid var(--ml-line);background:var(--ml-surface);border-radius:23px;flex-direction:column;min-width:0;padding:clamp(19px,4vw,26px);display:flex;box-shadow:0 14px 38px #17324d0e}.problem-card:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 6.5px)}.problem-card-topline{color:var(--ml-moss);justify-content:space-between;align-items:center;gap:8px;font-size:.7rem;font-weight:800;display:flex}.card-preview-state{color:var(--ml-violet);border-radius:var(--ml-radius-pill);background:color-mix(in srgb, var(--ml-violet) 7%, white);white-space:nowrap;padding:4px 8px}.problem-card h2{letter-spacing:.01em;margin:18px 0 2px;font-size:clamp(2.5rem,7vw,3.8rem);line-height:1}.problem-title{color:var(--ml-ink);margin:12px 0 0;font-weight:820;line-height:1.35}.problem-summary{min-height:4.7em;color:var(--ml-muted);margin:7px 0 17px;font-size:.79rem;line-height:1.55}.problem-contrast{gap:7px;margin:auto 0 0;display:grid}.problem-contrast>div{background:var(--ml-paper);border-radius:12px;grid-template-columns:minmax(5.5em,.65fr) minmax(0,1.35fr);align-items:center;gap:9px;padding:10px 11px;display:grid}.problem-contrast dt{color:var(--ml-muted);font-size:.66rem;font-weight:750}.problem-contrast dd{justify-content:flex-end;align-items:center;gap:8px;min-width:0;margin:0;display:flex}.problem-contrast dd>span:first-child{font-size:.86rem;font-weight:800}.problem-card .mora-sequence{gap:2px}.problem-card .mora-sequence>span{border-radius:6px;min-width:1.55em;min-height:1.65em;padding:2px;font-size:.66rem}.problem-start-button{color:#fff;border-radius:var(--ml-radius-pill);background:var(--ml-ink);cursor:pointer;border:0;justify-content:space-between;align-items:center;width:100%;min-height:49px;margin-top:16px;padding:11px 17px;font-size:.84rem;font-weight:800;display:flex}.problem-start-button span{font-size:1.15rem}.practice-shell{margin-top:40px}.problem-context{color:var(--ml-muted);align-items:center;gap:9px;margin-bottom:26px;font-size:.74rem;font-weight:700;display:flex}.back-button{min-height:36px;color:var(--ml-ink);border:1px solid var(--ml-line);border-radius:var(--ml-radius-pill);background:var(--ml-surface);cursor:pointer;align-items:center;gap:7px;margin-right:auto;padding:6px 12px;font-size:.76rem;font-weight:780;display:inline-flex}.context-word{color:var(--ml-ink);font-size:.85rem;font-weight:830}.practice-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.eyebrow,.prompt-kicker{color:var(--ml-moss);letter-spacing:.12em;margin:0 0 7px;font-size:.74rem;font-weight:820}.practice-heading h1{letter-spacing:-.045em;max-width:16em;margin:0;font-size:clamp(1.7rem,4.4vw,2.55rem);line-height:1.16}.heading-note{max-width:650px;color:var(--ml-muted);margin:12px 0 0;line-height:1.65}.research-badge{color:var(--ml-violet);background:color-mix(in srgb, var(--ml-violet) 8%, white);border:1px solid color-mix(in srgb, var(--ml-violet) 20%, white)}.practice-contrast-card{border:1px solid var(--ml-line);background:var(--ml-surface);border-radius:20px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:13px;margin-bottom:12px;padding:clamp(14px,3vw,20px);display:grid;box-shadow:0 12px 32px #17324d0b}.practice-contrast-card.is-candidate-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.practice-contrast-card.is-candidate-grid .practice-pattern{grid-template-columns:1fr;align-content:center}.practice-contrast-card.is-candidate-grid .practice-pattern>strong{justify-self:start}.practice-pattern{min-width:0;color:var(--ml-ink);background:var(--ml-paper);text-align:left;cursor:pointer;border:1px solid #0000;border-radius:14px;grid-template-columns:minmax(5em,auto) minmax(0,1fr);align-items:center;gap:7px 14px;padding:13px;display:grid}.practice-pattern:hover:not(:disabled),.practice-pattern:focus-visible{border-color:color-mix(in srgb, var(--ml-moss) 32%, white)}.practice-pattern:disabled{cursor:default}.practice-pattern.is-target{background:color-mix(in srgb, var(--ml-moss) 7%, white)}.practice-pattern>span:first-child{color:var(--ml-muted);font-size:.7rem;font-weight:780}.practice-pattern>strong{justify-self:end;font-size:1.35rem}.practice-pattern .mora-sequence{grid-column:1/-1;justify-content:flex-start}.contrast-divider{color:var(--ml-muted);align-self:center}.notation-card{border:1px solid var(--ml-line);background:var(--ml-surface);border-radius:22px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;padding:clamp(18px,4vw,28px);display:grid;box-shadow:0 14px 40px #17324d0f}.notation-row{justify-items:center;gap:10px;min-width:0;display:grid}.notation-row>span:first-child{color:var(--ml-muted);font-size:.74rem;font-weight:760}.notation-row>strong{letter-spacing:.05em;font-size:clamp(2rem,6vw,3rem)}.notation-arrow{color:var(--ml-muted);font-size:1.4rem;transform:rotate(-90deg)}.mora-sequence{justify-content:center;align-items:center;gap:5px;min-width:0;display:inline-flex}.mora-sequence>span{min-width:2.15em;min-height:2.15em;color:var(--ml-ink);border:1px solid var(--ml-line);background:var(--ml-paper);border-radius:10px;place-items:center;padding:4px;font-size:clamp(.92rem,3vw,1.2rem);font-weight:760;display:grid}.mora-sequence>span.is-focus{color:#73541c;border-color:color-mix(in srgb, var(--ml-gold) 58%, white);background:color-mix(in srgb, var(--ml-gold) 18%, white)}.contrast-section{margin:24px 0 12px}.contrast-section h2{margin:0 0 10px;font-size:.82rem;font-weight:790}.contrast-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.contrast-card{border:1px solid var(--ml-line);background:color-mix(in srgb, var(--ml-surface) 76%, transparent);text-align:center;border-radius:16px;align-content:start;justify-items:center;min-width:0;padding:15px 12px;display:grid}.contrast-card.is-target{border-color:color-mix(in srgb, var(--ml-moss) 42%, white);background:color-mix(in srgb, var(--ml-moss) 6%, white);box-shadow:inset 0 3px 0 color-mix(in srgb, var(--ml-moss) 75%, white)}.contrast-label{min-height:2.6em;color:var(--ml-muted);margin-bottom:10px;font-size:.74rem;font-weight:780;line-height:1.3}.contrast-card.is-target .contrast-label{color:var(--ml-moss)}.contrast-card .mora-sequence{gap:3px}.contrast-card .mora-sequence>span{border-radius:7px;min-width:1.75em;min-height:1.85em;padding:2px;font-size:clamp(.72rem,2.4vw,.94rem)}.contrast-card p{max-width:19em;min-height:3.2em;color:var(--ml-muted);margin:10px 0 0;font-size:.73rem;line-height:1.45}.prompt-card,.record-panel,.result-card{border:1px solid var(--ml-line);background:var(--ml-surface);box-shadow:0 18px 50px #17324d12}.result-screen{margin-top:18px}.result-screen>.problem-context{margin-bottom:12px}.prompt-card{text-align:center;border-radius:28px 28px 14px 14px;place-items:center;min-height:290px;padding:clamp(28px,6vw,46px) 24px 28px;display:grid}.prompt-text{letter-spacing:-.08em;margin:4px 0 10px;font-size:clamp(4.5rem,17vw,7.5rem);font-weight:760;line-height:1}.prompt-word{letter-spacing:.01em;margin-bottom:16px;font-size:clamp(3.2rem,12vw,6rem)}.prompt-card>.mora-sequence{margin-bottom:18px}.mora-rail{justify-content:center;gap:7px;min-height:12px;margin:1px 0 19px;display:flex}.mora-rail span{border-radius:var(--ml-radius-pill);background:var(--ml-moss);width:48px;height:7px}.mora-rail.long span:last-child{background:var(--ml-gold)}.prompt-hint{max-width:560px;color:var(--ml-muted);margin:0;font-size:.96rem;line-height:1.6}.scope-note{max-width:620px;color:var(--ml-muted);border-top:1px solid var(--ml-line);margin:14px 0 0;padding-top:13px;font-size:.74rem;line-height:1.55}.record-panel{border-radius:14px 14px 28px 28px;margin-top:10px;padding:18px clamp(18px,5vw,34px) 20px}.status-line{min-height:34px;color:var(--ml-muted);justify-content:center;align-items:center;font-size:.86rem;font-weight:700;display:flex}.countdown{color:#fff;background:var(--ml-coral);border-radius:50%;place-items:center;width:34px;height:34px;margin-right:9px;font-size:1rem;display:grid}.record-button,.retry-button{color:#fff;border-radius:var(--ml-radius-pill);background:var(--ml-ink);cursor:pointer;border:0;justify-content:center;align-items:center;gap:10px;width:min(100%,360px);min-height:56px;margin:10px auto 0;padding:14px 24px;font-weight:820;transition:transform .12s,opacity .12s,background .12s;display:flex;box-shadow:0 9px 22px #17324d2e}.record-button:hover:not(:disabled),.retry-button:hover:not(:disabled){transform:translateY(-1px)}.record-button:disabled{opacity:.56}.record-button.is-recording{background:var(--ml-coral);box-shadow:0 9px 22px #b24c4238}.record-button.model-prepare-button{background:var(--ml-moss)}.specialist-choice{min-height:36px;color:var(--ml-ink);border:1px solid var(--ml-moss);border-radius:var(--ml-radius-pill);cursor:pointer;background:#fff;margin:8px auto 0;padding:6px 14px;font-size:.76rem;font-weight:760}.specialist-choice.state-ready{color:#fff;background:var(--ml-moss);cursor:default}.record-dot{background:var(--ml-coral);border:2px solid;border-radius:50%;width:12px;height:12px}.is-recording .record-dot{background:#fff;border-radius:3px}.secondary-actions{grid-template-columns:repeat(2,minmax(0,180px));justify-content:center;gap:8px;margin-top:12px;display:grid}.quiet-button{min-height:42px;color:var(--ml-ink);border:1px solid var(--ml-line);border-radius:var(--ml-radius-pill);cursor:pointer;background:#fff;padding:8px 12px;font-size:.82rem;font-weight:730}.quiet-button span{color:var(--ml-muted);font-size:.7rem}.quiet-button:disabled{color:color-mix(in srgb, var(--ml-muted) 70%, white);background:color-mix(in srgb, var(--ml-paper) 65%, white)}.local-note,.error-message{text-align:center;max-width:560px;margin:13px auto 0;font-size:.76rem;line-height:1.55}.local-note{color:var(--ml-muted)}.error-message{color:#8c2630;background:#fff0f1;border-radius:10px;padding:10px 12px;font-weight:700}.result-card{border-top:6px solid var(--ml-moss);border-radius:24px;gap:18px;margin-top:0;padding:clamp(18px,3.4vw,28px);display:grid}.result-card.result-state-incorrect{border-top-color:var(--ml-coral)}.result-card.result-state-unscored{border-top-color:var(--ml-violet)}.result-summary{max-width:620px}.result-summary-compact{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;max-width:none;display:grid}.result-summary-compact .verdict-chip{margin-top:2px}.verdict-chip{color:var(--ml-moss);background:color-mix(in srgb, var(--ml-moss) 10%, white)}.result-state-incorrect .verdict-chip{color:var(--ml-coral);background:color-mix(in srgb, var(--ml-coral) 9%, white)}.result-state-unscored .verdict-chip{color:var(--ml-violet);background:color-mix(in srgb, var(--ml-violet) 9%, white)}.result-summary h1,.result-summary h2{letter-spacing:-.025em;margin:0 0 5px;font-size:clamp(1.35rem,3.2vw,1.85rem);line-height:1.2}.result-summary p{color:var(--ml-muted);margin:0;font-size:.9rem;line-height:1.48}.result-pattern-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.result-pattern-map.is-undecided{grid-template-columns:minmax(0,1fr)}.result-pattern-card{border:1px solid var(--ml-line);background:var(--ml-paper);border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 14px;min-width:0;min-height:142px;padding:16px 18px;display:grid}.result-pattern-map.is-undecided .result-pattern-card{width:min(100%,430px);min-height:126px}.result-pattern-card>span:first-child{color:var(--ml-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;font-weight:800}.result-pattern-card>strong{justify-self:end;font-size:clamp(1.45rem,4vw,2.05rem);line-height:1}.result-pattern-card>.mora-sequence{grid-column:1/-1;justify-content:flex-start}.result-pattern-card>small{color:var(--ml-muted);grid-column:1/-1;font-size:.7rem;font-weight:760}.result-pattern-card.is-target-pattern{border-color:color-mix(in srgb, var(--ml-moss) 30%, white);background:color-mix(in srgb, var(--ml-moss) 6%, white)}.result-pattern-card.is-match{border-color:color-mix(in srgb, var(--ml-moss) 45%, white);box-shadow:inset 0 3px 0 color-mix(in srgb, var(--ml-moss) 75%, white)}.result-pattern-card.is-different{border-color:color-mix(in srgb, var(--ml-coral) 36%, white);background:color-mix(in srgb, var(--ml-coral) 5%, white);box-shadow:inset 0 3px 0 color-mix(in srgb, var(--ml-coral) 75%, white)}.mora-wave-figure{border:1px solid var(--ml-line);background:color-mix(in srgb, var(--ml-paper) 65%, white);border-radius:18px;min-width:0;min-height:142px;margin:0;overflow:hidden}.mora-wave-stage{height:104px;position:relative;overflow:hidden}.mora-wave{width:100%;height:100%;display:block}.mora-wave-figure .wave-path{opacity:.84}.mora-wave-overlay{border:2px solid color-mix(in srgb, var(--ml-moss) 65%, white);background:#ffffffc7;border-radius:12px;min-width:110px;height:58px;display:flex;position:absolute;top:22px;overflow:hidden;box-shadow:0 4px 14px #17324d17}.mora-wave-overlay>span{min-width:1.8em;color:var(--ml-ink);border-left:1px solid color-mix(in srgb, var(--ml-moss) 35%, white);flex:1 1 0;place-items:center;font-size:clamp(.78rem,2vw,1.05rem);font-weight:820;display:grid}.mora-wave-overlay>span:first-child{border-left:0}.mora-wave-overlay>span.is-focus{color:#73541c;background:color-mix(in srgb, var(--ml-gold) 25%, white 75%)}.mora-wave-figure.tone-incorrect .mora-wave-overlay{border-color:color-mix(in srgb, var(--ml-coral) 70%, white)}.mora-wave-figure.tone-incorrect .mora-wave-overlay>span{border-left-color:color-mix(in srgb, var(--ml-coral) 34%, white)}.mora-wave-figure.tone-unscored .mora-wave-overlay{border-color:color-mix(in srgb, var(--ml-violet) 62%, white);border-style:dashed}.mora-wave-figure figcaption{min-height:37px;color:var(--ml-muted);border-top:1px solid var(--ml-line);justify-content:space-between;align-items:baseline;gap:12px;padding:8px 13px;font-size:.7rem;font-weight:760;display:flex}.mora-wave-figure figcaption strong{color:var(--ml-ink);font-size:.92rem}.result-change-cue{width:-moz-fit-content;width:fit-content;max-width:100%;color:var(--ml-ink);background:color-mix(in srgb, var(--ml-gold) 10%, white);border-radius:14px;align-items:center;gap:14px;padding:9px 13px;display:flex}.result-change-cue>span:first-child{color:#73541c;white-space:nowrap;font-size:.74rem;font-weight:820}.result-change-cue .mora-sequence>span{min-width:1.8em;min-height:1.8em;font-size:.86rem}.wave-figure{margin:26px 0 16px}.wave{width:100%;height:auto;color:var(--ml-ink);border:1px solid var(--ml-line);background:color-mix(in srgb, var(--ml-paper) 55%, white);border-radius:16px;display:block}.wave-center{stroke:var(--ml-line);stroke-width:1px}.wave-segment{fill:color-mix(in srgb, var(--ml-gold) 24%, transparent)}.wave-path{fill:none;stroke:var(--ml-ink);stroke-width:1.25px;vector-effect:non-scaling-stroke}.wave text{fill:var(--ml-muted);font-size:10px;font-weight:700}.wave-figure figcaption{color:var(--ml-muted);margin-top:8px;font-size:.78rem;line-height:1.5}.evidence-strip,.details-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.evidence-strip>div,.details-grid>div{background:var(--ml-paper);border-radius:13px;min-width:0;padding:13px 14px}.evidence-strip span,.details-grid span{color:var(--ml-muted);font-size:.7rem;font-weight:700;display:block}.evidence-strip strong,.details-grid strong{overflow-wrap:anywhere;margin-top:5px;font-size:.98rem;display:block}.technical-details{border-top:1px solid var(--ml-line);margin-top:18px}.technical-details summary{cursor:pointer;padding:17px 2px;font-size:.88rem;font-weight:780}.technical-details p{color:var(--ml-muted);margin:14px 0 0;font-size:.8rem;line-height:1.65}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.retry-button{background:var(--ml-moss);margin-top:22px}.result-actions{gap:9px;margin-top:0;display:grid}.result-secondary-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.result-actions .retry-button,.listen-back-button,.back-to-catalog-button{width:100%;min-height:44px;color:var(--ml-ink);border:1px solid var(--ml-line);border-radius:var(--ml-radius-pill);box-shadow:none;cursor:pointer;background:#fff;margin:0;padding:9px 13px;font-size:.76rem;font-weight:790}.next-practice-button{color:#fff;border-radius:var(--ml-radius-pill);background:var(--ml-moss);cursor:pointer;border:0;justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:12px 22px;font-weight:820;transition:transform .12s,background .12s;display:flex;box-shadow:0 9px 22px #37634833}.next-practice-button:hover{transform:translateY(-1px)}.next-practice-button strong{margin-left:auto;font-size:1.15rem}.listen-back-button:disabled{color:color-mix(in srgb, var(--ml-muted) 65%, white);cursor:not-allowed}.back-to-catalog-button{color:var(--ml-muted)}footer{color:var(--ml-muted);justify-content:space-between;align-items:baseline;gap:18px;padding:38px 2px 0;font-size:.75rem;display:flex}footer strong{color:var(--ml-ink)}main:has(.result-screen){padding-bottom:18px}main:has(.result-screen) footer{display:none}@media (orientation:landscape) and (min-width:900px){:is(main:has(.practice-shell),main:has(.result-screen)){width:min(100%,1180px);padding-top:14px;padding-bottom:14px}.practice-shell{grid-template-columns:minmax(0,1.06fr) minmax(390px,.94fr);grid-template-areas:"context context""heading heading""prompt contrast""prompt record";gap:11px 13px;margin-top:12px;display:grid}.practice-shell>.problem-context{grid-area:context;margin:0}.practice-heading{grid-area:heading;align-items:center;margin:0}.practice-heading h1{font-size:clamp(1.55rem,2.6vw,2.15rem)}.practice-heading .heading-note,.practice-heading .research-badge{display:none}.practice-contrast-card{border-radius:20px;grid-area:contrast;gap:7px;margin:0;padding:10px}.practice-contrast-card.is-candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-pattern{grid-template-columns:1fr;align-content:center;gap:6px;padding:11px}.practice-pattern>strong{justify-self:start;font-size:1.15rem}.practice-pattern .mora-sequence{grid-column:1}.practice-pattern .mora-sequence>span{min-width:1.75em;min-height:1.75em;font-size:.82rem}.prompt-card{border-radius:24px;grid-area:prompt;align-content:center;min-height:0;padding:20px}.prompt-text,.prompt-word{margin-bottom:12px;font-size:clamp(3.3rem,6.3vw,5.2rem)}.prompt-card>.mora-sequence{margin-bottom:12px}.prompt-hint{font-size:.86rem;line-height:1.45}.scope-note{display:none}.record-panel{border-radius:20px;grid-area:record;margin:0;padding:11px 16px 13px}.status-line{min-height:24px;font-size:.78rem}.record-button{min-height:46px;margin-top:4px;padding:10px 18px}.secondary-actions{margin-top:8px}.quiet-button{min-height:36px;padding:6px 9px;font-size:.74rem}.local-note{display:none}main:has(.practice-shell) footer{display:none}.result-screen{margin-top:10px}.result-card{gap:13px;padding:18px 22px}}@media (max-width:600px){main{padding-top:12px}.header-tools{gap:5px}.privacy-chip{display:none}.language-picker select{max-width:132px}.practice-shell{margin-top:28px}.catalog-shell{margin-top:37px}.preview-callout{display:block}.preview-callout p{margin-top:9px}.problem-grid{grid-template-columns:1fr}.problem-card:last-child:nth-child(odd){grid-column:auto;width:100%}.problem-summary{min-height:0}.problem-context{flex-wrap:wrap}.back-button{flex-basis:100%;width:-moz-fit-content;width:fit-content}.practice-heading{display:block}.research-badge{margin-top:12px}.notation-card{grid-template-columns:1fr;gap:10px}.practice-contrast-card,.practice-contrast-card.is-candidate-grid{grid-template-columns:1fr}.contrast-divider{justify-self:center;transform:rotate(90deg)}.notation-arrow{transform:none}.contrast-grid{grid-template-columns:1fr}.contrast-card{text-align:left;grid-template-columns:minmax(5.5em,.7fr) minmax(0,1.1fr);place-items:center start;gap:5px 12px}.contrast-label{align-self:end;min-height:0;margin:0}.contrast-card .mora-sequence{grid-area:1/2/span 2;justify-self:end}.contrast-card p{align-self:start;min-height:0;margin:2px 0 0}.prompt-card{min-height:270px}.secondary-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-strip{grid-template-columns:1fr}.result-summary-compact{grid-template-columns:1fr;gap:9px}.result-pattern-map{grid-template-columns:1fr}.result-pattern-map.is-undecided .result-pattern-card{width:100%}.result-pattern-card{min-height:122px}.result-secondary-actions{grid-template-columns:1fr}footer{display:grid}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
