:root{--bg:#0d1117;--surface:#161b22;--surface-2:#1e2530;--surface-3:#242c38;--border:#262d38;--text:#e6edf3;--text-muted:#7d8fa0;--text-secondary:#9090a8;--accent:#00cfff;--accent-dim:rgba(0,207,255,.15);--success:#27c47e;--warning:#d29922;--danger:#e5534b;--pro:#4493f8;--premium:#d29922;--free:#7d8fa0;--radius:8px;--tier-hot:#ff6b35;--tier-hot-bg:rgba(255,107,53,.12);--tier-active:#f5a623;--tier-active-bg:rgba(245,166,35,.12);--tier-early:#4a9eff;--tier-early-bg:rgba(74,158,255,.12)}[data-theme=light]{--bg:#f0f4f8;--surface:#fff;--surface-2:#e8f0f7;--surface-3:#dce8f2;--border:#c8d8e8;--text:#1a1f2e;--text-muted:#5a6a7e;--text-secondary:#4a5568;--accent:#0095c2;--accent-dim:rgba(0,149,194,.12);--success:#1a9e67;--warning:#b07a10;--danger:#c0392b}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{background-color:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{cursor:pointer}input,select,textarea{font-family:inherit}.top-nav-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius);color:var(--text-muted);font-size:.85rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap}.top-nav-link:hover{background:var(--surface-2);color:var(--text)}.top-nav-link.active{color:var(--accent);background:var(--accent-dim)}.portal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.portal-card-title{font-size:.72rem;letter-spacing:.07em;color:var(--text-muted);margin-bottom:14px;display:flex;justify-content:space-between}.portal-card-title,.tier-badge{font-weight:700;text-transform:uppercase;align-items:center}.tier-badge{display:inline-flex;gap:4px;padding:2px 8px;border-radius:4px;font-size:.68rem;letter-spacing:.04em}.tier-hot{background:var(--tier-hot-bg);color:var(--tier-hot);border:1px solid rgba(255,107,53,.3)}.tier-active{background:var(--tier-active-bg);color:var(--tier-active);border:1px solid rgba(245,166,35,.3)}.tier-early{background:var(--tier-early-bg);color:var(--tier-early);border:1px solid rgba(74,158,255,.3)}.score-bar-wrap{height:4px;background:var(--surface-2);border-radius:2px;overflow:hidden;width:100%}.score-bar-fill{height:100%;border-radius:2px;transition:width .4s ease}.tag-chip{display:inline-flex;padding:2px 7px;border-radius:4px;font-size:.65rem;font-weight:600;background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border);white-space:nowrap}.spark-row{display:flex;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;text-decoration:none;color:inherit}.spark-row:hover{background:var(--surface-2)}.spark-row:last-child{border-bottom:none}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius);font-size:.8rem;font-weight:600;border:none;cursor:pointer;transition:opacity .15s,background .15s;text-decoration:none}.btn:hover{opacity:.85}.btn-primary{background:var(--accent);color:#0d1117}.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn-danger{background:rgba(229,83,75,.15);color:var(--danger);border:1px solid rgba(229,83,75,.3)}.btn-sm{padding:4px 10px;font-size:.75rem}.filter-pill{padding:6px 14px;border-radius:20px;font-size:.75rem;font-weight:600;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s}.filter-pill:hover{border-color:var(--accent);color:var(--text)}.filter-pill.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.form-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px;color:var(--text);font-size:.875rem;outline:none;transition:border-color .15s}.form-input:focus{border-color:var(--accent)}.form-input::-moz-placeholder{color:var(--text-muted)}.form-input::placeholder{color:var(--text-muted)}.section-header{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);padding:12px 16px 8px;border-bottom:1px solid var(--border)}.error-box{background:rgba(229,83,75,.08);border:1px solid rgba(229,83,75,.25);border-radius:var(--radius);padding:12px 16px;font-size:.82rem;color:var(--danger)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;gap:8px;color:var(--text-muted);text-align:center}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}.stat-cell{background:var(--surface-2);border-radius:6px;padding:10px 12px}.stat-label{font-size:.63rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.stat-value{font-size:.9rem;font-weight:700;color:var(--text)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;z-index:500;padding:20px}.modal-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.7)}.modal-title{font-size:1rem;font-weight:800;color:var(--text);margin-bottom:20px}.form-select{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.875rem;outline:none;cursor:pointer;width:100%;transition:border-color .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding:9px 30px 9px 12px}.form-select:focus{border-color:var(--accent)}.form-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:5px;text-transform:uppercase;letter-spacing:.04em}.form-group{margin-bottom:14px}.form-hint{font-size:.72rem;color:var(--text-muted);margin-top:4px}