.layout{min-height:100vh;display:flex}.sidebar{background:var(--bg-card);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:220px;height:100vh;padding:20px 0;display:flex;position:sticky;top:0}.sidebar-logo{letter-spacing:-.03em;border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:12px;padding:8px 16px 20px;font-size:20px;font-weight:800;display:flex}.sidebar-logo-mark{object-fit:cover;border-radius:8px;width:28px;height:28px}.brand-devops{color:var(--text)}.brand-train{color:var(--accent)}.sidebar-nav{flex:1;list-style:none;overflow-y:auto}.sidebar-item a,.sidebar-item span{color:var(--text-muted);padding:10px 20px;font-size:14px;text-decoration:none;transition:all .15s;display:block}.sidebar-item a:hover{background:var(--bg-hover);color:var(--text)}.sidebar-item a.active{color:var(--text);background:var(--bg-hover);border-left:3px solid var(--accent)}.sidebar-item.disabled span{opacity:.4;cursor:not-allowed}.sidebar-footer{border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:auto;padding:16px;display:flex}.sidebar-avatar{color:#fff;background:linear-gradient(135deg,#8b7cff,#ff7cc4);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex}.sidebar-user-info{min-width:0}.sidebar-user-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sidebar-user-email{color:var(--text-faint,var(--text-muted));white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.content{flex:1;max-width:1200px;padding:32px}@media (width<=768px){.layout{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%}.sidebar-nav{display:flex;overflow-x:auto}.sidebar-item a,.sidebar-item span{white-space:nowrap}}.role-selector{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.role-chip{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;border-radius:20px;padding:8px 16px;font-size:13px;transition:all .15s}.role-chip:hover{border-color:var(--accent);color:var(--text)}.role-chip-active{background:var(--accent);border-color:var(--accent);color:#fff}.skill-bar{border-bottom:1px solid var(--border);padding:12px 0}.skill-bar:last-child{border-bottom:none}.skill-bar-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.skill-bar-name{font-size:14px;font-weight:500}.skill-bar-meta{align-items:center;gap:8px;display:flex}.skill-bar-levels{color:var(--text-muted);font-size:13px}.skill-bar-track{background:var(--bg);border-radius:3px;height:6px;overflow:hidden}.skill-bar-fill{border-radius:3px;height:100%;transition:width .5s}.skill-bar-fill-met{background:var(--green)}.skill-bar-fill-close{background:var(--yellow)}.skill-bar-fill-gap{background:var(--red)}.skill-bar-source{color:var(--text-muted);margin-top:4px;font-size:11px;display:inline-block}.readiness-tracker{flex-direction:column;gap:20px;display:flex}.readiness-header{justify-content:space-between;align-items:center;display:flex}.readiness-header h1{font-size:24px;font-weight:700}.readiness-summary{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:40px;padding:24px;display:flex}.summary-ring{flex-shrink:0;width:120px;height:120px;position:relative}.summary-ring svg{width:100%;height:100%}.summary-percent{color:var(--accent);font-size:28px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.summary-stats{gap:32px;display:flex}.stat{flex-direction:column;align-items:center;display:flex}.stat-value{font-size:32px;font-weight:700}.stat-label{color:var(--text-muted);margin-top:4px;font-size:13px}.stat-green{color:var(--green)}.stat-yellow{color:var(--yellow)}.stat-red{color:var(--red)}.skill-group{margin-bottom:0}.skill-group h2{text-transform:capitalize}.loading{text-align:center;color:var(--text-muted);padding:40px}.benchmark-card{flex-direction:column;gap:20px;display:flex}.benchmark-header{justify-content:space-between;align-items:center;display:flex}.benchmark-header h2{margin-bottom:0}.benchmark-date{color:var(--text-muted);font-size:13px}.benchmark-overview{gap:16px;display:flex}.quartile-badge,.velocity-badge{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);flex-direction:column;flex:1;align-items:center;gap:6px;padding:16px;display:flex}.quartile-value{font-size:18px;font-weight:700}.quartile-detail{color:var(--text-muted);font-size:13px}.quartile-label{color:var(--text-muted);font-size:12px}.velocity-icon{font-size:24px;line-height:1}.velocity-value{font-size:15px;font-weight:600}.bucket-groups{flex-direction:column;gap:16px;display:flex}.bucket-title{margin-bottom:8px;font-size:14px;font-weight:600}.bucket-strong{color:var(--green)}.bucket-average{color:var(--accent)}.bucket-weak{color:var(--red)}.bucket-skills{flex-wrap:wrap;gap:8px;display:flex}.skill-tag{border-radius:16px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:500;display:inline-flex}.skill-tag-strong{color:var(--green);background:#22c55e1f}.skill-tag-average{color:var(--accent);background:#6366f11f}.skill-tag-weak{color:var(--red);background:#ef44441f}.skill-level{opacity:.7;font-size:11px}.benchmark-empty{color:var(--text-muted);text-align:center;padding:20px 0;font-size:14px}.mentorship-gate-message{justify-content:center;align-items:center;padding:48px 24px;display:flex}.mentorship-gate-message p{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-align:center;padding:16px 28px;font-size:16px;font-weight:500;box-shadow:0 4px 24px #0006}.mentorship-gate-message a{color:var(--accent);font-weight:600;text-decoration:none}.mentorship-gate-message a:hover{color:var(--accent-hover);text-decoration:underline}.dashboard{flex-direction:column;gap:32px;display:flex}.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.placeholder-card{opacity:.5;flex-direction:column;justify-content:center;align-items:center;min-height:120px;display:flex}.placeholder-card p{color:var(--text-muted);font-size:14px}.link-card{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;min-height:120px;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.link-card h2{margin-bottom:8px}.link-card p{color:var(--accent);font-size:14px;font-weight:600}.link-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.interview-setup{flex-direction:column;gap:28px;display:flex}.setup-header{border:1px solid var(--border);border-radius:var(--radius-lg,20px);background:linear-gradient(135deg,#8b7cff14,#0000);align-items:center;gap:16px;padding:20px 24px;display:flex}.setup-icon{background:linear-gradient(135deg, color-mix(in oklab, var(--accent) 35%, transparent), color-mix(in oklab, var(--accent-lo,#5b4ddb) 35%, transparent));border:1px solid var(--border-strong,#ffffff1f);width:56px;height:56px;color:var(--accent);box-shadow:0 10px 30px var(--accent-glow,#8b7cff59);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;font-size:32px;display:flex}.setup-header h2{margin:0;font-size:20px;font-weight:700}.setup-subtitle{color:var(--text-muted);margin:4px 0 0;font-size:13px}.setup-section{flex-direction:column;gap:12px;display:flex}.setup-section h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.mode-selector{grid-template-columns:1fr 1fr;gap:12px;display:grid}.mode-btn{border:1px solid var(--border);border-radius:var(--radius,14px);background:var(--bg-card);cursor:pointer;text-align:left;flex-direction:column;gap:6px;padding:18px;transition:all .2s;display:flex;position:relative;overflow:hidden}.mode-btn:hover{border-color:var(--accent);transform:translateY(-1px)}.mode-btn-active{border-color:var(--accent);background:linear-gradient(180deg, color-mix(in oklab, var(--accent) 14%, transparent), color-mix(in oklab, var(--accent) 4%, transparent));box-shadow:0 0 0 4px color-mix(in oklab, var(--accent) 14%, transparent), 0 10px 24px var(--accent-glow,#8b7cff59)}.mode-title{color:var(--text);font-size:15px;font-weight:600}.mode-desc{color:var(--text-muted);font-size:13px}.topic-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.topic-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);cursor:pointer;text-align:left;flex-direction:column;gap:4px;padding:14px 16px;transition:all .2s;display:flex}.topic-btn:hover{border-color:var(--accent);transform:translateY(-1px)}.topic-btn-active{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 8%, transparent);box-shadow:0 0 0 1px var(--accent)}.topic-name{color:var(--text);font-size:14px;font-weight:500}.topic-count{color:var(--text-muted);font-size:12px}.casual-toggle{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;transition:border-color .15s;display:flex}.casual-toggle:hover{border-color:var(--bg-hover)}.casual-toggle input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}.toggle-label{color:var(--text);font-size:14px;font-weight:500}.toggle-desc{color:var(--text-muted);margin-left:auto;font-size:13px}.section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint,#6b6b82);margin-bottom:12px;font-size:11px;font-weight:700}.type-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.type-opt{text-align:left;cursor:pointer;background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius);padding:18px;transition:all .2s;position:relative;overflow:hidden}.type-opt:hover{border-color:var(--border-strong,#ffffff1f);transform:translateY(-1px)}.type-opt.active{border-color:var(--accent);background:linear-gradient(180deg, color-mix(in oklab, var(--accent) 14%, transparent), color-mix(in oklab, var(--accent) 4%, transparent));box-shadow:0 0 0 4px color-mix(in oklab, var(--accent) 14%, transparent), 0 10px 24px var(--accent-glow,#8b7cff59)}.type-opt-check{border:1.5px solid var(--border-strong,#ffffff1f);color:#fff;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;transition:all .2s;display:flex;position:absolute;top:14px;right:14px}.type-opt.active .type-opt-check{background:var(--accent);border-color:var(--accent)}.type-opt-title{color:var(--text);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.type-opt-title svg{color:var(--accent);flex:none}.type-opt-sub{color:var(--text-muted);margin-top:4px;font-size:13px}.type-opt-meta{color:var(--text-faint,#6b6b82);gap:10px;margin-top:10px;font-size:11px;display:flex}.type-opt-meta span{align-items:center;gap:4px;display:inline-flex}.type-opt-meta svg{flex:none}.topic-chips-wrap{background:color-mix(in oklab, var(--accent) 6%, var(--bg-card));border:1px solid var(--border);border-radius:var(--radius);padding:16px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border-strong,#ffffff1f);background:var(--bg-card);color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:400;transition:all .15s;display:inline-flex}.chip:hover{color:var(--text)}.chip.active{border-color:var(--accent);color:var(--text);background:color-mix(in oklab, var(--accent) 15%, transparent)}.toggle-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.row-toggle{border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;transition:border-color .15s;display:flex}.row-toggle:hover{border-color:var(--border-strong,#ffffff1f)}.row-toggle-left{align-items:center;gap:12px;min-width:0;display:flex}.row-toggle-icon{width:20px;height:20px;color:var(--accent);flex:none;justify-content:center;align-items:center;font-size:16px;display:flex}.row-toggle-title{font-size:14px;font-weight:600;line-height:1.2}.row-toggle-sub{color:var(--text-muted);margin-top:2px;font-size:12px;line-height:1.3}.switch{background:var(--bg-hover,#22223a);border:1px solid var(--border-strong,#ffffff1f);border-radius:999px;flex:none;width:40px;height:22px;transition:all .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;top:2px;left:2px}.switch.on{background:var(--accent);border-color:var(--accent)}.switch.on:after{transform:translate(18px)}.icard{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:4px 1fr auto auto;align-items:center;gap:16px;padding:14px 16px;transition:all .15s;display:grid}.icard:hover{border-color:var(--border-strong,#ffffff1f);background:var(--bg-hover)}.icard-bar{background:var(--accent);border-radius:999px;width:4px;height:40px}.icard-bar-active{background:var(--green);box-shadow:0 0 12px color-mix(in oklab, var(--green) 60%, transparent)}.icard-body{cursor:pointer;min-width:0}.icard-title{flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.icard-meta{color:var(--text-muted);align-items:center;gap:10px;margin-top:2px;font-size:12px;display:flex}.tag{letter-spacing:.02em;background:color-mix(in oklab, var(--accent) 18%, transparent);color:var(--accent-hover,#5eead4);border:1px solid color-mix(in oklab, var(--accent) 28%, transparent);border-radius:6px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.tag-active{background:var(--green-dim,#4ade801f);color:var(--green);border-color:color-mix(in oklab, var(--green) 30%, transparent)}.icard-score{color:var(--text);align-items:baseline;gap:2px;font-size:16px;font-weight:800;display:flex}.icard-score-pct{color:var(--text-faint,#6b6b82);font-size:11px;font-weight:600}.icard-score.low{color:var(--red)}.icard-score.mid{color:var(--yellow)}.icard-score.high{color:var(--green)}.icon-btn{width:32px;height:32px;color:var(--text-faint,#6b6b82);border:1px solid var(--border-strong,#ffffff1f);background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.icon-btn:hover{color:var(--text);border-color:var(--text-faint,#6b6b82);background:var(--surface-hover,var(--bg-hover))}.link-action{color:var(--accent-hover,#5eead4);cursor:pointer;align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.link-action:hover{color:var(--accent)}.session-list{flex-direction:column;gap:8px;display:flex}.session-card{border:1px solid var(--border);border-radius:var(--radius,14px);background:var(--bg-card);align-items:stretch;transition:all .2s;display:flex;overflow:hidden}.session-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #0003}.session-card-indicator{flex-shrink:0;width:4px}.session-card-active .session-card-indicator{background:var(--green)}.session-card-finished .session-card-indicator{background:var(--accent)}.session-card-body{cursor:pointer;flex-direction:column;flex:1;gap:8px;padding:14px 16px;display:flex}.session-card-top{align-items:center;gap:10px;display:flex}.session-card-bottom{align-items:center;gap:8px;display:flex}.session-mode{color:var(--text);font-size:14px;font-weight:600}.session-topic{background:color-mix(in oklab, var(--accent) 10%, transparent);color:var(--accent);border-radius:10px;padding:2px 8px;font-size:12px;font-weight:500}.session-date{color:var(--text-muted);font-size:12px}.session-score{color:var(--accent);margin-left:auto;font-size:14px;font-weight:700}.session-action-active{color:var(--green);margin-left:auto;font-size:13px;font-weight:500}.session-action-view{color:var(--accent);margin-left:auto;font-size:13px;font-weight:500}.session-delete-btn{width:40px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.session-delete-btn:hover{color:var(--red);background:#ef44441a}.start-btn{align-self:flex-start}.start-btn:disabled{opacity:.6;transform:none}.start-btn-loading{align-items:center;gap:8px;display:inline-flex}.interview-session{flex-direction:column;gap:16px;display:flex}.iv-root{grid-template-rows:auto 1fr auto;gap:16px;height:calc(100vh - 140px);min-height:calc(100vh - 140px);display:grid}@media (height<=760px){.iv-root{height:auto;min-height:0}}.iv-head{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.iv-stage{background:radial-gradient(600px 400px at 50% 20%, color-mix(in oklab, var(--accent) 10%, transparent), transparent 60%), var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl,28px);grid-template-rows:auto 1fr;min-height:0;display:grid;position:relative;overflow:hidden}.iv-topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.iv-body{grid-template-columns:300px 1fr;gap:0;min-width:0;min-height:0;display:grid}.iv-avatar-panel{border-right:1px solid var(--border);background:radial-gradient(circle at 50% 40%, color-mix(in oklab, var(--accent) 16%, transparent), transparent 70%);flex-direction:column;justify-content:flex-start;align-self:start;align-items:center;gap:14px;min-width:0;min-height:0;max-height:70vh;padding:24px 20px;display:flex;position:sticky;top:0}.avatar-orb{aspect-ratio:1;border-radius:50%;flex:none;place-items:center;width:clamp(100px,22vh,170px);display:grid;position:relative}.avatar-orb .ring{border:1.5px solid color-mix(in oklab, var(--accent) 60%, transparent);opacity:0;border-radius:50%;position:absolute;inset:0}.avatar-orb.speaking .ring.r1{animation:1.6s ease-out infinite pulsering}.avatar-orb.speaking .ring.r2{animation:1.6s ease-out .4s infinite pulsering}.avatar-orb.speaking .ring.r3{animation:1.6s ease-out .8s infinite pulsering}@keyframes pulsering{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.avatar-core{background:conic-gradient(from 0deg, var(--accent), #c084fc, var(--accent), var(--accent-lo), var(--accent));width:84%;height:84%;box-shadow:0 20px 60px var(--accent-glow), inset 0 1px 0 #ffffff4d;border-radius:50%;place-items:center;animation:16s linear infinite slowspin;display:grid;position:relative;overflow:hidden}.avatar-core:before{content:"";background:radial-gradient(circle at 35% 30%, #ffffff59, transparent 50%), linear-gradient(135deg, color-mix(in oklab, var(--accent-lo) 80%, #0a0818), #0a0818);border-radius:50%;position:absolute;inset:10px}.avatar-core:after{content:"";mix-blend-mode:screen;background:radial-gradient(circle at 30% 25%,#ffffff80,#0000 35%);border-radius:50%;position:absolute;inset:0}@keyframes slowspin{to{transform:rotate(360deg)}}.avatar-wave{z-index:2;align-items:center;gap:5px;height:44px;display:flex;position:absolute}.avatar-wave span{background:linear-gradient(180deg, #fff, color-mix(in oklab, var(--accent) 60%, #fff));border-radius:2px;width:4px;height:8px;box-shadow:0 0 12px #fff9}.avatar-orb.speaking .avatar-wave span{animation:1s ease-in-out infinite avbar}.avatar-wave span:first-child{animation-delay:0s}.avatar-wave span:nth-child(2){animation-delay:.1s}.avatar-wave span:nth-child(3){animation-delay:.2s}.avatar-wave span:nth-child(4){animation-delay:.3s}.avatar-wave span:nth-child(5){animation-delay:.2s}.avatar-wave span:nth-child(6){animation-delay:.1s}.avatar-wave span:nth-child(7){animation-delay:0s}@keyframes avbar{0%,to{height:8px}50%{height:36px}}.avatar-state{text-align:center}.avatar-name{align-items:center;gap:6px;font-size:15px;font-weight:700;display:flex}.voice-arrow{border:1px solid var(--border);cursor:pointer;width:24px;height:24px;color:var(--text-muted);background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.voice-arrow:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-strong)}.avatar-status{color:var(--text-muted);align-items:center;gap:6px;margin-top:2px;font-size:12px;display:inline-flex}.avatar-status .led{background:var(--green);width:6px;height:6px;box-shadow:0 0 8px var(--green);border-radius:50%}.avatar-status.listening .led{background:var(--accent);box-shadow:0 0 8px var(--accent)}.avatar-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.iv-avatar-panel .question-topic-badge{margin-top:4px}.dots{flex-wrap:wrap;flex:1;gap:5px;min-width:0;display:flex}.dot{background:var(--surface-hover,var(--bg-hover));border:1px solid var(--border);width:18px;height:18px;color:var(--text-faint);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;transition:all .2s;display:flex}.dot-clickable{cursor:pointer}.dot-clickable:hover{box-shadow:0 0 8px var(--accent-glow);transform:scale(1.3)}.dot-done{background:var(--green-dim,#4ade801f);border-color:var(--green);color:var(--green)}.dot-wrong{background:color-mix(in oklab, var(--red) 14%, transparent);border-color:var(--red);color:var(--red)}.dot-partial{background:var(--yellow);border-color:var(--yellow);color:#1a1a1a}.dot-skipped{background:var(--surface-hover,var(--bg-hover));border-color:var(--text-faint);color:var(--text-faint)}.dot-current{color:#1a1a1a;background:#fff;border-color:#fff;transform:scale(1.1);box-shadow:0 0 8px #ffffff80,0 0 0 4px #ffffff26}.q-counter{color:var(--text);font-size:14px;font-weight:700}.q-counter .num{color:var(--accent-hover,#5eead4)}.question-topic-badge{letter-spacing:.02em;background:color-mix(in oklab, var(--accent) 18%, transparent);color:var(--accent-hover,#5eead4);border:1px solid color-mix(in oklab, var(--accent) 28%, transparent);border-radius:6px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.voice-toggle{cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.voice-toggle-label{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.back-to-latest{border-radius:10px;padding:8px 12px;font-size:13px}.iv-chat{scroll-behavior:smooth;flex-direction:column;gap:14px;min-width:0;min-height:0;padding:20px 24px;display:flex;overflow-y:auto}.iv-chat::-webkit-scrollbar{width:6px}.iv-chat::-webkit-scrollbar-thumb{background:var(--border-strong,#ffffff1f);border-radius:6px}@keyframes bubbleIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.followup-badge{background:color-mix(in oklab, var(--accent) 15%, transparent);color:var(--accent);border-radius:8px;padding:1px 8px;font-size:10px;font-weight:500}.btn-sm{border-radius:10px;padding:8px 12px;font-size:13px}.iv-composer{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl,28px);grid-template-columns:1fr;gap:12px;padding:14px;display:grid}.composer-text{background:var(--surface,#1a1a2b);border:1px solid var(--border);border-radius:16px;grid-template-columns:1fr auto;align-items:flex-end;gap:10px;padding:10px 12px;transition:all .15s;display:grid}.composer-text:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in oklab, var(--accent) 16%, transparent)}.composer-text textarea{resize:none;color:var(--text);background:0 0;border:none;outline:none;min-height:24px;max-height:140px;padding:4px 0;font-family:inherit;font-size:14px;line-height:1.5}.send-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;padding:0;transition:all .15s;display:grid}.send-btn:hover{box-shadow:0 8px 20px var(--accent-glow);transform:translateY(-1px)}.send-btn:disabled{background:var(--surface-hover,var(--bg-hover));color:var(--text-faint);cursor:not-allowed;box-shadow:none;transform:none}.voice-row{align-items:center;gap:12px;display:flex}.mic-btn{background:linear-gradient(180deg, color-mix(in oklab, var(--accent) 18%, var(--surface,#1a1a2b)), var(--surface,#1a1a2b));border:1px solid var(--border-strong,#ffffff1f);height:56px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:16px;flex:1;justify-content:center;align-items:center;gap:10px;font-size:14px;font-weight:600;transition:all .15s;display:flex;position:relative;overflow:hidden}.mic-btn:hover:not(:disabled){border-color:var(--border-strong,#ffffff1f)}.mic-label{font-weight:600}.mic-btn-active{background:linear-gradient(180deg, color-mix(in oklab, var(--red) 30%, var(--surface,#1a1a2b)), var(--surface,#1a1a2b));border-color:var(--red);color:#fff;box-shadow:0 0 0 4px color-mix(in oklab, var(--red) 16%, transparent), 0 10px 30px color-mix(in oklab, var(--red) 30%, transparent)}@keyframes micPulse{0%,to{box-shadow:0 0 0 0 color-mix(in oklab, var(--red) 40%, transparent)}50%{box-shadow:0 0 0 10px #0000}}.stop-audio-btn{color:var(--red);border-color:var(--red);border-radius:10px;padding:8px 12px;font-size:13px}.stop-audio-btn:hover{background:#ef44441a}.processing-indicator{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;align-self:center;align-items:center;gap:6px;padding:14px 18px;animation:.3s bubbleIn;display:flex}.processing-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse}.processing-dot:nth-child(2){animation-delay:.2s}.processing-dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.processing-text{color:var(--text-muted);margin-left:4px;font-size:13px}.countdown-indicator{background:color-mix(in oklab, var(--accent) 6%, transparent);border:1px solid var(--accent);border-radius:12px;justify-content:space-between;align-self:center;align-items:center;gap:8px;padding:14px 18px;display:flex}.countdown-text{color:var(--accent);font-size:14px;font-weight:500}.countdown-skip{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:6px 14px;font-size:13px;font-weight:500;transition:opacity .15s}.countdown-skip:hover{opacity:.85}.iv-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:4px;display:flex}.iv-foot-progress{color:var(--text-faint,#6b6b82);font-size:12px}.iv-foot-progress strong{color:var(--text)}.error-indicator{border:1px solid var(--red);background:#ff505014;border-radius:12px;justify-content:space-between;align-self:center;align-items:center;gap:12px;padding:14px 18px;animation:.3s bubbleIn;display:flex}.error-text{color:var(--red);font-size:14px}.error-retry{background:var(--red);color:#fff;border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:none;padding:6px 14px;font-size:13px;font-weight:500}.error-retry:hover{opacity:.85}.finishing-overlay{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:400px;animation:.4s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.finishing-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:56px;height:56px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.finishing-title{color:var(--text);margin:8px 0 0;font-size:20px;font-weight:600}.finishing-subtitle{color:var(--text-muted);margin:0;font-size:14px}.finishing-dots{gap:8px;margin-top:8px;display:flex}.finishing-dot{background:var(--accent);border-radius:50%;width:10px;height:10px;animation:1.4s ease-in-out infinite finishPulse}.finishing-dot:nth-child(2){animation-delay:.2s}.finishing-dot:nth-child(3){animation-delay:.4s}@keyframes finishPulse{0%,to{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.1)}}.interview-summary{flex-direction:column;gap:16px;display:flex}.summary-header-card{text-align:center;border-radius:var(--radius-xl,28px);background:linear-gradient(135deg, color-mix(in oklab, var(--accent) 8%, transparent) 0%, var(--bg-card) 100%);flex-direction:column;align-items:center;gap:20px;padding:28px 24px;display:flex}.summary-header-card h2{font-size:20px}.summary-score{flex-direction:column;align-items:center;gap:4px;display:flex}.score-value{background:linear-gradient(135deg, var(--accent), var(--accent-hover));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:56px;font-weight:800;line-height:1}.score-label{color:var(--text-muted);font-size:14px}.summary-counts{gap:28px;font-size:18px;font-weight:600;display:flex}.count-green{color:var(--green)}.count-yellow{color:var(--yellow)}.count-red{color:var(--red)}.analysis-card h3{margin-bottom:12px;font-size:16px}.analysis-text{white-space:pre-wrap;font-size:14px;line-height:1.7}.questions-review{flex-direction:column;gap:12px;display:flex}.review-card{border-left:3px solid var(--border);flex-direction:column;gap:10px;display:flex}.review-card:has(.review-verdict-green){border-left-color:var(--green)}.review-card:has(.review-verdict-yellow){border-left-color:var(--yellow)}.review-card:has(.review-verdict-red){border-left-color:var(--red)}.review-header{justify-content:space-between;align-items:center;font-size:14px;font-weight:600;display:flex}.review-topic{background:color-mix(in oklab, var(--accent) 10%, transparent);color:var(--accent);text-transform:capitalize;border-radius:10px;padding:2px 8px;font-size:12px}.review-question{font-size:14px;font-weight:500}.review-answer,.review-feedback{color:var(--text-muted);font-size:13px}.review-answer p,.review-feedback p{color:var(--text);margin-top:4px}.review-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.restart-btn{align-self:center;padding:14px 32px;font-weight:600}.progress-lights{flex-wrap:wrap;gap:5px;display:flex}.light{background:var(--surface-hover,var(--bg-hover));border:1px solid var(--border);border-radius:50%;width:18px;height:18px}.light-green{background:var(--green-dim,#4ade801f);border-color:var(--green)}.light-yellow{background:var(--yellow);border-color:var(--yellow)}.light-red{background:color-mix(in oklab, var(--red) 14%, transparent);border-color:var(--red)}.light-skip{background:var(--surface-hover,var(--bg-hover));border-color:var(--text-faint)}.msg{gap:10px;max-width:90%;animation:.3s bubbleIn;display:flex}.msg.ai{align-self:flex-start}.msg.me{flex-direction:row-reverse;align-self:flex-end}.msg-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-lo,#0f766e));color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid}.msg.me .msg-avatar{color:var(--text);background:linear-gradient(135deg,#2a3350,#1a2240)}.msg-role{color:var(--text-faint,#6b6b82);align-items:center;gap:8px;margin-bottom:4px;font-size:11px;font-weight:600;display:flex}.msg-bubble{background:var(--surface,#1a1a2b);border:1px solid var(--border);white-space:pre-wrap;border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.5}.msg.me .msg-bubble{background:linear-gradient(180deg, color-mix(in oklab, var(--accent) 22%, var(--surface,#1a1a2b)), var(--surface,#1a1a2b));border-color:color-mix(in oklab, var(--accent) 30%, var(--border))}.msg-bubble.feedback{border-left:3px solid var(--red);background:color-mix(in oklab, var(--red) 7%, var(--surface,#1a1a2b))}.msg-followup .msg-bubble{border-left:3px solid var(--accent)}.msg-verdict-green .msg-bubble{border-left:3px solid var(--green);background:color-mix(in oklab, var(--green) 7%, var(--surface,#1a1a2b))}.msg-verdict-yellow .msg-bubble{border-left:3px solid var(--yellow);background:color-mix(in oklab, var(--yellow) 7%, var(--surface,#1a1a2b))}.msg-verdict-red .msg-bubble{border-left:3px solid var(--red);background:color-mix(in oklab, var(--red) 7%, var(--surface,#1a1a2b))}.typing{gap:4px;padding:4px 0;display:inline-flex}.typing span{background:var(--text-faint);border-radius:50%;width:6px;height:6px;animation:1.2s infinite bounce}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.mic-icon-wrap{background:var(--accent);color:#fff;border-radius:10px;place-items:center;width:32px;height:32px;transition:all .15s;display:grid}.mic-btn-active .mic-icon-wrap{background:var(--red);border-radius:50%;animation:1.2s ease-in-out infinite micPulse}.wave-live{flex:1;align-items:center;gap:3px;height:32px;display:flex}.wave-live span{opacity:.7;background:currentColor;border-radius:2px;width:3px;display:block}@media (width<=820px){.iv-body{grid-template-rows:auto 1fr;grid-template-columns:1fr}.iv-avatar-panel{border-right:none;border-bottom:1px solid var(--border);text-align:left;flex-direction:row;justify-content:flex-start;gap:12px;padding:14px}.iv-avatar-panel .avatar-state{text-align:left}.avatar-orb{width:72px}.iv-root{height:auto;min-height:0}.iv-chat{padding:14px}.iv-topbar{padding:10px 14px}.dot{width:14px;height:14px;font-size:9px}.dots{gap:4px}}@media (width<=600px){.msg{max-width:95%}.type-grid,.toggle-grid{grid-template-columns:1fr}.message-thread{max-height:400px;padding:14px}.setup-header{padding:16px}.setup-icon{width:40px;height:40px;font-size:24px}}.jobs-page{flex-direction:column;gap:16px;display:flex}.jobs-page button{cursor:pointer;font-family:inherit}.jobs-page button:not([class]){color:inherit;background:0 0;border:none}.jobs-page input,.jobs-page select,.jobs-page textarea{font-family:inherit}.jobs-page .page-head{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:4px;display:flex}.jobs-page .page-title-wrap{align-items:center;gap:16px;display:flex}.jobs-page .page-icon{background:linear-gradient(135deg, color-mix(in oklab, var(--accent) 35%, transparent), color-mix(in oklab, var(--accent-lo) 35%, transparent));border:1px solid var(--border-strong);width:56px;height:56px;color:var(--accent-hi);box-shadow:0 10px 30px var(--accent-glow);border-radius:16px;justify-content:center;align-items:center;display:flex}.jobs-page .page-title{letter-spacing:-.02em;margin:0;font-size:28px;font-weight:800}.jobs-page .page-sub{color:var(--text-dim);margin-top:4px;font-size:14px}.jobs-page .card-lg{border-radius:var(--radius-xl);padding:24px}.jobs-page .section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:12px;font-size:11px;font-weight:700}.jobs-page .btn-sm{border-radius:10px;padding:8px 12px;font-size:13px}.jobs-page .tag{letter-spacing:.02em;background:color-mix(in oklab, var(--accent) 18%, transparent);color:var(--accent-hi);border:1px solid color-mix(in oklab, var(--accent) 28%, transparent);border-radius:6px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.jobs-page .score{color:var(--text);align-items:baseline;gap:2px;font-size:16px;font-weight:800;display:flex}.jobs-page .score .sm{color:var(--text-faint);font-size:11px;font-weight:600}.jobs-page .score.low{color:var(--red)}.jobs-page .score.mid{color:var(--amber)}.jobs-page .score.high{color:var(--green)}.jobs-page .chips{flex-wrap:wrap;gap:8px;display:flex}.jobs-page .chip{border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text-dim);border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.jobs-page .chip:hover{color:var(--text)}.jobs-page .chip.active{border-color:var(--accent);color:var(--text);background:color-mix(in oklab, var(--accent) 15%, transparent)}.jobs-page .seg{background:var(--surface);border:1px solid var(--border);border-radius:10px;gap:2px;padding:4px;display:inline-flex}.jobs-page .seg button{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 12px;font-size:13px;font-weight:600}.jobs-page .seg button.on{background:var(--bg-elev-2);color:var(--text);box-shadow:var(--shadow-sm)}.jobs-page .ilist{flex-direction:column;gap:8px;display:flex}.jobs-page .icard-meta{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:10px;margin-top:2px;font-size:12px;display:flex}.jobs-page .icon-btn{width:32px;height:32px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.jobs-page .icon-btn:hover{background:var(--surface-hover);color:var(--text)}.jobs-page .link-action{color:var(--accent-hi);background:0 0;border:none;align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.jobs-page .link-action:hover{color:var(--accent)}.jobs-page .composer-text{background:var(--surface);border:1px solid var(--border);border-radius:16px;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:10px 12px;transition:all .15s;display:grid}.jobs-page .composer-text:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in oklab, var(--accent) 16%, transparent)}.jobs-page .collapse-card{transition:padding .15s}.jobs-page .collapse-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.jobs-page .collapse-toggle{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:11px;min-width:0;padding:0;display:flex}.jobs-page .collapse-titles{flex-direction:column;gap:2px;min-width:0;display:flex}.jobs-page .collapse-title{color:var(--text);letter-spacing:-.01em;font-size:17px;font-weight:700}.jobs-page .collapse-sub{color:var(--text-dim);font-size:14px}.jobs-page .collapse-toggle:hover .collapse-title{color:var(--accent-hi)}.jobs-page .collapse-action{flex:none}.jobs-page .collapse-body{margin-top:18px}.jobs-page .skill-filter-bar{background:color-mix(in oklab, var(--accent) 14%, transparent);border:1px solid color-mix(in oklab, var(--accent) 32%, transparent);color:var(--accent-hi);border-radius:11px;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;display:flex}.jobs-page .skill-filter-bar .sfb-label{color:var(--text-dim);font-size:14px;font-weight:600}.jobs-page .skill-filter-bar .sfb-name{letter-spacing:-.01em;text-transform:capitalize;color:var(--text);margin-right:auto;font-size:16px;font-weight:800}.jobs-page .skill-filter-bar .sfb-clear{cursor:pointer;background:color-mix(in oklab, var(--accent) 18%, transparent);border:1px solid color-mix(in oklab, var(--accent) 34%, transparent);color:var(--accent-hi);border-radius:8px;flex:none;align-items:center;gap:5px;padding:5px 11px;font-size:13px;font-weight:700;transition:background .15s,color .15s;display:inline-flex}.jobs-page .skill-filter-bar .sfb-clear:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.jobs-page .jobs-select{appearance:none;background:var(--bg-elev);border:1px solid var(--border-strong);color:var(--text);cursor:pointer;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='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:9px;padding:8px 30px 8px 12px;font-size:14px;font-weight:600;transition:border-color .15s}.jobs-page .jobs-select:hover{border-color:var(--accent)}.jobs-page .jobs-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 16%, transparent);outline:none}.jobs-page .salary-group{background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:9px;align-items:center;gap:2px;padding:2px;transition:border-color .15s;display:inline-flex}.jobs-page .salary-group:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 16%, transparent)}.jobs-page .salary-group input{width:82px;color:var(--text);font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;padding:6px 8px;font-size:14px;font-weight:600}.jobs-page .salary-group input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.jobs-page .salary-group input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.jobs-page .salary-group input[type=number]{appearance:textfield}.jobs-page .salary-group input::placeholder{color:var(--text-faint);font-weight:500}.jobs-page .salary-group .sg-dash{color:var(--text-faint);font-size:14px}.jobs-page .salary-group select{appearance:none;background:var(--surface);color:var(--text-dim);cursor:pointer;border:none;border-radius:7px;outline:none;padding:6px 8px;font-size:13px;font-weight:700}.jobs-page .salary-group .sg-clear{cursor:pointer;width:24px;height:24px;color:var(--text-faint);opacity:.35;background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;transition:background .15s,color .15s,opacity .15s;display:inline-flex}.jobs-page .salary-group .sg-clear:disabled{cursor:default}.jobs-page .salary-group .sg-clear.on{opacity:1;color:var(--text-dim)}.jobs-page .salary-group .sg-clear.on:hover{background:var(--surface-hover);color:var(--text)}.jobs-page .job-archived{opacity:.68}.jobs-page .job-archived:hover{opacity:.85}.jobs-page .md-body{color:var(--text-dim);font-size:15px;line-height:1.62}.jobs-page .md-body>:first-child{margin-top:0}.jobs-page .md-body>:last-child{margin-bottom:0}.jobs-page .md-body h3,.jobs-page .md-body h4{color:var(--text);letter-spacing:-.01em;margin:14px 0 6px;font-size:15px;font-weight:700}.jobs-page .md-body p{text-wrap:pretty;margin:0 0 9px}.jobs-page .md-body ul,.jobs-page .md-body ol{margin:0 0 9px;padding-left:20px}.jobs-page .md-body li{margin:3px 0}.jobs-page .md-body strong{color:var(--text);font-weight:700}.jobs-page .md-body code{background:var(--surface);border-radius:5px;padding:1px 5px;font-size:13px}.jobs-page .md-body a{color:var(--accent-hi)}.jobs-page .flex{display:flex}.jobs-page .gap-8{gap:8px}.jobs-page .gap-12{gap:12px}.jobs-page .between{justify-content:space-between}.jobs-page .center-y{align-items:center}.jobs-page .wrap{flex-wrap:wrap}.jobs-page .mt-12{margin-top:12px}@keyframes jobspin{to{transform:rotate(360deg)}}@media (width<=820px){.jobs-page .page-head{flex-direction:column;align-items:stretch;gap:12px}.jobs-page .page-title{font-size:22px}.jobs-page .page-icon{border-radius:12px;width:44px;height:44px}.jobs-page .card-lg{border-radius:20px;padding:16px}.jobs-page .dash-summary{text-align:left;grid-template-columns:1fr!important;gap:16px!important}}:root{--bg:#0b0b14;--bg-card:#12121f;--bg-hover:#22223a;--surface:#1a1a2b;--surface-hover:#22223a;--border:#ffffff0f;--border-strong:#ffffff1f;--text:#ececf2;--text-muted:#a0a0b2;--text-dim:#a0a0b2;--text-faint:#6b6b82;--accent:#2dd4bf;--accent-hover:#5eead4;--accent-hi:#5eead4;--accent-lo:#0f766e;--accent-glow:#2dd4bf59;--green:#4ade80;--green-dim:#4ade801f;--yellow:#fbbf24;--amber:#fbbf24;--red:#ef4444;--bg-elev:#12121f;--bg-elev-2:#191928;--radius-sm:8px;--radius:14px;--radius-lg:20px;--radius-xl:28px;--shadow-sm:0 1px 2px #0003;--shadow:0 8px 24px #0000004d;--shadow-lg:0 20px 50px #0006;--font-sans:"Manrope", ui-sans-serif, system-ui, -apple-system, Segoe UI, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);font-feature-settings:"ss01" on, "cv11" on;-webkit-font-smoothing:antialiased;line-height:1.6}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.card h2{color:var(--text);margin-bottom:16px;font-size:18px;font-weight:600}.btn{color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:8px;padding:12px 18px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.btn-ghost{color:var(--text-muted);border-color:var(--border-strong,#ffffff1f);background:0 0}.btn-ghost:hover{color:var(--text);background:var(--bg-hover)}.btn-primary{background:linear-gradient(180deg, var(--accent), var(--accent-lo));color:#fff;box-shadow:0 6px 16px var(--accent-glow), inset 0 1px 0 #fff3;border-color:#0000;transition:all .15s}.btn-primary:hover{box-shadow:0 8px 20px var(--accent-glow), inset 0 1px 0 #ffffff40;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.badge{border-radius:12px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.badge-met{color:var(--green);background:#22c55e26}.badge-close{color:var(--yellow);background:#eab30826}.badge-gap{color:var(--red);background:#ef444426}
