:root{font-family:Arial,Helvetica,sans-serif;color:#182738;background:#f6f7f9;font-synthesis:none;--bg:#f6f7f9;--surface:#fff;--ink:#182738;--muted:#526174;--line:#d5dce4;--accent:#176b5b;--tint:#edf7f3;--warn:#805017;--warn-bg:#fff5df;--error:#a63b38;--error-bg:#fff0ef;color-scheme:light;scroll-behavior:smooth}
:root[data-theme=dark]{--bg:#111c24;--surface:#192832;--ink:#e7eef2;--muted:#afc0cc;--line:#3b4e5c;--accent:#7ed6bb;--tint:#18382f;--warn:#f5cb80;--warn-bg:#3d3020;--error:#ffb4b0;--error-bg:#432825;color:var(--ink);background:var(--bg);color-scheme:dark}
*{box-sizing:border-box}body{margin:0;line-height:1.55}button,input,textarea,select{font:inherit}button,a,select,textarea{touch-action:manipulation}a{color:var(--accent);text-underline-offset:4px}button,.button,select{border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);padding:10px 17px;min-height:43px;line-height:1.3}button,.button{cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s}button:hover:not(:disabled),.button:hover{background:var(--tint);border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}.primary,button[aria-pressed=true][data-mode]{background:#176b5b;color:white;border-color:#176b5b}.primary:hover:not(:disabled),button[aria-pressed=true][data-mode]:hover{background:#125848;color:white}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.wrap{width:min(1120px,calc(100% - 64px));margin-inline:auto}.site-header{height:94px;display:flex;align-items:center;gap:70px}.brand{color:var(--ink);font-size:27px;font-weight:750;letter-spacing:-1px;text-decoration:none;white-space:nowrap}.brand span{font-size:21px;color:var(--accent);letter-spacing:2px;margin-left:12px}.site-header nav{display:flex;gap:35px}.site-header nav a{font-size:14px;text-decoration:none;color:var(--ink);padding:16px 0}.site-header nav a:first-child{border-bottom:2px solid var(--accent)}.themes{margin-left:auto;display:flex;padding:3px;background:color-mix(in srgb,var(--line) 25%,transparent);border:1px solid var(--line);border-radius:7px;gap:2px}.themes button{border-color:transparent;min-height:34px;padding:7px 11px;font-size:13px}.themes [aria-pressed=true]{background:var(--surface);border-color:var(--line);box-shadow:0 1px 2px #15293c12}.intro{margin:32px 0 28px}h1{font-size:clamp(30px,4.1vw,56px);line-height:1.12;letter-spacing:-2px;margin:0 0 12px;font-weight:750}.subhead{font-size:clamp(17px,2vw,25px);line-height:1.4;letter-spacing:-.4px;margin:0 0 8px}.trust{font-size:16px;color:var(--muted);margin:0}.workspace{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px;scroll-margin-top:20px}.mode-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.modes{display:flex;gap:8px}.modes button{min-width:145px}.muted{color:var(--muted);font-size:13px}.editors{display:grid;grid-template-columns:1fr 1fr;gap:20px}.label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}label{font-size:14px;font-weight:500}textarea{width:100%;height:152px;resize:vertical;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);padding:15px;font-family:Consolas,'Courier New',monospace;font-size:23px;line-height:1.6;display:block}textarea::placeholder{font-family:Arial,Helvetica,sans-serif;font-size:16px;color:var(--muted);line-height:1.6}textarea[readonly]{resize:vertical}.status-box{margin-top:16px;padding:12px 15px;min-height:49px;border:1px solid var(--line);border-radius:5px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.status-box p{margin:0}.status-box[data-state=clean],.status-box[data-state=normalized]{background:var(--tint);border-color:color-mix(in srgb,var(--accent) 30%,var(--line));color:var(--accent)}.status-box[data-state=ambiguous],.status-box[data-state=choose]{background:var(--warn-bg);color:var(--warn)}.status-box[data-state=error],.status-box[data-state=limit]{background:var(--error-bg);color:var(--error)}#details-toggle{padding:3px 0;min-height:24px;border:0;flex-shrink:0;color:inherit;font-size:13px}.actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}.main-actions,.audio-actions{display:flex;gap:10px;align-items:center}.main-actions button{min-width:92px}.audio-actions{border-left:1px solid var(--line);padding-left:22px;gap:16px}.audio-actions label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.audio-actions select{font-size:13px;padding:10px;min-width:91px}.feedback{font-size:13px;color:var(--muted);margin:8px 0 0}.feedback:empty{display:none}.examples{margin:24px 0}.examples h2{font-size:18px;letter-spacing:-.3px;margin:0 0 10px}.example-row{display:flex;gap:8px;flex-wrap:wrap}.example-row button{font-size:13px;min-height:39px;padding:9px 16px}.content-section{border-top:1px solid var(--line);padding-top:36px;margin-top:36px;scroll-margin-top:24px}h2{font-size:27px;letter-spacing:-.9px;line-height:1.25;margin:0 0 14px}h3{font-size:16px;line-height:1.35;margin:0 0 6px;letter-spacing:-.15px}p{margin:0 0 14px}.content-section p{color:var(--muted);font-size:15px}.how{display:grid;grid-template-columns:1fr 1fr;gap:64px}.steps{list-style:none;counter-reset:step;padding:0;margin:24px 0}.steps li{counter-increment:step;position:relative;padding-left:52px;margin-bottom:22px}.steps li:before{content:counter(step);position:absolute;left:0;top:1px;width:35px;height:35px;border-radius:50%;background:color-mix(in srgb,var(--line) 40%,transparent);display:grid;place-items:center;font-size:14px}.steps strong{font-size:14px;display:block}.steps span{color:var(--muted);font-size:13px;display:block}.how-details>div+div{margin-top:22px}.how-details p{font-size:14px}.alphabet-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:20px 0 14px}.alphabet-grid table{border-collapse:collapse;width:100%;font-size:14px}.alphabet-grid table+table{border-left:1px solid var(--line)}th,td{text-align:left;padding:6px 20px;border-bottom:1px solid var(--line)}thead th{font-size:12px;color:var(--muted);padding-block:12px}tbody th{font-weight:500;width:40%}tr:last-child td,tr:last-child th{border-bottom:0}code{font-family:Consolas,'Courier New',monospace;font-size:17px;letter-spacing:2px;color:var(--ink)}details{border:1px solid var(--line);border-radius:7px;margin:10px 0;background:transparent}summary{padding:15px 19px;cursor:pointer;font-size:15px;font-weight:600;position:relative;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:20px;font-size:18px;font-weight:400}details[open]>summary:after{content:'−'}details[open]>summary{border-bottom:1px solid var(--line)}.punctuation-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:15px;gap:12px}.punctuation-grid>div{display:flex;gap:22px;padding:3px 10px}.punctuation-grid span{width:15px}.use-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 64px}.faq details p{padding:17px 20px;margin:0;max-width:990px}.bottom-cta{text-align:center;padding:54px 0 48px}.bottom-cta h2{margin-bottom:20px}.site-footer{border-top:1px solid var(--line);padding-block:24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-footer .brand{font-size:22px}.site-footer nav{display:flex;gap:20px;flex-wrap:wrap}.site-footer nav a{font-size:12px;text-decoration:none;color:var(--muted)}.legal{max-width:840px;padding-block:40px}.legal h1{font-size:40px;margin-bottom:24px}.legal h2{font-size:24px;margin-top:36px}.legal h3{margin-top:24px}.legal p,.legal li{font-size:15px;color:var(--muted)}.legal table{border-collapse:collapse;font-size:13px;display:block;overflow:auto}.legal hr{border:0;border-top:1px solid var(--line);margin:28px 0}.not-found{padding-block:100px}.skip{position:absolute;top:-80px;left:20px;background:var(--surface);padding:12px;z-index:10}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}[hidden]{display:none!important}#diagnostics{border-bottom:1px solid var(--line);padding:18px 0;font-size:13px}#diagnostics h3{margin-bottom:12px}#diagnostics ul{padding-left:20px}#diagnostics li{margin:8px 0;overflow-wrap:anywhere}.issue-link{display:inline;padding:2px 0;min-height:26px;border:0;text-decoration:underline;color:var(--error);text-align:left;font-size:13px}mark{background:var(--warn-bg);color:var(--warn);border-bottom:2px solid var(--warn);padding:1px 2px}.source-preview{font-family:Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:150px;overflow:auto;padding:10px;background:var(--bg);border:1px solid var(--line);border-radius:4px;margin-bottom:8px}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:200px;overflow:auto;padding:10px}#change-details ol{padding:10px 35px}.notice{padding:15px;background:var(--warn-bg);color:var(--warn)}
@media(min-width:1450px){.intro{margin-top:44px}.workspace textarea{height:175px}}
@media(max-width:1050px){.site-header{gap:30px}.actions{align-items:flex-start;flex-wrap:wrap}.audio-actions{border-left:0;padding-left:0}.mode-row{flex-wrap:wrap}.how{gap:30px}.modes button{min-width:130px}.use-grid{gap:20px 30px}}
@media(max-width:700px){.wrap{width:calc(100% - 32px)}.site-header{height:76px;gap:16px;flex-wrap:wrap;align-content:center}.brand{font-size:23px}.brand span{font-size:17px;margin-left:6px}.site-header nav{display:none}.themes button{padding:7px}.intro{margin-top:24px;margin-bottom:23px}h1{letter-spacing:-1px;font-size:35px;max-width:380px}.subhead{font-size:18px;margin:12px 0}.trust{font-size:13px}.workspace{padding:14px}.modes{width:100%;gap:5px}.modes button{min-width:0;flex:1;font-size:11px;padding:10px 5px}.editors{grid-template-columns:1fr;gap:15px}textarea{height:134px;font-size:21px}.label-row .muted{font-size:11px}label{font-size:13px}.status-box{align-items:flex-start;flex-direction:column;font-size:12px;gap:6px;padding:11px}.actions{gap:15px;margin-top:15px}.main-actions{width:100%;gap:7px}.main-actions button{min-width:0;flex:1}.audio-actions{width:100%;gap:8px;flex-wrap:wrap}.audio-actions button{padding:10px 12px}.audio-actions label{font-size:11px;gap:5px}.audio-actions select{min-width:0;padding:10px 4px;font-size:12px}.examples{margin:22px 0}.example-row{gap:7px}.example-row button{font-size:11px;padding:9px 11px}.how,.use-grid{grid-template-columns:1fr;gap:20px}.content-section{padding-top:28px;margin-top:28px}h2{font-size:24px}.alphabet-grid{grid-template-columns:1fr 1fr}.alphabet-grid table+table{border-left:0}.alphabet-grid table:nth-child(2){border-left:1px solid var(--line)}.alphabet-grid table:nth-child(3){grid-column:1/-1;border-top:1px solid var(--line)}th,td{padding:6px 12px}code{font-size:15px;letter-spacing:1px}.punctuation-grid{grid-template-columns:1fr 1fr}.faq summary{font-size:14px;padding:14px 35px 14px 14px}.faq details p{padding:14px}.site-footer{align-items:flex-start;flex-direction:column}.site-footer nav{gap:13px 18px}.legal{padding-block:25px}.legal h1{font-size:33px}.legal th,.legal td{padding:7px;min-width:110px}.how-details>div+div{margin-top:18px}.bottom-cta{padding-block:40px}}
.themes button{transition:none}
.how-details{grid-column:1/-1;border:1px solid var(--line);border-radius:7px;margin:0}
.how-details>summary{font-size:14px}
.how-details .rule-grid{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:20px 32px}
.how-details .rule-grid p{margin-bottom:0}
@media(min-width:701px){.site-header{height:76px}.intro{margin-top:24px}h1{font-size:56px}.how{column-gap:64px;row-gap:18px}.steps{margin:0}.steps li:last-child{margin-bottom:0}}
@media(max-width:700px){.how-details .rule-grid{grid-template-columns:1fr}.how{row-gap:16px}}
@media(max-width:700px){.intro{margin-top:12px;margin-bottom:18px}h1{font-size:31px}.subhead{font-size:17px;margin:9px 0}.workspace textarea{height:105px}.mode-row{gap:6px}.editors{gap:11px}.status-box{margin-top:12px}.actions{margin-top:12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}
/* C — airy canvas. Shared tokens keep every route and theme consistent. */
:root{font-family:'Segoe UI',system-ui,sans-serif;--bg:#f5faff;--surface:#fff;--ink:#182e3a;--muted:#506877;--line:#d6e4ed;--accent:#275e7d;--tint:#eaf5fc;--sky:#dfF0fa;--primary:#182e3a;--on-primary:#fff;--shadow:#5c91b52a;background:var(--bg);color:var(--ink)}
:root[data-theme=dark]{--bg:#101e28;--surface:#172a36;--ink:#edf7ff;--muted:#b0c6d4;--line:#35505f;--accent:#a1d2f1;--tint:#203d50;--sky:#1c3547;--primary:#c7e8fa;--on-primary:#132c3d;--shadow:#00000050;background:var(--bg);color:var(--ink)}
body{background:radial-gradient(ellipse 75% 700px at 0 380px,var(--sky),transparent),radial-gradient(ellipse 65% 700px at 100% 500px,var(--sky),transparent),var(--bg)}
.wrap{width:min(1120px,calc(100% - 64px))}.site-header{width:min(1176px,calc(100% - 64px));height:82px;margin-top:26px;gap:38px;padding:0 25px;border:1px solid var(--surface);border-radius:22px;background:color-mix(in srgb,var(--surface) 86%,transparent);box-shadow:0 8px 40px #39668305}.brand{display:inline-flex;align-items:center;flex-shrink:0;line-height:1}.brand svg{width:177px;height:52px;display:block}.brand-lines{stroke:#4d7d98}:root[data-theme=dark] .brand-lines{stroke:#9cc9e4}.site-header nav{margin-left:auto;gap:30px}.site-header nav a{font-size:13px;color:var(--muted)}.site-header nav a:first-child{border:0;color:var(--ink)}.themes{margin-left:0;border-radius:30px;background:var(--tint);padding:3px;border-color:transparent}.themes button{border-radius:24px;min-height:32px;font-size:12px;padding:6px 10px}.themes [aria-pressed=true]{border-color:transparent;box-shadow:0 2px 5px var(--shadow)}
.intro{position:relative;text-align:center;margin:48px 0 34px}.intro h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(46px,5.8vw,80px);font-weight:700;letter-spacing:-3.7px;line-height:1.07;margin:0 0 22px;max-width:none}.intro h1 span{color:var(--ink)}.subhead{font-size:16px;letter-spacing:0;line-height:1.7;color:var(--muted);margin:0}.trust{font-size:12px;color:var(--muted);margin:8px 0 0}.signal-art{position:absolute;top:54px;font:26px Georgia,serif;letter-spacing:7px;color:#80a9c0;opacity:.7}.signal-art.left{left:0;transform:rotate(-9deg)}.signal-art.right{right:0;transform:rotate(9deg)}
.workspace{border:1px solid var(--surface);border-radius:24px;padding:25px 26px 0;box-shadow:0 25px 65px -30px var(--shadow);background:var(--surface)}.mode-row{margin-bottom:23px}.modes{gap:3px;border:1px solid var(--line);border-radius:30px;padding:4px;background:var(--bg)}.modes button{min-width:0;padding:8px 19px;min-height:34px;border:0;border-radius:30px;font-size:12px;color:var(--muted)}button[aria-pressed=true][data-mode],button[aria-pressed=true][data-mode]:hover{background:var(--tint);color:var(--accent);border:0;box-shadow:0 1px 4px var(--shadow)}.muted{font-size:12px}.editors{gap:26px}.editor{min-width:0;background:var(--tint);padding:20px 22px 16px;border:1px solid var(--line);border-radius:15px}.editor:nth-child(2){background:var(--surface)}.label-row{margin-bottom:17px;gap:9px}.label-row label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.label-row .muted{font-size:10px}textarea,.workspace textarea{height:157px;padding:0;min-height:105px;background:transparent;border:0;border-radius:3px;font-size:29px;line-height:1.5;resize:vertical}textarea::placeholder{font-family:'Segoe UI',system-ui,sans-serif;font-size:17px;color:var(--muted);line-height:1.65}.status-box{background:transparent;border:0;border-radius:8px;margin-top:13px;padding:10px 12px;font-size:12px}.status-box[data-state=clean],.status-box[data-state=normalized]{background:var(--tint);border:0;color:var(--accent)}.actions{margin-top:18px;padding-top:19px;border-top:1px solid var(--line);gap:15px;margin-bottom:21px}.main-actions button{min-width:78px}.main-actions,.audio-actions{gap:9px}.audio-actions{border:0;padding:0;gap:16px}.audio-actions select{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;min-width:80px;padding:9px 2px;font-size:12px}.audio-actions label{font-size:12px;gap:7px}button,.button{border-radius:10px;font-size:13px}.primary,#play{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.primary:hover:not(:disabled),#play:hover:not(:disabled){background:var(--accent);color:var(--surface);border-color:var(--accent)}#play{border-radius:30px;min-width:110px}#copy{min-width:82px}.signal-track{display:flex;align-items:center;gap:20px;margin:0 -26px;padding:13px 26px;min-height:46px;background:var(--bg);border-top:1px solid var(--line);border-radius:0 0 24px 24px;color:var(--muted)}.signal-label{font-size:9px;letter-spacing:.12em}#signals{flex:1;min-width:0;overflow:auto;display:flex;align-items:center;gap:5px;height:18px;scrollbar-width:none}#signals i{display:block;flex-shrink:0;width:5px;height:5px;border-radius:3px;background:var(--line)}#signals i.dash{width:17px;height:4px}#signals i.gap{margin-right:9px}#signals i.on{background:var(--accent);box-shadow:0 0 7px var(--accent)}#signal-state{font-size:10px;white-space:nowrap}.feedback:not(:empty){padding:12px 0;margin:0}.examples{margin:25px 0 42px;display:flex;justify-content:center;align-items:center;gap:17px}.examples h2{font-size:12px;color:var(--muted);font-weight:500;letter-spacing:0;margin:0;white-space:nowrap}.example-row{justify-content:center;gap:7px}.example-row button{font-size:11px;min-height:34px;padding:7px 12px;border-radius:24px;background:color-mix(in srgb,var(--surface) 40%,transparent)}
.content-section{padding-top:44px;margin-top:44px}.content-section h2,.bottom-cta h2{font-family:Georgia,serif;font-size:33px;font-weight:700;letter-spacing:-1.2px}.content-section p{font-size:14px}.how{gap:20px 65px}.steps{margin:0}.steps li:before{background:var(--tint);color:var(--accent)}.how-details{border-radius:12px}.alphabet-grid{background:var(--surface);border-radius:15px}.alphabet-grid th,.alphabet-grid td{padding:10px 24px}.alphabet-grid code{color:var(--accent);font-size:19px}.punctuation,.faq details{border-radius:12px}.use-grid{gap:25px 65px}.bottom-cta{padding:68px 0}.site-footer{padding-block:30px}.site-footer .brand svg{width:133px;height:42px}.site-footer nav{gap:18px}.legal,.not-found{min-height:65vh}.legal h1,.not-found h1{font-family:Georgia,serif;font-weight:700}.site-header,.intro,.workspace,.examples{animation:arrive .65s cubic-bezier(.2,.7,.2,1) both}.intro{animation-delay:.08s}.workspace{animation-delay:.16s}.examples{animation-delay:.24s}@keyframes arrive{from{transform:translateY(12px)}to{transform:translateY(0)}}.editors.mode-change{animation:change .2s ease-out}@keyframes change{from{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.signal-art{display:none}.site-header{gap:22px}.site-header nav{gap:23px}.actions{flex-wrap:wrap}.examples{flex-direction:column;gap:11px}.intro h1{font-size:clamp(46px,6.5vw,72px)}}
@media(max-width:700px){.wrap{width:calc(100% - 32px)}.site-header{width:calc(100% - 32px);height:74px;padding:0 14px;margin-top:16px;gap:12px;flex-wrap:nowrap;border-radius:19px}.brand svg{width:148px;height:44px}.themes{margin-left:auto}.themes button{font-size:11px;padding:6px 8px}.themes button>span:first-child{display:none}.intro{margin:34px 0 27px}.intro h1{font-size:clamp(38px,9.6vw,64px);letter-spacing:-1.8px;line-height:1.1;margin-bottom:17px}.subhead{font-size:13px;line-height:1.7;margin:0 auto;max-width:335px}.trust{font-size:11px;max-width:270px;margin:9px auto 0}.workspace{padding:15px 14px 0;border-radius:19px}.modes{gap:2px;padding:4px}.modes button{font-size:10px;padding:8px 9px}.mode-row{gap:10px;margin-bottom:15px}#detected{font-size:11px}.editors{gap:15px}.editor{padding:16px}.label-row{margin-bottom:12px}.label-row .muted{font-size:10px}.workspace textarea{height:100px;font-size:24px}textarea::placeholder{font-size:15px}.status-box{padding:10px;font-size:11px}.actions{margin:14px 0 17px;padding-top:15px;gap:15px}.audio-actions{gap:12px;justify-content:space-between;flex-wrap:wrap}.audio-actions label{font-size:11px}.audio-actions select{font-size:11px;min-width:69px}#play{min-width:88px;font-size:12px}.signal-track{margin:0 -14px;padding:12px 14px;gap:12px;border-radius:0 0 19px 19px}#signal-state{font-size:9px}.examples{margin:24px 0 32px}.example-row button{font-size:10px;padding:8px 11px}.content-section{margin-top:33px;padding-top:33px}.content-section h2,.bottom-cta h2{font-size:28px}.how{gap:23px}.alphabet-grid th,.alphabet-grid td{padding:9px 12px}.alphabet-grid code{font-size:16px}.site-footer{gap:18px}.legal h1{font-size:35px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

#signals{position:relative}
/* Theme colors switch atomically so text never crosses a low-contrast transition. */ button,.button{transition:transform .15s,box-shadow .15s} button:not(:disabled):active{transform:translateY(1px)}
/* A readable signal diagram, linked to the actual translation and audio clock. */
.signal-visual{margin:-1px -1px 25px;padding:23px 26px 17px;border:1px solid var(--line);border-radius:17px;background:radial-gradient(ellipse at 8% 50%,var(--sky),transparent 65%),var(--bg)}.signal-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.signal-heading h2{font-family:Georgia,serif;font-size:25px;letter-spacing:-.6px;margin:0 0 5px}.signal-heading p{font-size:11px;color:var(--muted);margin:0}.signal-heading button{font-size:11px;min-height:34px;padding:7px 13px;border-radius:20px;flex-shrink:0;background:var(--surface)}.signal-stage{display:grid;grid-template-columns:285px minmax(0,1fr);gap:30px;align-items:center}.signal-focus{display:flex;align-items:center;gap:22px;min-width:0}.signal-focus>span{display:grid;place-items:center;flex-shrink:0;width:86px;height:86px;border-radius:50%;font:700 59px Georgia,serif;border:1px solid var(--line);background:var(--surface);box-shadow:0 5px 22px var(--shadow)}.signal-focus>div{flex:1;min-width:0}.signal-focus svg{width:100%;height:44px;display:block;overflow:visible}#signal-code{font:23px Consolas,monospace;letter-spacing:2px;color:var(--accent)}.wave-guide{stroke:var(--line);stroke-width:1;fill:none}#signal-wave{fill:none;stroke:var(--accent);stroke-width:2.8;stroke-linejoin:round}.tone-on .signal-focus>span{border-color:var(--accent);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 9%,transparent),0 5px 22px var(--shadow)}.signal-sequence{min-width:0;border-left:1px solid var(--line);padding-left:28px}#signals{display:flex;gap:12px;align-items:stretch;height:93px;overflow-x:auto;overflow-y:hidden;padding:2px 1px 7px;position:relative;scrollbar-width:thin}#signals .signal-letter{min-width:106px;flex:0 0 auto;padding:12px 15px;border-radius:12px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px}.signal-letter>span{font:600 23px Georgia,serif;color:var(--ink)}#signals .signal-letter.current{border-color:var(--accent);background:var(--tint)}.letter-symbols{display:flex;gap:7px;align-items:center}#signals i{height:10px;width:10px;background:color-mix(in srgb,var(--muted) 55%,var(--surface));border-radius:8px}#signals i.dash{width:30px;height:10px}#signals i.on{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 13%,transparent)}.signal-legend{display:flex;gap:15px;font-size:10px;color:var(--muted);margin-top:9px;flex-wrap:wrap}#signal-state{font-size:10px;margin-left:auto}#signal-empty{display:block;color:var(--muted);font-size:13px}#signal-empty:empty{display:none}.signal-progress-row{display:flex;align-items:center;gap:15px;margin-top:17px}#signal-progress{width:100%;height:4px;appearance:none;border:0;border-radius:4px;overflow:hidden;background:var(--line);color:var(--accent)}#signal-progress::-webkit-progress-bar{background:var(--line)}#signal-progress::-webkit-progress-value{background:var(--accent)}#signal-progress::-moz-progress-bar{background:var(--accent)}#signal-time{width:30px;font:10px Consolas,monospace;color:var(--muted)}
@media(max-width:900px){.signal-stage{grid-template-columns:230px minmax(0,1fr);gap:20px}.signal-focus{gap:15px}.signal-sequence{padding-left:20px}.signal-focus>span{width:70px;height:70px;font-size:49px}.signal-visual{padding:20px}#signals .signal-letter{min-width:92px;padding:12px}}
@media(max-width:700px){.signal-visual{padding:17px 14px;margin-bottom:19px}.signal-heading{align-items:flex-start;margin-bottom:15px}.signal-heading h2{font-size:23px}.signal-heading p{font-size:10px;max-width:155px}.signal-heading button{font-size:10px;padding:7px 10px}.signal-stage{grid-template-columns:1fr;gap:17px}.signal-focus{gap:20px}.signal-focus>span{width:58px;height:58px;font-size:40px}.signal-focus>div{display:flex;align-items:center;gap:15px}#signal-code{font-size:19px;white-space:nowrap;letter-spacing:0}.signal-focus svg{flex:1;width:80px;height:36px}.signal-sequence{border:0;padding:0}#signals{height:83px;gap:8px}#signals .signal-letter{min-width:86px;padding:10px 12px;gap:9px}.signal-letter>span{font-size:21px}.letter-symbols{gap:5px}#signals i{width:8px;height:8px}#signals i.dash{width:24px;height:8px}.signal-legend{gap:8px;font-size:9px}#signal-state{font-size:9px}.signal-progress-row{margin-top:12px}.signal-focus>span{box-shadow:none}.tone-on .signal-focus>span{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 9%,transparent)}}

/* Tool first: the explanatory diagram follows input, output and actions. */
.signal-visual{margin:8px 0 24px}.intro{margin-top:30px;margin-bottom:26px}.intro h1{font-size:clamp(46px,5.2vw,72px);margin-bottom:16px}.workspace textarea{height:132px}
@media(min-width:701px) and (max-height:800px){.site-header{height:66px;margin-top:16px}.intro{margin:20px 0}.intro h1{font-size:60px;margin-bottom:12px}.trust{margin-top:5px}.workspace textarea{height:108px}.mode-row{margin-bottom:16px}.editor{padding:16px 20px}.actions{margin-top:12px;padding-top:14px;margin-bottom:16px}}
@media(max-width:700px){.site-header{height:64px;margin-top:12px}.intro{margin:22px 0 20px}.intro h1{font-size:clamp(29px,7.8vw,46px);letter-spacing:-1.3px;line-height:1.08;margin-bottom:12px}.subhead{font-size:12px;line-height:1.5;max-width:310px}.trust{font-size:10px;max-width:none;line-height:1.5;margin-top:6px}.workspace textarea{height:72px;min-height:72px;font-size:23px}.editor{padding:12px 14px}.label-row{margin-bottom:8px}.editors{gap:12px}.mode-row{margin-bottom:12px}.status-box{margin-top:10px;padding:8px 10px}.actions{margin-top:10px;padding-top:12px;margin-bottom:15px;gap:10px}.signal-visual{margin:4px 0 15px}.intro .trust{max-width:none}}

@media(max-width:360px){.site-header{height:60px}.intro{margin:16px 0 14px}.intro h1{font-size:28px}.workspace textarea{height:64px;min-height:64px}.editor{padding-block:11px}}
@media(max-width:360px){.intro{margin-top:8px}}
