*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1117;--card: #181b24;--card2: #1f2330;--text: #e8eaf0;--dim: #8b91a3;--line: #2a2f3e;--red: #ef4444;--red-bg: #2a1418;--yellow: #f59e0b;--yellow-bg: #2a2213;--gray-bg: #1d212c;--green: #34d399;--blue: #60a5fa}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:Hiragino Sans,Noto Sans JP,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.page{min-height:100dvh;display:flex;flex-direction:column;max-width:640px;margin:0 auto}.header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px}.brand-dot{width:9px;height:9px;border-radius:50%;background:var(--green)}.badge{font-size:11px;letter-spacing:1px;color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:2px 10px}.main{flex:1;display:flex;flex-direction:column;padding:16px;gap:14px;min-height:0}.conn-banner{background:#2a2213;border:1px solid #78500f;border-radius:12px;padding:12px 16px;font-size:13px;line-height:1.8;color:#fcd34d}.conn-banner b{display:block}.conn-banner code{background:#0000004d;border-radius:5px;padding:1px 7px;font-size:12px;word-break:break-all}.conn-banner .conn-hint{display:block;color:var(--dim);margin-top:4px}.start-card{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:8dvh;text-align:center}.title{font-size:22px;font-weight:800}.subtitle{color:var(--dim);font-size:14px;line-height:1.9;max-width:30em}.subtitle b{color:var(--text)}.start-btn{display:flex;align-items:center;gap:10px;background:var(--green);color:#06281c;border:none;border-radius:999px;font-size:17px;font-weight:800;padding:16px 34px;cursor:pointer}.start-btn:active{transform:scale(.97)}.start-btn.file{background:var(--card2);color:var(--text);border:1px solid var(--line);font-size:14.5px;padding:13px 26px}.summary-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.consent-note{color:var(--dim);font-size:12px;max-width:26em;line-height:1.8}.consent-note b{color:var(--yellow)}.connecting-pulse{width:46px;height:46px;border-radius:50%;border:3px solid var(--green);border-top-color:transparent;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-msg{color:var(--red);font-size:14px}.monitor-bar{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px}.rec-dot{width:10px;height:10px;border-radius:50%;background:var(--red);animation:blink 1.4s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.timer{font-variant-numeric:tabular-nums;font-weight:700;font-size:15px}.listening{color:var(--dim);font-size:13px;flex:1}.ctrl-btn{background:var(--card2);color:var(--text);border:1px solid var(--line);border-radius:999px;font-size:13px;padding:8px 16px;cursor:pointer}.ctrl-btn.danger{color:#fda4af;border-color:#7f1d1d}.alert-stack{display:flex;flex-direction:column;gap:10px}.alert-empty{color:var(--dim);font-size:13px;text-align:center;border:1px dashed var(--line);border-radius:12px;padding:14px}.alert-card{border-radius:14px;padding:12px 14px;border:1px solid var(--line);background:var(--card)}.alert-card.violation{background:var(--red-bg);border-color:#7f1d1d}.alert-card.misunderstanding{background:var(--yellow-bg);border-color:#78500f}.alert-card.silence{background:var(--gray-bg);border-color:var(--line)}.alert-card.flash{animation:flash .8s ease-in-out 3}@keyframes flash{50%{filter:brightness(1.6)}}.alert-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.alert-tag{font-size:11px;font-weight:800;letter-spacing:.5px;border-radius:6px;padding:2px 8px;background:#ffffff17}.violation .alert-tag{color:#fca5a5}.misunderstanding .alert-tag{color:#fcd34d}.silence .alert-tag{color:var(--dim)}.alert-label{font-size:14px;font-weight:700;flex:1}.sev{font-size:10px;color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:1px 8px}.sev.sev-violation{color:#fca5a5;border-color:#7f1d1d}.sev.sev-warn{color:#fcd34d;border-color:#78500f}.alert-quote{margin-top:8px;font-size:13px;color:var(--dim);font-style:italic}.alert-reason{margin-top:6px;font-size:13px;line-height:1.7}.alert-advice{margin-top:9px;font-size:14.5px;font-weight:700;line-height:1.7;background:#ffffff0f;border-radius:10px;padding:9px 11px}.transcript{flex:1;min-height:120px;max-height:42dvh;overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.t-wait{color:var(--dim);font-size:13px;text-align:center;margin:auto}.t-line{display:flex;gap:9px;font-size:14px;line-height:1.75}.t-speaker{flex-shrink:0;font-size:11px;font-weight:800;margin-top:3px;border-radius:6px;padding:1px 7px;background:var(--card2);color:var(--dim)}.t-line.sp1 .t-speaker{color:var(--blue)}.t-line.sp2 .t-speaker{color:var(--green)}.t-line.partial .t-text{color:var(--dim);font-style:italic}.summary-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:14px;align-items:stretch}.summary-title{font-size:17px;font-weight:800}.summary-counts{display:flex;gap:8px;flex-wrap:wrap}.cnt{font-size:12.5px;font-weight:700;border-radius:999px;padding:5px 12px;background:var(--card2)}.cnt.violation{color:#fca5a5}.cnt.misunderstanding{color:#fcd34d}.cnt.silence{color:var(--dim)}.summary-alerts{display:flex;flex-direction:column;gap:8px}.summary-comment{font-size:14px;line-height:1.8}.summary-next{font-size:13.5px;line-height:1.8;color:var(--green)}.summary-card .start-btn{align-self:center}.footer{color:var(--dim);font-size:11px;line-height:1.8;text-align:center;padding:14px 20px 20px;border-top:1px solid var(--line)}
