:root { --fg:#1b1f24; --muted:#6b7280; --bg:#fff; --card:#f6f8fa; --line:#d0d7de; --accent:#1f6feb; --err:#cf222e; --ok:#1a7f37; }
@media (prefers-color-scheme: dark) { :root { --fg:#e6edf3; --muted:#8b949e; --bg:#0d1117; --card:#161b22; --line:#30363d; --accent:#4493f8; --err:#f85149; --ok:#3fb950; } }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.6 system-ui, -apple-system, "PingFang SC", "Noto Sans CJK SC", sans-serif; color:var(--fg); background:var(--bg); }
header { position:sticky; top:0; display:flex; justify-content:space-between; align-items:center; padding:10px 16px; background:var(--bg); border-bottom:1px solid var(--line); z-index:1; }
.brand { font-weight:600; color:var(--fg); text-decoration:none; }
main { padding:12px 16px 80px; max-width:820px; margin:0 auto; }
a { color:var(--accent); }
.muted { color:var(--muted); font-size:14px; }
.err { color:var(--err); }
button, .btn { font:inherit; padding:9px 16px; border-radius:8px; border:1px solid var(--line); background:var(--card); color:var(--fg); cursor:pointer; text-decoration:none; display:inline-block; }
button.primary, .btn.primary { background:var(--accent); border-color:var(--accent); color:#fff; }
button:disabled { opacity:.5; }
input, textarea, select { font:inherit; width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:8px; background:var(--bg); color:var(--fg); }
textarea { min-height:55vh; font-family:ui-monospace, "SF Mono", Menlo, monospace; font-size:15px; line-height:1.55; }
label { display:block; margin:12px 0 4px; font-size:14px; color:var(--muted); }
.row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.note { display:block; padding:12px; margin:8px 0; border:1px solid var(--line); border-radius:10px; background:var(--card); color:var(--fg); text-decoration:none; }
.note .t { font-weight:600; }
.chip { display:inline-block; font-size:12px; padding:1px 8px; border-radius:10px; border:1px solid var(--line); margin-right:6px; }
.chip.ready { border-color:var(--accent); color:var(--accent); }
.chip.archived, .chip.final { border-color:var(--ok); color:var(--ok); }
.tabs { display:flex; gap:4px; margin:12px 0 8px; border-bottom:1px solid var(--line); }
.tabs button { border:none; border-bottom:2px solid transparent; border-radius:0; background:none; padding:8px 12px; }
.tabs button.on { border-bottom-color:var(--accent); color:var(--accent); }
pre.orig { white-space:pre-wrap; word-break:break-word; background:var(--card); padding:12px; border-radius:8px; font-size:15px; }
.qr svg { display:block; width:min(260px, 100%); height:auto; aspect-ratio:1; background:#fff; border-radius:8px; }
.bar { position:fixed; left:0; right:0; bottom:0; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:var(--bg); border-top:1px solid var(--line); }
.bar .row { max-width:820px; margin:0 auto; }
progress { width:100%; }
.md { line-height:1.75; word-break:break-word; }
.md h1, .md h2, .md h3, .md h4 { line-height:1.35; margin:1.1em 0 .4em; }
.md h1 { font-size:1.35em; } .md h2 { font-size:1.18em; } .md h3 { font-size:1.05em; }
.md p { margin:.5em 0; }
.md ul, .md ol { padding-left:1.4em; margin:.4em 0; }
.md li { margin:.2em 0; }
.md blockquote { margin:.6em 0; padding:.1em .9em; border-left:3px solid var(--line); color:var(--muted); }
.md code { font-family:ui-monospace, Menlo, monospace; font-size:.92em; background:var(--card); padding:.1em .3em; border-radius:4px; }
.md pre { background:var(--card); padding:10px; border-radius:8px; overflow-x:auto; }
.md pre code { background:none; padding:0; }
.md hr { border:none; border-top:1px solid var(--line); margin:1em 0; }
