:root{--bg:#0a0a0a;--panel:#111311;--panel-2:#151a15;--panel-3:#1c231c;--line:#ffffff17;--line-strong:#ffffff24;--text:#fafafa;--muted:#ffffff94;--muted-2:#fff6;--accent:#99d52a;--accent-deep:#059345;--accent-ink:#06230f;--accent-soft:#99d52a1f;--display:"Space Grotesk", sans-serif;--sans:"Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"Space Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);scroll-behavior:smooth}body{min-width:320px;min-height:100vh;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 78% 10%,#99d52a1c,#0000 25rem),linear-gradient(#0a0a0a 0%,#0d100d 52%,#090a09 100%);margin:0}button,textarea,input{font:inherit}button,summary,a,label{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}.site-shell{width:min(1140px,100% - 32px);margin:0 auto;padding:28px 0 56px}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px;display:flex}.brand{align-items:center;min-width:0;display:inline-flex}.brand img{width:clamp(190px,25vw,264px);height:auto;display:block}.navlinks{border:1px solid var(--line);backdrop-filter:blur(18px);background:#111311b8;border-radius:13px;align-items:center;gap:8px;padding:5px;display:flex}.navlinks a{min-height:34px;color:var(--muted);font-family:var(--mono);letter-spacing:.9px;text-transform:uppercase;border-radius:9px;justify-content:center;align-items:center;padding:0 12px;font-size:.68rem;display:inline-flex}.navlinks a:hover{background:var(--panel-3);color:var(--text)}.hero{grid-template-columns:minmax(0,.9fr) minmax(420px,560px);align-items:center;gap:clamp(28px,5vw,72px);min-height:calc(100vh - 118px);padding:4px 0 44px;display:grid}.hero-copy{align-self:center}.eyebrow,.tool-kicker{color:var(--accent);font-family:var(--mono);letter-spacing:1.8px;text-transform:uppercase;margin:0 0 12px;font-size:.72rem}h1,h2,h3,p{margin-top:0}h1{max-width:680px;font-family:var(--display);letter-spacing:-.055em;margin-bottom:16px;font-size:clamp(3.4rem,8vw,6.8rem);font-weight:600;line-height:.93}h1 span,.translator-card h2 span{color:var(--accent)}.lede{max-width:590px;color:var(--muted);font-size:clamp(1.02rem,2vw,1.23rem);line-height:1.55}.intent-strip{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.intent-strip span{border:1px solid var(--line);min-height:36px;color:var(--muted);font-family:var(--mono);letter-spacing:.4px;text-transform:uppercase;background:#151a15b8;border-radius:999px;align-items:center;padding:0 13px;font-size:.7rem;display:inline-flex}.translator-card{border:1px solid var(--line-strong);background:linear-gradient(180deg, #ffffff09, transparent 42%), var(--panel);border-radius:22px;width:100%;padding:clamp(20px,3vw,30px);box-shadow:0 30px 80px #00000080}.tool-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.tool-header h2{font-family:var(--display);letter-spacing:-.045em;margin:0;font-size:clamp(1.75rem,4vw,2.25rem);line-height:1}.ghost-icon{border:1px solid var(--line-strong);width:40px;height:40px;color:var(--muted);background:0 0;border-radius:12px;place-items:center;display:grid}.ghost-icon:hover{border-color:var(--accent);color:var(--accent)}.mode-tabs{border:1px solid var(--line);background:var(--panel-2);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:16px;padding:5px;display:grid}.mode-tabs button{min-height:38px;color:var(--muted);font-family:var(--mono);letter-spacing:.4px;text-transform:uppercase;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;font-size:.72rem;font-weight:700;display:inline-flex}.mode-tabs button.active{background:var(--accent);color:var(--accent-ink)}.mode-panel,.audio-panel,.image-panel{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.audio-panel{grid-template-columns:1.4fr 1fr 1fr auto;align-items:center}.mode-action,.upload-zone{border:1px solid var(--line);background:var(--panel-2);min-height:48px;color:var(--text);border-radius:13px}.mode-action{justify-content:center;align-items:center;gap:8px;font-weight:700;display:inline-flex}.mode-action.secondary{color:var(--muted)}.audio-upload{padding:0 12px}.audio-upload span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.image-panel{grid-template-columns:1fr auto;align-items:center}.upload-zone{color:var(--muted);place-items:center;display:grid;position:relative;overflow:hidden}.upload-zone input{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-zone span{align-items:center;gap:8px;font-weight:700;display:inline-flex}.upload-zone img{object-fit:cover;opacity:.8;width:100%;height:84px}.scan-status{border:1px solid var(--line);min-width:92px;min-height:38px;color:var(--accent);font-family:var(--mono);letter-spacing:.8px;text-transform:uppercase;border-radius:11px;justify-content:center;align-items:center;font-size:.68rem;display:inline-flex}.audio-status{align-self:stretch;min-height:48px}.mode-help{color:var(--muted-2);grid-column:1/-1;margin:-2px 0 0;font-size:.78rem;line-height:1.45}.field{border:1px solid var(--line);background:var(--panel-2);border-radius:13px;padding:13px 14px}.focus-field{border-color:#99d52a9e;box-shadow:0 0 0 1px #99d52a14}.field label{color:var(--muted);font-family:var(--mono);letter-spacing:1.3px;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;font-size:.64rem;display:flex}.detect-dot{color:var(--accent);white-space:nowrap;align-items:center;gap:5px;display:inline-flex}textarea{resize:vertical;width:100%;min-height:112px;color:var(--text);background:0 0;border:0;outline:0;font-size:1.16rem;line-height:1.45}.warning{color:#d8f39a;background:#99d52a14;border:1px solid #99d52a47;border-radius:10px;margin:10px 0 0;padding:9px 10px;font-size:.82rem;line-height:1.35}.swap-row{z-index:2;justify-content:center;height:34px;margin:-3px 0;display:flex;position:relative}.swap-row button{background:var(--accent);width:40px;height:40px;color:var(--accent-ink);box-shadow:0 0 0 5px var(--panel);border:0;border-radius:50%;place-items:center;display:grid}.output-field output{min-height:62px;color:var(--text);overflow-wrap:anywhere;font-size:1.1rem;line-height:1.45;display:block}.output-field .morse-output{color:var(--accent);font-family:var(--mono);letter-spacing:1px;font-size:1rem}.chips{flex-wrap:wrap;gap:7px;margin:13px 0 18px;display:flex}.chips button{border:1px solid var(--line);background:var(--panel-2);min-height:31px;color:var(--muted);font-family:var(--mono);letter-spacing:.2px;border-radius:999px;padding:0 11px;font-size:.7rem}.chips button:hover{border-color:var(--accent);color:var(--accent)}.actions{flex-wrap:wrap;gap:8px;display:flex}.actions button{border:1px solid var(--line-strong);min-height:43px;color:var(--text);background:0 0;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-weight:700;display:inline-flex}.actions .primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.advanced{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.advanced summary{color:var(--muted);cursor:pointer;font-family:var(--mono);letter-spacing:1.3px;text-transform:uppercase;align-items:center;gap:8px;font-size:.66rem;list-style:none;display:inline-flex}.advanced summary::-webkit-details-marker{display:none}.controls{gap:12px;margin-top:14px;display:grid}.controls label{color:var(--muted);font-family:var(--mono);letter-spacing:.7px;text-transform:uppercase;grid-template-columns:48px 1fr 66px;align-items:center;gap:10px;font-size:.7rem;display:grid}.controls input{accent-color:var(--accent)}.controls strong{color:var(--text);text-align:right}.loop-toggle{border:1px solid var(--line-strong);min-height:36px;color:var(--muted);font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;justify-self:start;align-items:center;gap:7px;padding:0 14px;font-size:.66rem;display:inline-flex}.loop-toggle.active{background:var(--accent);color:var(--accent-ink);border-color:#0000}.controls-hint{color:var(--muted-2);margin:2px 0 0;font-size:.76rem;line-height:1.5}.timing{color:var(--muted-2);text-align:center;font-family:var(--mono);letter-spacing:.35px;margin:14px 0 0;font-size:.72rem}.proof-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0 72px;display:grid}.proof-grid article{border:1px solid var(--line);background:#111311b8;border-radius:16px;padding:20px}.proof-grid svg{color:var(--accent);margin-bottom:16px}.proof-grid h3{font-family:var(--display);letter-spacing:-.03em;margin-bottom:7px;font-size:1.2rem}.proof-grid p,.faq p{color:var(--muted);margin-bottom:0;line-height:1.55}.content-section{border-top:1px solid var(--line);padding:56px 0 10px}.section-head{justify-content:space-between;align-items:end;gap:18px;margin-bottom:22px;display:flex}.section-head h2{font-family:var(--display);letter-spacing:-.05em;margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;display:grid}.chart-item{border:1px solid var(--line);background:var(--panel);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:0 13px;display:flex}.chart-item strong{font-family:var(--display);font-size:1.25rem}.chart-item span{color:var(--accent);font-family:var(--mono);letter-spacing:1.3px}.faq{grid-template-columns:minmax(260px,.7fr) 1fr;gap:16px 28px;display:grid}.faq .section-head{margin:0;display:block}.faq details{border:1px solid var(--line);background:var(--panel);border-radius:14px;grid-column:2;padding:17px 18px}.faq details:first-of-type{margin-top:0}.faq summary{cursor:pointer;color:var(--text);font-weight:700}.faq p{margin-top:11px}.hero-compact{align-items:start;min-height:auto;padding-top:8px}.hero-compact .hero-copy{align-self:start;padding-top:6px}.hero-compact h1{font-size:clamp(2.6rem,6vw,4.6rem)}.breadcrumb{color:var(--muted-2);font-family:var(--mono);letter-spacing:.6px;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;font-size:.7rem;display:flex}.breadcrumb a:hover{color:var(--accent)}.breadcrumb [aria-current=page]{color:var(--muted)}.prose p{max-width:760px;color:var(--muted);margin-bottom:16px;font-size:1.04rem;line-height:1.65}.prose p:last-child{margin-bottom:0}.prose strong{color:var(--text)}.prose ul{gap:9px;max-width:760px;margin:0 0 16px;padding:0;list-style:none;display:grid}.prose ul li{color:var(--muted);padding-left:22px;font-size:1.02rem;line-height:1.6;position:relative}.prose ul li:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:.62em;left:4px}.prose ul li strong{color:var(--text)}.prose h3{font-family:var(--display);letter-spacing:-.02em;margin:26px 0 10px;font-size:1.3rem}.callout{border:1px solid var(--line-strong);border-left:3px solid var(--accent);background:var(--accent-soft);max-width:760px;color:var(--muted);border-radius:12px;margin:4px 0 16px;padding:14px 16px;font-size:.96rem;line-height:1.6}.callout strong{color:var(--text)}.compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:760px;margin:4px 0 16px;display:grid}.compare-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:16px 17px}.compare-card h4{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;align-items:center;gap:8px;margin:0 0 10px;font-size:.7rem;display:flex}.compare-card.yes h4{color:var(--accent)}.compare-card.no h4{color:var(--muted-2)}.compare-card ul{gap:7px;margin:0;display:grid}.compare-card li{font-size:.92rem}.example-figure{max-width:760px;margin:4px 0 16px}.example-figure img{border:1px solid var(--line);background:var(--panel);border-radius:14px;width:100%}.example-figure figcaption{color:var(--muted-2);font-family:var(--mono);letter-spacing:.4px;margin-top:9px;font-size:.74rem;line-height:1.5}code{font-family:var(--mono);color:var(--accent);background:var(--accent-soft);overflow-wrap:anywhere;border-radius:6px;padding:1px 6px;font-size:.92em}.big-morse{color:var(--accent);font-family:var(--mono);letter-spacing:2px;overflow-wrap:anywhere;margin:18px 0 0;font-size:clamp(1.1rem,3vw,1.6rem)}.chart-subhead{color:var(--muted);font-family:var(--mono);letter-spacing:1.4px;text-transform:uppercase;margin:26px 0 12px;font-size:.72rem}.chart-subhead:first-of-type{margin-top:4px}.chart-grid-wide{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.chart-item strong{flex-direction:column;gap:1px;display:flex}.chart-item strong em{color:var(--muted-2);font-family:var(--mono);letter-spacing:.6px;text-transform:uppercase;font-size:.6rem;font-style:normal}.related-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.related-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;flex-direction:column;gap:6px;padding:18px;transition:border-color .15s;display:flex}.related-card:hover{border-color:var(--accent)}.related-card strong{font-family:var(--display);letter-spacing:-.02em;font-size:1.1rem}.related-card span{color:var(--muted);font-size:.9rem;line-height:1.5}.imggen{grid-template-columns:340px 1fr;align-items:start;gap:18px;width:100%;display:grid}.imggen-panel{border:1px solid var(--line-strong);background:linear-gradient(180deg, #ffffff09, transparent 42%), var(--panel);border-radius:18px;padding:18px}.ig-row{margin-bottom:16px}.ig-row:last-child{margin-bottom:0}.ig-lbl{color:var(--muted);font-family:var(--mono);letter-spacing:1.3px;text-transform:uppercase;margin-bottom:8px;font-size:.64rem;display:block}.ig-text{border:1px solid var(--line);resize:vertical;background:var(--panel-2);width:100%;min-height:60px;color:var(--text);font-family:var(--sans);border-radius:10px;outline:none;padding:11px;font-size:1rem;line-height:1.4}.ig-text:focus{border-color:var(--accent)}.ig-morse{color:var(--accent);font-family:var(--mono);letter-spacing:1px;overflow-wrap:anywhere;margin:8px 0 0;font-size:.74rem;line-height:1.5}.ig-tpls{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.ig-tpl{border:1px solid var(--line);background:var(--panel-2);color:var(--muted);font-family:var(--mono);letter-spacing:.5px;text-transform:uppercase;text-align:center;border-radius:9px;padding:9px 4px;font-size:.7rem}.ig-tpl.on{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:700}.ig-colors{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ig-opt label{color:var(--muted);font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;font-size:.62rem;display:block}.ig-val{color:var(--accent)}.ig-opt input[type=color]{border:1px solid var(--line);background:var(--panel-2);cursor:pointer;border-radius:8px;width:100%;height:34px}.ig-opt input[type=range]{width:100%;accent-color:var(--accent)}.ig-seg{gap:6px;display:flex}.ig-seg button{border:1px solid var(--line);background:var(--panel-2);color:var(--muted);font-family:var(--mono);letter-spacing:.5px;text-transform:uppercase;border-radius:8px;flex:1;padding:8px 4px;font-size:.64rem}.ig-seg button.on{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:700}.ig-select{border:1px solid var(--line);background:var(--panel-2);width:100%;color:var(--text);font-family:var(--sans);border-radius:8px;padding:9px 10px}.ig-checks{gap:18px;display:flex}.ig-chk{color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:.86rem;display:inline-flex}.ig-chk input{accent-color:var(--accent)}.ig-stage{border:1px solid var(--line);background:repeating-conic-gradient(#1a1a1a 0% 25%,#141414 0% 50%) 0/24px 24px;border-radius:16px;place-items:center;min-height:420px;padding:18px;display:grid;overflow:hidden}.ig-preview{max-width:100%;display:grid}.ig-preview svg{border-radius:6px;max-width:100%;height:auto;max-height:560px;display:block}.ig-actions{flex-wrap:wrap;gap:9px;margin-top:14px;display:flex}.ig-btn{background:var(--accent);min-height:44px;color:var(--accent-ink);border:none;border-radius:11px;align-items:center;gap:7px;padding:0 16px;font-weight:700;display:inline-flex}.ig-btn.sec{border:1px solid var(--line-strong);color:var(--text);background:0 0}.ig-note{color:var(--muted-2);font-family:var(--mono);letter-spacing:.3px;margin:12px 0 0;font-size:.7rem;line-height:1.5}.ig-toast{background:var(--accent);color:var(--accent-ink);opacity:0;pointer-events:none;z-index:40;border-radius:999px;padding:11px 18px;font-weight:700;transition:all .25s;position:fixed;bottom:22px;left:50%;transform:translate(-50%)translateY(8px)}.ig-toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (width<=820px){.imggen{grid-template-columns:1fr}}.footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:32px;margin-top:56px;padding-top:44px;display:flex}.footer-brand{max-width:280px}.footer-brand img{width:188px;height:auto;margin-bottom:12px}.footer-brand p{color:var(--muted-2);margin:0;font-size:.88rem;line-height:1.5}.footer-nav{grid-template-columns:repeat(3,auto);gap:28px 40px;display:grid}.footer-heading{color:var(--muted);font-family:var(--mono);letter-spacing:1.2px;text-transform:uppercase;margin:0 0 12px;font-size:.66rem}.footer-nav ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.footer-nav a{color:var(--muted);font-size:.9rem}.footer-nav a:hover{color:var(--accent)}@media (width<=620px){.footer-nav{grid-template-columns:1fr 1fr;gap:24px}}@media (width<=920px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:18px}h1{max-width:760px}.translator-card{max-width:620px}.proof-grid,.faq{grid-template-columns:1fr}.faq details{grid-column:auto}}@media (width<=620px){.site-shell{width:min(100% - 24px,1140px);padding-top:18px}.topbar{flex-direction:column;align-items:flex-start}.brand img{width:218px}.navlinks{justify-content:space-between;width:100%}.navlinks a{flex:1}h1{font-size:clamp(3rem,15vw,4.4rem)}.mode-panel,.audio-panel{grid-template-columns:1fr}.audio-status{min-height:38px}.translator-card{border-radius:18px;padding:18px}.actions button{flex:30%;padding-inline:10px}.section-head{display:block}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compare{grid-template-columns:1fr}.footer{flex-direction:column;align-items:flex-start}}
