.class-tree{flex-direction:column;align-items:center;gap:8px;max-width:900px;margin:32px auto 0;padding:0 20px;display:flex}.class-tier{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.class-node{background:var(--card-bg);border:1px solid var(--border-alt);border-radius:var(--radius-lg);text-align:center;min-width:150px;color:var(--text);flex-direction:column;align-items:center;gap:8px;padding:14px 18px;display:flex}.class-node.current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.class-node img{object-fit:contain;width:56px;height:56px}.class-node span{color:var(--muted);font-size:14px}.class-connector{color:var(--accent);font-size:22px}.class-skills{margin-top:32px}.skill-list{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px;display:grid}.skill-card{background:var(--card-bg);border:1px solid var(--border-alt);border-radius:var(--radius-lg);gap:12px;padding:14px;display:flex}.skill-card img{object-fit:contain;flex-shrink:0;width:40px;height:40px}.skill-card strong{margin-bottom:4px;display:block}.skill-card p{color:var(--muted);margin:4px 0 0;font-size:15px;line-height:1.5}.skill-empty{color:var(--muted);margin-top:12px;font-size:16px}@media (max-width:550px){.skill-list{grid-template-columns:1fr}}.skill-list-full{grid-template-columns:1fr;scroll-margin-top:20px}.skill-card-full{flex-direction:column;gap:8px;scroll-margin-top:84px}.skill-card-full:target{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.skill-card-head{align-items:flex-start;gap:12px;display:flex}.skill-card-head img{object-fit:contain;flex-shrink:0;width:40px;height:40px}.skill-desc{color:var(--muted);margin:0;font-size:15px;line-height:1.5}.skill-effect{background:var(--bg-alt);border:1px solid var(--border-alt);border-radius:var(--radius);margin:0;padding:10px 12px}.skill-effect strong{font-size:12.5px;font-family:var(--font-terminal), monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-soft);margin-bottom:4px;display:block}.skill-effect p{color:var(--text);margin:0;font-size:14.5px;line-height:1.55}.skill-requires,.skill-leads-to{color:var(--muted);margin:0;font-size:14.5px}.skill-requires strong,.skill-leads-to strong{color:var(--text);font-weight:600}.skill-requires a,.skill-leads-to a{color:var(--accent-soft)}.skill-requires a:hover,.skill-leads-to a:hover{text-decoration:underline}.skill-levels{margin-top:4px;overflow-x:auto}.skill-levels table{border-collapse:collapse;width:100%;font-size:13.5px}.skill-levels th,.skill-levels td{border:1px solid var(--border-alt);text-align:left;white-space:nowrap;padding:5px 8px}.skill-levels th{background:var(--bg-alt);font-family:var(--font-terminal), monospace;color:var(--muted);font-weight:600}.branch-picker{max-width:1100px;margin:28px auto 0;padding:0 20px}.branch-picker.job-row-wrap{gap:22px}.class-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:80;background:#0a0e1499;justify-content:center;align-items:flex-start;padding:8vh 20px 40px;animation:.15s class-modal-fade-in;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes class-modal-fade-in{0%{opacity:0}to{opacity:1}}.class-modal-box{width:100%;max-width:720px;animation:.18s class-modal-pop-in}.class-modal-box .branch-bar{padding:19px 56px;font-size:28px}.class-modal-box .class-modal-close{font-size:24px}.class-modal-box .branch-body{gap:15px;padding:27px 24px 30px}.class-modal-box .branch-arrow{font-size:28px}.class-modal-box .job-row{gap:18px}.class-modal-box .job-node{gap:10px;padding:21px 18px}.class-modal-box .job-node strong{font-size:24px}.class-modal-box .job-node-root strong{font-size:27px}.class-modal-box .job-rank{font-size:19px}.class-modal-box .job-en{font-size:18px}.class-modal-box .job-desc{font-size:20px;line-height:1.5}.class-modal-box .job-links{gap:15px;font-size:18.5px}@keyframes class-modal-pop-in{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.class-modal-close{color:#fff;cursor:pointer;opacity:.85;background:0 0;border:0;padding:4px;font-size:16px;line-height:1;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.class-modal-close:hover{opacity:1}.branch{background:var(--card-bg);border:var(--card-border-width) solid var(--border-alt);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.branch-bar{background:var(--accent);color:#fff;font-family:var(--font-display);letter-spacing:var(--title-tracking);-webkit-user-select:none;user-select:none;align-items:center;padding:13px 16px;font-size:19px;font-weight:700;list-style:none;display:flex;position:relative}.branch-bar-title{text-align:center;flex:1}.branch-bar::-webkit-details-marker{display:none}.branch-body{flex-direction:column;align-items:center;gap:10px;padding:18px 16px 20px;display:flex}.branch-arrow{color:var(--accent);font-size:19px;line-height:1}.job-row{justify-content:center;align-items:stretch;gap:12px;width:100%;display:flex}.job-row>*{flex:1 1 0;min-width:0}.job-row-wrap{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.job-node{border:1px solid var(--border-alt);border-radius:var(--radius-lg);background:var(--bg-alt);color:var(--text);text-align:center;font:inherit;cursor:pointer;flex-direction:column;align-items:center;gap:7px;width:100%;padding:14px 12px;display:flex}.job-node:hover{border-color:var(--accent)}.job-main{color:inherit;flex-direction:column;align-items:center;gap:7px;width:100%;display:flex}.job-links{font-size:12.5px;font-family:var(--font-terminal), monospace;gap:10px;margin-top:2px;display:flex}.job-links a{color:var(--muted)}.job-links a:hover{color:var(--accent);text-decoration:underline}.job-node-mini .job-main{gap:10px}.job-node-mini .job-links{gap:8px;font-size:11.5px}.job-node strong{font-size:16px;line-height:1.25}.job-node-root{background:var(--card-bg);width:100%}.job-node-root strong{font-size:18px}.job-node-mini{gap:12px;padding:34px 20px}.job-node-mini strong{font-size:22px}.job-node-mini .job-en{font-size:16.5px}.job-rank{font-family:var(--font-terminal), monospace;letter-spacing:.06em;color:var(--accent);text-transform:uppercase;font-size:12.5px;font-weight:700}.job-desc{color:var(--muted);font-size:13.5px;line-height:1.45}.job-sprite{object-fit:contain}.job-sprite-empty{border:1px solid var(--border-input);background:var(--card-bg);color:var(--accent);font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex}.branch-note{max-width:1100px;color:var(--muted);text-align:center;margin:24px auto 0;padding:0 20px 40px;font-size:14.5px}@media (max-width:780px){.branch-grid{grid-template-columns:1fr}.job-row{flex-direction:column}.job-row-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}}.job-en{font-family:var(--font-terminal), monospace;color:var(--muted);letter-spacing:.02em;font-size:12.5px}.class-cta{margin:0 0 22px}.class-cta a{border-radius:var(--radius);background:var(--accent);border:1px solid var(--accent-strong);color:var(--bg);padding:10px 16px;font-size:15.5px;font-weight:700;display:inline-block}.class-cta a:hover{filter:brightness(1.08)}.skill-meta{font-family:var(--font-terminal), monospace;color:var(--accent-soft)!important;margin:2px 0 0!important;font-size:13px!important}.skill-count{color:var(--muted);font-weight:400}.skill-en{color:var(--muted);font-size:13px;font-weight:400;font-family:var(--font-terminal), monospace}
