.fol-links,#catalog{--race-color:var(--accent)}.fol-glyph{display:block;flex:none;width:20px;height:20px;fill:currentColor}.fol-links-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--sp-grid)}@supports (grid-template-rows: subgrid){.fol-links-grid>.fol-link-card{display:grid;grid-row:span 3;grid-template-rows:subgrid;grid-template-columns:minmax(0,1fr);row-gap:0}}.fol-link-card{--card-edge:var(--race-color)}.fol-link-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.fol-link-title{min-width:0}.fol-link-title .race-kicker{margin-bottom:6px}.fol-link-title .race-kicker a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line);transition:color var(--dur-hover), border-color var(--dur-hover)}.fol-link-title .race-kicker a:hover{color:var(--accent);border-bottom-color:var(--accent)}.fol-link-special .race-kicker a{border-bottom:0}.fol-link-special .race-kicker a:focus-visible{color:var(--accent)}.fol-link-head h3{font-family:var(--heading);font-size:var(--fs-item);font-weight:400;line-height:var(--lh-tight);margin:0;color:var(--ink)}.fol-link-icon{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:radial-gradient(circle at 50% 30%, var(--wash-lg), transparent 70%), var(--surface-sunken);box-shadow:inset 0 0 0 3px var(--shade-sm);color:var(--race-color)}.fol-link-icon svg{width:22px;height:22px;display:block}.fol-link-face.race-face{width:44px;height:44px}.fol-link-face.race-face svg{width:29px;height:29px}.fol-link-lead{margin:0 0 10px;font-size:var(--fs-text);line-height:var(--lh-text);font-weight:600;color:var(--ink)}.fol-perk-body .feature-list + .fol-link-lead{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-accent)}.fol-bonuses{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}.fol-bonuses .feature{align-items:center}.fol-bonuses .feature-badge{min-width:58px}.fol-special-lines{list-style:none;margin:0;padding:0;display:grid;gap:6px}.fol-special-lines li{position:relative;padding-left:16px;font-size:var(--fs-text);line-height:var(--lh-text);color:var(--ink-dim)}.fol-special-lines li::before{content:'▸';position:absolute;left:0;top:0;font-size:var(--fs-cap);line-height:calc(var(--fs-text) * var(--lh-text));color:var(--race-color)}.fol-special-lines li.is-first{padding-left:0;font-weight:600;color:var(--ink)}.fol-special-lines li.is-first::before{content:none}.fol-nowrap{white-space:nowrap}.fol-link-more{display:inline-block;margin-top:16px;font-size:var(--fs-ui);color:var(--accent);text-decoration:none}.fol-link-more:hover{text-decoration:underline;text-underline-offset:4px}.fol-filters{display:grid;gap:10px;padding-top:18px}.fol-filters:not(:has(>.fol-filter-row:not([hidden]))){display:none}.fol-filter-row{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:start;gap:10px}.fol-filter-row .race-filters{padding-top:0}.fol-filter-label{padding-top:10px;font-size:var(--fs-label);font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-muted)}.fol-filters .race-filters :is(button,a) em,.fol-lv-controls .race-filters button em{font-style:normal;margin-left:8px;font-size:var(--fs-chip);color:var(--ink-muted)}.fol-filters .race-filters :is(button[aria-pressed=true],a[aria-current=true]) em{color:var(--accent)}.fol-cap-glyph{width:15px;height:15px;margin-right:8px;color:var(--ink-muted);transition:color var(--dur-hover)}.race-filters :is(button,a):hover .fol-cap-glyph,.race-filters :is(button[aria-pressed=true],a[aria-current=true]) .fol-cap-glyph{color:var(--accent)}.race-filters a[style*="--race-color"] .fol-cap-glyph,.race-filters a[style*="--race-color"]:hover .fol-cap-glyph,.race-filters a[style*="--race-color"][aria-current="true"] .fol-cap-glyph{color:var(--race-color)}.fol-cap-school{align-self:center;margin:0 1px 0 8px;font-size:var(--fs-mark);font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--race-color)}:root[data-theme="light"] .fol-cap-school{color:color-mix(in srgb, var(--race-color) 80%, var(--ink))}.fol-plates{display:flex;flex-wrap:wrap;gap:4px}.fol-plate{display:inline-block;font-size:var(--fs-chip);line-height:var(--lh-ui);padding:1px 8px;border-radius:5px;border:1px solid var(--line);background:var(--wash-md);color:var(--ink-dim);white-space:nowrap;text-decoration:none}.fol-plate[data-tint]{color:var(--element);border-color:color-mix(in srgb, var(--element) 38%, transparent);background:color-mix(in srgb, var(--element) 11%, transparent)}.fol-plate[data-tint="fire"]{--element:var(--element-fire)}.fol-plate[data-tint="frost"]{--element:var(--element-frost)}.fol-plate[data-tint="shock"]{--element:var(--element-shock)}:root[data-theme="light"] .fol-plate[data-tint="fire"]{--element:color-mix(in srgb, var(--element-fire) 80%, var(--ink))}:root[data-theme="light"] .fol-plate[data-tint="frost"]{--element:color-mix(in srgb, var(--element-frost) 80%, var(--ink))}:root[data-theme="light"] .fol-plate[data-tint="shock"]{--element:color-mix(in srgb, var(--element-shock) 80%, var(--ink))}a.fol-plate{cursor:pointer;transition:border-color var(--dur-hover), background var(--dur-hover)}a.fol-plate:hover{border-color:var(--element, var(--accent));background:color-mix(in srgb, var(--element, var(--accent)) 20%, transparent)}a.fol-plate.is-pending{border-style:dashed}.fol-scale{position:relative;display:block;height:8px;border-radius:999px;background:var(--surface-sunken);border:1px solid var(--line-soft);overflow:hidden}.fol-scale-range{position:absolute;top:0;bottom:0;background:var(--race-color, var(--accent));border-radius:999px}.fol-group-head .fol-head-glyph{width:20px;height:20px;color:var(--race-color, var(--accent));margin-right:2px}.fol-level{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px}.fol-level-nums{display:flex;align-items:center;font-family:var(--heading);font-size:var(--fs-stat);line-height:1;color:var(--ink);white-space:nowrap}.fol-level-nums b{font-weight:400}.fol-level-nums i{display:block;width:12px;height:2px;margin:0 8px;background:var(--ink-muted)}.fol-level-scale{min-width:0;padding-top:2px}.fol-scale-ticks{position:relative;height:16px;margin-top:6px}.fol-scale-ticks span{position:absolute;top:0;transform:translateX(-50%);font-family:var(--heading);font-size:var(--fs-num-sm);line-height:16px;color:var(--ink-muted)}.fol-scale-ticks span:first-child{transform:none}.fol-scale-ticks span:last-child{transform:translateX(-100%)}.fol-skills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.fol-skill{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 8px;max-width:100%;min-height:34px;padding:6px 12px 6px 10px;background:color-mix(in srgb, var(--race-color) 10%, var(--node-bg));border:1px solid color-mix(in srgb, var(--race-color) 55%, transparent);border-radius:18px;font-size:var(--fs-text);line-height:var(--lh-ui)}.fol-skill-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--race-color)}.fol-skill-name{color:var(--race-color);font-weight:600;text-decoration:none;transition:color var(--dur-hover)}:root[data-theme="light"] .fol-skill-name{color:color-mix(in srgb, var(--race-color) 78%, var(--ink))}a.fol-skill-name:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--accent-deep)}.fol-table{border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:var(--fs-text)}.fol-table th,.fol-table td{padding:10px 12px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:var(--surface-card);color:var(--ink-dim);vertical-align:middle;text-align:left}.fol-table tbody tr:nth-child(even) td{background:var(--surface-card-flat)}.fol-table tbody tr:nth-child(even) th{background:var(--surface-strip-alt)}.fol-table tbody tr:not(.grp):hover td,.fol-table tbody tr:not(.grp):hover th{background:var(--surface-raised)}.fol-table tbody th.fol-tname-cell{height:1px;padding:0}.fol-table .fol-tname-cell .build-cellbtns{min-height:56px}.fol-table .fol-tname-cell .build-cellbtn{justify-content:flex-start;padding:8px 10px}.fol-table .fol-tname-cell .build-pill{min-width:0}.fol-table .fol-tname-cell .build-pill>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fol-table .fol-tname-cell .fol-glyph{width:16px;height:16px}.fol-table tbody th{position:sticky;left:0;z-index:2;background:var(--surface-strip);border-right:1px solid var(--line-accent);font-weight:400}.fol-tname-text{min-width:0}.fol-tname-text b{display:block;font-family:var(--heading);font-size:var(--fs-name-os);font-weight:500;letter-spacing:.3px;line-height:var(--lh-snug);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fol-tname-text span{display:block;font-size:var(--fs-chip);color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fol-tname-text b a{color:inherit;text-decoration:none;transition:color var(--dur-hover)}.fol-tname-text b a:hover{color:var(--accent)}.fol-tname-text b a:focus-visible{outline-offset:-2px}.fol-tname-text span a{color:inherit;text-decoration:none;transition:color var(--dur-hover)}.fol-tname-text span a:is(:hover,:focus-visible){color:var(--accent)}.fol-tname-text span a:focus-visible{outline-offset:-2px}.fol-tlevel-num{display:block;font-family:var(--heading);font-size:var(--fs-plate);letter-spacing:.3px;line-height:var(--lh-tight);color:var(--ink)}.fol-scale.is-mini{height:6px;margin-top:8px}.fol-cell-in{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}.fol-mark{flex:none;display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--race-color);box-shadow:none}.fol-mark.is-off{width:5px;height:5px;margin-left:4px;background:var(--line);box-shadow:none}.fol-cell .fol-plates{gap:4px}.fol-cell .fol-plate{white-space:normal;padding-inline:6px}.fol-table thead th,.fol-table thead td{background:var(--surface-sunken);font-size:var(--fs-cap);font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-muted);padding:8px 12px;vertical-align:bottom;border-bottom:1px solid var(--line-accent)}.fol-table thead tr.cols th{white-space:nowrap}.fol-table thead tr.cols .corner,.fol-table thead tr.cols .fol-th-level{border-bottom:3px solid var(--accent)}.fol-table thead th.fol-th-skill{white-space:normal;font-weight:600;letter-spacing:0;text-transform:none;border-bottom:1px solid color-mix(in srgb, var(--race-color) 45%, var(--line-accent))}.fol-table thead .corner{position:sticky;left:0;z-index:4;background:var(--surface-strip);border-right:1px solid var(--line-accent)}.fol-table .sort-btn{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;padding:2px 0;line-height:var(--lh-snug);transition:color var(--dur-hover)}.fol-table .sort-btn::after{content:'';flex:none;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:0;transition:opacity var(--dur-hover), transform var(--dur-hover)}.fol-table .sort-btn:hover{color:var(--accent)}.fol-table .sort-btn:hover::after{opacity:.5}.fol-table th[aria-sort] .sort-btn{color:var(--accent)}.fol-table th[aria-sort] .sort-btn::after{opacity:1}.fol-table th[aria-sort=ascending] .sort-btn::after{transform:rotate(180deg)}.fol-table tr.grp th{background:var(--surface-strip);border-right:0;padding:0}.fol-table tr.grp .grp-in{position:sticky;left:0;display:inline-flex;align-items:center;gap:10px;padding:12px 14px 10px;font-family:var(--heading);font-size:var(--fs-group-side);font-weight:400;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink)}.fol-table tr.grp .grp-in{color:var(--race-color, var(--ink))}:root[data-theme="light"] .fol-table tr.grp .grp-in{color:color-mix(in srgb, var(--race-color, var(--ink)) 78%, var(--ink))}.fol-table tr.grp th{box-shadow:inset 2px 0 var(--race-color, transparent);background:color-mix(in srgb, var(--race-color, transparent) 8%, var(--surface-strip))}.fol-table tr.grp .grp-in .fol-glyph{width:18px;height:18px;color:var(--race-color, var(--accent))}.fol-table tr.grp .grp-in b{padding:0 8px;border:1px solid color-mix(in srgb, var(--race-color, var(--line)) 40%, transparent);border-radius:4px;font-family:var(--text);font-size:var(--fs-hint);letter-spacing:0;color:var(--ink-dim)}.fol-lv-controls{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 32px}.fol-lv-control{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:8px}.fol-lv-control .race-filters{padding-top:0}.fol-lv-marks button{min-width:44px;justify-content:center;padding-inline:12px;font-family:var(--heading);font-size:var(--fs-plate);letter-spacing:.3px}.fol-lv-marks button[data-mark=""]{font-family:var(--text);font-size:var(--fs-hint);letter-spacing:0}.fol-lv-sumrow{align-items:center;justify-content:space-between;gap:8px 16px;margin:12px 0 10px}.fol-lv-summary{flex:1 1 260px;margin:0;font-size:var(--fs-hint);line-height:var(--lh-loose);color:var(--ink-muted)}.fol-lv-summary b{color:var(--ink);font-weight:600}.fol-levels.spr-pack{padding:16px 20px 8px}.fol-lv{--name-w:200px;position:relative}.fol-lv-groups,.fol-lv-rows{list-style:none;margin:0;padding:0}.fol-lv-group + .fol-lv-group{margin-top:22px}.fol-lv-group>.fol-group-head{margin:14px 0 6px}.fol-lv-row,.fol-lv-axis{display:grid;grid-template-columns:var(--name-w) minmax(0, 1fr);align-items:center;gap:0 20px;padding-left:10px}.fol-lv-row{min-height:50px;padding-top:4px;border-bottom:1px solid var(--line-soft);transition:background var(--dur-hover)}.fol-lv-row:hover{background:var(--wash-xs)}.fol-lv-row.is-picked{background:color-mix(in srgb, var(--race-color, var(--accent)) 12%, transparent);box-shadow:inset 3px 0 var(--race-color, var(--accent))}.fol-lv-row.is-picked .fol-tname-text b a{color:color-mix(in srgb, var(--race-color, var(--accent)) 80%, var(--ink))}:root[data-theme="light"] .fol-lv-row.is-picked .fol-tname-text b a{color:color-mix(in srgb, var(--race-color, var(--accent)) 78%, var(--ink))}.fol-lv-rows .fol-lv-row:last-child{border-bottom:0}.fol-lv-name{display:flex;align-items:center;gap:10px;min-width:0}.fol-lv-name .fol-glyph{width:22px;height:22px;color:var(--race-color, var(--accent))}.fol-lv-track{position:relative;align-self:stretch;min-height:50px;cursor:pointer;background-image:linear-gradient(to right, var(--line-soft) 1px, transparent 1px);background-size:calc(100% / 10) 100%;box-shadow:inset -1px 0 0 var(--line-soft)}.fol-lv-bar{position:absolute;top:50%;height:24px;transform:translateY(-50%);display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-radius:999px;border:1px solid color-mix(in srgb, var(--race-color, var(--accent)) 60%, transparent);background:color-mix(in srgb, var(--race-color, var(--accent)) 24%, transparent);font-family:var(--heading);font-size:var(--fs-num-sm);letter-spacing:.3px;color:var(--ink);transition:background var(--dur-hover), border-color var(--dur-hover), color var(--dur-hover)}.fol-lv-bar b{font-weight:400}.fol-lv-row:hover .fol-lv-bar{border-color:var(--race-color, var(--accent))}.fol-lv.has-mark .fol-lv-track::after{content:'';position:absolute;top:0;bottom:-1px;left:var(--mark);width:2px;margin-left:-1px;background:var(--accent);pointer-events:none}.fol-lv-row.is-in .fol-lv-bar{border-color:var(--race-color, var(--accent));background:color-mix(in srgb, var(--race-color, var(--accent)) 46%, transparent);box-shadow:none}.fol-lv-row.is-above .fol-lv-bar,.fol-lv-row.is-below .fol-lv-bar{background:transparent;border-color:var(--line);color:var(--ink-muted)}.fol-lv-row.is-above .fol-tname-text b,.fol-lv-row.is-below .fol-tname-text b{color:var(--ink-dim)}.fol-lv-row.is-above .fol-lv-name .fol-glyph,.fol-lv-row.is-below .fol-lv-name .fol-glyph{color:var(--ink-muted)}.fol-lv-axis{min-height:34px}.fol-lv-axis.is-top{border-bottom:1px solid var(--line-accent)}.fol-lv-axis.is-bottom{border-top:1px solid var(--line-accent);margin-top:2px}.fol-lv-axis-lead{font-size:var(--fs-label);font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--accent)}.fol-lv-axis-scale{position:relative;height:34px}.fol-lv-axis-scale span{position:absolute;top:50%;transform:translate(-50%,-50%);font-family:var(--heading);font-size:var(--fs-num-sm);color:var(--ink-dim)}.fol-lv-axis-scale span.is-minor{color:var(--ink-muted)}.fol-lv-axis-scale span.is-mark{color:var(--accent)}.fol-lv-chips{grid-column:2;display:flex;flex-wrap:wrap;gap:4px;padding:0 0 10px}.fol-chip{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-chip);line-height:var(--lh-snug);padding:2px 8px;border:1px solid color-mix(in srgb, var(--race-color) 45%, transparent);border-radius:999px;background:color-mix(in srgb, var(--race-color) 8%, transparent);color:var(--ink);white-space:nowrap}.fol-chip i{flex:none;width:7px;height:7px;border-radius:50%;background:var(--race-color)}.fol-chip[data-tip]:not(a){cursor:help}a.fol-chip{text-decoration:none;transition:border-color var(--dur-hover), color var(--dur-hover)}a.fol-chip:hover{border-color:var(--race-color)}.fol-cards-head{display:flex;align-items:center;gap:10px;color:var(--race-color, var(--ink))}:root[data-theme="light"] .fol-cards-head{color:color-mix(in srgb, var(--race-color, var(--ink)) 78%, var(--ink))}.fol-cards-head b{padding:0 8px;border:1px solid color-mix(in srgb, var(--race-color, var(--line)) 40%, transparent);border-radius:4px;font-family:var(--text);font-size:var(--fs-hint);font-weight:500;letter-spacing:0;color:var(--ink-dim)}.fol-cards .tcard .fol-level{gap:14px}@media (max-width:1100px){.fol-links-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.fol-bonuses{grid-template-columns:minmax(0,1fr)}.fol-filter-row{grid-template-columns:minmax(0,1fr);gap:6px}.fol-filter-label{padding-top:0}.fol-cap-school{flex-basis:100%;margin:6px 0 0}.fol-level{gap:14px}.fol-lv-control{gap:6px}.fol-levels.spr-pack{padding:12px 12px 6px}.fol-lv-row,.fol-lv-axis{grid-template-columns:minmax(0,1fr)}.fol-lv-row{padding-top:10px}.fol-lv-name{grid-column:1}.fol-lv-track{min-height:36px}.fol-lv-chips{grid-column:1}.fol-lv-axis-lead{display:none}.fol-lv-axis-scale span.is-minor{display:none}}.fol-note-tip{white-space:normal;max-width:min(320px,calc(100vw - 24px));font-weight:400;line-height:var(--lh-snug)}@media (pointer:coarse){.fol-skill{min-height:44px}.fol-skill-name,a.fol-plate,a.fol-chip,.fol-table .sort-btn,.fol-lv-controls .race-filters button{position:relative}a.fol-chip::before{content:'';position:absolute;inset:-2px}.fol-tname-text b{position:relative;z-index:1;margin-block:-4px}.fol-tname-text b a{display:block;padding-block:4px;overflow:hidden;text-overflow:ellipsis}.fol-tname-text span{margin-bottom:-10px}.fol-tname-text span a{display:block;padding-block:0 10px;overflow:hidden;text-overflow:ellipsis}.fol-skill-name::before,a.fol-plate::before,.fol-table .sort-btn::before,.fol-lv-controls .race-filters button::before{content:'';position:absolute;left:0;right:0;top:50%;height:44px;margin-top:-22px}.fol-lv-controls .race-filters button::before{left:-2px;right:-2px}.fol-table .sort-btn::before{top:-16px;bottom:-10px;height:auto;margin-top:0}.fol-skill:has(a.fol-plate){row-gap:28px}.fol-plates:has(a.fol-plate){row-gap:28px}.fol-cell:has(a.fol-plate){padding-block:12px}}
