:root{--bg: #0d0b1f;--surface: #17143a;--surface-2: #211d4a;--border: rgba(255,255,255,.08);--grad: linear-gradient(135deg, #7c3aed 0%, #3b82f6 100%);--accent: #7c3aed;--text: #ede9fe;--text-muted: #9489c4;--link: #a78bfa;--radius: 10px;--radius-lg: 16px}.app-header{background:var(--bg);padding:0 24px;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--border)}.app-header-inner{max-width:1100px;margin:0 auto;height:56px;display:flex;align-items:center;justify-content:space-between}.app-header-brand{display:flex;align-items:center;text-decoration:none}.app-header-title{font-size:1.1rem;font-weight:700;letter-spacing:.01em;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-header-nav{display:flex;align-items:center;gap:4px}.app-header-nav a,.app-header-nav button{display:flex;align-items:center;padding:6px 12px;border-radius:6px;color:#ffffffb8;text-decoration:none;font-size:.9375rem;background:transparent;border:none;cursor:pointer;line-height:1;min-height:unset;font-weight:400;transition:background .15s,color .15s;opacity:1;transform:none}.app-header-nav a:hover,.app-header-nav button:hover{background:#7c3aed40;color:#c4b5fd;text-decoration:none;opacity:1}.app-header-nav button:active{transform:none}*{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Yu Gothic UI,Meiryo,sans-serif;margin:0;background:var(--bg);color:var(--text)}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.app,.page{max-width:1100px;margin:0 auto;padding:24px}header h1{margin:0 0 8px}nav{display:flex;gap:16px;align-items:center;margin-bottom:24px}nav a{color:var(--link);text-decoration:none}nav a:hover{text-decoration:underline}button{padding:8px 18px;background:var(--grad);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;min-height:40px;font-weight:600;font-size:inherit;transition:opacity .15s,transform .1s}button:hover{opacity:.85}button:active{transform:scale(.97)}button:disabled{background:#2d2855;color:var(--text-muted);cursor:not-allowed;opacity:1;transform:none}button+button{margin-left:8px}.dropzone{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:32px;text-align:center;background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s}.dropzone.dragover{border-color:var(--accent);background:var(--surface-2)}.dropzone .hint{color:var(--text-muted);font-size:.875rem}.progress{position:relative;height:24px;background:var(--surface-2);border-radius:var(--radius);margin-top:12px;overflow:hidden}.progress .bar{height:100%;background:var(--grad);transition:width .2s}.progress span{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;color:var(--text)}.job-list{width:100%;border-collapse:collapse;background:var(--surface)}.job-list th,.job-list td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left}.job-list th{background:var(--surface-2);color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.job-list tbody tr:hover td{background:var(--surface-2)}.job-list tbody tr:last-child td{border-bottom:none}.status{padding:3px 10px;border-radius:12px;font-size:.8125rem;font-weight:600}.status-PENDING{background:#94a3b826;color:#94a3b8}.status-QUEUED{background:#fbbf2426;color:#fbbf24}.status-PROCESSING{background:#3b82f626;color:#60a5fa}.status-COMPLETED{background:#22c55e26;color:#4ade80}.status-FAILED{background:#ef444426;color:#f87171}.spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(96,165,250,.35);border-top-color:#60a5fa;border-radius:50%;animation:spin .8s linear infinite;margin-left:6px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.error{color:#f87171}.note{display:block;color:#fbbf24;font-size:.75rem}.summary,.transcript{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px;margin-top:24px;box-shadow:0 4px 24px #00000059}.notice{background:#fbbf2414;border-left:4px solid #fbbf24;padding:12px 16px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;color:#fde68a;border-radius:0 var(--radius) var(--radius) 0}.summary-body,.transcript-body{background:var(--surface-2);padding:12px;border-radius:var(--radius);color:var(--text)}.summary-body{font-family:inherit}.summary-body>*:first-child{margin-top:0}.summary-body>*:last-child{margin-bottom:0}.transcript-body{white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;font-family:inherit}.transcript-body.small{font-size:.9rem}.header-row{display:flex;justify-content:space-between;align-items:center}.downloads a{margin-left:12px}textarea{font-family:inherit;padding:12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--text)}textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed33}.forum-toggle{display:flex;gap:10px;align-items:center;margin:12px 0;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text)}.forum-toggle input[type=checkbox]{display:none}.toggle-track{position:relative;width:40px;height:22px;background:var(--surface-2);border-radius:11px;flex-shrink:0;transition:background .2s;border:1px solid var(--border)}.forum-toggle input:checked~.toggle-track{background:var(--grad);border-color:transparent}.forum-toggle input:disabled~.toggle-track{opacity:.5;cursor:not-allowed}.toggle-thumb{position:absolute;top:3px;left:3px;width:14px;height:14px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0006;transition:transform .2s}.forum-toggle input:checked~.toggle-track .toggle-thumb{transform:translate(18px)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.forum-table{width:100%;border-collapse:collapse;background:var(--surface);white-space:nowrap}.forum-table th,.forum-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left}.forum-table th{background:var(--surface-2);color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.forum-table tbody tr:hover td{background:var(--surface-2)}.forum-table tbody tr:last-child td{border-bottom:none}.forum-table td:first-child{white-space:normal;min-width:160px}.forum-post .summary,.forum-post .transcript{margin-top:24px}.profile-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;max-width:480px;margin:24px auto 0;display:flex;flex-direction:column;gap:20px;box-shadow:0 4px 24px #00000059}.profile-field{display:flex;flex-direction:column;gap:6px}.profile-field label{font-size:.8rem;color:var(--text-muted);font-weight:600}.profile-field input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;font-family:inherit;background:var(--surface-2);color:var(--text)}.profile-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed33}.profile-readonly{margin:0;color:var(--text)}.profile-saved{margin:0;color:#4ade80;font-size:.875rem}.btn-block{width:100%;padding:12px;font-size:1rem;border-radius:var(--radius)}.btn-danger{background:transparent;color:#f87171;border:1px solid rgba(248,113,113,.4)}.btn-danger:hover{background:#f8717114;opacity:1}.profile-card button+button{margin-left:0}@media (max-width: 640px){.app-header{padding:0 12px}.app-header-title{font-size:1rem}.app-header-nav{gap:2px}.app-header-nav a,.app-header-nav button{padding:5px 8px;font-size:.875rem}.app,.page{padding:16px 12px}.header-row{flex-direction:column;align-items:flex-start;gap:8px}.downloads{display:flex;flex-direction:column;gap:8px}.downloads button,.downloads button+button{width:100%;margin-left:0}.transcript-actions{display:flex;flex-direction:column;gap:8px}.transcript-actions button{width:100%;margin-left:0}.summary,.transcript{padding:14px 16px}.forum-post h2{font-size:1.1rem;word-break:break-all}.profile-card{max-width:100%;padding:20px 16px}.job-list td,.forum-table td{padding:12px 10px}}
