body{background:radial-gradient(circle at top left, #01696f0f, transparent 28%), var(--bg);color:var(--text);margin:0;font-family:Inter,system-ui,sans-serif}.three-panels{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=1100px){.three-panels{grid-template-columns:1fr}}@media (width<=1024px){.skills-grid{grid-template-columns:1fr}}@media (width<=900px){.grid.two-col{grid-template-columns:1fr}.app-shell{padding:16px}.card{padding:20px}}@media (width<=640px){.hero{padding:24px 20px}.stage-header{flex-direction:column;align-items:stretch}.stage-progress-wrap{justify-items:start}.stage-progress{width:fit-content}.pill{justify-content:center;width:100%}}:root{--bg:#f7f6f2;--surface:#fff;--surface-2:#f3f0ec;--surface-3:#ece8e1;--text:#1f1f1b;--muted:#6f6c64;--faint:#9b978f;--border:#1f1f1b1f;--primary:#01696f;--primary-strong:#0c4e54;--primary-soft:#01696f1f;--warning-soft:#da710124;--warning-text:#9a5a00;--success-soft:#437a2224;--success-text:#2f6a1d;--neutral-soft:#7878781f;--neutral-text:#666;--shadow:0 12px 32px #1f1f1b14;--radius-lg:18px;--radius-md:14px;--radius-sm:10px;--max-width:1200px}[data-theme=dark]{--bg:#171614;--surface:#1c1b19;--surface-2:#201f1d;--surface-3:#2a2927;--text:#f0eee9;--muted:#b5b1a8;--faint:#8e8a83;--border:#f0eee91f;--primary:#4f98a3;--primary-strong:#7dc0ca;--primary-soft:#4f98a329;--warning-soft:#e8af3424;--warning-text:#f1c56d;--success-soft:#6daa4529;--success-text:#9ad47a;--neutral-soft:#ffffff14;--neutral-text:#c7c3bb;--shadow:0 12px 32px #00000059}*{box-sizing:border-box}html{font-synthesis-weight:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:radial-gradient(circle at top left, #01696f0f, transparent 28%), var(--bg);color:var(--text);margin:0;font-family:Inter,system-ui,sans-serif;transition:background-color .18s,color .18s}h1,h2,h3,p{margin:0}label{gap:8px;font-weight:500;display:grid}select,input[type=range]{width:100%}select{appearance:none;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;border-radius:12px;padding:12px 14px}input[type=range]{accent-color:var(--primary)}button,select,.card,.skill-card,.transition-item,.stage-card,.transition-summary,.inline-note,.compact-skill-item{transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s}.app-shell{max-width:var(--max-width);gap:20px;margin:0 auto;padding:24px;display:grid}.toolbar{justify-content:flex-end;display:flex}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.ghost-button{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:10px 14px;font-weight:600;display:inline-flex}.ghost-button:hover{background:var(--surface-2);transform:translateY(-1px)}.ghost-button svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:18px;height:18px}.danger-button{color:#9a2f3c;border-color:#a1354438}.danger-button:hover{background:#a1354414}[data-theme=dark] .danger-button{color:#f0a2aa;border-color:#dd69743d}[data-theme=dark] .danger-button:hover{background:#dd69741f}.theme-toggle{border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:10px 14px;font-weight:700;display:inline-flex}.theme-toggle:hover{background:var(--surface-3);transform:translateY(-1px)}.theme-toggle svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:18px;height:18px}.icon-toggle span{letter-spacing:.02em;font-size:14px}.toast{z-index:20;border:1px solid var(--border);background:var(--surface);width:fit-content;max-width:min(100%,420px);box-shadow:var(--shadow);border-radius:14px;margin-left:auto;padding:12px 16px;font-size:14px;font-weight:600;position:sticky;top:12px}.toast.success{background:var(--success-soft);color:var(--success-text);border-color:#437a222e}.toast.error{background:var(--warning-soft);color:var(--warning-text);border-color:#da71012e}.toast.neutral{background:var(--neutral-soft);color:var(--neutral-text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:24px}.stack{gap:16px;display:grid}.grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.hero{background:linear-gradient(180deg, #01696f0a, #01696f00), var(--surface);padding:32px 28px}.hero h1{margin-bottom:12px;font-size:clamp(2rem,3vw,3rem);line-height:1.08}.eyebrow{color:var(--primary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;font-size:14px;font-weight:800}.lead,.muted{color:var(--muted)}.meta{color:var(--faint);font-size:14px;line-height:1.5}.list{gap:10px;margin:0;padding-left:18px;display:grid}.transition-list{padding-left:0;list-style:none}.transition-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);gap:8px;padding:14px 16px;display:grid}.transition-item.active{background:linear-gradient(180deg, var(--primary-soft), #01696f0a);border-color:#01696f47}.inline-note{border-radius:var(--radius-md);border:1px solid var(--border);gap:8px;padding:16px 18px;display:grid}.inline-note.success{background:var(--success-soft);border-color:#437a2233}.inline-note.warning{background:var(--warning-soft);border-color:#da710133}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.skill-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);gap:14px;padding:18px;display:grid}.skill-card h3{margin-bottom:8px;font-size:1.15rem}.skill-level-note{background:#01696f0f;border:1px solid #01696f24;border-radius:12px;gap:8px;padding:12px 14px;display:grid}.skill-level-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.skill-level-badge{min-width:68px;color:var(--primary-strong);letter-spacing:.03em;text-transform:uppercase;background:#01696f24;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.score{color:var(--primary);font-size:clamp(3rem,8vw,4.5rem);font-weight:800;line-height:1}.score-sm{font-size:clamp(2.2rem,6vw,3.2rem)}.dashboard-panels{align-items:start}.compact-card{gap:12px}.panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-counter,.panel-status-badge{background:var(--primary-soft);min-width:40px;color:var(--primary-strong);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.panel-subtitle{color:var(--muted);font-size:14px;line-height:1.45}.compact-groups{gap:16px;display:grid}.compact-group{gap:12px;display:grid}.compact-group-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.compact-group-head strong{letter-spacing:.01em;font-size:14px}.compact-group-count{background:var(--surface-2);border:1px solid var(--border);min-width:28px;height:28px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.compact-skill-list{gap:10px;display:grid}.compact-skill-list.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-skill-item{background:linear-gradient(#01696f0d,#01696f05);border:1px solid #01696f1f;border-radius:14px;gap:10px;min-width:0;padding:14px;display:grid}.compact-skill-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.compact-skill-top strong{font-size:15px;line-height:1.3}.compact-target-badge{color:var(--primary-strong);white-space:nowrap;background:#01696f1f;border-radius:999px;justify-content:center;align-items:center;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.compact-progress-row{display:grid}.compact-progress-track{background:#1f1f1b14;border-radius:999px;width:100%;height:8px;overflow:hidden}.compact-progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--primary), #27a3a9);height:100%}.compact-meta-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.compact-now,.compact-need{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;padding:4px 8px;display:inline-flex}.compact-arrow{color:var(--faint);font-weight:700}.compact-empty{color:var(--muted);font-size:14px;line-height:1.5}.full-width-gaps-card{width:100%}.full-width-gaps-card .compact-skill-list.two-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.next-stage-summary{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;gap:6px;padding:14px;display:grid}.next-stage-meta{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.transition-summary{border-radius:var(--radius-md);background:linear-gradient(#01696f0f,#01696f05);border:1px solid #01696f24;gap:8px;padding:18px;display:grid}.stage-list{gap:16px;display:grid}.stage-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);gap:14px;padding:20px;display:grid}.stage-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.stage-header h3{font-size:1.15rem}.stage-step{color:var(--primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:13px;font-weight:800}.stage-progress-wrap{justify-items:end;gap:8px;display:grid}.stage-progress{text-align:center;background:var(--surface-3);min-width:72px;color:var(--primary-strong);border-radius:999px;padding:10px 12px;font-weight:800}.stage-status{letter-spacing:.02em;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.stage-status.not-started{background:var(--neutral-soft);color:var(--neutral-text)}.stage-status.in-progress{background:var(--warning-soft);color:var(--warning-text)}.stage-status.completed{background:var(--success-soft);color:var(--success-text)}.progress-bar{background:#1f1f1b14;border-radius:999px;width:100%;height:10px;overflow:hidden}.progress-bar-fill{border-radius:inherit;background:linear-gradient(90deg, var(--primary), #27a3a9);height:100%;transition:width .22s}.pill-list{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pill{color:var(--text);background:#01696f14;border:1px solid #01696f24;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;line-height:1.35;display:inline-flex}@media (width<=1100px){.full-width-gaps-card .compact-skill-list.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1024px){.skills-grid{grid-template-columns:1fr}}@media (width<=900px){.grid.two-col{grid-template-columns:1fr}.app-shell{padding:16px}.card{padding:20px}}@media (width<=760px){.compact-skill-list.two-columns,.full-width-gaps-card .compact-skill-list.two-columns{grid-template-columns:1fr}}@media (width<=640px){.hero{padding:24px 20px}.toolbar{justify-content:stretch}.toolbar-actions{flex-direction:column;align-items:stretch;width:100%}.theme-toggle,.ghost-button{justify-content:center;width:100%}.panel-head,.compact-group-head,.compact-skill-top,.stage-header{flex-direction:column;align-items:stretch}.stage-progress-wrap{justify-items:start}.stage-progress{width:fit-content}.pill{justify-content:center;width:100%}}.start-grid-top{align-items:start}.start-point-card{align-self:start;height:fit-content}.start-grid-top>*,.transitions-card{align-self:start}.skill-groups{gap:14px;display:grid}.skill-group{border:1px solid var(--border);background:#ffffff05;border-radius:18px;overflow:hidden}.skill-group-toggle{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.skill-group-toggle:hover{background:#ffffff08}.skill-group-meta{margin:4px 0 0}.skill-group-chevron{width:32px;height:32px;color:var(--accent);background:#7c5cff24;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:inline-flex}.skill-group .skills-grid{padding:0 16px 16px}
