:root{--bg: #0f1115;--panel: #181b22;--border: #2a2f3a;--text: #e8eaed;--muted: #9aa0a6;--accent: #ff4d4d;--accent2: #4d9fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Hiragino Sans,Noto Sans JP,Yu Gothic,sans-serif;line-height:1.6}a{color:var(--accent2);text-decoration:none}button{font:inherit;cursor:pointer}input,select{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px}.app{max-width:1200px;margin:0 auto;padding:0 16px 64px}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:24px}.header{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border);margin-bottom:24px}.header nav{display:flex;gap:16px;align-items:center}.header nav a.active{color:var(--text);font-weight:700}.logo{color:var(--text);font-weight:700;font-size:18px}.primary{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:12px 24px;font-weight:700}.primary:disabled{opacity:.6}.primary.small{padding:6px 14px;font-size:13px}.secondary{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 16px}.secondary:disabled{opacity:.5}.secondary.tiny{padding:3px 10px;font-size:12px}.link-btn{background:none;border:none;color:var(--accent2);padding:0}.danger-btn{background:#7a1f1f;color:#fff;border:none;border-radius:8px;padding:10px 20px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.toolbar input[type=search]{flex:1;min-width:200px}.usage{color:var(--muted);font-size:14px;white-space:nowrap}.hint{color:var(--muted);font-size:13px;margin:0 0 16px}.small-text{font-size:13px}.nowrap{white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}.card-grey{opacity:.6}.card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.card-body{padding:12px}.card-title{color:var(--text);font-weight:700;display:block;margin-bottom:4px}.one-liner{font-size:14px;color:var(--muted)}.card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{background:none;border:1px solid var(--border);color:var(--accent2);border-radius:999px;padding:2px 10px;font-size:12px;display:inline-block;margin:2px 2px 0 0}.badge{font-size:12px;border-radius:999px;padding:2px 10px;white-space:nowrap}.badge-wait{background:#3a3f4a;color:var(--muted)}.badge-work{background:#1f3a5f;color:var(--accent2)}.badge-error{background:#5f1f1f;color:#ff9d9d}.badge-grey{background:#2a2f3a;color:var(--muted)}.skeleton{height:6px;border-radius:3px;margin-top:8px;background:linear-gradient(90deg,var(--border),var(--accent2),var(--border));background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.detail-head{display:flex;gap:20px;margin:16px 0 24px;flex-wrap:wrap}.detail-head img{width:320px;max-width:100%;border-radius:12px}.actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;align-items:center}.summary{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:24px}.one-liner-big{font-size:20px;font-weight:700;margin-top:0}.overview{white-space:pre-wrap;color:var(--muted)}.detailed-summary{white-space:pre-wrap;background:#4d9fff0f;border-left:3px solid var(--accent2);border-radius:0 8px 8px 0;padding:12px 16px}.key-points{list-style:none;padding:0}.key-points li{display:flex;gap:12px;margin-bottom:12px}.key-points .ts{flex-shrink:0;font-variant-numeric:tabular-nums}.key-points p{margin:2px 0 0;color:var(--muted);font-size:14px}.terms dt{font-weight:700;margin-top:8px}.terms dd{margin:0 0 4px 16px;color:var(--muted);font-size:14px}.transcript-body{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;max-height:480px;overflow-y:auto;font-size:14px;margin-top:12px}.transcript-body .ts{font-variant-numeric:tabular-nums;margin-right:4px}.settings section,.admin section{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px 20px;margin-bottom:16px}.settings .danger{border-color:#5f1f1f}.toggle{display:flex;gap:8px;align-items:flex-start;margin:8px 0}.toggle input{margin-top:5px}.integ-block{border-top:1px solid var(--border);padding:14px 0}.integ-block:first-of-type{border-top:none}.integ-block h4{margin:0 0 6px}.integ-form{display:flex;flex-direction:column;gap:8px;max-width:560px}.secret-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.secret-row:last-child{border-bottom:none}.secret-input{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.secret-input input{min-width:280px;flex:1}.jobs-table{width:100%;border-collapse:collapse;font-size:13px}.jobs-table th,.jobs-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border)}.jobs-table th{color:var(--muted);font-weight:400}.archive-table-wrap{overflow-x:auto}.archive-table{width:100%;border-collapse:collapse;font-size:14px}.archive-table th,.archive-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.archive-table th{color:var(--muted);font-weight:400;font-size:13px;white-space:nowrap}.archive-thumb{width:96px;aspect-ratio:16/9;object-fit:cover;border-radius:6px;display:block}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px 24px;width:min(500px,92vw);max-height:85vh;overflow-y:auto}.modal h3{margin-top:0}.export-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.export-row:last-of-type{border-bottom:none}.steps{text-align:left;max-width:480px}.muted{color:var(--muted)}.empty{color:var(--muted);text-align:center;padding:40px 0}.error{color:#ff9d9d}.warn{background:#4a3a1f;border-radius:8px;padding:8px 12px}.load-more{display:block;margin:24px auto 0}.tag-filter{margin-bottom:12px}.login h1{margin-bottom:8px}
