*{box-sizing:border-box} :root{color-scheme:light;--ink:#182522;--muted:#4f625b;--paper:#f4f5ef;--surface:#fffef8;--line:#cbd2c7;--accent:#185b44;--soft:#e4ecdc} body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.65} a{color:var(--accent);text-underline-offset:4px} button,input,select{font:inherit} button,select,input{min-height:46px} button{cursor:pointer;background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:5px;padding:10px 18px;font-weight:700} button.secondary{background:transparent;color:var(--ink);border-color:var(--line)} button:hover{filter:brightness(.94)} button:disabled{opacity:.5;cursor:default} select,input{width:100%;border:1px solid var(--line);padding:9px 12px;border-radius:4px;background:var(--surface);color:var(--ink);min-width:0} label{display:block;font-size:.88rem;font-weight:700;margin-bottom:6px} :focus-visible{outline:3px solid var(--accent);outline-offset:4px} .skip{position:absolute;top:-100px;left:12px;z-index:10;background:var(--surface);padding:12px}.skip:focus{top:12px} .wrap{width:min(1100px,calc(100% - 48px));margin:auto} header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0;border-bottom:1px solid var(--line)} .brand{font-weight:800;letter-spacing:-.04em;color:var(--ink);text-decoration:none;font-size:1.2rem}.stamp{font-size:.72rem;letter-spacing:.16em;font-weight:700;color:var(--muted)} .intro{padding:48px 0 28px;max-width:760px}.eyebrow{color:var(--accent);font-size:.78rem;letter-spacing:.15em;font-weight:800;margin:0 0 12px}h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.17;letter-spacing:-.065em;margin:0 0 18px}h2{font-size:1.35rem;letter-spacing:-.035em;line-height:1.4}h3{font-size:1.05rem}.lead{color:var(--muted);font-size:1.05rem;max-width:680px;margin:0} .workbench{border:1px solid var(--line);background:var(--surface);padding:28px;border-radius:8px;margin-bottom:40px}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.hint{color:var(--muted);font-size:.87rem}.result{font-size:clamp(2rem,7vw,4rem);font-weight:800;line-height:1.2;letter-spacing:-.04em;margin:0}.status{min-height:1.65em;margin:14px 0 0}.error{color:#a22026;font-weight:700}.guide{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:40px 0 48px}.guide h2{margin-top:0}.guide p,.guide li{color:var(--muted)}.notice{padding:14px 18px;border-left:3px solid var(--accent);background:var(--soft);font-size:.9rem}.footnote{border-top:1px solid var(--line);padding:22px 0 32px;color:var(--muted);font-size:.8rem}.footnote p{margin:4px 0}details{border-top:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-weight:700}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}th{font-size:.82rem;background:var(--soft)}.scroll{max-width:100%;overflow:auto}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap} [hidden]{display:none!important} .mini{font-size:.78rem;color:var(--muted)} .letter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:8px;margin-top:20px}.letter-grid button{padding:9px 4px;background:transparent;color:var(--ink);border-color:var(--line)}.letter-grid button[aria-pressed=true]{background:var(--accent);color:#fff}@media(max-width:650px){.wrap{width:calc(100% - 32px)}header{padding:18px 0}.stamp{font-size:.64rem}.intro{padding:32px 0 24px}.workbench{padding:18px}.fields{grid-template-columns:1fr}.guide{grid-template-columns:1fr;gap:24px;margin:30px 0}.buttons button{flex:1 1 110px}th,td{padding:10px}.lead{font-size:1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}} :root{--accent:#a74427;--paper:#f7f0e5;--surface:#fffaf1;--soft:#f0e2cf;--line:#d8c6b2;--muted:#6e5a4d;--ink:#35251c}.morse-card{position:relative;margin-top:28px;background:#f1e3cd;border:1px solid #c9b291;padding:30px;text-align:center;min-height:330px}.card-index{position:absolute;top:14px;left:18px;font:700 .75rem ui-monospace,monospace;color:var(--muted)}.big-letter{font-size:clamp(5rem,16vw,8rem);font-weight:800;line-height:1;margin:20px 0;letter-spacing:-.06em}.morse-symbols{font:800 clamp(2rem,7vw,3.3rem) ui-monospace,monospace;letter-spacing:.1em;min-height:64px;overflow-wrap:anywhere}.timing{font-size:.8rem;color:var(--muted);margin:20px 0 0}.morse-card .hint{margin:6px 0}.morse-card.hidden-code .morse-symbols{color:var(--muted)}
@media(max-width:650px){.morse-card{padding:28px 12px;min-height:300px}.timing{font-size:.75rem}}
