:root{--accent: #2f5bd0;--accent-ink: #ffffff;--bg: #eef1f6;--card: #ffffff;--ink: #16202e;--muted: #5c6b80;--line: #dbe1ea;--field: #f5f7fb;--ok: #17803d;--ok-bg: #e6f4ea;--warn: #9a6700;--warn-bg: #fdf3d8;--bad: #c02626;--bad-bg: #fbe7e7;--radius: 16px;--shadow: 0 1px 2px rgba(16, 32, 54, .06), 0 8px 24px rgba(16, 32, 54, .08)}@media (prefers-color-scheme: dark){:root{--accent: #6f97ff;--accent-ink: #0b1220;--bg: #0d1219;--card: #161d27;--ink: #eaf0f8;--muted: #9aa8bd;--line: #263143;--field: #1d2632;--ok: #57cc84;--ok-bg: #10331f;--warn: #e0b34a;--warn-bg: #33290c;--bad: #ff8a8a;--bad-bg: #3a1414;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 30px rgba(0, 0, 0, .35)}}*{box-sizing:border-box}html,body{margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}.app{max-width:440px;margin:0 auto;min-height:100dvh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:4px 2px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{background:var(--accent);color:var(--accent-ink);font-weight:700;letter-spacing:.5px;border-radius:10px;padding:6px 9px;font-size:14px}.brand-name{font-weight:600;font-size:15px}.badge-sandbox{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--warn);background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);padding:3px 8px;border-radius:999px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card.center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.muted{color:var(--muted);margin:0}h1{font-size:20px;margin:0;line-height:1.25}.subject{font-size:22px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.chip{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--field);color:var(--muted);border:1px solid var(--line)}.chip-ok{color:var(--ok);background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.chip-warn{color:var(--warn);background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.meta{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin:16px 0}.meta>div{min-width:0}.meta .wide{grid-column:1 / -1}.meta dt{font-size:12px;color:var(--muted);margin-bottom:2px}.meta dd{margin:0;font-weight:600;font-size:15px;overflow-wrap:anywhere}.action-note{margin:4px 0 0;font-size:14px;color:var(--ink)}.action-note strong{color:var(--accent)}form{display:flex;flex-direction:column;gap:14px;margin-top:4px}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:13px;font-weight:600;color:var(--muted)}input,select,textarea{font:inherit;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:12px;padding:13px 14px;width:100%;outline:none;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.hint{font-size:12px;color:var(--muted)}.form-error{margin:0;color:var(--bad);background:var(--bad-bg);border:1px solid color-mix(in srgb,var(--bad) 30%,transparent);padding:10px 12px;border-radius:10px;font-size:14px}.btn{font:inherit;font-weight:600;border-radius:12px;padding:14px 16px;border:1px solid transparent;cursor:pointer;transition:transform .05s,background .15s,opacity .15s}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.primary:disabled{opacity:.6;cursor:progress}.btn.ghost{background:transparent;color:var(--accent);border-color:var(--line)}.icon{width:64px;height:64px;border-radius:999px;display:grid;place-items:center;font-size:34px;font-weight:700}.icon-ok{background:var(--ok-bg);color:var(--ok)}.icon-bad{background:var(--bad-bg);color:var(--bad)}.spinner{width:34px;height:34px;border-radius:999px;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.foot{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--muted)}.mono{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px;word-break:break-all}
