:root{--bg:#ffffff;--fg:#1a1a1a;--muted:#6b7280;--border:#e5e7eb;--card:#f9fafb;--accent:#2563eb;--error:#dc2626;--ok:#16a34a}@media (prefers-color-scheme:dark){:root{--bg:#0f1115;--fg:#e5e7eb;--muted:#9ca3af;--border:#2a2f3a;--card:#171a21;--accent:#60a5fa;--error:#f87171;--ok:#4ade80}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.55}.site-header{padding:14px 24px;border-bottom:1px solid var(--border)}.site-header a{color:var(--fg);text-decoration:none;font-weight:650}main{max-width:860px;margin:0 auto;padding:24px}a{color:var(--accent)}h1{font-size:1.4rem}table.memo-list{width:100%;border-collapse:collapse}table.memo-list td,table.memo-list th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);font-size:.95rem}table.memo-list th{font-size:.85rem}.badge,table.memo-list th{color:var(--muted);font-weight:550}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.78rem;border:1px solid var(--border);white-space:nowrap}.badge.done{color:var(--ok);border-color:var(--ok)}.badge.error{color:var(--error);border-color:var(--error)}.badge.working{color:var(--accent);border-color:var(--accent)}.muted{color:var(--muted)}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px 20px;margin:16px 0}.card h2{margin-top:0;font-size:1.05rem}.transcript{white-space:pre-wrap;font-size:.95rem}.error-box{border-color:var(--error)}.meta-grid{display:grid;grid-template-columns:max-content 1fr;grid-gap:4px 16px;gap:4px 16px;font-size:.9rem}.meta-grid dt{color:var(--muted)}.meta-grid dd{margin:0}audio{width:100%;margin:8px 0}button{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:.9rem;cursor:pointer}button:disabled{opacity:.5;cursor:default}button.secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}.actions{display:flex;gap:10px;margin:12px 0}form.login{max-width:320px;margin:80px auto;display:flex;flex-direction:column;gap:12px}form.login input{padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--fg);font-size:1rem}.ai-output{overflow-wrap:break-word}.ai-output pre{overflow-x:auto;background:var(--bg);padding:12px;border-radius:8px}