.odp{--o-line:rgba(120,130,150,.35);--o-soft:rgba(120,130,150,.1);--o-accent:#2f4bd8;--o-ok:#1a7f4b;--o-bad:#c2303b;max-width:820px;margin:16px 0;font-size:16px;line-height:1.6;box-sizing:border-box}
.odp *{box-sizing:border-box}
.odp button,.odp select{font:inherit}
.odp__notice{padding:10px 14px;border-left:4px solid var(--o-bad);background:var(--o-soft);margin-bottom:10px;border-radius:4px;font-size:.92rem}
.odp__sets{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.odp__sets button{padding:7px 12px;border:1px solid var(--o-line);background:transparent;color:inherit;border-radius:999px;cursor:pointer}
.odp__sets button[aria-pressed="true"]{background:var(--o-accent);border-color:var(--o-accent);color:#fff}
.odp__desc{margin:0 0 12px;opacity:.8}
.odp__card{border:1px solid var(--o-line);border-radius:12px;padding:20px}
.odp__meta{display:flex;justify-content:space-between;gap:10px;font-size:.85rem;opacity:.75}
.odp__text{font-size:2rem;line-height:1.25;font-weight:700;margin:10px 0 2px;overflow-wrap:anywhere}
.odp__ipa{font-size:1.1rem;opacity:.85;margin-bottom:10px}
.odp__tip{background:var(--o-soft);border-radius:8px;padding:10px 14px;margin:0 0 14px}
.odp__ctl{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.odp__ctl button,.odp__nav button,.odp__ai button{padding:8px 14px;border:1px solid var(--o-line);background:transparent;color:inherit;border-radius:8px;cursor:pointer}
.odp__ctl select{padding:7px 8px;border:1px solid var(--o-line);border-radius:8px;background:transparent;color:inherit}
.odp .odp__rec{background:var(--o-accent);border-color:var(--o-accent);color:#fff;font-weight:600}
.odp .odp__rec[aria-pressed="true"]{background:var(--o-bad);border-color:var(--o-bad)}
.odp button:disabled{opacity:.5;cursor:not-allowed}
.odp button:focus-visible,.odp select:focus-visible{outline:2px solid var(--o-accent);outline-offset:2px}
.odp__chk{font-size:.88rem;display:flex;gap:6px;align-items:center;margin-top:8px}
.odp__status{min-height:1.6em;margin:10px 0 0;font-size:.92rem}
.odp__result{margin-top:12px;border-top:1px dashed var(--o-line);padding-top:12px}
.odp__score{font-size:1.3rem;font-weight:700}
.odp__words{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.odp__w{padding:3px 10px;border-radius:6px;border:2px solid;font-weight:600}
.odp__w.ok{border-color:var(--o-ok);color:var(--o-ok)}
.odp__w.bad{border-color:var(--o-bad);color:var(--o-bad)}
.odp__heard{margin:4px 0;font-size:.95rem}
.odp audio{width:100%;margin-top:8px}
.odp__ai{margin-top:12px}
.odp__aiout{margin-top:10px;padding:12px 14px;border-radius:8px;background:var(--o-soft)}
.odp__aiout p,.odp__aiout ul,.odp__aiout ol{margin:.4em 0}
.odp__err{color:var(--o-bad);font-weight:600}
.odp__nav{display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:10px}
.odp__priv{font-size:.82rem;opacity:.7;margin-top:14px}
@media (max-width:560px){.odp__text{font-size:1.6rem}.odp__card{padding:14px}}
