#ekg-app{--bg:#fff;--fg:#10223a;--pri:#0b3d91;--onpri:#fff;--acc:#ffd23f;--card:#eef3fb;--bd:#10223a;--ng:#b00020;--ok:#0a6b32;display:block;color:var(--fg);background:var(--bg)}
#ekg-app *{box-sizing:border-box}
#ekg-app{margin:0;background:var(--bg);color:var(--fg);font:20px/1.6 "Hiragino Sans","Noto Sans JP","Yu Gothic",Meiryo,sans-serif}
#ekg-app main{max-width:640px;margin:0 auto;padding:12px 16px 40px}
#ekg-app h1{font-size:1.5rem;margin:8px 0}h2{font-size:1.35rem;margin:16px 0 8px}
#ekg-app .warn{background:var(--acc);color:#10223a;border:3px solid #10223a;border-radius:10px;padding:8px 12px;font-size:.85rem;font-weight:700}
#ekg-app button,#ekg-app .btn{display:block;width:100%;min-height:68px;margin:10px 0;padding:12px 16px;font:inherit;font-weight:700;text-align:left;color:var(--onpri);background:var(--pri);border:3px solid var(--bd);border-radius:14px;cursor:pointer}
#ekg-app button.sub{background:var(--card);color:var(--fg)}
#ekg-app button.end{background:var(--ng);color:#fff}
#ekg-app button small{display:block;font-weight:400;font-size:.8rem}
#ekg-app button:focus-visible,#ekg-app input:focus-visible,#ekg-app textarea:focus-visible,#ekg-app select:focus-visible{outline:4px solid var(--acc);outline-offset:2px}
#ekg-app input,#ekg-app select,#ekg-app textarea{width:100%;font:inherit;padding:12px;border:3px solid var(--bd);border-radius:10px;background:var(--bg);color:var(--fg)}
#ekg-app textarea{min-height:300px;font:14px/1.4 ui-monospace,monospace}
#ekg-app .card{background:var(--card);border:2px solid var(--bd);border-radius:12px;padding:12px 14px;margin:10px 0}
#ekg-app .step{display:flex;gap:14px;align-items:center;min-height:200px;border:4px solid var(--bd);border-radius:16px;padding:16px;margin:12px 0;background:var(--card)}
#ekg-app .arrow{font-size:4rem;line-height:1;min-width:76px;text-align:center;color:var(--pri)}
#ekg-app .txt{font-size:1.45rem;font-weight:700}
#ekg-app .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#ekg-app .tag{display:inline-block;padding:2px 10px;border-radius:99px;font-size:.8rem;font-weight:700;border:2px solid currentColor}
#ekg-app .ok{color:var(--ok)}.ng{color:var(--ng)}
#ekg-app .bar{height:12px;background:var(--card);border:2px solid var(--bd);border-radius:8px;overflow:hidden}.bar i{display:block;height:100%;background:var(--pri)}
#ekg-app .hint{font-size:.8rem;opacity:.85}