@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Mono:wght@400;500;600&display=swap";:root{--bg: #0a0a10;--surface: #12121c;--surface-hover: #1a1a28;--border: #222235;--border-light: #2a2a40;--text: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #64748b;--accent: #D85A30;--accent-hover: #993C1D;--purple: #534AB7;--purple-dim: #3d3690;--critical: #ef4444;--critical-dim: rgba(239, 68, 68, .12);--warning: #f59e0b;--advisory: #3b82f6;--green: #22c55e;--green-dim: rgba(34, 197, 94, .12);--danger: #ef4444;--danger-hover: #dc2626;--mono: "DM Mono", "Consolas", monospace;--sans: "DM Sans", -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{color:var(--text)}a{color:var(--accent)}code,kbd,.mono{font-family:var(--mono);font-size:.85em}code{background:var(--surface-hover);padding:.1rem .35rem;border-radius:3px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.hyp-app{min-height:100vh;background:radial-gradient(ellipse at 20% 0%,rgba(83,74,183,.04) 0%,transparent 60%),var(--bg)}.hyp-container{max-width:1080px;margin:0 auto;padding:0 24px 80px}.hyp-container.is-wide{max-width:1440px}.hyp-container.is-fluid{max-width:none;padding:0 32px 80px}.hyp-header{border-bottom:1px solid var(--border);margin-bottom:32px;position:sticky;top:0;background:var(--bg);z-index:10}.hyp-header-inner{max-width:1280px;margin:0 auto;padding:12px 24px;display:flex;flex-direction:column}.hyp-header-primary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:10px}.hyp-header-secondary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:8px;border-top:1px solid var(--border);min-height:36px}.hyp-header-secondary .disabled{opacity:.35;pointer-events:none;-webkit-user-select:none;user-select:none}.header-left{display:flex;align-items:center;gap:12px}.logo-icon{width:32px;height:32px;border-radius:7px;background:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-text{display:flex;flex-direction:column;gap:2px}.logo-wordmark{font-size:15px;font-weight:600;letter-spacing:-.02em;color:var(--text);line-height:1.2;white-space:nowrap}.logo-cade{color:var(--accent)}.header-right{display:flex;align-items:center;gap:16px;flex-shrink:0}.header-sep{width:1px;height:20px;background:var(--border);flex-shrink:0}.header-user{font-size:12px;color:var(--text-muted);font-family:var(--mono)}.header-btn{padding:6px 14px;border:1px solid var(--border);border-radius:4px;background:none;color:var(--text-secondary);font-size:12px;font-family:var(--sans);cursor:pointer;transition:all .15s}.header-btn:hover{border-color:var(--border-light);color:var(--text)}.hyp-footer{text-align:center;padding:2rem 1rem 1rem;font-size:.7rem;color:var(--text-muted);font-family:var(--mono)}.hyp-tool-switcher{display:inline-flex;gap:2px;background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:2px;margin:0 16px}.hyp-tool-switcher-pill{font-family:var(--sans);font-size:.8rem;font-weight:500;color:var(--text-secondary);text-decoration:none;padding:4px 12px;border-radius:999px;transition:background .12s ease,color .12s ease}.hyp-tool-switcher-pill:hover{background:var(--surface-hover);color:var(--text)}.hyp-tool-switcher-pill.is-current{background:var(--accent);color:#fff}.hyp-tool-switcher-pill.disabled{color:var(--text-muted);opacity:.55;cursor:not-allowed;pointer-events:none}.hyp-game-switcher{position:relative;display:inline-flex}.hyp-game-switcher-trigger{font-family:var(--sans);font-size:.8rem;font-weight:500;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:5px 10px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;max-width:220px}.hyp-game-switcher-trigger:hover{background:var(--surface-hover);border-color:var(--border-light)}.hyp-game-switcher-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hyp-game-switcher-chevron{color:var(--text-muted);font-size:.7rem}.hyp-game-switcher-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:220px;max-width:320px;max-height:320px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:6px;list-style:none;padding:4px 0;z-index:1000;box-shadow:0 8px 24px #00000080}.hyp-game-switcher-menu li{margin:0}.hyp-game-switcher-item,.hyp-game-switcher-loading,.hyp-game-switcher-empty a{display:block;padding:8px 12px;color:var(--text);text-decoration:none;font-size:.85rem;line-height:1.3}.hyp-game-switcher-loading{color:var(--text-muted)}.hyp-game-switcher-empty a{color:var(--accent)}.hyp-game-switcher-item:hover{background:var(--surface-hover)}.hyp-game-switcher-item.is-current{color:var(--accent);font-weight:500}.hyp-game-switcher-blocked{padding:10px 12px;color:var(--warning);font-size:.8rem;line-height:1.4;border-bottom:1px solid var(--border)}.hyp-game-switcher-blocked code{font-family:var(--mono);background:var(--surface-hover);padding:1px 4px;border-radius:3px}.hyp-game-switcher.is-blocked .hyp-game-switcher-trigger{border-color:var(--warning);color:var(--warning)}.hyp-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;margin-bottom:6px;overflow:hidden;animation:fadeSlideIn .3s ease-out both}.hyp-card:hover{border-color:var(--border-light)}.hyp-card-critical{border-left:3px solid var(--critical)}.hyp-card-warning{border-left:3px solid var(--warning)}.hyp-card-advisory{border-left:3px solid var(--advisory)}.hyp-card-positive,.hyp-card-success{border-left:3px solid var(--green)}.hyp-card-header{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;background:none;border:none;color:inherit;cursor:pointer;text-align:left;font-family:inherit}.hyp-card-header:hover{background:var(--surface-hover)}.hyp-card-dot{font-size:8px;flex-shrink:0}.hyp-card-dot-critical{color:var(--critical)}.hyp-card-dot-warning{color:var(--warning)}.hyp-card-dot-advisory{color:var(--advisory)}.hyp-card-dot-positive,.hyp-card-dot-success{color:var(--green)}.hyp-card-dot-muted{color:var(--text-muted)}.hyp-card-dot-pulse{animation:pulse 2s ease-in-out infinite}.hyp-card-header-text{flex:1;min-width:0}.hyp-card-title{font-size:13px;font-weight:500;color:var(--text);display:block}.hyp-card-title-muted{color:var(--text-muted)}.hyp-card-preview{font-size:12px;color:var(--text-muted);display:block;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hyp-card-badge{font-size:10px;font-family:var(--mono);color:var(--text-muted);background:var(--bg);padding:2px 8px;border-radius:3px;text-transform:lowercase;white-space:nowrap;flex-shrink:0}.hyp-card-chevron{font-size:18px;color:var(--text-muted);transition:transform .2s;transform:rotate(0);flex-shrink:0}.hyp-card-chevron-open{transform:rotate(90deg)}.hyp-card-body{padding:0 16px 16px;border-top:1px solid var(--border);animation:fadeIn .2s ease-out}.hyp-card-annotation{padding:12px 0}.hyp-card-annotation+.hyp-card-annotation{border-top:1px solid var(--border)}.annotation-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-family:var(--mono);display:block;margin-bottom:4px}.hyp-card-annotation p{font-size:13px;color:var(--text-secondary);line-height:1.5}.hyp-card-static{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:14px 16px;margin-bottom:6px}.hyp-card-static:hover{border-color:var(--border-light)}.btn{display:inline-block;padding:.5rem 1.5rem;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;text-decoration:none;font-family:inherit;transition:background .15s ease}.btn:hover{background:var(--accent-hover)}.btn-danger{background:var(--danger)}.btn-danger:hover{background:var(--danger-hover)}.btn-secondary{background:var(--text-muted)}.btn-secondary:hover{background:var(--text-secondary)}input,select,textarea{width:100%;padding:.5rem;border:1px solid var(--border-light);border-radius:4px;font-size:.9rem;font-family:inherit;background:var(--surface);color:var(--text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #d85a3026}input::placeholder,textarea::placeholder{color:var(--text-muted)}option{background:var(--surface);color:var(--text)}label{display:block;margin-bottom:.25rem;font-weight:500;font-size:.9rem;color:var(--text-secondary)}.form-group{margin-bottom:1rem}input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator,input[type=month]::-webkit-calendar-picker-indicator,input[type=week]::-webkit-calendar-picker-indicator{filter:invert(1) opacity(.65);cursor:pointer}input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week]{cursor:pointer}.badge{display:inline-block;padding:.15rem .5rem;border-radius:3px;font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.02em}.alert{padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem}.alert-success{background:#0f6e5626;color:#9fe1cb;border:1px solid rgba(15,110,86,.3)}.alert-error{background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}table{width:100%;border-collapse:collapse}th,td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border);font-size:.9rem}th{background:var(--surface);font-weight:600;color:var(--text-secondary)}.section-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px;font-family:var(--mono)}.help-text{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.hyp-container,.hyp-container.is-wide,.hyp-container.is-fluid{padding:0 12px 48px}.hyp-header{margin-bottom:16px}.hyp-header-inner{padding:12px}.header-sep{display:none}.hyp-header-primary{align-items:flex-start}.header-left{flex-wrap:wrap;flex:1;min-width:0;row-gap:10px}.hyp-tool-switcher{margin:0;padding:1px}.hyp-tool-switcher-pill{padding:4px 8px;font-size:.7rem}.header-user{display:none}}.hyp-logo-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.hyp-logo-link:hover{opacity:.85}.pulse-ring{width:40px;height:40px;border-radius:50%;border:2px solid var(--purple-dim);animation:pulse-ring 1.2s ease-out infinite}@keyframes pulse-ring{0%{transform:scale(.8);opacity:1}to{transform:scale(1.4);opacity:0}}.sonar-input-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:20px;margin-bottom:16px;animation:fadeSlideIn .3s ease-out}.sonar-input-card.collapsed{padding:0}.sonar-input-summary{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;width:100%;background:none;border:none;color:inherit;font-family:inherit;text-align:left}.sonar-input-summary:hover{background:var(--surface-hover)}.sonar-input-summary-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sonar-input-summary-title{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sonar-input-summary-detail{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sonar-input-body{padding:20px}.sonar-drop-zone{border:2px dashed var(--border-light);border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:all .2s;margin-bottom:16px;color:var(--text-muted);font-size:13px}.sonar-drop-zone:hover,.sonar-drop-zone.dragover{border-color:var(--accent);background:#d85a300f}.sonar-drop-zone .drop-label{font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.sonar-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--surface-hover);border-radius:3px;font-size:11px;font-family:var(--mono);color:var(--text-secondary);margin:2px}.sonar-chip-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:10px;padding:0 2px}.sonar-chip-remove:hover{color:var(--critical)}.sonar-divider{text-align:center;font-size:10px;font-family:var(--mono);color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;margin:12px 0}.sonar-analyze-btn{width:100%;padding:14px;font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase;background:var(--accent);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .15s;margin-top:16px}.sonar-analyze-btn:hover:not(:disabled){background:var(--accent-hover)}.sonar-analyze-btn:disabled{opacity:.5;cursor:not-allowed}.stage-pending .hyp-card-title{color:var(--text-muted)}.stage-running .hyp-card-dot{animation:pulse 2s ease-in-out infinite}.sonar-stage-pipeline{display:block}.sonar-stage-phase{display:block;position:relative}.sonar-stage-phase-row{display:block}.sonar-stage-connector{display:flex;justify-content:center;font-family:var(--mono);font-size:18px;color:var(--text-muted);line-height:1;padding:4px 0 10px;-webkit-user-select:none;user-select:none;letter-spacing:0}.sonar-stale-chip{display:inline-block;margin-left:8px;padding:1px 6px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--warning);background:#f59e0b1f;border:1px solid rgba(245,158,11,.4);border-radius:3px;vertical-align:middle}.sonar-card-header-wrap{position:relative}.sonar-card-retry{position:absolute;top:50%;right:40px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text-muted);font-family:var(--mono);font-size:13px;line-height:1;cursor:pointer;transition:color .15s,border-color .15s,background .15s;z-index:1}.sonar-card-retry:hover{color:var(--text);border-color:var(--accent);background:#d85a301f}.sonar-data-input{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.sonar-data-input textarea{font-family:var(--mono);font-size:12px;min-height:80px;resize:vertical}.sonar-secondary-btn{padding:6px 14px;border:1px solid var(--border);border-radius:4px;background:none;color:var(--text-secondary);font-size:12px;font-family:var(--mono);cursor:pointer;transition:all .15s}.sonar-secondary-btn:hover{border-color:var(--border-light);color:var(--text)}a.sonar-secondary-btn{text-decoration:none;display:inline-flex;align-items:center}.sonar-spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(239,68,68,.3);border-top-color:#ef4444;border-radius:50%;animation:sonar-spin .6s linear infinite}@keyframes sonar-spin{to{transform:rotate(360deg)}}.sonar-result-content{font-size:13px;color:var(--text-secondary);line-height:1.6}.sonar-result-content table{font-size:12px;margin:8px 0}.sonar-result-content h4{font-size:11px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:12px 0 6px}.sonar-live-dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block;animation:pulse 2s ease-in-out infinite}.sonar-report-btns{display:flex;gap:8px}.sonar-stage-count{font-size:11px;font-family:var(--mono);color:var(--text-muted)}.sonar-input-card .hyp-card-static{animation:none}textarea.sonar-textarea{resize:vertical}.sonar-grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.sonar-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.sonar-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sonar-grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}@media (max-width: 640px){.sonar-grid-5,.sonar-grid-4{grid-template-columns:repeat(2,1fr)}.sonar-grid-3,.sonar-grid-auto{grid-template-columns:1fr}.sonar-result-content{overflow-x:auto}.sonar-result-content table{min-width:max-content}.sonar-input-card,.sonar-drop-zone{padding:14px}}.history-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:1.5rem;max-height:400px;overflow-y:auto}.history-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.history-list{padding:.25rem 0}.history-item{padding:.6rem 1rem;cursor:pointer;border-bottom:1px solid var(--border);transition:background .15s}.history-item:last-child{border-bottom:none}.history-item:hover{background:var(--surface-hover)}.history-item-title{font-weight:500;color:var(--text);display:flex;align-items:center;gap:.5rem}.history-item-meta{font-size:.8rem;color:var(--text-muted);margin-top:.2rem}.history-stale-badge{font-size:.7rem;background:#f59e0b26;color:var(--warning);padding:.1rem .4rem;border-radius:4px;font-weight:400}.history-status-complete{color:var(--green)}.history-status-running{color:var(--warning)}.history-status-failed{color:var(--critical)}.history-rerun-btn{margin-left:.5rem;padding:.15rem .5rem;font-size:.75rem;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-family:var(--sans)}.history-rerun-btn:hover{background:var(--accent-hover)}.history-delete-btn{margin-left:.5rem;padding:.15rem .5rem;font-size:.75rem;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;cursor:pointer;font-family:var(--sans)}.history-delete-btn:hover{color:var(--critical);border-color:var(--critical)}.sonar-list-section{margin-top:1.5rem}.sonar-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.sonar-analyses-table{width:100%;border-collapse:collapse;font-size:.9rem}.sonar-analyses-table th{text-align:left;padding:.5rem 1rem;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border)}.sonar-analyses-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}.sonar-analyses-table tbody tr:last-child td{border-bottom:none}.sonar-analyses-table tbody tr:hover td{background:var(--surface-hover)}.sonar-changelog-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:1.5rem;max-height:70vh;overflow-y:auto}.sonar-changelog-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}.sonar-changelog-list{padding:.25rem 0}.sonar-changelog-entry{padding:.9rem 1rem;border-bottom:1px solid var(--border)}.sonar-changelog-entry:last-child{border-bottom:none}.sonar-changelog-entry-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.25rem}.sonar-changelog-version{font-family:var(--mono);font-size:12px;color:var(--accent);font-weight:600;letter-spacing:.04em}.sonar-changelog-current{font-size:10px;font-family:var(--mono);background:#22c55e26;color:var(--green);padding:.1rem .4rem;border-radius:3px;letter-spacing:.08em;text-transform:uppercase}.sonar-changelog-date{font-family:var(--mono);font-size:11px;color:var(--text-muted)}.sonar-changelog-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:.4rem;line-height:1.35}.sonar-changelog-body{font-size:13px;color:var(--text-secondary);line-height:1.55}.sonar-changelog-body h4{font-size:12px;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:.75rem 0 .35rem;font-weight:600}.sonar-changelog-body p{margin:.35rem 0}.sonar-changelog-body ul,.sonar-changelog-body ol{margin:.35rem 0;padding-left:1.2rem}.sonar-changelog-body li{margin:.2rem 0}.sonar-changelog-body code{font-family:var(--mono);font-size:11.5px;background:var(--surface-hover);padding:.05rem .3rem;border-radius:3px;color:var(--text)}.sonar-changelog-body strong{color:var(--text)}.sonar-toast{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;align-items:center;gap:12px;max-width:480px;padding:12px 16px;background:var(--surface);border:1px solid var(--border-light);border-radius:8px;box-shadow:0 8px 24px #0006;font-size:14px;color:var(--text);animation:sonar-toast-in .18s ease-out}.sonar-toast.is-success{border-left:3px solid var(--green)}.sonar-toast.is-error{border-left:3px solid var(--critical)}.sonar-toast.is-default{border-left:3px solid var(--accent)}.sonar-toast-message{flex:1 1 auto}.sonar-toast-close{flex:0 0 auto;width:24px;height:24px;padding:0;background:transparent;color:var(--text-secondary);border:none;border-radius:4px;font-size:18px;line-height:1;cursor:pointer}.sonar-toast-close:hover{color:var(--text);background:var(--surface-hover)}@keyframes sonar-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.sonar-analyses-table thead{display:none}.sonar-analyses-table,.sonar-analyses-table tbody{display:block;width:100%}.sonar-analyses-table tr{display:grid;grid-template-columns:1fr auto;column-gap:12px;row-gap:4px;align-items:center;border:1px solid var(--border);border-left-width:3px;border-radius:6px;background:var(--surface);padding:12px 14px;margin-bottom:8px}.sonar-analyses-table tr.analysis-row-complete{border-left-color:var(--green)}.sonar-analyses-table tr.analysis-row-stale,.sonar-analyses-table tr.analysis-row-running{border-left-color:var(--warning)}.sonar-analyses-table tr.analysis-row-failed{border-left-color:var(--critical)}.sonar-analyses-table tr.analysis-row-resumable{border-left-color:var(--advisory)}.sonar-analyses-table tbody tr:hover{border-color:var(--border-light)}.sonar-analyses-table tbody tr:hover td{background:transparent}.sonar-analyses-table td{border:none;padding:0}.sonar-analyses-table td:nth-child(1){grid-column:1;grid-row:1;font-size:1rem;color:var(--text)}.sonar-analyses-table td:nth-child(2){grid-column:1;grid-row:2;font-size:.8rem;color:var(--text-muted)}.sonar-analyses-table td:nth-child(3){display:none}.sonar-analyses-table td:nth-child(4){grid-column:2;grid-row:1 / 3}}.sonar-home{width:100%}.sonar-home-page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.sonar-home-title{font-size:1.25rem;font-weight:600;color:var(--text)}.sonar-home-subtitle{font-size:.825rem;color:var(--text-muted);margin-top:4px}.sonar-home-studio-pill{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:4px 10px 4px 8px;font-size:12px;color:var(--text-secondary);margin-bottom:28px}.sonar-home-studio-dot{width:6px;height:6px;border-radius:50%;background:var(--green)}.sonar-home-section{margin-bottom:36px}.sonar-home-section-header{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}.sonar-home-section-label{font-family:var(--mono);font-size:10px;letter-spacing:2px;color:var(--text-muted);flex:1}.sonar-home-section-count{font-family:var(--mono);font-size:11px;color:var(--text-muted)}.sonar-home-section-btn{font-family:var(--mono);font-size:11px;letter-spacing:.5px;padding:5px 12px;border-radius:4px;border:1px solid rgba(216,90,48,.3);background:#d85a300f;color:var(--accent);cursor:pointer;transition:all .12s;white-space:nowrap}.sonar-home-section-btn:hover{background:#d85a301f;border-color:var(--accent)}.sonar-home-section-btn-purple{border-color:#534ab74d;background:#534ab70f;color:var(--purple)}.sonar-home-section-btn-purple:hover{background:#534ab71f;border-color:var(--purple)}.sonar-home-project-block{margin-bottom:10px}.sonar-home-block-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:6px 6px 0 0;border-bottom:none;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s;width:100%;text-align:left;color:inherit;font-family:inherit}.sonar-home-block-header.collapsed{border-radius:6px;border-bottom:1px solid var(--border)}.sonar-home-block-header:hover{background:var(--surface-hover)}.sonar-home-chevron{color:var(--text-muted);font-size:10px;transition:transform .15s;flex-shrink:0}.sonar-home-chevron.open{transform:rotate(90deg)}.sonar-home-block-accent{width:3px;height:16px;border-radius:2px;background:var(--accent);flex-shrink:0}.sonar-home-block-name{font-size:13px;font-weight:500;color:var(--text);flex:1}.sonar-home-block-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}.sonar-home-block-count{font-family:var(--mono);font-size:11px;color:var(--text-muted)}.sonar-home-rows-wrap{border:1px solid var(--border);border-top:none;border-radius:0 0 6px 6px;overflow:hidden}.sonar-home-rows-unlinked{border-style:dashed;border-radius:6px;border-top:1px dashed var(--border)}.sonar-home-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:12px;padding:10px 14px 10px 28px;border-bottom:1px solid var(--border);background:var(--bg);transition:background .1s}.sonar-home-row:last-child{border-bottom:none}.sonar-home-row:hover{background:var(--surface-hover)}.sonar-home-row-latest{padding-left:24px;border-left:3px solid}.sonar-home-row.sonar-home-row-latest-linked{border-left-color:var(--accent);background:#d85a3008}.sonar-home-row.sonar-home-row-latest-linked:hover{background:#d85a3012}.sonar-home-row.sonar-home-row-latest-unlinked{border-left-color:var(--purple);background:#534ab70a}.sonar-home-row.sonar-home-row-latest-unlinked:hover{background:#534ab714}.sonar-home-row-title{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sonar-home-row-latest .sonar-home-row-title{font-weight:500}.sonar-home-row:not(.sonar-home-row-latest) .sonar-home-row-title{color:var(--text-secondary);font-size:12px}.sonar-home-latest-badge{font-family:var(--mono);font-size:9px;letter-spacing:.5px;color:var(--accent);background:#d85a301f;border:1px solid rgba(216,90,48,.2);padding:1px 5px;border-radius:2px;margin-left:8px;vertical-align:middle}.sonar-home-rows-unlinked .sonar-home-latest-badge{color:var(--purple);background:#534ab71f;border-color:#534ab733}.sonar-home-row-date{font-family:var(--mono);font-size:11px;color:var(--text-muted);white-space:nowrap}.sonar-home-row-actions{display:flex;gap:6px;align-items:center}.sonar-home-action-primary{border-color:#d85a3059!important;color:var(--accent)!important}.sonar-home-action-primary:hover{background:#d85a3014!important;border-color:var(--accent)!important}.sonar-home-status{font-family:var(--mono);font-size:10px;letter-spacing:.5px;padding:2px 7px;border-radius:3px;white-space:nowrap}.sonar-home-status-complete{background:#22c55e1f;color:var(--green)}.sonar-home-status-stale{background:#64748b1f;color:var(--text-muted)}.sonar-home-status-in_progress{background:#3b82f61f;color:var(--advisory)}.sonar-home-status-resumable{background:#f59e0b1f;color:var(--warning)}.sonar-home-status-pending{background:#64748b14;color:var(--text-muted)}.sonar-home-empty{border:1px dashed var(--border);border-radius:6px;padding:24px 20px;text-align:center}.sonar-home-empty-text{font-size:13px;color:var(--text-muted)}.sonar-home-empty-sub{font-size:11px;font-family:var(--mono);color:var(--text-muted);opacity:.6;margin-top:4px}.ip-table{width:100%;border-collapse:collapse}.ip-table thead th{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);text-align:left;padding:0 10px 8px;border-bottom:1px solid var(--border);font-family:var(--mono)}.ip-table thead th:first-child{padding-left:0}.ip-table thead th.ip-table-del{width:36px;padding-right:0}.ip-table tbody tr{border-bottom:1px solid var(--surface-hover)}.ip-table tbody tr:last-child{border-bottom:none}.ip-table tbody tr:hover{background:#15151f}.ip-table td{padding:6px 10px;vertical-align:middle}.ip-table td:first-child{padding-left:0}.ip-table-name-input,.ip-table-steam-input{background:transparent;border:none;color:var(--text);font-family:var(--sans);font-size:13px;width:100%;outline:none;padding:4px 6px;border-radius:4px;transition:background .15s}.ip-table-steam-input{font-family:var(--mono);font-size:12px;color:var(--text-secondary);width:96px}.ip-table-name-input:hover,.ip-table-name-input:focus,.ip-table-steam-input:hover,.ip-table-steam-input:focus{background:#1e1e2e;color:var(--text)}.ip-table-steam-cell{display:flex;align-items:center;gap:6px}.ip-table-steam-link{display:inline-flex;align-items:center;color:var(--purple);text-decoration:none;opacity:.75;flex-shrink:0;transition:opacity .15s}.ip-table-steam-link:hover{opacity:1}.ip-table-warn{display:inline-flex;align-items:center;gap:3px;font-size:10px;color:var(--warning);background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:4px;padding:2px 6px;font-family:var(--mono);white-space:nowrap}.ip-table-ctx-select{background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-family:var(--sans);font-size:11px;padding:3px 6px;cursor:pointer;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:border-color .15s,color .15s}.ip-table-ctx-select:hover{border-color:var(--border-light);color:var(--text)}.ip-table-ctx-select.ctx-realistic{border-color:#3b82f64d;color:var(--advisory);background:#3b82f60d}.ip-table-ctx-select.ctx-aspirational{border-color:#d85a304d;color:var(--accent);background:#d85a300d}.ip-table-ctx-select.ctx-structural{border-color:#534ab74d;color:#a78bfa;background:#534ab70d}.ip-table-del-btn{background:none;border:none;color:#3d3d55;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;transition:color .15s,background .15s}.ip-table-del-btn:hover{color:var(--critical);background:#ef444414}.ip-table-add-btn{background:none;border:1px dashed var(--border-light);border-radius:6px;color:var(--purple);font-family:var(--sans);font-size:12px;padding:6px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;margin-top:10px;transition:border-color .15s,background .15s}.ip-table-add-btn:hover{border-color:var(--purple);background:#534ab70f}.ip-table-social-input{background:transparent;border:none;color:var(--text-secondary);font-family:var(--mono);font-size:11px;width:100%;min-width:70px;outline:none;padding:4px 6px;border-radius:4px;transition:background .15s,color .15s}.ip-table-social-input:hover,.ip-table-social-input:focus{background:#1e1e2e;color:var(--text)}.ip-table-social-input::placeholder{color:#3a3a52}.ip-table-search-input{min-width:90px}.ip-table-actions-cell{white-space:nowrap}.ip-table-action-btn{background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:13px;line-height:1;padding:3px 5px;transition:color .15s,border-color .15s,background .15s;margin-right:3px}.ip-table-action-btn:last-child{margin-right:0}.ip-table-action-btn:hover:not(:disabled){color:var(--purple);border-color:var(--purple-dim);background:#534ab714}.ip-table-action-btn--deep:hover:not(:disabled){color:var(--accent);border-color:#d85a3066;background:#d85a3012}.ip-table-action-btn:disabled{opacity:.3;cursor:not-allowed}.ip-anchors{display:flex;flex-direction:column;gap:10px}.ip-anchor{position:relative;background:var(--surface);border:1px solid var(--border);border-left:2px solid var(--border);border-radius:6px;padding:14px 16px 12px;display:flex;flex-direction:column;gap:12px;transition:border-color .18s ease,background .18s ease}.ip-anchor:hover{border-color:var(--border-light)}.ip-anchor:focus-within{border-color:var(--purple-dim);border-left-color:var(--purple);background:#14141f}.ip-anchor.is-named:not(:focus-within){border-left-color:var(--border-light)}.ip-anchor-identity{display:grid;grid-template-columns:28px minmax(180px,1fr) auto auto auto;align-items:center;gap:14px}.ip-anchor-num{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--text-muted);opacity:.55;font-feature-settings:"tnum";-webkit-user-select:none;user-select:none;text-align:left}.ip-anchor.is-named .ip-anchor-num{color:var(--purple);opacity:.85}.ip-anchor-name-cell{min-width:0}.ip-anchor-name-input{width:100%;background:transparent;border:none;outline:none;color:var(--text);font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:-.005em;padding:6px 8px;border-radius:4px;transition:background .15s}.ip-anchor-name-input:hover,.ip-anchor-name-input:focus{background:#ffffff06}.ip-anchor-name-input::placeholder{color:var(--text-muted);opacity:.5}.ip-anchor-steam-cell{display:inline-flex;align-items:center;gap:8px;background:#ffffff04;border:1px solid var(--border);border-radius:4px;padding:4px 8px 4px 10px;transition:border-color .15s,background .15s}.ip-anchor-steam-cell:hover,.ip-anchor-steam-cell:focus-within{border-color:var(--border-light);background:#ffffff08}.ip-anchor-steam-prefix{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);opacity:.7}.ip-anchor-steam-input{background:transparent;border:none;outline:none;color:var(--text-secondary);font-family:var(--mono);font-size:12px;width:92px;padding:0}.ip-anchor-steam-input::placeholder{color:var(--text-muted);opacity:.45}.ip-anchor-steam-link{display:inline-flex;align-items:center;color:var(--purple);opacity:.75;transition:opacity .15s,transform .15s}.ip-anchor-steam-link:hover{opacity:1;transform:translate(1px,-1px)}.ip-anchor-warn{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;letter-spacing:.04em;color:var(--warning);background:#f59e0b0f;border:1px solid rgba(245,158,11,.18);border-radius:3px;padding:1px 6px;font-family:var(--mono)}.ip-anchor-ctx{background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:lowercase;padding:5px 24px 5px 10px;cursor:pointer;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 8px) 50%;background-size:4px 4px;background-repeat:no-repeat;transition:border-color .15s,color .15s,background-color .15s}.ip-anchor-ctx:hover{border-color:var(--border-light);color:var(--text-secondary)}.ip-anchor-ctx.ctx-realistic{border-color:#3b82f652;color:var(--advisory);background-color:#3b82f60f}.ip-anchor-ctx.ctx-aspirational{border-color:#d85a3052;color:var(--accent);background-color:#d85a300f}.ip-anchor-ctx.ctx-structural{border-color:#534ab752;color:#a78bfa;background-color:#534ab70f}.ip-anchor-ctx option{background:var(--surface);color:var(--text)}.ip-ctx-legend{margin-top:12px;display:flex;flex-direction:column;gap:4px}.ip-ctx-legend-row{display:flex;gap:10px;align-items:baseline}.ip-ctx-legend-term{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;width:92px}.ip-ctx-legend-term.ctx-realistic{color:var(--advisory)}.ip-ctx-legend-term.ctx-aspirational{color:var(--accent)}.ip-ctx-legend-term.ctx-structural{color:#a78bfa}.ip-ctx-legend-def{color:var(--text-muted);font-size:11px;line-height:1.5}.ip-anchor-actions{display:inline-flex;align-items:center;gap:4px}.ip-anchor-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;padding:0;font-size:11px;font-family:var(--mono);transition:color .15s,border-color .15s,background .15s}.ip-anchor-iconbtn:hover:not(:disabled){color:var(--purple);border-color:var(--purple-dim);background:#534ab714}.ip-anchor-iconbtn--deep:hover:not(:disabled){color:var(--accent);border-color:#d85a3066;background:#d85a3014}.ip-anchor-iconbtn--del{border-color:transparent}.ip-anchor-iconbtn--del:hover:not(:disabled){color:var(--critical);border-color:#ef44444d;background:#ef444414}.ip-anchor-iconbtn:disabled{opacity:.3;cursor:not-allowed}.ip-anchor-socials{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding-left:42px}.ip-soc-field{display:flex;flex-direction:column;gap:3px;min-width:0}.ip-soc-field-label{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);opacity:.7;padding-left:9px}.ip-soc-field-input-wrap{position:relative;display:flex;align-items:center;background:#ffffff03;border:1px solid var(--border);border-radius:4px;padding:0 6px 0 0;transition:border-color .15s,background .15s,box-shadow .15s}.ip-soc-field-input-wrap:hover{border-color:var(--border-light)}.ip-soc-field-input-wrap:focus-within{background:#ffffff08;border-color:var(--border-light)}.ip-soc-field[data-platform=reddit] .ip-soc-field-input-wrap:focus-within{border-color:#ff6b2673;box-shadow:0 0 0 1px #ff6b2626}.ip-soc-field[data-platform=twitter] .ip-soc-field-input-wrap:focus-within{border-color:#e2e8f073;box-shadow:0 0 0 1px #e2e8f01a}.ip-soc-field[data-platform=youtube] .ip-soc-field-input-wrap:focus-within{border-color:#ef444473;box-shadow:0 0 0 1px #ef444426}.ip-soc-field[data-platform=tiktok] .ip-soc-field-input-wrap:focus-within{border-color:#22d3ee73;box-shadow:0 0 0 1px #22d3ee26}.ip-soc-field[data-platform=instagram] .ip-soc-field-input-wrap:focus-within{border-color:#ec489973;box-shadow:0 0 0 1px #ec489926}.ip-soc-field-input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text);font-family:var(--mono);font-size:12px;padding:6px 4px 6px 9px;text-overflow:ellipsis}.ip-soc-field-input::placeholder{color:var(--text-muted);opacity:.4}.ip-soc-field-link{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--text-muted);opacity:.6;transition:opacity .15s,color .15s,transform .15s;flex-shrink:0}.ip-soc-field-link:hover{opacity:1;color:var(--purple);transform:translate(1px,-1px)}.ip-anchor-query{display:flex;align-items:center;gap:10px;padding-left:42px}.ip-anchor-query-label{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);opacity:.6;flex-shrink:0}.ip-anchor-query-label:after{content:" ›";opacity:.5}.ip-anchor-query-input{flex:1;min-width:0;background:#ffffff03;border:1px solid var(--border);border-radius:4px;outline:none;color:var(--text-secondary);font-family:var(--mono);font-size:11.5px;padding:6px 10px;transition:border-color .15s,background .15s,color .15s}.ip-anchor-query-input:hover{border-color:var(--border-light)}.ip-anchor-query-input:focus{border-color:var(--purple-dim);background:#ffffff08;color:var(--text)}.ip-anchor-query-input::placeholder{color:var(--text-muted);opacity:.4}.ip-anchors-add{align-self:flex-start;background:transparent;border:1px dashed var(--border-light);border-radius:6px;color:var(--purple);font-family:var(--sans);font-size:12px;padding:8px 16px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;margin-top:4px;transition:border-color .15s,background .15s,color .15s}.ip-anchors-add:hover{border-color:var(--purple);background:#534ab70f;color:#a78bfa}.ip-anchors-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.ip-anchors-fill{background:#d85a301f;border:1px solid rgba(216,90,48,.4);border-radius:6px;color:var(--accent);font-family:var(--sans);font-size:12px;padding:8px 16px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:border-color .15s,background .15s,color .15s}.ip-anchors-fill:hover:not(:disabled){border-color:var(--accent);background:#d85a3033}.ip-anchors-fill:disabled{opacity:.55;cursor:default}.ip-anchor-suggested{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;background:#d85a3024;border:1px solid rgba(216,90,48,.35);color:var(--accent);font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}@media (max-width: 1100px){.ip-anchor-socials{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 720px){.ip-anchor-socials,.ip-anchor-query{padding-left:0}.ip-anchor-socials{grid-template-columns:repeat(2,minmax(0,1fr))}.ip-anchor-identity{grid-template-columns:28px 1fr;grid-template-rows:auto auto;row-gap:8px}.ip-anchor-steam-cell,.ip-anchor-ctx,.ip-anchor-actions{grid-column:1 / -1}}
