:root{--ink:#16191d;--ink-strong:#14181d;--bg:#e8e6e1;--surface:#fbfaf8;--surface-2:#f6f4ef;--line:#e3e0d9;--line-strong:#c8c4ba;--muted:#6b7280;--muted-2:#9aa0a8;--blue:#1c4f8a;--blue-bg:#e7eff8;--blue-soft:#f4f8fc;--green:#2f7d4f;--amber:#9a6a18;--danger:#a8392a;--danger-bg:#efe4e2}*{box-sizing:border-box}body{margin:0;font-family:IBM Plex Sans JP,system-ui,sans-serif;color:var(--ink);background:var(--bg)}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}a{color:inherit}.ctaPrimary{font-family:IBM Plex Sans JP,sans-serif;font-weight:600;background:var(--ink-strong);color:#fff;border:none;border-radius:7px;cursor:pointer}.ctaPrimary:disabled{opacity:.4;cursor:not-allowed}.ctaSec{font-family:IBM Plex Sans JP,sans-serif;font-weight:500;background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:7px;cursor:pointer}.logo{width:26px;height:26px;border-radius:6px;background:var(--ink-strong);display:flex;align-items:center;justify-content:center;color:#fff;font-family:IBM Plex Mono,monospace;font-weight:600}.req{background:var(--danger-bg);color:var(--danger)}.opt,.req{font-family:IBM Plex Mono,monospace;font-size:10px;padding:2px 7px;border-radius:5px}.opt{background:#efece4;color:#6b6256}.commonBadge{font-family:IBM Plex Mono,monospace;font-size:10px;padding:3px 8px;border-radius:5px;background:var(--blue-bg);color:var(--blue)}.card{background:var(--surface);border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.1);overflow:hidden}.shell{max-width:1024px;margin:0 auto;padding:40px 20px}.seg{flex:1 1;height:9px;border-radius:4px;background:#e1ddd3;border:none;padding:0;cursor:pointer}.seg.on{background:var(--ink)}.skillRow{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.skillRow.common{border-color:#c9d8e8;background:var(--blue-soft)}.arrow{font-size:12px;color:var(--amber)}.arrow,.secLabel{font-family:IBM Plex Mono,monospace}.secLabel{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.num{font-family:IBM Plex Mono,monospace;font-weight:600;color:var(--blue)}@keyframes flyInRight{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}.flyIn{animation:flyInRight .5s cubic-bezier(.18,.72,.28,1) both}.dist{font-family:IBM Plex Mono,monospace;font-size:11px;padding:2px 8px;border-radius:5px}.dist.near{background:#fdf3da;color:#9a6a18}.dist.mid{background:#fbe9d8;color:#b5602a}.dist.far{background:#f3dede;color:#a8392a}.roadmapGrid{display:grid;grid-template-columns:minmax(280px,340px) 1fr}.roadmapCol1{border-right:1px solid var(--line)}@media (max-width:720px){.roadmapGrid{grid-template-columns:1fr}.roadmapCol1{border-right:none;border-bottom:1px solid var(--line)}}