:root{--text-xs: clamp(.7rem, .65rem + .15vw, .8rem);--text-sm: clamp(.8rem, .75rem + .2vw, .9rem);--text-base: clamp(.9rem, .85rem + .2vw, 1rem);--text-lg: clamp(1rem, .9rem + .5vw, 1.25rem);--text-xl: clamp(1.25rem, 1rem + 1vw, 1.875rem);--text-2xl: clamp(1.875rem,1.25rem + 2vw, 3.25rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--color-bg: #F8FAFC;--color-surface: #FFFFFF;--color-surface-2: #F1F5F9;--color-surface-3: #E2E8F0;--color-border: rgba(15, 23, 42, .08);--color-border-strong: #E2E8F0;--color-border-accent: rgba(232, 99, 10, .28);--color-text: #0F172A;--color-text-muted: #64748B;--color-text-faint: #94A3B8;--color-primary: #E8630A;--color-primary-hover: #C24F06;--color-primary-dim: rgba(232, 99, 10, .07);--color-primary-glow: rgba(232, 99, 10, .18);--color-surface-offset: var(--color-surface-2);--color-divider: var(--color-surface-3);--font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "DM Mono", monospace;--radius-sm: 2px;--radius-md: 2px;--radius-lg: 4px;--radius-xl: 4px;--shadow-card: 0 1px 3px rgba(15,23,42,.06), 0 4px 12px rgba(15,23,42,.04);--shadow-raised: 0 4px 16px rgba(15,23,42,.08), 0 12px 32px rgba(15,23,42,.06);--transition: .2s cubic-bezier(.16, 1, .3, 1);--content: 1120px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);min-height:100dvh;line-height:1.6}img,svg{display:block;max-width:100%}button{cursor:pointer;background:none;border:none;font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.05}p{text-wrap:pretty;max-width:72ch}a{color:inherit;text-decoration:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.app{display:flex;flex-direction:column;min-height:100dvh}.main{flex:1;padding:var(--space-8) var(--space-6);max-width:var(--content);margin-inline:auto;width:100%}@media (max-width: 640px){.main{padding:var(--space-6) var(--space-4)}}.ecosystem-bar{background:#0f172a;border-bottom:1px solid rgba(255,255,255,.07);padding:0 var(--space-6);height:32px;display:flex;align-items:center}.ecosystem-bar-inner{max-width:var(--content);margin-inline:auto;width:100%;display:flex;align-items:center;justify-content:space-between}.ecosystem-bar-link{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#94a3b8;text-decoration:none;transition:color var(--transition)}.ecosystem-bar-link:hover{color:var(--color-primary)}.ecosystem-bar-meta{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#475569}.app-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--color-border-strong);box-shadow:0 1px 4px #0f172a0f;padding:0 var(--space-6);height:52px}.header-inner{max-width:var(--content);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;height:100%}.logo-block{display:flex;align-items:center;gap:var(--space-3)}.logo-title{display:block;font-family:var(--font-display);font-size:22px;letter-spacing:0em;color:var(--color-primary);line-height:1}.logo-sub{display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-faint);margin-top:3px}.header-meta{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint);display:flex;align-items:center;gap:var(--space-2)}.dot{color:var(--color-text-faint)}.app-footer{background:#0f172a;color:#94a3b8;padding:3.5rem var(--space-6) 2rem}.footer-inner{max-width:var(--content);margin-inline:auto}.footer-brand{font-size:1rem;font-weight:700;color:#fff;margin-bottom:.375rem}.footer-sub{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:#64748b;margin-bottom:2rem}.footer-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem 2rem;margin-bottom:2.5rem}.footer-links a{color:#94a3b8;text-decoration:none;font-size:.875rem;transition:color var(--transition)}.footer-links a:hover{color:var(--color-primary)}.footer-bottom{border-top:1px solid #1E293B;padding-top:1.5rem;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:#475569}.phase-bar{display:flex;align-items:center;margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-strong)}.phase-step{display:flex;align-items:center;gap:var(--space-2)}.phase-dot{width:20px;height:20px;border-radius:2px;border:1px solid var(--color-border-strong);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:9px;color:var(--color-text-faint);background:var(--color-surface-2);flex-shrink:0}.phase-step.done .phase-dot{background:#e8630a12;border-color:#e8630a38;color:var(--color-primary)}.phase-step.current .phase-dot{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.phase-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-faint);white-space:nowrap}.phase-step.done .phase-label{color:var(--color-text-muted)}.phase-step.current .phase-label{color:var(--color-primary)}.phase-line{flex:1;height:1px;background:var(--color-border-strong);margin:0 var(--space-3);min-width:24px}.phase-line.done{background:#e8630a47}@media (max-width: 640px){.phase-label{display:none}.phase-line{min-width:12px}}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--color-primary);color:#fff;padding:var(--space-3) var(--space-8);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;letter-spacing:.02em;min-height:44px;transition:background var(--transition),box-shadow var(--transition),transform var(--transition)}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:0 4px 16px var(--color-primary-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--color-surface);color:var(--color-text);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;border:1px solid var(--color-border-strong);min-height:44px;transition:background var(--transition),border-color var(--transition)}.btn-secondary:hover{background:var(--color-surface-2);border-color:var(--color-border-accent)}.btn-back{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);padding:var(--space-2) 0;margin-bottom:var(--space-6);transition:color var(--transition)}.btn-back:hover{color:var(--color-primary)}.btn-ghost{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-primary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid rgba(232,99,10,.22);transition:background var(--transition)}.btn-ghost:hover{background:var(--color-primary-dim)}.btn-copy{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--color-primary);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);margin-top:var(--space-4);transition:background var(--transition)}.btn-copy:hover{background:var(--color-primary-hover)}.alert{padding:var(--space-4);border-radius:var(--radius-md);border-left:3px solid;margin-bottom:var(--space-6);font-size:var(--text-sm);animation:fadeInUp .3s ease}.alert-warning{background:#d977060f;border-color:#d97706;color:#92400e}.alert-error{background:#dc26260f;border-color:#dc2626;color:#b91c1c}.alert strong{font-weight:700}.alert code{font-family:var(--font-mono);font-size:var(--text-xs);background:#0f172a0f;padding:1px 5px;border-radius:2px}.input-screen{animation:fadeInUp .45s cubic-bezier(.16,1,.3,1)}.input-hero{margin-bottom:var(--space-10)}.hero-eyebrow{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-4)}.input-hero h1{font-family:var(--font-display);font-size:clamp(48px,7vw,80px);letter-spacing:-.02em;line-height:1;margin-bottom:var(--space-5);color:var(--color-text)}.hero-gradient{color:var(--color-primary);background:linear-gradient(120deg,#e8630a,#d97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-sub{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.7;max-width:58ch}.input-grid{display:grid;grid-template-columns:1fr 340px;gap:var(--space-8);align-items:start}@media (max-width: 800px){.input-grid{grid-template-columns:1fr}}.field{margin-bottom:var(--space-5)}.field-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.field label{display:block;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}.field-hint{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-text-faint);margin-bottom:var(--space-2)}.input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);background:var(--color-surface);color:var(--color-text);min-height:44px;transition:border-color var(--transition),box-shadow var(--transition)}.input::placeholder{color:var(--color-text-faint)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-dim)}.cv-textarea{width:100%;padding:var(--space-4) var(--space-5);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.75;background:var(--color-surface);color:var(--color-text);resize:vertical;min-height:440px;transition:border-color var(--transition),box-shadow var(--transition)}.cv-textarea::placeholder{color:var(--color-text-faint)}.cv-textarea:focus{outline:none;border-color:var(--color-border-accent);box-shadow:0 0 0 3px var(--color-primary-dim)}.side-card{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-xl);padding:var(--space-6);position:sticky;top:calc(52px + var(--space-6))}.vsf-explainer{background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5)}.vsf-explainer h3{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:var(--space-3)}.dim-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border-strong)}.dim-row:last-child{border-bottom:none;padding-bottom:0}.dim-name{font-size:var(--text-xs);color:var(--color-text-muted)}.dim-weight{font-family:var(--font-display);font-size:16px;letter-spacing:-.01em;color:var(--color-primary)}.dim-desc{display:none}.dim-header{display:contents}.run-btn{width:100%;padding:var(--space-4);font-size:var(--text-base);border-radius:var(--radius-lg);letter-spacing:.03em}.sample-btn{display:none}.scanning-screen{display:flex;align-items:center;justify-content:center;min-height:55vh;animation:fadeIn .3s ease}.scanning-inner{text-align:center;max-width:380px}.pulse-ring{width:48px;height:48px;border-radius:50%;border:2px solid transparent;border-top-color:var(--color-primary);border-right-color:#e8630a38;animation:spin .85s linear infinite;margin:0 auto var(--space-8)}.pulse-ring.small{width:32px;height:32px;margin-bottom:var(--space-4)}.scanning-label{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.04em;color:var(--color-text);margin-bottom:var(--space-3);line-height:1.5}.scanning-sub{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;color:var(--color-text-faint);margin-top:var(--space-3)}.progress-track{width:280px;height:2px;background:var(--color-surface-3);border-radius:2px;margin:var(--space-5) auto var(--space-2);overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);border-radius:2px;transition:width .5s cubic-bezier(.16,1,.3,1)}.results-screen{animation:fadeInUp .4s cubic-bezier(.16,1,.3,1)}.results-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-strong)}.results-header h2{font-size:clamp(28px,4vw,42px);letter-spacing:-.01em;color:var(--color-text)}.results-meta{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);margin-top:var(--space-2)}.results-grid{display:flex;flex-direction:column;gap:var(--space-4)}.result-card{background:var(--color-surface);border:1px solid var(--color-border-strong);border-left:3px solid var(--color-border-strong);border-radius:var(--radius-xl);padding:var(--space-6);transition:border-color var(--transition),border-left-color var(--transition),box-shadow var(--transition),transform var(--transition);animation:fadeInUp .4s cubic-bezier(.16,1,.3,1) both}.result-card:hover{border-color:var(--color-border-accent);border-left-color:var(--color-primary);box-shadow:var(--shadow-card);transform:translateY(-2px)}.result-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4)}.result-card__title-wrap{flex:1;min-width:0}.result-card__title{display:block;font-family:var(--font-display);font-size:clamp(20px,2.5vw,28px);letter-spacing:-.01em;color:var(--color-text);line-height:1.1;margin-bottom:var(--space-1);transition:color var(--transition)}a.result-card__title:hover{color:var(--color-primary)}.result-card__company{font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);margin-bottom:2px}.result-card__location{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;color:var(--color-text-faint)}.result-card__score{text-align:right;flex-shrink:0}.result-card__score-num{display:block;font-family:var(--font-display);font-size:clamp(36px,4vw,52px);letter-spacing:.02em;line-height:1}.result-card__score-band{display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;opacity:.7;margin-top:4px;max-width:130px;text-align:right;line-height:1.4}.result-card__meta{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap}.result-card__recommendation{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);background:var(--color-primary-dim);border:1px solid rgba(232,99,10,.22);padding:3px var(--space-3);border-radius:2px}.result-card__match{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);background:var(--color-surface-2);border:1px solid var(--color-border-strong);padding:3px var(--space-3);border-radius:2px}.result-card__summary{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.65;margin-bottom:var(--space-5);max-width:100%}.result-card__actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding-top:var(--space-4);border-top:1px solid var(--color-border-strong)}.btn-apply{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);background:var(--color-surface-2);border:1px solid var(--color-border-strong);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);transition:color var(--transition),border-color var(--transition),background var(--transition)}.btn-apply:hover{color:var(--color-text);background:var(--color-surface-3);border-color:var(--color-border-accent)}.btn-apply--disabled{opacity:.35;cursor:default;pointer-events:none}.gap-screen{animation:fadeInUp .4s cubic-bezier(.16,1,.3,1)}.gap-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.gap-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-6);margin-bottom:var(--space-8);padding-bottom:var(--space-8);border-bottom:1px solid var(--color-border-strong)}.gap-hero h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.01em;margin-bottom:var(--space-2)}.gap-company{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.score-hero-badge{text-align:right;flex-shrink:0}.score-hero-num{display:block;font-family:var(--font-display);font-size:clamp(44px,6vw,72px);letter-spacing:.02em;line-height:1}.score-hero-band{display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;opacity:.7;margin-top:6px}.dim-breakdown{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-3);margin-bottom:var(--space-8)}.dim-card{background:var(--color-surface);border:1px solid var(--color-border-strong);border-top:2px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-5);transition:border-top-color var(--transition)}.dim-card:hover{border-top-color:var(--color-primary)}.dim-card-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.dim-card-name{flex:1;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.dim-card-score{font-family:var(--font-display);font-size:28px;letter-spacing:-.01em;line-height:1}.dim-card-weight{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;color:var(--color-text-faint)}.dim-bar-track{height:2px;background:var(--color-surface-3);border-radius:2px;margin-bottom:var(--space-3);overflow:hidden}.dim-bar-fill{height:100%;border-radius:2px;transition:width .8s cubic-bezier(.16,1,.3,1)}.dim-evidence{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-text-muted);line-height:1.6}.strengths-block{background:#16a34a0a;border:1px solid rgba(22,163,74,.16);border-left:3px solid #16A34A;border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-8)}.strengths-block h3{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#16a34a;margin-bottom:var(--space-4)}.strengths-block ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.strengths-block li{font-size:var(--text-sm);color:var(--color-text-muted);padding-left:var(--space-5);position:relative}.strengths-block li:before{content:"✓";position:absolute;left:0;color:#16a34a;font-weight:700}.gaps-block{margin-bottom:var(--space-8)}.gaps-block h3{font-size:clamp(22px,3vw,30px);letter-spacing:-.01em;margin-bottom:var(--space-2)}.gaps-hint{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:var(--space-4)}.gap-list{display:flex;flex-direction:column;gap:var(--space-3)}.gap-item{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer;transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.gap-item:hover{border-color:var(--color-border-accent);transform:translate(4px);box-shadow:var(--shadow-card)}.gap-item-header{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-2)}.gap-skill{font-weight:600;font-size:var(--text-sm);flex:1}.priority-badge{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#fff;padding:3px var(--space-3);border-radius:2px}.weeks-badge{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;color:var(--color-text-muted);background:var(--color-surface-2);border:1px solid var(--color-border-strong);padding:3px var(--space-3);border-radius:2px}.gap-jd-evidence{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-text-faint);font-style:italic;margin-bottom:var(--space-1)}.gap-action{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;color:var(--color-primary)}.apply-block{border:1px solid;border-left:3px solid;border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-8);background:#e8630a08}.apply-block strong{display:block;font-family:var(--font-display);font-size:clamp(22px,2.5vw,30px);letter-spacing:-.01em;margin-bottom:var(--space-2)}.apply-block p{font-size:var(--text-sm);color:var(--color-text-muted)}.job-live-link{display:inline-flex;align-items:center;gap:4px;margin-top:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;color:var(--color-primary);transition:opacity var(--transition)}.job-live-link:hover{opacity:.75;text-decoration:underline}.btn-download{font-size:var(--text-sm);font-weight:600;padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border-strong);cursor:pointer;transition:background var(--transition),border-color var(--transition)}.btn-download:hover{background:var(--color-surface-3);border-color:var(--color-border-accent)}.learning-screen{animation:fadeInUp .4s cubic-bezier(.16,1,.3,1)}.learning-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:55vh;gap:var(--space-4);text-align:center}.loading-sub{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint)}.learning-hero{margin-bottom:var(--space-8)}.learning-hero h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.01em;margin-bottom:var(--space-2)}.learning-meta{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-3)}.bridge-strategy{font-size:var(--text-base);color:var(--color-text-muted);font-style:italic;border-left:2px solid var(--color-primary);padding-left:var(--space-4);max-width:65ch}.weeks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);margin-bottom:var(--space-8)}.week-card{background:var(--color-surface);border:1px solid var(--color-border-strong);border-top:2px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-6);transition:border-top-color var(--transition)}.week-card:hover{border-top-color:var(--color-primary)}.week-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.week-num{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-primary)}.week-commit{font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;color:var(--color-text-faint)}.week-focus{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-4)}.week-activities{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.activity-row{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-3);align-items:start}.activity-type{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint);white-space:nowrap}.activity-title{font-size:var(--text-sm);color:var(--color-text-muted)}.activity-duration{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint);white-space:nowrap}.week-milestone{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;background:var(--color-primary-dim);border:1px solid rgba(232,99,10,.18);color:var(--color-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.milestone-label{font-weight:600}.cv-language-block{background:var(--color-surface);border:1px solid var(--color-border-strong);border-left:3px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6)}.cv-language-block h3{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-3)}.cv-language-text{font-size:var(--text-sm);font-style:italic;color:var(--color-text-muted);border-left:2px solid var(--color-primary);padding-left:var(--space-4)}.audio-brief-block{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-8)}.audio-brief-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.audio-brief-header h3{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase}.audio-brief-header span{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-primary)}.audio-script{margin-top:var(--space-4)}.audio-script pre{font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.7;white-space:pre-wrap;color:var(--color-text-muted);background:var(--color-surface-2);border:1px solid var(--color-border-strong);padding:var(--space-6);border-radius:var(--radius-md)}.learning-actions{display:flex;gap:var(--space-4);justify-content:flex-end;margin-top:var(--space-8)}.error-screen{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-16);text-align:center;color:var(--color-text-muted)}.vsf-radar-wrap{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.vsf-radar-svg{display:block}.vsf-radar-legend{display:flex;gap:var(--space-4);align-items:center}.vsf-radar-legend-score{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);padding:2px 8px;border:1.5px solid currentColor;border-radius:var(--radius-sm)}.vsf-radar-legend-bench{font-family:var(--font-mono);font-size:var(--text-xs);color:#d97706;display:flex;align-items:center;gap:4px}.vsf-radar-legend-bench:before{content:"";display:inline-block;width:18px;height:0;border-top:1.5px dashed #D97706}.gap-hero-right{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);flex-shrink:0}.academy-dim-link{display:inline-block;margin-top:var(--space-2);font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-primary);text-decoration:none;letter-spacing:.02em;transition:opacity .15s}.academy-dim-link:hover{opacity:.7;text-decoration:underline}.gap-academy-hint{font-size:var(--text-xs);color:var(--color-text-faint);margin:0}.gap-academy-hint a{color:var(--color-primary);text-decoration:none}.gap-academy-hint a:hover{text-decoration:underline}.hero-trust{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-faint);font-family:var(--font-mono);letter-spacing:.02em}.hero-trust a{color:var(--color-primary);text-decoration:none}.hero-trust a:hover{text-decoration:underline}.audio-brief-prominent{background:var(--color-surface);border:1px solid var(--color-border-accent);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-8)}.audio-brief-prominent .audio-brief-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;gap:var(--space-4)}.audio-brief-prominent .audio-brief-header h3{margin:0;font-size:var(--text-base);color:var(--color-text)}.audio-brief-hint{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-text-faint);white-space:nowrap}.audio-script-actions{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.btn-copy-inline{display:inline-flex;align-items:center;padding:6px 14px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);background:var(--color-primary-dim);color:var(--color-primary);border:1px solid var(--color-border-accent);cursor:pointer;text-decoration:none;transition:background .15s}.btn-copy-inline:hover{background:var(--color-primary-glow)}.academy-cta-block{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-top:var(--space-10);padding:var(--space-8);background:linear-gradient(135deg,#e8630a0d,#0f172a0a);border:1px solid var(--color-border-accent);border-radius:var(--radius-lg);text-align:center}.academy-cta-label{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.btn-academy-cta{display:inline-flex;align-items:center;padding:10px 24px;background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;text-decoration:none;letter-spacing:.01em;transition:background .15s}.btn-academy-cta:hover{background:var(--color-primary-hover)}
