.phonology-practice-layer { position: fixed; z-index: 28; right: 1rem; bottom: 1rem; width: min(28rem, calc(100vw - 2rem)); pointer-events: none; }
.phonology-practice { pointer-events: auto; display: grid; gap: .6rem; padding: 1rem; border: 1px solid var(--line, #cbd5e1); border-radius: 1rem; background: var(--surface, #fff); box-shadow: 0 .75rem 2rem rgb(15 23 42 / .16); }
.phonology-practice__warning { margin: 0; color: #475569; font-size: .86rem; }
.phonology-practice label { display: grid; gap: .3rem; font-size: .84rem; font-weight: 600; }
.phonology-practice input, .phonology-practice select, .phonology-practice textarea { width: 100%; font: inherit; }
.phonology-practice__answer { margin: 0; padding: .55rem; border-radius: .55rem; background: #eff6ff; color: #1e3a8a; font-size: .86rem; }
.phonology-practice__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.phonology-practice button { min-height: 2.25rem; padding: .45rem .75rem; border: 1px solid var(--line, #cbd5e1); border-radius: .6rem; background: transparent; cursor: pointer; }
.phonology-practice button.is-primary { color: #fff; background: #1d4ed8; border-color: #1d4ed8; }
.phonology-practice button:disabled { opacity: .5; cursor: not-allowed; }
.phonology-practice__help { color: #475569; }
.phonology-practice__error { margin: 0; color: #b91c1c; }
@media (max-width: 430px) { .phonology-practice-layer { right: .5rem; bottom: .5rem; width: calc(100vw - 1rem); } }
@media (forced-colors: active) { .phonology-practice { border: 2px solid CanvasText; box-shadow: none; } .phonology-practice button.is-primary { background: Highlight; color: HighlightText; } }
@media print { .phonology-practice-layer, .phonology-practice-launcher { display: none !important; } }
