.diag-panel{color:#e2e8f0;z-index:10000;pointer-events:auto;background:#0f172af5;border:1px solid #a855f799;border-radius:10px;width:360px;max-width:calc(100vw - 20px);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;line-height:1.45;position:fixed;bottom:10px;right:10px;box-shadow:0 6px 24px #00000080}.local-dev-tools{background:#0f172a;border-bottom:1px solid #a855f759;justify-content:flex-end;align-items:center;gap:.35rem;min-height:36px;padding:.25rem .55rem;display:flex}.local-dev-tools .dev-fab,.local-dev-tools .review-fab{height:28px;box-shadow:none;padding:0 .65rem;font-size:10px;position:static}.dev-fab{left:max(env(safe-area-inset-left,0px), 12px);top:max(env(safe-area-inset-top,0px), 12px);z-index:10000;color:#fbbf24;letter-spacing:.04em;cursor:pointer;pointer-events:auto;background:#0f172aeb;border:1px solid #a855f7b3;border-radius:999px;align-items:center;gap:6px;height:40px;padding:0 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:700;display:inline-flex;position:fixed;box-shadow:0 4px 16px #00000073}.dev-fab:active{transform:scale(.96)}.dev-fab-label{line-height:1}.dev-fab-dot{background:#ef4444;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite dev-fab-pulse;box-shadow:0 0 6px #ef4444e6}@keyframes dev-fab-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.review-fab{left:max(env(safe-area-inset-left,0px), 12px);right:auto;top:max(env(safe-area-inset-top,0px), 60px);color:var(--accent);border-color:var(--accent)}.diag-head-actions{align-items:center;gap:6px;display:inline-flex}.diag-collapse{color:#e2e8f0;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:6px;padding:2px 8px;font-size:11px;line-height:1.3}.diag-collapse:hover{background:#ffffff1f}.diag-panel-head{letter-spacing:.03em;color:#fbbf24;border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-weight:700;display:flex}.diag-copy{color:#fbbf24;cursor:pointer;background:#fbbf241f;border:1px solid #fbbf2499;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:700}.diag-copy:hover{background:#fbbf2447}.diag-panel-body{max-height:60vh;padding:6px 8px;overflow:auto}.diag-row{grid-template-columns:72px 1fr;gap:6px;padding:2px 0;display:grid}.diag-k{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;word-break:break-word}.diag-v{color:#e2e8f0;word-break:break-all;white-space:pre-wrap}@media (max-width:760px){.local-dev-tools .dev-fab,.local-dev-tools .review-fab{height:44px;padding:0 12px;font-size:11px}.diag-panel{width:auto;bottom:10px;left:10px;right:10px}.diag-panel-body{max-height:40vh}}
.review-panel{z-index:60;border:1px solid var(--border-strong);background:var(--surface-solid);width:230px;box-shadow:var(--shadow-lg);color:var(--text);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;font-size:12px;line-height:1.4;display:flex;position:fixed;top:12px;left:12px}.review-panel-header{align-items:center;gap:8px;display:flex}.review-panel-collapse{border:1px solid var(--border-strong);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;margin-left:auto;padding:2px 8px;font-size:12px;line-height:1.3}.review-panel-collapse:hover{background:var(--surface-hover);color:var(--text)}.review-fab{left:max(env(safe-area-inset-left,0px), 12px);color:var(--accent);border-color:var(--accent);right:auto}.review-fab.review-fab-error{color:#ef4444;border-color:#ef4444}@media (max-width:760px){.review-panel{width:auto;max-height:60vh;inset:auto 10px 10px;overflow-y:auto}}.review-panel-badge{letter-spacing:.08em;color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}.review-panel-header small{color:var(--text-secondary)}.review-panel-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.review-panel-row label{color:var(--text-secondary);white-space:nowrap}.review-panel-inline{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.review-panel-inline input{border:1px solid var(--border-strong);background:var(--surface-hover);min-width:0;color:var(--text);text-transform:uppercase;border-radius:6px;flex:1;padding:4px 6px;font-size:12px}.review-panel-clear{border:1px solid var(--border-strong);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:3px 6px;font-size:11px}.review-panel-clear:disabled{opacity:.4;cursor:default}.review-panel-status{text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.review-panel-status.waiting{border-color:var(--accent);color:var(--accent)}.review-panel-status.paired{color:#22c55e;border-color:#22c55e}.review-panel-status.error{color:#ef4444;border-color:#ef4444}.review-panel-error{color:#ef4444;margin:0}.review-panel-hint{color:var(--text-secondary);margin:0;font-size:11px}.review-panel-diag{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding-top:6px;display:flex}.review-panel-diag>div{color:var(--text-secondary);justify-content:space-between;gap:8px;display:flex}.review-panel-diag span:last-child{color:var(--text);font-variant-numeric:tabular-nums}.review-panel-diag .review-panel-diag-err span:last-child{color:#ef4444;font-weight:600}
