.morse-tool{display:grid;gap:10px}
.morse-group{border:0;margin:0;padding:0;min-width:0}
.morse-chips{display:flex;flex-wrap:wrap;gap:var(--s2)}
.morse-chip{position:relative;display:inline-flex;margin:0}
.morse-chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.morse-chip span{display:inline-flex;align-items:center;min-height:var(--touch);padding:0 14px;border:1px solid var(--line);border-radius:var(--r2);background:var(--card);font-size:14px;color:var(--tx)}
.morse-chip input:checked+span{border-color:var(--b);box-shadow:inset 0 0 0 1px var(--b);font-weight:700}
.morse-chip input:checked+span::before{content:"✓ ";content:"✓ " / ""}
.morse-chip input:focus-visible+span{outline:3px solid var(--focus-ring,var(--b));outline-offset:2px}
.morse-chip input:disabled+span{opacity:.55}
.morse-field label{font-size:14px}
#morse-input{min-height:96px;font-size:18px;line-height:1.5}
#morse-input.is-code,.morse-result,.morse-ex code,.morse-grid dd{font-family:var(--font-mono)}
.morse-field .error{margin-top:6px;font-size:14px;overflow-wrap:anywhere}
.morse-convert{width:100%;min-height:48px;font-size:16px}
.morse-out{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:var(--s3)}
.morse-result{font-size:20px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 var(--s2)}
.morse-actions{display:flex;flex-wrap:wrap;gap:var(--s2)}
.morse-actions .btn{min-height:var(--touch)}
.morse-actions .btn.is-refused{text-decoration:line-through;border-style:dashed}
.morse-out .status:empty{min-height:0;margin:0}
.morse-status{font-size:var(--t2);color:var(--b);margin:6px 0 0}
.morse-status.is-error{color:#b42318}
.morse-status:empty{display:none}
.morse-example{border:1px dashed var(--line);border-radius:12px;padding:10px var(--s3)}
.morse-example .badge{margin-bottom:6px}
.morse-ex{margin:var(--s1) 0 0;font-size:14px}
.morse-ex-sys{display:block;font-size:12px;color:var(--mut)}
.morse-ex-pair{overflow-wrap:anywhere}
.morse-fixed{margin:0}
.morse-rules,.morse-table{margin-top:18px}
.morse-rules h2,.morse-table h2{margin-bottom:6px}
.morse-rules ul{margin:0;padding-left:18px;font-size:14px}
.morse-rules li{margin:var(--s1) 0}
.morse-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px;margin:0}
.morse-grid>div{display:flex;gap:var(--s2);align-items:baseline;border:1px solid var(--line);border-radius:8px;background:var(--card);padding:6px var(--s2);min-width:0}
.morse-grid dt{font-weight:700;min-width:1.2em}
.morse-grid dd{margin:0;overflow-wrap:anywhere}
.morse-unit{white-space:nowrap}
