:root{--bg: #e8eef2;--paper: #f7fafc;--ink: #1f2a32;--muted: #5c6b76;--line: #c9d5de;--accent: #2f4a5a;--accent-2: #c47b4a;--ok: #3d6b55;--shadow: 0 10px 28px rgba(31, 42, 50, .08);--radius: 16px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(ellipse at top,#f3f7fa,#d9e3ea 70%);color:var(--ink);font-family:IBM Plex Sans JP,Hiragino Sans,Yu Gothic,sans-serif;font-size:17px;line-height:1.65}button,textarea,input{font:inherit;color:inherit}#app{min-height:100dvh}.shell{max-width:440px;min-height:100dvh;margin:0 auto;background:var(--paper);border-left:1px solid #c5d0d8;border-right:1px solid #c5d0d8;box-shadow:var(--shadow)}.top{display:flex;align-items:center;gap:10px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid var(--line);background:#f7fafceb;position:sticky;top:0}.mark{width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:7px 3px 0 var(--accent-2)}main{padding:18px 16px calc(28px + env(safe-area-inset-bottom))}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.hero h1,.panel h1{margin:0 0 .45em;font-size:1.45rem;line-height:1.35}.eyebrow{margin:0 0 6px;color:var(--accent-2);font-size:.82rem;font-weight:700;letter-spacing:.06em}.hint,.muted,.note{color:var(--muted)}.hint{margin-top:0}.progress{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.progress span{font-size:.78rem;padding:4px 8px;border-radius:999px;background:#edf2f5;color:var(--muted)}.progress .done{background:#e4eee8;color:var(--ok)}.progress .now{background:var(--accent);color:#f4f8fa}.step-count{margin:0 0 12px;font-size:.9rem}.mode-row{display:flex;gap:10px;margin:14px 0}.choices{display:grid;gap:8px;margin:14px 0}.choice{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfd;cursor:pointer}.choice.inline{flex:1;justify-content:center;align-items:center}.choice:has(input:checked){border-color:var(--accent);background:#eef4f7}.field{display:grid;gap:6px;margin:12px 0;font-weight:700;font-size:.92rem}.field input[type=password],.field input[type=text]{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;font-weight:400}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.actions-3{grid-template-columns:1fr}.actions-3 .btn{width:100%}@media(min-width:420px){.actions-3{grid-template-columns:1fr 1fr 1fr}}.actions .btn.primary:last-child{grid-column:auto}.btn:disabled{opacity:.55;cursor:not-allowed}.note.ok{color:var(--ok);font-weight:700}.btn{min-height:48px;border-radius:999px;border:1px solid var(--accent);background:#fff;cursor:pointer;font-weight:700}.btn.primary{background:var(--accent);color:#f4f8fa}.btn.ghost{background:transparent}.hidden{display:none!important}.hint code{font-family:IBM Plex Mono,Consolas,monospace;font-size:.92em;padding:.1em .35em;border-radius:6px;background:#edf2f5}.output-extras{margin-top:4px;padding-top:4px;border-top:1px dashed var(--line)}.summary{padding-left:1.1em;margin:0 0 12px;color:var(--muted);font-size:.95rem;overflow-wrap:anywhere}.summary strong{color:var(--ink)}#copy-msg{color:var(--ok);font-weight:700}@media(max-width:480px){.shell{border:none;box-shadow:none}}
