:root{--bg: #0d0d0d;--surface: #161616;--border: #2a2a2a;--text: #e5e5e5;--text-muted: #737373;--accent: #3b82f6;--accent-hover: #2563eb}*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh;background:var(--bg);color:var(--text);font-family:IBM Plex Sans,system-ui,sans-serif;font-size:15px;padding:1.5rem}.page{max-width:800px;margin:0 auto}.page h1{font-size:1.5rem;margin-bottom:.5rem}.page h2{font-size:.9rem;color:var(--text-muted);margin-bottom:.5rem;margin-top:1rem}.hint{color:var(--text-muted);font-size:.9rem;margin-bottom:1rem}.section{margin-bottom:1rem}.status{color:var(--text-muted);font-size:.85rem;margin:.75rem 0}.actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:1rem}button,.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-family:inherit;font-size:.9rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;background:var(--accent);color:#fff}button:hover:not(:disabled),.btn:hover{background:var(--accent-hover)}button:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:var(--surface);border:1px solid var(--border);color:var(--text)}.input-prompt{width:100%;max-width:400px;padding:.5rem .6rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem}input[type=file]{font-size:.85rem;color:var(--text-muted)}.link{display:inline-block;margin-right:1rem;margin-top:.5rem;color:var(--accent);text-decoration:none}.link:hover{text-decoration:underline}nav{margin-top:1rem}
