.classes-hero,.progression-section,.season-section{max-width:1400px;margin:0 auto;padding-inline:2rem}.classes-hero{min-height:min(100vh,920px);padding-top:9rem;padding-bottom:5rem;display:flex;flex-direction:column;justify-content:center;gap:2.5rem}.classes-hero .hero-logo{animation:heroFloat 6s ease-in-out infinite}@keyframes heroFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.02)}}.progression-section,.season-section,.future-section{padding-bottom:5rem}.section-header{max-width:860px;margin-bottom:2rem}.progression-card,.job-card{position:relative;background:#fffffff0;border:2px solid rgba(255,255,255,.45);border-radius:24px;box-shadow:var(--shadow-box);backdrop-filter:blur(10px);overflow:hidden}.progression-card:before,.job-card:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;border-radius:24px 24px 0 0;background:linear-gradient(90deg,var(--color-accent-green),var(--color-accent-yellow),var(--color-accent-orange))}.progression-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.progression-card{padding:1.9rem;position:relative}.progression-level{display:inline-block;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-green);margin-bottom:.8rem}.progression-title{font-family:Orbitron,sans-serif;font-size:1.4rem;margin-bottom:.8rem}.progression-summary{color:var(--color-text-secondary);margin-bottom:1rem}.progression-list{list-style:none;display:grid;gap:.65rem}.progression-list li{background:#4a90e214;border-radius:12px;padding:.7rem .9rem;font-weight:600;color:var(--color-text-secondary)}.progression-note{margin-top:1.25rem;padding:1rem 1.2rem;background:#ffffffeb;border-left:4px solid var(--color-accent-green);border-radius:14px;box-shadow:var(--shadow-box);font-weight:600;color:var(--color-text-secondary)}.job-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.job-card{--card-accent: var(--color-accent-green);--card-soft: rgba(0, 208, 132, .12);position:relative;padding:1.8rem;overflow:hidden;box-shadow:var(--shadow-soft)}.job-card:before{background:linear-gradient(90deg,var(--card-accent),rgba(255,255,255,.95))}.job-card-header{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:1rem}.job-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .7rem;border-radius:999px;background:var(--card-soft);color:var(--card-accent);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem}.job-title{font-family:Orbitron,sans-serif;font-size:1.6rem;line-height:1.1;margin-bottom:.35rem}.job-summary{color:var(--color-text-secondary);font-size:.98rem}.job-count{min-width:86px;text-align:center;padding:.8rem .75rem;border-radius:16px;background:var(--card-soft);color:var(--card-accent);font-weight:800;font-size:.9rem;line-height:1.25}.job-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.path-column{padding:1rem;border-radius:18px;background:linear-gradient(180deg,#ffffffeb,#e2f0ffdb);border:1px solid rgba(74,144,226,.18)}.path-label{display:block;color:var(--color-text-muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;margin-bottom:.35rem}.path-title{font-family:Orbitron,sans-serif;font-size:1rem;line-height:1.2;margin-bottom:.8rem;color:var(--color-text-primary)}.ex-list{list-style:none;display:grid;gap:.55rem}.ex-item{padding:.65rem .7rem;border-radius:12px;background:#4a90e214;color:var(--color-text-secondary);font-weight:700;line-height:1.25}.ex-item.placeholder{background:#7f8c8d1a;color:var(--color-text-muted);border:1px dashed rgba(127,140,141,.45)}.retired-name{text-decoration:line-through;opacity:.55;margin-right:.35rem}.class-explorer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;align-items:stretch}.coming-soon-panel{--coming-accent: #7B61FF;--coming-soft: rgba(123, 97, 255, .14);position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:1.5rem;padding:1.7rem;border-radius:32px;overflow:hidden;background:linear-gradient(155deg,#fffffff7,#ede7fff0);border:1px solid rgba(255,255,255,.72);box-shadow:var(--shadow-soft);isolation:isolate}.coming-soon-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(123,97,255,.18),transparent 34%),linear-gradient(135deg,rgba(255,255,255,.22),transparent 64%);pointer-events:none}.coming-soon-panel:after{content:"";position:absolute;right:-70px;top:-90px;width:250px;height:250px;border-radius:50%;background:var(--coming-soft);filter:blur(12px);opacity:.9}.coming-soon-copy,.coming-soon-visual{position:relative;z-index:1}.coming-soon-copy{display:grid;align-content:center;gap:1rem;padding:.35rem}.coming-soon-badge{display:inline-flex;justify-self:start;align-items:center;padding:.45rem .9rem;border-radius:999px;background:var(--coming-soft);color:var(--coming-accent);font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.coming-soon-title{font-family:Orbitron,sans-serif;font-size:clamp(2rem,3.6vw,3.1rem);line-height:1.02;max-width:13ch;color:var(--color-text-primary)}.coming-soon-description{max-width:58ch;color:var(--color-text-secondary);font-size:1.02rem}.coming-soon-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-top:.35rem}.coming-soon-stat{padding:1rem;border-radius:22px;background:#ffffffbd;border:1px solid rgba(123,97,255,.12);box-shadow:0 14px 30px #2b44741f}.coming-soon-stat-value{display:block;font-family:Orbitron,sans-serif;font-size:1.7rem;line-height:1;color:var(--coming-accent);margin-bottom:.35rem}.coming-soon-stat-label{color:var(--color-text-secondary);font-size:.86rem;font-weight:700;line-height:1.35}.coming-soon-note{color:var(--color-text-muted);font-size:.93rem;font-weight:600}.coming-soon-visual{min-height:370px;border-radius:28px;overflow:hidden;background:radial-gradient(circle at 50% 36%,rgba(255,255,255,.22),transparent 27%),linear-gradient(160deg,#2d3168,#5b3a9b 52%,#8d67ff);box-shadow:inset 0 0 0 1px #ffffff2e}.coming-soon-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:18px 18px;opacity:.24}.coming-soon-orbit{position:absolute;border:1px solid rgba(255,255,255,.24);border-radius:999px}.coming-soon-orbit-a{width:160px;height:160px;top:22px;right:26px}.coming-soon-orbit-b{width:220px;height:220px;left:20px;bottom:34px;opacity:.65}.coming-soon-orbit-c{width:300px;height:300px;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.4}.coming-soon-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-54%);width:min(72%,280px);aspect-ratio:1 / 1;border-radius:50%;display:grid;align-content:center;justify-items:center;gap:.4rem;padding:1.5rem;text-align:center;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.24),transparent 28%),linear-gradient(180deg,#ffffff2e,#ffffff0f);border:1px solid rgba(255,255,255,.3);box-shadow:0 0 0 18px #ffffff0f,0 24px 60px #16123d59;backdrop-filter:blur(10px)}.coming-soon-core:before{content:"";position:absolute;inset:14px;border-radius:50%;border:1px solid rgba(255,255,255,.18)}.coming-soon-core-kicker{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:#ffffffd6}.coming-soon-core-mark{font-family:Orbitron,sans-serif;font-size:clamp(3rem,8vw,4.6rem);line-height:1;font-weight:900;color:var(--color-white);text-shadow:0 10px 30px rgba(0,0,0,.35)}.coming-soon-core-note{font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffffc7}.coming-soon-tag-grid{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem}.coming-soon-tag{padding:.55rem .8rem;border-radius:999px;background:#0e122d57;border:1px solid rgba(255,255,255,.12);color:#ffffffeb;font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;backdrop-filter:blur(8px)}.class-card{--card-accent: var(--color-accent-green);--card-soft: rgba(0, 208, 132, .12);--portrait-start: #63c2ff;--portrait-end: #3258a8;--portrait-glow: rgba(99, 194, 255, .35);--class-preview-height: 33rem;--class-preview-width: 360px;background:#fffffff2;border:2px solid rgba(255,255,255,.5);border-radius:28px;box-shadow:var(--shadow-soft);overflow:hidden;position:relative}.class-card:not([open]){height:100%}.class-card[open]{grid-column:1 / -1;order:-1}.class-card:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--card-accent),rgba(255,255,255,.96));pointer-events:none}.class-card summary{list-style:none;cursor:pointer;display:block;width:100%;touch-action:manipulation}.class-card summary::-webkit-details-marker{display:none}.class-card-summary{padding:1rem;transition:transform .3s ease,background .3s ease}.class-card[open] .class-card-summary{display:none}.class-card:not([open]) .class-card-summary{min-height:var(--class-preview-height);height:100%;display:flex;padding:0}.class-card:hover .class-card-summary,.class-card[open] .class-card-summary{background:linear-gradient(180deg,#fffffffa,#ecf6fff0);transform:translateY(-2px)}.class-card-preview{width:100%;height:100%}.class-card:not([open]) .class-card-preview{min-height:100%}.class-thumb{position:relative;min-height:260px;border-radius:22px;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.22),transparent 45%),linear-gradient(135deg,var(--portrait-start),var(--portrait-end));overflow:hidden;box-shadow:inset 0 0 0 2px #ffffff29;transition:transform .35s ease,filter .35s ease}.class-thumb.has-image{background:linear-gradient(180deg,#0711230f,#07112361)}.class-card:not([open]) .class-thumb{min-height:100%;border-radius:0;box-shadow:none}.class-card:hover .class-thumb{transform:translateY(-4px) scale(1.015);filter:saturate(1.08)}.class-thumb.has-image:hover,.class-card:hover .class-thumb.has-image{filter:saturate(1.02)}.class-card:not([open]) .class-thumb:before{display:none}.class-thumb:before{content:"";position:absolute;inset:16px;border-radius:18px;border:2px solid rgba(255,255,255,.16)}.class-thumb:after{content:"";position:absolute;right:-14px;bottom:-24px;width:150px;height:150px;border-radius:36px;background:var(--portrait-glow);filter:blur(8px)}.class-thumb.has-image:after{display:none}.class-thumb-image{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;z-index:1;transform:scale(1.02)}.thumb-avatar{position:absolute;left:50%;bottom:1.1rem;width:112px;height:126px;transform:translate(-50%);border-radius:28px;background:linear-gradient(180deg,#ffffff26,#08122747);border:2px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:2;transition:transform .35s ease}.class-card:hover .thumb-avatar{transform:translate(-50%) scale(1.04)}.thumb-avatar.has-image:before,.thumb-avatar.has-image:after{display:none}.class-card:not([open]) .thumb-avatar{bottom:5.25rem;width:166px;height:198px;border-radius:36px}.class-card:not([open]) .thumb-avatar:before{top:18px;width:62px;height:62px;border-radius:20px}.class-card:not([open]) .thumb-avatar:after{bottom:22px;width:110px;height:92px;border-radius:24px 24px 14px 14px}.thumb-avatar:before{content:"";position:absolute;top:14px;left:50%;width:44px;height:44px;transform:translate(-50%);border-radius:14px;background:#ffffff2e}.thumb-avatar:after{content:"";position:absolute;bottom:16px;left:50%;width:72px;height:58px;transform:translate(-50%);border-radius:18px 18px 12px 12px;background:#ffffff29}.thumb-mark{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:18px;background:#fffffff0;color:var(--portrait-end);font-family:Orbitron,sans-serif;font-size:1.15rem;font-weight:900;letter-spacing:.08em;box-shadow:0 10px 22px #00000029}.class-card:not([open]) .thumb-mark{width:76px;height:76px;border-radius:24px;font-size:1.55rem}.thumb-title-wrap{position:absolute;inset:auto 0 0;z-index:3;padding:5.6rem 1.35rem 1.35rem;background:linear-gradient(180deg,#06112300,#0611233d 32%,#061123e6)}.thumb-title{margin:0;color:var(--color-white);font-family:Orbitron,sans-serif;font-size:clamp(2rem,5vw,2.55rem);line-height:.98;text-shadow:0 8px 24px rgba(0,0,0,.48)}.branch-preview{display:flex;flex-wrap:wrap;gap:.55rem}.branch-pill{padding:.5rem .72rem;border-radius:999px;background:var(--card-soft);color:var(--card-accent);font-size:.8rem;font-weight:800;letter-spacing:.04em}.class-card-details{display:grid;grid-template-columns:minmax(280px,var(--class-preview-width)) minmax(0,1fr);gap:1.5rem;padding:1.25rem 1.5rem 1.5rem;align-items:stretch}.class-card-close{justify-self:stretch;grid-column:1 / -1;width:100%;display:flex;align-items:center;justify-content:center;min-height:3.25rem;padding:.75rem 1rem;border:1px solid rgba(74,144,226,.18);border-radius:18px;background:#fffffff5;color:var(--color-text-secondary);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,color .2s ease}.class-card-close:hover{transform:translateY(-1px);box-shadow:0 12px 24px #4a90e224;color:var(--color-text-primary)}.class-card-close-arrow{display:inline-block;width:14px;height:14px;border-left:3px solid currentColor;border-top:3px solid currentColor;transform:rotate(45deg);margin-top:4px}.class-visual-panel,.class-description-panel,.class-tree-panel{border-radius:24px;background:linear-gradient(180deg,#fffffffa,#eaf4ffe6);border:1px solid rgba(74,144,226,.18);padding:1.35rem;align-self:start}.class-visual-panel{display:grid;align-content:start;gap:1rem;width:100%;max-width:var(--class-preview-width);justify-self:start;align-self:stretch;grid-column:1;grid-row:2 / span 2}.class-description-panel{display:grid;gap:1rem;grid-column:2;grid-row:2}.class-description-section{display:grid;gap:.85rem;padding:1rem 1.05rem;border-radius:24px;background:#ffffffbd;border:1px solid rgba(74,144,226,.14);box-shadow:inset 0 1px #fff6}.class-description-header{display:grid;gap:.45rem}.class-description-eyebrow{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:.38rem .72rem;border-radius:999px;background:var(--card-soft);color:var(--card-accent);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.class-description-lead{margin:0;color:var(--color-text-secondary);font-size:1rem;line-height:1.72}.class-description-note{color:var(--color-text-secondary);font-size:.94rem;line-height:1.6}.class-description-copy{display:grid;gap:.85rem;color:var(--color-text-secondary)}.class-description-copy p{margin:0;line-height:1.72}.class-description-matrix{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem}.class-description-group{display:grid;gap:.55rem;padding:.85rem;border-radius:18px;background:#ffffffb8;border:1px solid rgba(74,144,226,.12)}.class-description-group-label{font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--card-accent)}.class-description-pill-row{display:flex;flex-wrap:wrap;gap:.55rem}.class-description-pill{padding:.48rem .72rem;border-radius:999px;background:#ffffffeb;border:1px solid rgba(74,144,226,.16);color:var(--color-text-primary);font-size:.82rem;font-weight:700;letter-spacing:.02em}.class-visual-panel[data-node-tier-key=subclass] .portrait-stage{background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.26),transparent 40%),linear-gradient(180deg,#ffffff14,#0c1a3638),linear-gradient(160deg,var(--portrait-start),var(--portrait-end))}.class-visual-panel[data-node-tier-key=ex] .portrait-stage{background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.22),transparent 40%),linear-gradient(180deg,#0a142805,#0a14285c),linear-gradient(160deg,var(--portrait-start),var(--portrait-end))}.class-visual-panel[data-node-tier-key=ex] .portrait-avatar{width:198px;height:236px}.class-visual-panel[data-node-placeholder=true] .portrait-avatar{border-style:dashed;opacity:.9}.class-visual-panel[data-node-placeholder=true] .portrait-mark{background:#ffffffdb;color:var(--color-text-muted)}.portrait-stage{position:relative;min-height:var(--class-preview-height);border-radius:24px;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.24),transparent 40%),linear-gradient(160deg,var(--portrait-start),var(--portrait-end));overflow:hidden;box-shadow:inset 0 0 0 2px #ffffff24}.portrait-stage:before{content:"";position:absolute;inset:18px;border:2px solid rgba(255,255,255,.16);border-radius:22px}.portrait-stage:after{content:"";position:absolute;right:-18px;bottom:-26px;width:170px;height:170px;border-radius:42px;background:var(--portrait-glow);filter:blur(12px)}.portrait-stage[data-has-image=true]{background:linear-gradient(180deg,#0a14281a,#0a14286b)}.portrait-stage[data-has-image=true]:after{display:none}.portrait-eyebrow{position:absolute;left:1rem;top:1rem;z-index:2;padding:.35rem .65rem;border-radius:999px;background:#ffffff2e;color:#fffffff2;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.portrait-season-chip{position:absolute;right:1rem;top:1rem;z-index:2;padding:.35rem .65rem;border-radius:999px;background:#ffffff2e;color:#fffffff2;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.portrait-stage-image{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;z-index:1;transform:scale(1.01)}.portrait-avatar{position:absolute;left:50%;bottom:1.35rem;width:184px;height:228px;transform:translate(-50%);border-radius:38px;background:linear-gradient(180deg,#ffffff29,#0a162c4d);border:2px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:2}.portrait-stage[data-has-image=true] .portrait-avatar{display:none}.portrait-avatar:before{content:"";position:absolute;top:22px;left:50%;width:74px;height:74px;transform:translate(-50%);border-radius:22px;background:#ffffff2e}.portrait-avatar:after{content:"";position:absolute;bottom:26px;left:50%;width:120px;height:112px;transform:translate(-50%);border-radius:28px 28px 16px 16px;background:#ffffff29}.portrait-avatar[data-has-image=true]:before,.portrait-avatar[data-has-image=true]:after{display:none}.portrait-image{position:relative;z-index:2;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;padding:.85rem;filter:drop-shadow(0 24px 30px rgba(0,0,0,.3))}.portrait-mark{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:92px;height:92px;border-radius:28px;background:#fffffff2;color:var(--portrait-end);font-family:Orbitron,sans-serif;font-size:2rem;font-weight:900;letter-spacing:.08em;box-shadow:0 18px 32px #0000002e}.portrait-stage-copy{position:absolute;inset:auto 0 0;z-index:3;padding:8.5rem 1.35rem 1.35rem;background:linear-gradient(180deg,#06112300,#06112333 34%,#061123eb)}.portrait-stage-level{display:inline-flex;color:#ffffffd1;font-size:.74rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.portrait-stage-name{margin:.35rem 0 0;color:var(--color-white);font-family:Orbitron,sans-serif;font-size:clamp(1.85rem,4vw,2.65rem);line-height:.98;text-shadow:0 10px 26px rgba(0,0,0,.45)}.portrait-stage-name[data-compact-name=true]{font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.04;letter-spacing:-.02em}.portrait-meta{display:grid;gap:.7rem}.portrait-meta .job-badge{margin-bottom:0}.portrait-class-name{font-family:Orbitron,sans-serif;font-size:1.65rem;line-height:1.05;margin:0}.portrait-class-name[data-compact-name=true]{font-size:1.42rem;line-height:1.08;letter-spacing:-.02em}.portrait-summary{color:var(--color-text-secondary);font-weight:600;margin:0}.portrait-role{color:var(--card-accent);font-size:.82rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin:0}.portrait-copy{color:var(--color-text-secondary);margin:0}.portrait-stats{display:flex;flex-wrap:wrap;gap:.6rem}.showcase-radar{display:grid;gap:1rem;padding:1rem;border-radius:24px;background:#ffffffc2;border:1px solid rgba(74,144,226,.14);box-shadow:inset 0 1px #fff6}.showcase-radar-chart{width:100%;height:auto;overflow:visible}.showcase-radar-grid{fill:#ffffff5c;stroke:#4a90e229;stroke-width:1}.showcase-radar-grid.is-outer{fill:#cbe4ff29;stroke:#4a90e238}.showcase-radar-axis{stroke:#4a90e22e;stroke-width:1}.showcase-radar-area{fill:color-mix(in srgb,var(--card-accent) 22%,transparent);stroke:color-mix(in srgb,var(--card-accent) 72%,white 12%);stroke-width:2.5}.showcase-radar-point{fill:var(--card-accent);stroke:#ffffffe6;stroke-width:2}.showcase-radar-axis-label{fill:var(--color-text-secondary);font-size:12px;font-weight:700;letter-spacing:.02em}.portrait-stat{padding:.55rem .75rem;border-radius:12px;background:var(--card-soft);color:var(--card-accent);font-size:.82rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.class-tree-panel{--tree-connector-gap: 1.25rem;--tree-root-gap: 1rem;--tree-branch-gap: .85rem;--tree-ex-connector-gap: .95rem;--tree-line-size: 2px;--tree-branches-gap-x: 1rem;--tree-ex-gap-x: .75rem;display:grid;gap:1rem;grid-column:2;grid-row:3;align-self:stretch}.tree-header h4{font-family:Orbitron,sans-serif;font-size:1.2rem;margin-bottom:.35rem}.tree-header p{color:var(--color-text-secondary)}.tree-root-wrap{display:flex;justify-content:center;position:relative}.tree-node{position:relative;overflow:visible;padding:.85rem .95rem;border-radius:18px;background:#fffffffa;border:1px solid rgba(74,144,226,.18);box-shadow:0 12px 24px #2a518e1f}.tree-node strong{display:block;font-family:Orbitron,sans-serif;font-size:.98rem;line-height:1.2;margin:.2rem 0}.tree-node[data-compact-name=true] strong{font-size:.88rem;line-height:1.15;letter-spacing:-.02em}.tree-node small{color:var(--color-text-muted);font-weight:700}.tree-tier{display:inline-block;color:var(--card-accent);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tree-root{min-width:220px;text-align:center;background:linear-gradient(180deg,#fffffffc,#e1f5edf0)}.tree-root:after{content:"";position:absolute;left:50%;top:100%;width:var(--tree-line-size);height:calc(var(--tree-root-gap) + (var(--tree-connector-gap) / 2) + var(--tree-line-size));background:#4a90e23d;transform:translate(-50%)}.tree-branches{position:relative;overflow:visible;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--tree-branches-gap-x);padding-top:var(--tree-connector-gap)}.tree-branches:before{content:"";position:absolute;left:calc(16.6667% - (var(--tree-branches-gap-x) / 3));right:calc(16.6667% - (var(--tree-branches-gap-x) / 3));top:calc((var(--tree-connector-gap) - var(--tree-line-size)) / 2);height:var(--tree-line-size);background:#4a90e23d}.tree-branch{position:relative;display:grid;gap:.85rem;align-content:start}.tree-branch:before{content:"";position:absolute;left:50%;top:calc(var(--tree-connector-gap) / -2);width:var(--tree-line-size);height:calc((var(--tree-connector-gap) / 2) + var(--tree-line-size));background:#4a90e23d;transform:translate(-50%)}.tree-node-action{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;text-align:left;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease}.tree-node-action:hover,.tree-node-action.is-active{border-color:#4a90e257;box-shadow:0 16px 30px #2a518e29,0 0 0 4px #4a90e214;background:linear-gradient(180deg,#fff,#e4f1fffa)}.tree-root.tree-node-action{text-align:center}.tree-subclass{background:linear-gradient(180deg,#fffffffc,#ecf4fff0)}.tree-subclass:after{content:"";position:absolute;left:50%;top:100%;width:var(--tree-line-size);height:calc(var(--tree-branch-gap) + (var(--tree-ex-connector-gap) / 2) + var(--tree-line-size));background:#4a90e233;transform:translate(-50%)}.tree-node-action:focus-visible{outline:3px solid rgba(74,144,226,.24);outline-offset:2px}.tree-node-hint{margin-top:.7rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.tree-root .tree-node-hint{justify-content:center}.tree-node-hint-label{color:var(--card-accent);font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.tree-node-chevron{position:relative;width:1.85rem;height:1.85rem;border-radius:999px;flex:0 0 auto;background:var(--card-soft);box-shadow:inset 0 0 0 1px #4a90e21f}.tree-node-chevron:before{content:"";position:absolute;left:50%;top:50%;width:.46rem;height:.46rem;border-right:2px solid var(--card-accent);border-bottom:2px solid var(--card-accent);transform:translate(-50%,-62%) rotate(45deg);transition:transform .25s ease}.tree-node-action:hover .tree-node-chevron:before,.tree-node-action.is-active .tree-node-chevron:before{transform:translate(-50%,-30%) rotate(225deg)}.tree-ex-grid{position:relative;overflow:visible;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tree-ex-gap-x);padding-top:var(--tree-ex-connector-gap)}.tree-ex-grid:before{content:"";position:absolute;left:calc(25% - (var(--tree-ex-gap-x) / 4));right:calc(25% - (var(--tree-ex-gap-x) / 4));top:calc((var(--tree-ex-connector-gap) - var(--tree-line-size)) / 2);height:var(--tree-line-size);background:#4a90e233}.tree-ex{min-height:100%}.tree-ex:before{content:"";position:absolute;left:50%;top:calc(var(--tree-ex-connector-gap) / -2);width:var(--tree-line-size);height:calc((var(--tree-ex-connector-gap) / 2) + var(--tree-line-size));background:#4a90e233;transform:translate(-50%)}.tree-ex.placeholder{background:#f7f9fbf5;border-style:dashed;color:var(--color-text-muted)}@media (max-width: 1024px){.class-card-details,.job-path-grid,.coming-soon-panel{grid-template-columns:1fr}.class-visual-panel,.class-description-panel,.class-tree-panel{grid-column:auto;grid-row:auto}.class-visual-panel{max-width:none}.tree-branches{grid-template-columns:1fr}.tree-branches:before{display:none}.tree-branch:before,.tree-root:after,.tree-subclass:after{display:none}}@media (max-width: 768px){.classes-hero,.progression-section,.season-section{padding-inline:1.25rem}.classes-hero{padding-top:7.5rem}.progression-grid,.job-grid,.class-explorer-grid{grid-template-columns:1fr;gap:1rem}.cta-group{flex-direction:column;align-items:stretch}.cta-btn{text-align:center}.class-card-summary,.class-card-details{padding-left:1rem;padding-right:1rem}.job-card,.progression-card{padding:1.2rem}.class-card{--class-preview-height: 28rem}.class-card:not([open]){height:auto}.class-card:not([open]) .class-card-summary{min-height:auto;height:auto;padding-left:0;padding-right:0}.class-card-preview,.class-card:not([open]) .class-card-preview{height:auto;min-height:0}.class-thumb{min-height:210px}.class-card:not([open]) .class-card-summary{display:block}.class-card:not([open]) .class-thumb{min-height:210px}.class-card:not([open]) .thumb-avatar{bottom:3.9rem;width:136px;height:164px;border-radius:30px}.class-card:not([open]) .thumb-avatar:before{top:16px;width:52px;height:52px;border-radius:18px}.class-card:not([open]) .thumb-avatar:after{bottom:18px;width:94px;height:76px;border-radius:22px 22px 14px 14px}.class-card:not([open]) .thumb-mark{width:64px;height:64px;border-radius:20px;font-size:1.35rem}.class-card:not([open]) .thumb-title-wrap{padding:4.8rem 1rem 1rem}.coming-soon-panel{padding:1.15rem}.coming-soon-title{max-width:none;font-size:clamp(1.8rem,8vw,2.5rem)}.coming-soon-stats{grid-template-columns:1fr}.coming-soon-visual{min-height:320px}.coming-soon-core{width:min(78%,240px)}.thumb-title{font-size:1.75rem}.class-visual-panel,.class-description-panel,.class-tree-panel{padding:1rem;border-radius:20px}.class-description-section,.path-column{padding:.9rem}.class-description-matrix{grid-template-columns:1fr}.portrait-stage{min-height:360px}.portrait-avatar{width:150px;height:190px;bottom:1rem;border-radius:32px}.portrait-stage-name{font-size:1.75rem}.portrait-stage-copy{padding:6.75rem 1rem 1rem}.portrait-class-name{font-size:1.45rem}.portrait-stats{gap:.45rem}.portrait-stat{padding:.5rem .65rem;font-size:.76rem}.showcase-radar{padding:.85rem}.showcase-radar-chart{max-width:240px;margin-inline:auto}.showcase-radar-axis-label{font-size:11px}.tree-root{min-width:0;width:100%}.tree-header h4{font-size:1.05rem}.tree-node{padding:.8rem}.tree-node strong{font-size:.92rem}.tree-node-hint{gap:.55rem}.tree-node-chevron{width:1.65rem;height:1.65rem}.tree-ex-grid{grid-template-columns:1fr}.tree-ex-grid:before,.tree-root:after,.tree-subclass:after,.tree-ex:before{display:none}.job-card-header{flex-direction:column}.job-count{min-width:0;width:100%}}@media (max-width: 480px){.classes-hero,.progression-section,.season-section{padding-inline:.9rem}.classes-hero{padding-top:7rem}.class-card-summary,.class-card-details{padding-left:.8rem;padding-right:.8rem}.job-card,.progression-card,.coming-soon-panel{padding:1rem}.class-card{--class-preview-height: 24rem}.class-visual-panel,.class-description-panel,.class-tree-panel{padding:.9rem;border-radius:18px}.class-description-section{padding:.8rem;border-radius:18px}.portrait-stage{min-height:320px}.class-card:not([open]) .class-thumb{min-height:190px}.class-card:not([open]) .thumb-avatar{bottom:3.25rem;width:116px;height:140px;border-radius:26px}.class-card:not([open]) .thumb-avatar:before{width:44px;height:44px;border-radius:16px}.class-card:not([open]) .thumb-avatar:after{width:78px;height:62px}.class-card:not([open]) .thumb-mark{width:56px;height:56px;font-size:1.2rem}.class-card:not([open]) .thumb-title-wrap{padding:4.1rem .9rem .9rem}.portrait-avatar{width:126px;height:160px;border-radius:26px}.portrait-mark{width:78px;height:78px;border-radius:22px;font-size:1.7rem}.portrait-stage-copy{padding:5.6rem .9rem .9rem}.portrait-stage-name{font-size:1.45rem}.portrait-class-name{font-size:1.25rem}.portrait-summary,.portrait-copy,.class-description-lead,.class-description-copy p,.tree-header p{font-size:.95rem}.showcase-radar{padding:.75rem}.showcase-radar-chart{max-width:220px}.showcase-radar-axis-label{font-size:10px}.tree-node-hint{align-items:start}.tree-node-hint-label{font-size:.68rem}}
