.fv{--fv:#e0a458;--fv-dim:#9c6a2c;--alliance:#5b8bd6;--horde:#c8473b}.forever-new{display:inline-block;margin-left:var(--s2);padding:1px 8px;border:1px solid color-mix(in srgb,#e0a458 60%,transparent);border-radius:999px;color:#f0c38a;font-size:var(--fs-xs);font-weight:700;vertical-align:middle}.chip.forever-chip{border-color:color-mix(in srgb,#e0a458 55%,var(--line));color:#f0c38a}.forever-soul{max-width:56ch;margin-top:var(--s4);color:var(--text);font-size:var(--fs-m);font-style:italic;line-height:1.55}.forever-code{display:block;overflow-wrap:anywhere;padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--radius);background:var(--night);color:var(--gold-bright);font-size:var(--fs-s)}.racials{display:grid;grid-gap:var(--s2);gap:var(--s2);margin-top:var(--s3);padding:0;list-style:none;font-size:var(--fs-s);color:var(--text-2)}.racials strong{color:var(--text);margin-right:4px}.fv-lede{max-width:50ch;margin-top:var(--s4);color:var(--text-2);font-size:var(--fs-m)}.fv-section{margin-top:var(--s8)}.fv-section .section-title{display:flex;align-items:center;gap:var(--s2)}.fv-section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--s3)}.fv-intro{max-width:70ch;margin-bottom:var(--s4)}.fv-mine{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4)}.fv-mine>div{flex:1 1 320px}.fv-mine svg{color:var(--fv)}.fv-add{margin-top:var(--s4)}.fv-add>summary{display:flex;align-items:center;gap:var(--s2);cursor:pointer;font-weight:700}.fv-add[open]>summary{margin-bottom:var(--s4)}.fv-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:var(--s4);gap:var(--s4)}.fv-tool{display:grid;grid-template-rows:auto 1fr;overflow:hidden;padding:0;color:inherit;text-decoration:none;transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.fv-tool:hover{border-color:var(--fv);transform:translateY(-2px)}.fv-tool-art{width:100%;height:auto;aspect-ratio:2/1;object-fit:cover}.fv-tool-copy{display:grid;align-content:start;grid-gap:var(--s2);gap:var(--s2);padding:var(--s4)}.fv-tool-copy strong{font-size:var(--fs-l)}.fv-diff{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:var(--s3);gap:var(--s3);padding:0;list-style:none}.fv-diff li{border-top:3px solid var(--fv)}.fv-diff p{margin-top:var(--s2)}.fv-start{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:var(--s4);gap:var(--s4)}.fv-start-faction{border-top:3px solid var(--faction,var(--fv))}.fv-race.is-alliance,.fv-start-faction.is-alliance{--faction:var(--alliance)}.fv-race.is-horde,.fv-start-faction.is-horde{--faction:var(--horde)}.fv-start-faction h3{color:var(--faction)}.fv-start-faction ul{display:grid;grid-gap:var(--s3);gap:var(--s3);margin-top:var(--s3);padding:0;list-style:none}.fv-start-faction li{display:grid;grid-gap:2px;gap:2px}.fv-start-faction a{color:var(--text);text-decoration:none}.fv-start-faction a:hover strong{color:var(--fv)}.fv-scenic{position:relative;display:flex;align-items:center;min-height:520px;margin-top:var(--s9);overflow:hidden}.fv-scenic-art{object-fit:cover}.fv-scenic-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,13,19,.94),rgba(10,13,19,.7) 45%,rgba(10,13,19,.15))}.fv-scenic-body{position:relative;padding-block:var(--s8)}.fv-scenic-body h2{font-size:var(--fs-2xl)}.fv-scenic-body p{max-width:58ch;margin-top:var(--s4);color:var(--text-2);font-size:var(--fs-m)}.fv-dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--s3);gap:var(--s3);padding:0;list-style:none}.fv-dates li{display:grid;grid-gap:4px;gap:4px}.fv-dates strong{color:var(--fv);font-size:var(--fs-l)}.fv-dates li.is-past{opacity:.6}.fv-dates li.is-past strong{color:var(--text-2)}.fv-note{display:flex;gap:var(--s2);align-items:baseline;margin-top:var(--s4)}.fv-section:last-child,.fv>.container:last-child{padding-bottom:var(--s8)}.fv-toc{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s4)}.fv-toc a{padding:6px 14px;border:1px solid var(--line-strong);border-radius:999px;color:var(--text-2);font-size:var(--fs-s);text-decoration:none}.fv-toc a:hover{border-color:var(--fv);color:var(--text)}.fv-guide .fv-section{scroll-margin-top:calc(var(--header-h) + var(--s4))}.fv-tips{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:var(--s3);gap:var(--s3);padding:0;list-style:none}.fv-tips li{display:flex;gap:var(--s3)}.fv-tip-n{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--fv) 20%,var(--night));color:var(--fv);font-weight:800}.fv-factions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s4);gap:var(--s4);margin-bottom:var(--s5)}.fv-faction{position:relative;display:flex;align-items:flex-end;aspect-ratio:2/1;overflow:hidden;padding:0;border:1px solid var(--line);border-bottom:3px solid var(--faction);border-radius:12px;background:var(--night);color:var(--text);text-align:left;cursor:pointer;opacity:.72;filter:saturate(.6);transition:opacity var(--dur) var(--ease),filter var(--dur) var(--ease),border-color var(--dur) var(--ease)}.fv-faction.is-alliance{--faction:var(--alliance)}.fv-faction.is-horde{--faction:var(--horde)}.fv-faction.is-current,.fv-faction:hover{opacity:1;filter:none}.fv-faction.is-current{border-color:var(--faction);box-shadow:0 0 0 1px var(--faction)}.fv-faction:focus-visible{outline:none;box-shadow:var(--focus)}.fv-faction-art{object-fit:cover;object-position:60% 25%}.fv-faction-copy{position:relative;display:grid;grid-gap:2px;gap:2px;width:100%;padding:var(--s8) var(--s5) var(--s4);background:linear-gradient(0deg,rgba(10,13,19,.95),rgba(10,13,19,0))}.fv-faction-copy strong{color:var(--faction);font-size:var(--fs-xl);line-height:var(--lh-tight)}@media (max-width:700px){.fv-factions{grid-template-columns:minmax(0,1fr)}.fv-faction-copy{padding-top:var(--s6)}.fv-faction-copy .fine{display:none}}@media (prefers-reduced-motion:reduce){.fv-faction{transition:none}}.fv-races{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:var(--s4);gap:var(--s4)}.fv-race{display:grid;align-content:start;grid-gap:var(--s3);gap:var(--s3);border-top:3px solid var(--faction);scroll-margin-top:calc(var(--header-h) + var(--s4))}.fv-race header{display:grid;grid-gap:2px;gap:2px}.fv-heart{font-style:italic}.fv-race-classes{display:flex;flex-wrap:wrap;gap:6px}.fv-race-classes span{padding:2px 10px;border:1px solid color-mix(in srgb,var(--accent) 50%,var(--line));border-radius:999px;color:var(--accent)}.fv-race-classes span.is-new{border-style:dashed}.fv-classes{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:var(--s4);gap:var(--s4)}.fv-class{overflow:hidden;padding:0;border-top:3px solid var(--accent);scroll-margin-top:calc(var(--header-h) + var(--s4))}.fv-class-art{width:100%;height:auto;aspect-ratio:2/1;object-fit:cover}.fv-class-body{display:grid;grid-gap:var(--s2);gap:var(--s2);padding:var(--s4)}.fv-class-body h3{color:var(--accent)}.fv-exp{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--s4);gap:var(--s4)}.fv-exp-card{display:grid;align-content:start;grid-gap:var(--s2);gap:var(--s2)}.fv-exp-icon{font-size:1.75rem}.fv-cta{margin-top:var(--s5)}.fv-scenic-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:var(--s5);gap:var(--s5);align-items:center}.fv-scenic-list ul{display:grid;grid-gap:var(--s3);gap:var(--s3);padding-left:var(--s5)}.fv-scenic-photo{width:100%;height:auto;border-radius:var(--radius)}.fv-sources{margin-top:var(--s8);padding-bottom:var(--s6)}@media (max-width:760px){.fv-scenic-list{grid-template-columns:1fr}}.fv-chapters{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s3) 0 0;padding:0;list-style:none;color:var(--text-3);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em}.fv-chapters li+li:before{content:"·";margin-right:var(--s2)}.fv-chapters .is-current{color:#f0c38a;font-weight:700}.fv-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:var(--s3);gap:var(--s3);margin-top:var(--s5)}.fv-option{display:flex;align-items:center;gap:var(--s3);min-height:84px;padding:var(--s4);color:var(--text);text-align:left;cursor:pointer}.fv-option:hover{--frame-line:#e0a458}.fv-option.is-chosen{--frame-line:#e0a458;--frame-fill:color-mix(in srgb,#e0a458 14%,var(--surface))}.fv-option-icon{flex:0 0 auto;width:40px;font-size:1.6rem;text-align:center}.fv-option-copy{display:grid;flex:1 1;grid-gap:2px;gap:2px}.fv-option-copy small{color:var(--text-2);font-size:var(--fs-s)}.fv-option-key{display:grid;place-items:center;flex:0 0 28px;height:28px;border:1px solid var(--line-strong);border-radius:50%;color:var(--text-3);font-size:var(--fs-xs)}.fv-option.is-chosen .fv-option-key{border-color:#e0a458;background:#e0a458;color:var(--gold-ink)}.fv-results-lore{max-width:56ch;margin-top:var(--s3);color:var(--text-2)}.fv-faction.is-alliance{border-color:#5b8bd6;color:#9dbcf0}.fv-faction.is-horde{border-color:#c8473b;color:#f09a90}.fv-results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:var(--s4);gap:var(--s4)}.fv-results-grid h2{margin-bottom:var(--s3);font-size:var(--fs-l)}.fv-results-grid p+p{margin-top:var(--s2)}.fv-reasons{display:grid;grid-gap:var(--s2);gap:var(--s2);margin-bottom:var(--s3);padding:0;list-style:none}.fv-reasons li{display:flex;align-items:center;gap:var(--s2)}.fv-reasons svg{color:var(--great)}.fv-tree-list{grid-gap:var(--s3);gap:var(--s3)}.fv-also,.fv-tree-list{display:grid;padding:0;list-style:none}.fv-also{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:var(--s4);gap:var(--s4)}.fv-also li{overflow:hidden;padding:0;border-top:3px solid var(--accent)}.fv-also-art{aspect-ratio:2/1}.fv-also-body{display:grid;grid-gap:var(--s2);gap:var(--s2);padding:var(--s4)}.fv-also-body strong{font-size:var(--fs-l)}.fv-results-foot{display:flex;flex-wrap:wrap;gap:var(--s3);padding-bottom:var(--s8)}.forever-panels{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-gap:var(--s4);gap:var(--s4);align-items:start}.forever-panels h2{display:flex;align-items:center;gap:var(--s2)}.forever-build-line{margin:var(--s2) 0}.milestones{display:grid;grid-gap:var(--s2);gap:var(--s2);margin-top:var(--s4);padding:0;list-style:none}.milestone{display:flex;align-items:center;gap:var(--s3);width:100%;padding:var(--s3);border:1px solid var(--line);border-radius:var(--radius);background:var(--night);color:var(--text);text-align:left;cursor:pointer;transition:border-color var(--dur) var(--ease)}.milestone:hover{border-color:var(--accent)}.milestone-tick{display:grid;place-items:center;flex:0 0 24px;height:24px;border:1px solid var(--line-strong);border-radius:50%}.is-done .milestone{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.is-done .milestone-tick{border-color:var(--accent);background:var(--accent);color:var(--gold-ink)}.milestone-copy{display:grid;grid-gap:2px;gap:2px}.milestone-copy small{color:var(--text-3);font-size:var(--fs-xs)}@media (max-width:900px){.forever-panels{grid-template-columns:1fr}}.character-game+.character-game{margin-top:var(--s6)}.character-game .section-title{margin-bottom:var(--s3)}.tc{display:grid;grid-gap:var(--s4);gap:var(--s4);margin-top:var(--s5);padding-bottom:var(--s8)}.tc-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);align-items:center;grid-gap:var(--s6);gap:var(--s6)}.tc-hero h1{font-size:var(--fs-2xl)}.tc-hero-copy p{max-width:62ch;margin-top:var(--s2);color:var(--text-2)}.tc-hero-art{position:relative;aspect-ratio:2/1;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--night)}.tc-hero-art img{object-fit:cover;animation:tc-art-in .42s var(--ease)}.tc-hero-art figcaption{position:absolute;inset:auto 0 0;padding:var(--s6) var(--s4) var(--s3);background:linear-gradient(0deg,rgba(10,13,19,.9),rgba(10,13,19,0));color:var(--accent);font-weight:800}@keyframes tc-art-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.tc-hero-art img{animation:none}}@media (max-width:900px){.tc-hero{grid-template-columns:minmax(0,1fr)}}.tc-pickers{display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-gap:var(--s4);gap:var(--s4);align-items:end}.tc-classes{grid-template-columns:repeat(9,minmax(0,1fr))}.tc-summary{display:grid;grid-gap:var(--s3);gap:var(--s3);border-top:3px solid var(--accent)}.tc-summary-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s3)}.tc-title{color:var(--accent)}.tc-split,.tc-title{font-size:var(--fs-l)}.tc-split{font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tc-meter{height:6px;border-radius:999px;background:var(--night);overflow:hidden;position:relative}.tc-meter span{position:absolute;inset:0 auto 0 0;display:block;height:100%;background:var(--accent);transition:width var(--dur) var(--ease)}.tc-meter .tc-meter-cap{background:color-mix(in srgb,var(--accent) 22%,transparent)}.tc-left{color:var(--accent)}.tc-tools{flex-wrap:wrap;gap:var(--s3) var(--s5,2rem)}.tc-level,.tc-tools{display:flex;align-items:center}.tc-level{gap:var(--s2);min-width:0;max-width:100%}.tc-level input[type=range]{width:140px;accent-color:var(--accent)}.tc-level-num{min-width:2ch;font-size:var(--fs-l);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}.tc-legacy{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3)}.tc-legacy .cf-label{display:inline-flex;align-items:center;gap:4px;margin:0}.tc-legacy .fine{flex-basis:100%}.tc-seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden}.tc-seg button{min-width:34px;min-height:32px;border:0;border-left:1px solid var(--line-strong);background:var(--night);color:var(--text-2);font-weight:700;cursor:pointer}.tc-seg button:first-child{border-left:0}.tc-seg button.is-on{background:color-mix(in srgb,var(--accent) 30%,var(--night));color:var(--text)}.tc-seg button:focus-visible{outline:none;box-shadow:var(--focus)}.tc-search{display:flex;align-items:center;gap:var(--s2);color:var(--text-2)}.tc-search input{flex:0 1 360px}.tc-talent.is-match{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--gold-bright)}.tc-order-list{display:grid;grid-gap:2px;gap:2px;max-height:340px;margin:var(--s3) 0 var(--s2);padding:0;overflow-y:auto;list-style:none}.tc-order-list li{display:grid;grid-template-columns:4.2em minmax(0,1fr) auto;align-items:baseline;grid-gap:var(--s2);gap:var(--s2);padding:3px var(--s2);border-radius:6px}.tc-order-list li:nth-child(odd){background:var(--night)}.tc-order-level{color:var(--accent);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tc-order-name{padding:0;border:0;background:none;color:var(--text);text-align:left;cursor:pointer}.tc-order-name:hover{text-decoration:underline}.tc-share{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}.tc-share .forever-code{flex:1 1 240px}.tc-tabs{display:none}.tc-trees{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s4);gap:var(--s4)}.tc-tree-head{display:flex;justify-content:space-between;gap:var(--s2);margin-bottom:var(--s4);min-height:3.6em}.tc-tree-head h3{display:flex;align-items:center;gap:var(--s2)}.tc-tree-points{display:inline-grid;place-items:center;min-width:28px;height:24px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 22%,var(--night));color:var(--accent);font-size:var(--fs-s)}.tc-grid{position:relative;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-template-rows:repeat(var(--rows),auto);grid-gap:10px;gap:10px;justify-items:center}.tc-arrows{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.tc-arrows path{fill:none;stroke:var(--line-strong);stroke-width:3}.tc-arrows path.is-lit{stroke:var(--accent)}.tc-talent{position:relative;display:grid;place-items:center;width:100%;max-width:58px;aspect-ratio:1;border:2px solid var(--line-strong);border-radius:8px;background:var(--night);color:var(--text-3);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),transform 90ms var(--ease)}.tc-talent.is-active{border-radius:50%}.tc-talent:active{transform:scale(.95)}.tc-talent.is-open{border-color:color-mix(in srgb,var(--accent) 55%,var(--line-strong));color:var(--text)}.tc-talent.is-some{border-color:var(--great);background:color-mix(in srgb,var(--accent) 18%,var(--night));color:var(--text)}.tc-talent.is-max{border-color:var(--gold-bright);background:color-mix(in srgb,var(--accent) 34%,var(--night));color:var(--text)}.tc-talent.is-locked{opacity:.45}.tc-talent.is-selected{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}.tc-talent:focus-visible{outline:none;box-shadow:var(--focus)}.tc-glyph{font-size:.95rem;font-weight:800;letter-spacing:.02em}.tc-rank{position:absolute;right:-8px;bottom:-8px;padding:0 5px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--text-2);font-size:.7rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.is-some .tc-rank{color:var(--great)}.is-max .tc-rank{color:var(--gold-bright)}.tc-talent.is-static{width:48px;cursor:default}.tc-below{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-gap:var(--s4);gap:var(--s4);align-items:start}.tc-details{position:-webkit-sticky;position:sticky;bottom:var(--s3);display:grid;grid-gap:var(--s2);gap:var(--s2);z-index:2}.tc-details-head{display:flex;align-items:center;gap:var(--s3)}.tc-details-head>div:nth-child(2){display:grid;flex:1 1}.tc-details-buttons{display:flex;gap:var(--s2)}.tc-block{color:#f0c38a}.tc-side{display:grid;grid-gap:var(--s4);gap:var(--s4)}.tc-coach h2,.tc-side h2{display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-l)}.tc-save-form{display:flex;gap:var(--s2);margin-top:var(--s3)}.tc-save-form select{flex:1 1}.tc-coach{grid-gap:var(--s3);border-top:3px solid #e0a458}.tc-coach,.tc-coach-form{display:grid;gap:var(--s3)}.tc-coach-form{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s3);align-items:end}.tc-coach-note{grid-column:1/-1}.tc-keep{gap:var(--s2);grid-column:1/-1;color:var(--text-2);font-size:var(--fs-s)}.tc-coach-actions,.tc-keep{display:flex;align-items:center}.tc-coach-actions{flex-wrap:wrap;gap:var(--s3)}.tc-advice{display:grid;grid-gap:var(--s2);gap:var(--s2);padding:var(--s3) var(--s4);border-left:3px solid #e0a458;background:var(--night)}.tc-advice .btn{justify-self:start}@media (max-width:1100px){.tc-classes{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:900px){.tc-below,.tc-pickers{grid-template-columns:1fr}.tc-tabs{display:flex;gap:var(--s2)}.tc-tabs button{flex:1 1;padding:var(--s2);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--night);color:var(--text-2);font-weight:700}.tc-tabs button.is-current{border-color:var(--accent);color:var(--text);box-shadow:inset 0 -3px 0 var(--accent)}.tc-tabs span{color:var(--accent)}.tc-trees{grid-template-columns:1fr}.tc-tree-wrap{display:none}.tc-tree-wrap.is-current{display:block}.tc-coach-form{grid-template-columns:1fr}}@media (max-width:520px){.tc-classes{grid-template-columns:repeat(3,minmax(0,1fr))}.tc-level{flex:1 1 100%}.tc-level input[type=range]{flex:1 1 auto;width:0;min-width:60px}.tc-talent{max-width:52px}}.tc-side .tc-coach-form{grid-template-columns:minmax(0,1fr)}.tc-side .tc-coach{border-top:2px solid #e0a458}@media (min-width:1101px){.fv-crests{grid-template-columns:repeat(9,minmax(0,1fr))}}.fv-spotlight-links{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4)}.fv-main-line{color:var(--accent);font-weight:700}.fv-main-line .fine{color:var(--text-2);font-weight:400}.wtn-select{width:auto;display:inline-block;padding:2px 8px;margin-left:4px}.fvg-hero{position:relative;display:flex;align-items:flex-end;min-height:420px;overflow:hidden;border-bottom:1px solid var(--line);background:var(--night)}.fvg-hero-art{object-fit:cover;object-position:50% 35%}.fvg-hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,13,19,.92),rgba(10,13,19,.55) 50%,rgba(10,13,19,.2)),linear-gradient(0deg,rgba(10,13,19,.95),rgba(10,13,19,0) 50%)}.fvg-hero-body{position:relative;padding-block:var(--s8) var(--s6)}.fvg-hero h1{margin-top:var(--s3);font-size:var(--fs-display);line-height:var(--lh-tight);letter-spacing:var(--track-display)}.fvg-layout{display:grid;grid-template-columns:220px minmax(0,1fr);grid-gap:var(--s7);gap:var(--s7);align-items:start;padding-top:var(--s6)}.fvg-rail{position:-webkit-sticky;position:sticky;top:calc(var(--header-h) + var(--s5));padding:var(--s4);border:1px solid var(--line);border-top:2px solid var(--fv);border-radius:var(--radius);background:var(--surface)}.fvg-rail-title{color:var(--text-3);font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.fvg-rail ol{display:grid;grid-gap:4px;gap:4px;margin:var(--s3) 0 0;padding:0;list-style:none}.fvg-rail a{display:flex;gap:var(--s2);padding:6px 8px;border-radius:var(--radius-s);color:var(--text-2);text-decoration:none}.fvg-rail a:hover{background:var(--surface-2);color:var(--text)}.fvg-num{min-width:2.2em;color:var(--fv);font-weight:800}.fvg-main .fv-section:first-child{margin-top:0}.fvg-chapter{display:grid;grid-gap:2px;gap:2px;margin-bottom:var(--s4);padding-bottom:var(--s3);border-bottom:1px solid var(--line);background:linear-gradient(90deg,var(--fv) 0 64px,transparent 64px) bottom /100% 2px no-repeat}.fvg-chapter-num{color:var(--fv);font-size:var(--fs-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.fvg-chapter h2{font-size:var(--fs-xl)}.fv-race{overflow:hidden;padding-top:0}.fv-race-art{display:block;width:calc(100% + 2 * var(--s5));max-width:none;height:150px;margin:0 calc(-1 * var(--s5));object-fit:cover;object-position:50% 30%}.fv-race-art.is-empty{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 60%,color-mix(in srgb,var(--faction) 30%,transparent),transparent 70%),var(--night);font-size:2.4rem;opacity:.8}.fv-exp-card{overflow:hidden;padding-top:0}.fv-exp-art{display:block;width:calc(100% + 2 * var(--s5));max-width:none;height:auto;aspect-ratio:2/1;margin:0 calc(-1 * var(--s5)) var(--s2);object-fit:cover}@media (max-width:960px){.fvg-layout{grid-template-columns:minmax(0,1fr);gap:var(--s5)}.fvg-rail{position:static}.fvg-rail ol{display:flex;flex-wrap:wrap}}.fvg-hero-body>.home-eyebrow{display:flex;margin-top:var(--s5)}.forever-advisor{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s5)}.forever-advisor .coach-head{flex:1 1 420px}.forever-class-card h2 a{color:inherit;text-decoration:none}.forever-class-card h2 a:hover{color:var(--accent)}.forever-class-links{display:flex;flex-wrap:wrap;gap:var(--s4);margin-top:var(--s2)}.fv-racials>summary{cursor:pointer;color:var(--text-2);font-size:var(--fs-s);font-weight:700}.fv-racials[open]>summary{margin-bottom:var(--s1)}.fv-race p{line-height:1.5}.coach-dock .tc-coach{padding:0;border:0;background:none;box-shadow:none}.coach-dock .tc-coach-form{grid-template-columns:minmax(0,1fr)}.ns-brew{display:grid;grid-gap:var(--s5);gap:var(--s5)}.ns-brew .ff-section-head{margin-bottom:0}.ns-oracle{display:grid;justify-items:center;grid-gap:var(--s4);gap:var(--s4);--frame-fill:rgba(21,25,34,0.92);padding:var(--s5);text-align:center}.ns-oracle .coach-head{justify-content:center;text-align:left}.ns-reveal{display:grid;place-items:center;min-height:110px}.ns-name{margin:0;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:800;line-height:1.1;letter-spacing:-.01em}.ns-name span{color:var(--fv,var(--gold-bright))}.ns-name.is-flicker{opacity:.55;filter:blur(.5px)}.ns-picked{display:grid;justify-items:center;grid-gap:var(--s2);gap:var(--s2);animation:ns-reveal .52s var(--ease) both}.ns-line,.ns-picked .fine{margin:0}.ns-line{color:var(--text-2);font-style:italic}.ns-hint{max-width:44ch;margin:0}.ns-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s1)}.ns-actions .is-saved{color:var(--gold-bright)}.ns-actions .is-saved svg{fill:currentColor}.ns-trust{min-width:240px}.ns-controls{display:grid;grid-gap:var(--s4);gap:var(--s4)}.ns-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--s4)}.ns-fields fieldset{margin:0;padding:0;border:0}.ns-letter .cf-input{width:90px;text-align:center;text-transform:uppercase}.ns-short{display:inline-flex;align-items:center;gap:var(--s2);min-height:42px;color:var(--text-2)}.ns-vibes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:var(--s2);gap:var(--s2);margin:0;padding:0;border:0}.ns-vibes legend{margin-bottom:var(--s2)}.ns-vibe{display:grid;grid-gap:2px;gap:2px;padding:var(--s3);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--night);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.ns-vibe.is-on{border-color:var(--fv,var(--gold));background:color-mix(in srgb,var(--fv,var(--gold)) 12%,var(--night))}.ns-vibe:focus-visible{outline:none;box-shadow:var(--focus)}.ns-controls>.btn{justify-self:start}.ns-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:var(--s3);gap:var(--s3);margin:0;padding:0;list-style:none}.ns-card{display:grid;grid-gap:var(--s2);gap:var(--s2);animation:ns-reveal .42s var(--ease) both;animation-delay:calc(var(--i, 0) * 50ms)}.ns-card-name{display:flex;flex-wrap:wrap;gap:0 var(--s2);margin:0;font-size:var(--fs-l);font-weight:800}.ns-card-name>span{display:inline-flex;align-items:center;gap:2px}.ns-card-name>span+span{color:var(--fv,var(--gold-bright))}.ns-card .fine{margin:0}.ns-card .ns-actions{justify-content:flex-start}.ns-dice{display:inline-grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:none;color:var(--text-3);cursor:pointer}.ns-dice:hover{color:var(--text);background:var(--surface-2)}.ns-dice:focus-visible{outline:none;box-shadow:var(--focus)}.ns-saved h2{display:flex;align-items:center;gap:var(--s2);margin:0 0 var(--s3);font-size:var(--fs-l)}.ns-saved ul{display:grid;grid-gap:var(--s2);gap:var(--s2);margin:0 0 var(--s2);padding:0;list-style:none}.ns-saved li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}.ns-saved-actions{display:inline-flex;margin-left:auto}.ns-rules{margin:0}.ns-style{justify-self:center}.ns-accent span{font-weight:800;font-size:1.05em;line-height:1}.ns-typing{max-width:52ch;margin:0;color:var(--text-2)}.ns-typing kbd{padding:0 5px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface-2);font:inherit;font-size:.92em;font-weight:700}@keyframes ns-reveal{0%{opacity:0;transform:translateY(10px) scale(.98)}}@media (prefers-reduced-motion:reduce){.ns-card,.ns-picked{animation:none}}.fv-name-them{margin:var(--s3) 0 0}.fv-name-them a{display:inline-flex;align-items:center;gap:6px}.cf-name-help{margin-top:calc(-1 * var(--s2))}.dg{display:grid;grid-gap:var(--s4);gap:var(--s4)}.dg-filters{justify-self:start;flex-wrap:wrap}.dg-filters label>span{white-space:nowrap}.dg-count{display:inline-grid;margin-left:6px;font-weight:800;color:inherit;place-items:center;min-width:20px;height:18px;padding:0 5px;border-radius:999px;background:color-mix(in srgb,var(--fv,var(--gold)) 25%,transparent);font-size:var(--fs-xs)}.dg-list{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-gap:var(--s3);margin:0;padding:0;list-style:none}.dg-card,.dg-list{display:grid;gap:var(--s3)}.dg-card{grid-template-columns:auto minmax(0,1fr);grid-gap:var(--s3);align-items:start;border-left:3px solid var(--line-strong)}.dg-card.is-new{border-left-color:var(--fv,var(--gold));background:color-mix(in srgb,var(--fv,var(--gold)) 6%,var(--surface))}.dg-level{display:grid;place-items:center;min-width:64px;padding:var(--s2);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--night);font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.dg-level small{color:var(--text-3);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase}.is-new .dg-level{border-color:var(--fv,var(--gold));color:var(--fv,var(--gold-bright))}.dg-body{display:grid;grid-gap:var(--s1);gap:var(--s1)}.dg-body h3,.dg-raid h4{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);margin:0;font-size:var(--fs-m)}.dg-about,.dg-where{margin:0}.dg-where strong{color:var(--text)}.dg-about{font-size:var(--fs-s)}.dg-coords{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s1)}.dg-coord{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid var(--line-strong);border-radius:999px;background:var(--night);color:var(--text-2);font:inherit;font-size:var(--fs-s);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer}.dg-coord:hover{border-color:var(--fv,var(--gold));color:var(--text)}.dg-coord:focus-visible{outline:none;box-shadow:var(--focus)}.dg-tbc{font-style:italic}.dg-raids-title{display:flex;align-items:center;gap:var(--s2);margin:var(--s4) 0 0}.dg-raids{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:var(--s3);gap:var(--s3);margin:0;padding:0;list-style:none}.dg-raid{display:grid;grid-gap:var(--s1);gap:var(--s1);align-content:start;border-top:3px solid var(--line-strong)}.dg-raid.is-new{border-top-color:var(--fv,var(--gold))}.dg-raid .dg-coord,.dg-size{justify-self:start}.dg-size{display:inline-flex;align-items:center;gap:4px;color:var(--text-3);font-size:var(--fs-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.dg-note{margin:0}@media (max-width:520px){.dg-list{grid-template-columns:minmax(0,1fr)}}.fh-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--s2) var(--s4);margin-bottom:var(--s4)}.fh-head .fine,.fh-head .section-title{margin:0}.fh-head strong{color:var(--text)}.fh-tonight .home-spotlight-kicker{display:inline-flex;align-items:center;gap:6px}.fh-tonight-road{display:grid;grid-gap:2px;gap:2px;margin:var(--s3) 0 0;padding-top:var(--s3);border-top:1px solid var(--line)}.fh-tonight-road span{color:var(--text-3);font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.fh-tonight-links{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);margin-top:var(--s3)}.fh-road-panel{padding:var(--s7) var(--s5) var(--s4);border:1px solid var(--line);border-radius:16px;background:var(--surface)}.fh-latest{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);grid-gap:var(--s5);gap:var(--s5);align-items:center;margin-top:var(--s5);padding-top:var(--s5);border-top:1px solid var(--line)}.fh-latest-art{aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden}.fh-latest-body,.fh-latest-body form{display:grid;grid-gap:var(--s2);gap:var(--s2);justify-items:start}.fh-latest-body form{margin-top:var(--s2)}.fh-latest-kicker,.fh-latest-shared{display:inline-flex;align-items:center;gap:6px}.fh-latest-kicker{color:var(--gold-bright)}@media (max-width:700px){.fh-latest{grid-template-columns:1fr}}.fh-track{position:relative;height:8px;margin:0 var(--s3);border-radius:999px;background:var(--line-strong)}.fh-track-fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:var(--accent,var(--gold));animation:fh-fill .9s var(--ease) both;transform-origin:left}.fh-track-tick{position:absolute;top:-3px;width:2px;height:14px;border-radius:2px;background:color-mix(in srgb,var(--text-3) 60%,transparent)}.fh-you{position:absolute;top:-34px;transform:translateX(-50%);padding:3px 10px;border-radius:999px;background:var(--accent,var(--gold));color:var(--night);font-size:var(--fs-xs);font-weight:800;white-space:nowrap}.fh-waypoints{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(96px,1fr);grid-gap:var(--s2);gap:var(--s2);margin:var(--s5) 0 0;padding:var(--s1) 0 var(--s2);overflow-x:auto;scroll-snap-type:x proximity;list-style:none;scrollbar-width:thin}.fh-waypoints li{scroll-snap-align:start}.fh-waypoints form{height:100%}.fh-waypoint{position:relative;display:grid;justify-items:center;align-content:start;grid-gap:var(--s2);gap:var(--s2);width:100%;height:100%;min-height:44px;padding:var(--s2) var(--s1);border:0;border-radius:var(--radius);background:none;color:var(--text-3);font:inherit;text-align:center;cursor:pointer}.fh-waypoint:hover{background:var(--surface-2)}.fh-waypoint:focus-visible{outline:none;box-shadow:var(--focus)}.fh-dot{display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--line-strong);border-radius:50%;background:var(--night);transition:transform var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.fh-waypoint:hover .fh-dot{transform:translateY(-2px)}.fh-waypoint-label{font-size:var(--fs-xs);font-weight:700;line-height:1.3}.fh-waypoint.is-earned{color:var(--text)}.fh-waypoint.is-earned .fh-dot{border-color:var(--gold);background:var(--gold);color:var(--night)}.fh-waypoint.is-earned.tone-green .fh-dot{border-color:#1eff00;background:color-mix(in srgb,#1eff00 70%,var(--night))}.fh-waypoint.is-earned.tone-blue .fh-dot{border-color:#0070dd;background:#3b8de6}.fh-waypoint.is-earned.tone-epic .fh-dot{border-color:#a335ee;background:#b05cf0}.fh-waypoint.is-next{color:var(--text)}.fh-waypoint.is-next .fh-dot{border-color:var(--gold-bright);color:var(--gold-bright);box-shadow:0 0 0 6px color-mix(in srgb,var(--gold) 20%,transparent);animation:fh-glow 2.4s ease-in-out infinite}.fh-next-chip{padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--gold) 22%,transparent);color:var(--gold-bright);font-size:11px;font-weight:800}.fh-duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);grid-gap:var(--s5);gap:var(--s5);align-items:start}.fh-split-head{display:flex;justify-content:space-between;gap:var(--s2);color:var(--text-2);font-size:var(--fs-s)}.fh-split-head strong{color:var(--text)}.fh-split-bar{display:flex;height:10px;margin-top:var(--s2);overflow:hidden;border-radius:999px;background:var(--line-strong)}.fh-split-bar span{height:100%;background:var(--accent,var(--gold))}.fh-split-bar .seg-1{background:color-mix(in srgb,var(--accent,var(--gold)) 70%,white)}.fh-split-bar .seg-2{background:color-mix(in srgb,var(--accent,var(--gold)) 55%,var(--night))}.fh-split-legend{display:flex;justify-content:space-between;gap:var(--s2);margin-top:6px;color:var(--text-3);font-size:var(--fs-xs)}.fh-places{display:grid;grid-gap:var(--s3);gap:var(--s3)}.fh-places .fh-head{margin-bottom:0}.fh-place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s3);gap:var(--s3)}.fh-place{position:relative;display:block;height:190px;overflow:hidden;border:1px solid var(--line);border-radius:14px;color:var(--text);text-decoration:none}.fh-place img{object-fit:cover;transition:transform .6s var(--ease)}.fh-place:hover img{transform:scale(1.04)}.fh-place:focus-visible{outline:none;box-shadow:var(--focus)}.fh-place-copy{position:absolute;inset:auto 0 0;display:grid;grid-gap:2px;gap:2px;padding:var(--s7) var(--s4) var(--s3);background:linear-gradient(0deg,rgba(10,13,19,.95),rgba(10,13,19,0))}.fh-place-copy strong{font-size:var(--fs-l)}.fh-place-copy span{color:var(--text-2);font-size:var(--fs-s)}.fh-more{margin:0}.fh-dungeon{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4);padding:var(--s4);border:1px solid var(--line);border-radius:14px;background:var(--surface)}.fh-dungeon.is-new{border-color:color-mix(in srgb,var(--gold) 45%,var(--line));background:color-mix(in srgb,var(--gold) 6%,var(--surface))}.fh-dungeon-art{width:140px;height:88px;object-fit:cover;border-radius:10px}.fh-dungeon-copy{flex:1 1 240px;min-width:0}.fh-dungeon-copy p{margin:0}.fh-kicker{display:inline-flex;align-items:center;gap:4px;color:var(--gold-bright);font-size:var(--fs-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.fh-dungeon-name{margin-top:2px!important;font-size:var(--fs-l);font-weight:800}.fh-coords{display:inline-flex;align-items:center;gap:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fh-tip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4);padding:var(--s4) var(--s5);border:1px solid var(--line);border-radius:16px;background:var(--surface)}.fh-tip-art{width:140px;height:64px;object-fit:cover;border-radius:10px}.fh-tip-icon{color:var(--gold)}.fh-tip p{flex:1 1 420px;margin:0}.fh-tip p strong{color:var(--gold-bright)}.fh-tip-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3)}@keyframes fh-fill{0%{transform:scaleX(0)}}@keyframes fh-glow{50%{box-shadow:0 0 0 10px color-mix(in srgb,var(--gold) 8%,transparent)}}@media (max-width:960px){.fh-duo{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.fh-place-grid{grid-template-columns:minmax(0,1fr)}.fh-road-panel{padding-inline:var(--s3)}}@media (prefers-reduced-motion:reduce){.fh-track-fill,.fh-waypoint.is-next .fh-dot{animation:none}.fh-place:hover img,.fh-waypoint:hover .fh-dot{transform:none}}@media (min-width:901px){.fv-main-hero{min-height:min(64vh,560px)}.fv-main-hero .home-hero-body{padding-top:var(--s8);margin-bottom:var(--s5)}.fv-main-hero h1{font-size:clamp(2.6rem,5.6vw,4.5rem);margin-top:var(--s3)}.fv-main-hero .home-hero-actions{margin-top:var(--s5)}}.ns-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s4);gap:var(--s4)}.ns-facts h3{margin:0 0 var(--s2);font-size:var(--fs-m)}.ns-facts p{margin:0;color:var(--text-2)}.ns-feedback{padding-block:var(--s6)}@media (max-width:860px){.ns-facts{grid-template-columns:1fr}}.ns-page .ff-roster{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width:1100px){.ns-page .ff-roster{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.ns-page .ff-roster{grid-template-columns:1fr}}.fh-latest-note{margin:0}.tc-page{--tc-gold:#d9b45f;--tc-gold-hi:#f4dc9a;--tc-gold-lo:#6d5527;--tc-stone:#171b24;--tc-stone-hi:#262c39;--tc-green:#3fdc5a;--tc-red:#ff5a4d;--tc-note:#ffd34d}.tc-details-name,.tc-page h1,.tc-side h2,.tc-tip-name,.tc-title,.tc-trainer h2,.tc-tree-head h3{font-family:var(--font-tc),Georgia,"Times New Roman",serif;letter-spacing:.015em}.tc-page h1{background:linear-gradient(180deg,var(--tc-gold-hi) 15%,var(--tc-gold) 60%,#9c7a35 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 rgba(0,0,0,.65))}.tc-kicker{margin-bottom:var(--s2);padding:2px 10px;border:1px solid var(--tc-gold-lo);background:rgba(217,180,95,.1);color:var(--tc-gold-hi);font-size:var(--fs-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.tc-jump,.tc-kicker{display:inline-block}.tc-jump{margin-top:var(--s3)}.tc-hero-art{border:2px solid var(--tc-gold-lo);border-bottom:3px solid var(--accent);border-radius:4px;box-shadow:0 0 0 1px #000,0 14px 34px -18px #000}.tc-frame,.tc-side .panel{position:relative;padding:var(--s5);border:2px solid var(--tc-gold-lo);border-radius:4px;background:radial-gradient(120% 90% at 50% 0,color-mix(in srgb,var(--accent) 12%,transparent),transparent 62%),linear-gradient(180deg,var(--tc-stone-hi),var(--tc-stone));box-shadow:0 0 0 1px #000,inset 0 0 0 1px rgba(244,220,154,.12),0 14px 30px -22px #000}.tc-summary{border-top-width:2px}.tc-meter{height:14px;border:1px solid var(--tc-gold-lo);border-radius:2px;background:#07090d;box-shadow:inset 0 2px 5px #000}.tc-meter span{background:linear-gradient(180deg,#a24fe0,#5a1f96)}.tc-meter .tc-meter-cap{background:rgba(92,54,140,.35)}.tc-meter:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(100% / 10.2 - 1px),rgba(244,220,154,.32) calc(100% / 10.2 - 1px) calc(100% / 10.2));pointer-events:none}.tc-trees{gap:var(--s3)}.tc-tree{position:relative;height:100%;padding:var(--s4);border:2px solid var(--tc-gold-lo);border-radius:4px;background:radial-gradient(90% 60% at 50% 100%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 70%),radial-gradient(70% 45% at 50% 0,rgba(244,220,154,.08),transparent 70%),repeating-linear-gradient(135deg,rgba(255,255,255,.012) 0 3px,transparent 3px 7px),linear-gradient(180deg,#1c212c,#0d1016);box-shadow:0 0 0 1px #000,inset 0 0 0 1px rgba(244,220,154,.14),inset 0 0 44px rgba(0,0,0,.6)}.tc-tree:after,.tc-tree:before{content:"";position:absolute;top:6px;width:7px;height:7px;background:radial-gradient(circle at 35% 30%,var(--tc-gold-hi),var(--tc-gold-lo) 72%);transform:rotate(45deg)}.tc-tree:before{left:6px}.tc-tree:after{right:6px}.tc-tree-head{align-items:flex-start;min-height:5.4em;padding-bottom:var(--s3);border-bottom:1px solid var(--tc-gold-lo)}.tc-tree-head>div{flex:1 1;min-width:0}.tc-tree-head h3{color:var(--tc-gold-hi);font-size:var(--fs-l);text-shadow:0 2px 0 #000}.tc-tree-points{flex:none;min-width:36px;height:36px;border:2px solid var(--tc-gold);border-radius:50%;background:radial-gradient(circle at 40% 30%,#2c3442,#07090d);color:var(--tc-gold-hi);font-size:var(--fs-m);font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;box-shadow:0 0 0 1px #000}.tc-arrows path{stroke:#000;stroke-width:5;opacity:.8}.tc-arrows path.is-lit{stroke:var(--tc-gold);opacity:1;filter:drop-shadow(0 0 3px var(--tc-gold))}.tc-talent{border:2px solid #4a5160;border-radius:5px;background:linear-gradient(145deg,#2d3442,#0c0f15);box-shadow:0 0 0 1px #000,inset 0 2px 3px rgba(255,255,255,.14),inset 0 -3px 5px rgba(0,0,0,.7);color:#d8d2c4}.tc-talent.is-open{border-color:var(--tc-green);color:#f3efe4}.tc-talent.is-some{border-color:var(--tc-green);background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 42%,#1c222d),#0c0f15);color:#fff;box-shadow:0 0 0 1px #000,0 0 10px rgba(63,220,90,.45),inset 0 2px 3px rgba(255,255,255,.18)}.tc-talent.is-max{border-color:var(--tc-gold-hi);background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 62%,#252b37),#14100a);color:#fff;box-shadow:0 0 0 1px #000,0 0 14px rgba(244,220,154,.6),inset 0 2px 3px rgba(255,255,255,.24)}.tc-talent.is-locked{opacity:1;filter:grayscale(1) brightness(.62)}@media (hover:hover){.tc-talent:hover{transform:translateY(-1px);filter:brightness(1.18)}.tc-talent.is-locked:hover{filter:grayscale(1) brightness(.9)}}.tc-talent.is-selected{outline:2px solid var(--tc-gold-hi);outline-offset:2px}.tc-talent.is-match{box-shadow:0 0 0 2px #000,0 0 0 4px var(--gold-bright),0 0 14px var(--gold-bright)}.tc-talent.is-dim{opacity:.25}.tc-rank{border:1px solid #000;border-radius:3px;background:#06080c;color:#a7a7a7}.is-open .tc-rank,.is-some .tc-rank{color:var(--tc-green)}.is-max .tc-rank{color:var(--tc-gold-hi)}.tc-tip{position:fixed;z-index:60;display:grid;grid-gap:2px;gap:2px;width:min(320px,calc(100vw - 20px));padding:10px 12px;border:2px solid #8d93a3;border-radius:5px;background:rgba(6,9,28,.97);box-shadow:0 0 0 1px #000,0 10px 28px rgba(0,0,0,.75);pointer-events:none}.tc-tip p{margin:0}.tc-tip-name{color:#fff;font-size:var(--fs-m)}.tc-tip-rank{color:#fff;font-size:var(--fs-s)}.tc-tip-kind{color:#b9bcc6;font-size:var(--fs-xs)}.tc-tip .tc-tip-note{margin-top:var(--s2);color:var(--tc-note);font-size:var(--fs-s);line-height:1.45}.tc-tip .tc-tip-block{margin-top:var(--s2);color:var(--tc-red);font-size:var(--fs-s)}.tc-tip .tc-tip-learn{margin-top:var(--s2);color:var(--tc-green);font-size:var(--fs-s)}.tc-tip-unlearn{color:#b9bcc6;font-size:var(--fs-xs)}.tc-details-name{color:var(--tc-gold-hi);font-size:var(--fs-m)}.tc-details-note{color:var(--tc-note)}.tc-block{color:var(--tc-red)}.tc-details-buttons .btn{min-width:40px;min-height:40px}.tc-details.is-sheet{position:fixed;inset:auto 0 0;z-index:55;max-height:55vh;overflow-y:auto;padding-bottom:calc(var(--s4) + env(safe-area-inset-bottom));border-width:2px 0 0;border-radius:0;background:linear-gradient(180deg,#232936,#0d1016);box-shadow:0 -14px 32px rgba(0,0,0,.8)}.tc-side .panel h2,.tc-trainer h2{color:var(--tc-gold-hi)}.tc-order-level{color:var(--tc-gold)}.tc-trainer{display:grid;grid-gap:var(--s4);gap:var(--s4);scroll-margin-top:calc(var(--header-h) + var(--s3))}.tc-trainer-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s4)}.tc-trainer h2{display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-xl)}.tc-trainer-gold{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border:1px solid var(--tc-gold-lo);border-radius:3px;background:rgba(0,0,0,.35)}.tc-trainer-gold>div{display:grid}.tc-trainer-gold strong{color:var(--tc-gold-hi);font-size:var(--fs-m)}.tc-coin{flex:none;width:22px;height:22px;border:1px solid #6e5216;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff0b5,#e2b23c 55%,#8e6a1a);box-shadow:inset 0 0 0 2px rgba(255,255,255,.2)}.tc-trainer-flag{margin:0;border-left:3px solid var(--tc-gold)}.tc-trainer-bands{justify-self:start}.tc-trainer-bands button{min-width:72px;min-height:40px}.tc-trainer-list{display:grid;grid-gap:2px;gap:2px;margin:0;padding:0;list-style:none}.tc-trainer-list>li{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;grid-gap:var(--s3);gap:var(--s3);padding:var(--s2) var(--s3);border-left:3px solid transparent;background:rgba(0,0,0,.26)}.tc-trainer-list>li:nth-child(2n){background:rgba(255,255,255,.025)}.tc-trainer-list>li.is-next{border-left-color:var(--tc-green)}.tc-trainer-list ul{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s4);margin:0;padding:0;list-style:none}.tc-trainer-level{display:grid;color:var(--tc-gold-hi);font-size:var(--fs-l);font-weight:800;line-height:1.05;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}.tc-trainer-level small{color:var(--text-3);font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.tc-trainer-spell{color:var(--text);font-weight:600}.tc-trainer-rank{color:var(--text-3)}.tc-trainer-race,.tc-trainer-rank{margin-left:5px;font-size:var(--fs-xs)}.tc-trainer-race{color:var(--learn)}.tc-trainer-cost{color:var(--tc-gold-hi);font-weight:700;white-space:nowrap}@media (max-width:900px){.tc-tabs button{min-height:44px;border-color:var(--tc-gold-lo);background:#0d1016;font-family:var(--font-tc),Georgia,serif}.tc-tabs button.is-current{border-color:var(--tc-gold);color:var(--tc-gold-hi);box-shadow:inset 0 -3px 0 var(--tc-gold)}.tc-tree-head{min-height:0}}@media (max-width:520px){.tc-frame,.tc-side .panel{padding:var(--s4)}.tc-trainer-list>li{grid-template-columns:46px minmax(0,1fr)}.tc-trainer-cost{grid-column:2}.tc-details-head{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.tc-talent:hover{transform:none}}.fv-roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));grid-gap:var(--s5);gap:var(--s5);margin:0;padding:0;list-style:none}.fv-roster-card{display:grid;height:100%;overflow:hidden;border:1px solid var(--line-strong);border-bottom:3px solid var(--accent,var(--gold));border-radius:var(--radius);background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s}.fv-roster-card:focus-visible,.fv-roster-card:hover{border-color:var(--accent,var(--gold));transform:translateY(-2px)}.fv-roster-art{aspect-ratio:2/1}.fv-roster-body{display:grid;align-content:start;grid-gap:var(--s2);gap:var(--s2);padding:var(--s4) var(--s5) var(--s5)}.fv-roster-name{display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-l)}.fv-roster-name svg{color:var(--gold-bright)}.fv-roster-line{color:var(--accent,var(--gold-bright));font-weight:700}.fv-roster:has(>li:only-child){grid-template-columns:minmax(0,1fr)}@media (min-width:761px){.fv-roster:has(>li:only-child) .fv-roster-card{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.fv-roster:has(>li:only-child) .fv-roster-art{height:100%}.fv-roster:has(>li:only-child) .fv-roster-body{align-content:center;padding:var(--s6)}}.fv-level-bar{display:block;height:8px;overflow:hidden;border:1px solid var(--line-strong);border-radius:999px;background:var(--night)}.fv-level-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--gold-dim),var(--gold-bright))}@media (prefers-reduced-motion:reduce){.fv-roster-card{transition:none}.fv-roster-card:focus-visible,.fv-roster-card:hover{transform:none}}.fc-stats{display:grid;grid-gap:var(--s3);gap:var(--s3)}.fc-stats dl{display:grid;grid-gap:var(--s2);gap:var(--s2);margin:0}.fc-stat{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);margin:0}.fc-stat dt{color:var(--text-3);font-size:var(--fs-s)}.fc-stat dd{margin:0;color:var(--text);font-size:var(--fs-s);font-weight:700;text-align:right}.fc-stat-level label{display:flex;flex:1 1;align-items:center;justify-content:space-between;color:var(--gold-bright);font-size:var(--fs-m);font-weight:800}.fc-trainer{display:grid;grid-gap:var(--s3);gap:var(--s3)}.fc-trainer h2{display:flex;align-items:center;gap:var(--s2);margin:0}.fc-stops{display:grid;grid-gap:var(--s3);gap:var(--s3);margin:0;padding:0;list-style:none}.fc-stops>li{padding-left:var(--s3);border-left:2px solid var(--line-strong)}.fc-stops>li.is-now{border-left-color:var(--gold-bright)}.fc-stop-level{color:var(--gold-bright);font-size:var(--fs-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.fc-stops ul{display:grid;grid-gap:2px;gap:2px;margin:var(--s1) 0 0;padding:0;list-style:none}.forever-panels.fc-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start}.fc-grid .char-panel{display:grid;grid-gap:var(--s3);gap:var(--s3)}#fh-road-title{scroll-margin-top:calc(var(--header-h) + var(--s4))}.fcp{--fcp-ink:#12151b;position:relative;z-index:10;border:1px solid color-mix(in srgb,var(--accent) 28%,#2b2f36);border-radius:16px;background:radial-gradient(60% 80% at 0 0,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%),radial-gradient(50% 60% at 100% 100%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 70%),var(--fcp-ink);box-shadow:0 30px 70px rgb(0 0 0/45%),inset 0 1px 0 rgb(255 255 255/4%)}.fcp-head{padding:var(--s5) var(--s5) var(--s4);border-bottom:1px solid color-mix(in srgb,var(--accent) 16%,#23272e)}.fcp-kicker{margin:0 0 4px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.fcp-head h2{margin:0;font-size:var(--fs-l);overflow-wrap:anywhere}.fcp-body{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:420px}.fcp-rail{display:flex;flex-direction:column;gap:6px;padding:var(--s4) var(--s3);border-right:1px solid color-mix(in srgb,var(--accent) 16%,#23272e);background:rgb(0 0 0/18%);border-bottom-left-radius:16px}.fcp-tab{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:color-mix(in srgb,var(--accent) 45%,var(--text-2));font:inherit;font-weight:700;text-align:left;cursor:pointer;transition:color var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.fcp-tab span{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fcp-tab svg{flex:none}.fcp-tab em{min-width:24px;padding:1px 7px;border-radius:999px;font-size:var(--fs-xs);font-style:normal;text-align:center;background:rgb(255 255 255/6%)}.fcp-tab:hover{color:#fff;background:rgb(255 255 255/4%)}.fcp-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fcp-tab.is-active{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 24%,transparent),color-mix(in srgb,var(--accent) 6%,transparent));color:#fff;box-shadow:0 0 18px color-mix(in srgb,var(--accent) 18%,transparent)}.fcp-tab.is-active em{background:var(--accent);color:var(--fcp-ink)}.fcp-pane{min-width:0;padding:var(--s5);animation:fcp-in .26s var(--ease) both}.fcp-pane:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@keyframes fcp-in{0%{opacity:0;transform:translateY(6px)}}.fcp h3{margin:0 0 var(--s2);font-size:var(--fs-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--accent) 55%,#fff)}.fcp-bar,.fcp-bar span{display:block;height:8px;border-radius:2px;background-image:repeating-linear-gradient(90deg,var(--tick) 0 5px,transparent 5px 8px)}.fcp-bar{--tick:color-mix(in srgb,var(--accent) 12%,#2a2d33)}.fcp-bar span{--tick:var(--accent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 30%,transparent);transition:width .5s var(--ease)}.fcp-bar.is-big,.fcp-bar.is-big span{height:12px}.fcp-overview{display:grid;grid-gap:var(--s5);gap:var(--s5)}.fcp-counters{display:flex;flex-wrap:wrap;gap:var(--s2);margin:0;padding:0;list-style:none}.fcp-counters li{display:grid;grid-gap:2px;gap:2px;min-width:120px;padding:var(--s3) var(--s4);border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,rgb(255 255 255/2%))}.fcp-counters strong{font-size:var(--fs-xl,1.6rem);font-weight:800;line-height:1.05}.fcp-counters span{font-size:var(--fs-xs);color:var(--text-2)}.fcp-quality{display:flex;flex-wrap:wrap;gap:3px;overflow:hidden;border-radius:8px}.fcp-quality span{flex-basis:0;min-width:max-content;padding:6px 10px;font-size:var(--fs-xs);font-weight:700;color:var(--q);background:color-mix(in srgb,var(--q) 14%,#181b21);border-top:3px solid var(--q)}.fcp-quality em{font-style:normal;color:#fff}.fcp-steps ol{display:grid;grid-gap:var(--s2);gap:var(--s2);margin:0;padding:0;list-style:none;counter-reset:step}.fcp-steps li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s3);padding:var(--s3) var(--s4) var(--s3) calc(var(--s4) + 30px);position:relative;border-radius:10px;background:rgb(255 255 255/3%);border-left:3px solid var(--accent);counter-increment:step}.fcp-steps li:before{content:counter(step);position:absolute;left:var(--s3);display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:var(--fs-xs);font-weight:800;color:var(--fcp-ink);background:var(--accent)}.fcp-link-btn{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;color:var(--accent);font:inherit;font-size:var(--fs-s);font-weight:700;cursor:pointer}.fcp-link-btn:hover{text-decoration:underline}.fcp-glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));grid-gap:var(--s5);gap:var(--s5)}.fcp-rows{display:grid;grid-gap:var(--s3);gap:var(--s3);margin:0;padding:0;list-style:none}.fcp-rows li{display:grid;grid-gap:6px;gap:6px}.fcp-row-head{display:flex;justify-content:space-between;gap:var(--s3);font-weight:700}.fcp-val{font-size:var(--fs-s);font-weight:600;color:var(--text-2);white-space:nowrap}.fcp-gear{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,260px);grid-gap:var(--s5);gap:var(--s5);align-items:start}.fcp-doll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s2) var(--s3);gap:var(--s2) var(--s3)}.fcp-doll ul{display:grid;grid-gap:var(--s2);gap:var(--s2);align-content:start;margin:0;padding:0;list-style:none}.fcp-doll-weapons{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));padding-top:var(--s2)!important;border-top:1px dashed color-mix(in srgb,var(--accent) 20%,#2b2f36)}.fcp-slot{--q:#e8e4dc;display:grid;grid-gap:1px;gap:1px;min-width:0;padding:8px 12px;border:1px solid color-mix(in srgb,var(--q) 30%,#2a2e35);border-left:3px solid var(--q);border-radius:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--q) 10%,#161920),#14171d 70%)}.fcp-slot-name{font-size:var(--fs-xs);color:var(--text-2);text-transform:uppercase;letter-spacing:.06em}.fcp-slot-item{color:var(--q);overflow-wrap:anywhere}.fcp-slot-meta{font-size:var(--fs-xs);color:var(--text-2)}.fcp-slot.is-empty{--q:#4a4f58;border-style:dashed;background:transparent}.fcp-slot.is-empty .fcp-slot-item{color:#6c727c;font-style:italic}.fcp-slot.is-weak{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 70%,transparent),0 0 16px color-mix(in srgb,var(--accent) 22%,transparent)}.fcp-slot.is-weak .fcp-slot-meta{color:var(--accent);font-weight:700}.fcp-aside{display:grid;grid-gap:var(--s3);gap:var(--s3);padding:var(--s4);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:12px;background:color-mix(in srgb,var(--accent) 6%,rgb(255 255 255/2%))}.fcp-aside h3{margin:0}.fcp-tips{grid-gap:var(--s2);gap:var(--s2);padding-left:1.1em;font-size:var(--fs-s)}.fcp-cards,.fcp-tips{display:grid;margin:0}.fcp-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));grid-gap:var(--s4);gap:var(--s4);padding:0;list-style:none}.fcp-card{position:relative;display:grid;grid-gap:var(--s3);gap:var(--s3);align-content:start;padding:var(--s4);border:1px solid color-mix(in srgb,var(--accent) 22%,#2a2e35);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,#171a21),#14171d)}.fcp-card.is-ready{border-color:var(--accent);box-shadow:0 0 20px color-mix(in srgb,var(--accent) 25%,transparent)}.fcp-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s3)}.fcp-card-head h3{margin:0 0 2px;font-size:var(--fs-m);letter-spacing:0;text-transform:none;color:#fff}.fcp-tag{font-size:var(--fs-xs);color:var(--text-2)}.fcp-big{font-size:1.6rem;font-weight:800;line-height:1;white-space:nowrap;color:var(--accent)}.fcp-big span{font-size:var(--fs-s);font-weight:600;color:var(--text-2)}.fcp-big.is-word{font-size:var(--fs-m);padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent)}.fcp-tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:-4px 0 0;padding:0;list-style:none;font-size:11px;color:#6c727c}.fcp-tiers li{display:grid;min-width:0;overflow:hidden;text-overflow:ellipsis;border-left:1px solid #2f343c;padding-left:5px}.fcp-tiers li span{opacity:.8}.fcp-tiers li.is-done{color:color-mix(in srgb,var(--accent) 70%,#fff);border-color:var(--accent)}.fcp-status{margin:0;font-size:var(--fs-s)}.fcp-ladder{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-gap:3px;gap:3px;margin:0;padding:0;list-style:none}.fcp-ladder li{position:relative;height:10px;overflow:hidden;border-radius:2px;background:color-mix(in srgb,var(--accent) 10%,#2a2d33)}.fcp-ladder li.is-done{background:color-mix(in srgb,var(--accent) 55%,#2a2d33)}.fcp-ladder li.is-now{outline:1px solid var(--accent);outline-offset:1px}.fcp-ladder-fill{position:absolute;inset:0 auto 0 0;background:var(--accent);box-shadow:0 0 10px var(--accent)}.fcp-howto{position:relative;justify-self:start}.fcp-howto-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:color-mix(in srgb,var(--accent) 60%,#fff);font:inherit;font-size:var(--fs-xs);font-weight:700;cursor:pointer}.fcp-howto-btn:hover,.fcp-howto.is-open .fcp-howto-btn{background:color-mix(in srgb,var(--accent) 22%,transparent);color:#fff}.fcp-howto-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fcp-howto-tip{position:absolute;z-index:20;left:0;top:calc(100% + 8px);display:none;gap:var(--s2);width:min(320px,calc(100vw - 48px));padding:var(--s3) var(--s4);border:1px solid var(--accent);border-radius:10px;background:#0d0f14;box-shadow:0 16px 40px rgb(0 0 0/60%),0 0 20px color-mix(in srgb,var(--accent) 20%,transparent);font-size:var(--fs-s);text-align:left}.fcp-howto-tip:before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}.fcp-howto.is-open .fcp-howto-tip{display:grid}@media (hover:hover){.fcp-howto:hover .fcp-howto-tip{display:grid}}.fcp-howto-head{display:flex;justify-content:space-between;align-items:center;gap:var(--s2)}.fcp-howto-close{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--text-2);cursor:pointer}.fcp-howto-close:hover{background:rgb(255 255 255/8%);color:#fff}.fcp-howto-tip ul{display:grid;grid-gap:6px;gap:6px;margin:0;padding-left:1.1em}@media (max-width:860px){.fcp-body{grid-template-columns:minmax(0,1fr);min-height:0}.fcp-rail{flex-direction:row;overflow-x:auto;padding:var(--s2) var(--s3);border-right:0;border-bottom:1px solid color-mix(in srgb,var(--accent) 16%,#23272e);border-radius:0;scrollbar-width:none}.fcp-tab{width:auto;flex:none;padding:8px 12px}.fcp-gear{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.fcp-head,.fcp-pane{padding:var(--s4)}.fcp-doll{grid-template-columns:minmax(0,1fr)}.fcp-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.fcp-tab{width:100%}.fcp-tab em{display:none}}@media (prefers-reduced-motion:reduce){.fcp-pane{animation:none}.fcp-bar span{transition:none}}.ach{--tone:#e6bd62;--tone-deep:#6b4d12;--frame:#d9b45f;position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;min-height:calc(100vh - 64px);padding:40px 16px 56px;overflow:hidden;background:var(--night)}.ach-green{--tone:#4fe03a;--tone-deep:#125c0a}.ach-blue{--tone:#4aa3ff;--tone-deep:#0a3f85}.ach-epic{--tone:#c07cff;--tone-deep:#4d1a85}.ach-backdrop{z-index:-3;opacity:.55;filter:blur(22px) saturate(1.25);transform:scale(1.12)}.ach-backdrop,.ach-backdrop .art,.ach:before{position:absolute;inset:0}.ach:before{content:"";z-index:-2;background:radial-gradient(ellipse at 50% 42%,color-mix(in srgb,var(--tone) 42%,transparent),transparent 62%),linear-gradient(to bottom,rgb(8 10 16/45%),rgb(8 10 16/92%))}.ach-rays{position:absolute;top:42%;left:50%;z-index:-1;width:180vmax;height:180vmax;translate:-50% -50%;opacity:.16;background:repeating-conic-gradient(var(--tone) 0deg 7deg,transparent 7deg 20deg);-webkit-mask-image:radial-gradient(circle,#000 8%,transparent 48%);mask-image:radial-gradient(circle,#000 8%,transparent 48%);animation:ach-spin 80s linear infinite}@keyframes ach-spin{to{rotate:1turn}}.ach-sparks{position:absolute;inset:0;z-index:-1;pointer-events:none}.ach-sparks span{position:absolute;bottom:-10px;left:var(--x);width:var(--size);height:var(--size);border-radius:50%;background:color-mix(in srgb,var(--tone) 55%,#fff);box-shadow:0 0 10px 2px var(--tone);opacity:0;animation:ach-rise 7s linear var(--delay) infinite}@keyframes ach-rise{0%{opacity:0;transform:translateY(0)}12%{opacity:1}85%{opacity:.7}to{opacity:0;transform:translateY(-92vh)}}.ach-card{position:relative;width:min(100%,720px);border:2px solid var(--frame);border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--tone-deep) 42%,#11141c),#0e1118 62%);box-shadow:0 0 0 5px rgb(8 10 16/85%),0 0 0 7px color-mix(in srgb,var(--frame) 65%,transparent),0 0 70px color-mix(in srgb,var(--tone) 50%,transparent),0 30px 70px rgb(0 0 0/65%);animation:ach-rise-in .7s cubic-bezier(.2,.9,.3,1.15) both}@keyframes ach-rise-in{0%{opacity:0;transform:translateY(26px) scale(.96)}}.ach-art{position:relative;aspect-ratio:2/1;overflow:hidden;border-radius:12px 12px 0 0}.ach-art .art,.ach-art:after{position:absolute;inset:0}.ach-art:after{content:"";background:linear-gradient(to bottom,transparent 52%,color-mix(in srgb,var(--tone-deep) 42%,#11141c))}.ach-emblem{position:relative;display:grid;place-items:center;width:136px;height:136px;margin:-86px auto 0}.ach-halo{position:absolute;inset:-6px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--tone) 75%,transparent),transparent 68%);animation:ach-pulse 2.6s ease-in-out infinite}@keyframes ach-pulse{50%{opacity:.45;scale:1.18}}.ach-badge{position:relative;width:120px;height:120px;filter:drop-shadow(0 6px 12px rgb(0 0 0/70%)) drop-shadow(0 0 12px var(--tone))}.ach-body{display:grid;justify-items:center;grid-gap:16px;gap:16px;padding:8px clamp(18px,5vw,48px) 28px;text-align:center}.ach-ribbon{position:relative;margin:0;padding:8px 34px;color:#10131a;font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;background:linear-gradient(180deg,color-mix(in srgb,var(--tone) 72%,#fff),var(--tone));-webkit-clip-path:polygon(0 0,100% 0,calc(100% - 14px) 50%,100% 100%,0 100%,14px 50%);clip-path:polygon(0 0,100% 0,calc(100% - 14px) 50%,100% 100%,0 100%,14px 50%)}.ach-body h1{margin:0;max-width:18em;color:#fff8e8;opacity:1;font-size:clamp(30px,6vw,48px);line-height:1.12;overflow-wrap:anywhere;text-shadow:0 0 30px color-mix(in srgb,var(--tone) 55%,transparent)}.ach-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none}.ach-facts li{padding:4px 12px;border:1px solid color-mix(in srgb,var(--tone) 45%,transparent);border-radius:999px;font-size:14px;background:rgb(255 255 255/5%)}.ach-detail{position:relative;display:grid;grid-gap:4px;gap:4px;width:min(100%,460px);padding:14px 18px;overflow:hidden;border:1px solid var(--tone);border-radius:8px;background:rgb(6 8 14/82%);box-shadow:0 0 22px color-mix(in srgb,var(--tone) 38%,transparent),inset 0 0 18px color-mix(in srgb,var(--tone) 14%,transparent)}.ach-detail:after{content:"";position:absolute;inset:0 auto 0 -60%;width:40%;background:linear-gradient(100deg,transparent,rgb(255 255 255/18%),transparent);animation:ach-shine 4.5s ease-in-out infinite}@keyframes ach-shine{0%,55%{left:-60%}to{left:130%}}.ach-detail-label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.75}.ach-detail strong{color:var(--tone);font-size:clamp(18px,3.4vw,22px);overflow-wrap:anywhere}.ach-detail p{margin:0;font-size:14px;opacity:.85}.ach-hint{margin:0;font-size:17px;font-style:italic}.ach-fine{margin:0;max-width:56ch;opacity:.7}.achievement-page{max-width:760px}.achievement-gone{display:grid;grid-gap:var(--s3);gap:var(--s3);justify-items:start}@media (prefers-reduced-motion:reduce){.ach-card,.ach-detail:after,.ach-halo,.ach-rays,.ach-sparks{animation:none}.ach-sparks{display:none}}.book{--paper:#efe2c6;--paper-deep:#d9c59c;--ink:#2c2115;--ink-soft:#5d4d39;--gilt:#d9b45f;--leather:color-mix(in srgb,var(--accent) 30%,#1d110a);--leather-deep:color-mix(in srgb,var(--accent) 16%,#0e0805);font-family:Georgia,Times New Roman,serif}.book>.book-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-block:16px;font-family:var(--font)}.book-bar p{margin:0}.book-themes{display:flex;flex-wrap:wrap;gap:8px}.book-desk{padding:24px 16px 48px;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 65%)}.book-flip{display:grid;justify-items:center;grid-gap:20px;gap:20px}.book-flip.is-single{display:none}.book-stage{position:relative;perspective:2600px;touch-action:pan-y;transition:transform .95s cubic-bezier(.3,.7,.3,1)}.is-spread{--page-w:min(46vw,560px,calc((100vh - 170px) * 5 / 7))}.is-spread .book-stage{width:var(--page-w);aspect-ratio:5/7;margin-left:var(--page-w)}.is-spread .book-stage.is-closed{transform:translateX(-50%)}.is-spread .book-stage.is-ended{transform:translateX(50%)}.is-spread .book-stage.is-closed,.is-spread .book-stage.is-ended{cursor:pointer}.is-spread .book-stage.is-open:before{content:"";position:absolute;inset:6px -200% -10px -100%;left:-100%;right:-8px;z-index:0;border-radius:6px;background:repeating-linear-gradient(to bottom,var(--gilt) 0 1px,#a98a45 1px 2px);box-shadow:0 24px 50px rgb(0 0 0/55%),0 0 0 7px var(--leather-deep)}.book-sheet{position:absolute;inset:0;transform-origin:left center;transform-style:preserve-3d;transition:transform .95s cubic-bezier(.45,.05,.25,1)}.book-sheet.is-turned{transform:rotateY(-180deg)}.book-face{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:2px 5px 5px 2px}.book-back{transform:rotateY(180deg);border-radius:5px 2px 2px 5px}.book-fill{height:100%}.book-leather{position:relative;display:grid;place-items:center;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .45 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E"),radial-gradient(ellipse at 45% 35%,var(--leather),var(--leather-deep));box-shadow:inset 14px 0 18px -8px rgb(0 0 0/70%),inset 0 0 40px rgb(0 0 0/45%),0 18px 40px rgb(0 0 0/55%)}.book-leather,.book-tooling{height:100%;color:var(--gilt)}.book-tooling{position:absolute;inset:0;width:100%;opacity:.8;filter:drop-shadow(0 1px 0 rgb(0 0 0/70%))}.book-brass{position:absolute;width:34px;height:34px;background:linear-gradient(135deg,#e7c98a,#8a6a2c 55%,#5c4519);box-shadow:0 1px 3px rgb(0 0 0/70%)}.book-brass.tl{top:0;left:0;-webkit-clip-path:polygon(0 0,100% 0,0 100%);clip-path:polygon(0 0,100% 0,0 100%)}.book-brass.tr{top:0;right:0;-webkit-clip-path:polygon(0 0,100% 0,100% 100%);clip-path:polygon(0 0,100% 0,100% 100%)}.book-brass.bl{bottom:0;left:0;-webkit-clip-path:polygon(0 0,100% 100%,0 100%);clip-path:polygon(0 0,100% 100%,0 100%)}.book-brass.br{right:0;bottom:0;-webkit-clip-path:polygon(100% 0,100% 100%,0 100%);clip-path:polygon(100% 0,100% 100%,0 100%)}.book-cover-title{position:relative;display:grid;justify-items:center;grid-gap:12px;gap:12px;padding:48px;text-align:center;text-shadow:0 1px 1px rgb(0 0 0/80%)}.book-cover-title h1{margin:0;color:var(--gilt);font-family:inherit;font-size:clamp(30px,4.2vw,52px);line-height:1.1;overflow-wrap:anywhere}.book-kicker{margin:0;font-size:13px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.book-cover-face .book-theme{color:var(--gilt)}.book-theme{margin:0;font-size:clamp(16px,1.8vw,20px);font-style:italic}.book-medallion{display:grid;place-items:center;width:110px;height:110px;border:3px double var(--gilt);border-radius:50%;color:var(--accent);font-size:50px;background:radial-gradient(circle,rgb(0 0 0/15%),rgb(0 0 0/50%));animation:book-glow 3.6s ease-in-out infinite}@keyframes book-glow{50%{box-shadow:0 0 26px color-mix(in srgb,var(--gilt) 55%,transparent)}}.book-open-hint{position:absolute;bottom:44px;font-size:13px;font-style:italic;opacity:.8}.book-endpaper{height:100%;background:radial-gradient(circle at 20% 25%,color-mix(in srgb,var(--accent) 45%,transparent),transparent 30%),radial-gradient(circle at 75% 60%,rgb(217 180 95/35%),transparent 34%),radial-gradient(circle at 40% 85%,color-mix(in srgb,var(--accent) 30%,transparent),transparent 28%),var(--leather-deep);box-shadow:inset 0 0 50px rgb(0 0 0/60%)}.book-paper{position:relative;display:grid;align-content:center;justify-items:start;grid-gap:12px;gap:12px;height:100%;padding:clamp(24px,3.4vw,48px);overflow-y:auto;color:var(--ink);background:radial-gradient(ellipse at 50% 45%,transparent 55%,rgb(120 85 40/28%)),linear-gradient(135deg,var(--paper),var(--paper-deep));box-shadow:inset 26px 0 26px -20px rgb(60 35 10/55%)}.book-back .book-paper{box-shadow:inset -26px 0 26px -20px rgb(60 35 10/55%)}.book-paper h2{margin:0;color:var(--ink);font-family:inherit;font-size:clamp(24px,2.8vw,36px);line-height:1.15}.book-ahead-page,.book-end-page,.book-title-page{justify-items:center;text-align:center}.book-portrait{width:min(62%,220px);aspect-ratio:1;overflow:hidden;border:3px double #8a6a2c;border-radius:50%}.book-portrait .art{width:100%;height:100%}.book-heart{max-width:40ch;margin:0;color:var(--ink-soft);font-size:15px}.book-count{margin:0;color:#7a5a1c;font-size:14px;font-weight:700}.book-art-page{padding:clamp(16px,2.2vw,28px);align-content:stretch;justify-items:stretch}.book-plate{position:relative;overflow:hidden;border:6px double #8a6a2c;box-shadow:0 2px 10px rgb(60 35 10/45%)}.book-art-page .book-plate{min-height:0;height:100%}.book-plate .art{position:absolute;inset:0}.book-date{display:inline-flex;align-items:center;gap:8px;margin:0;color:var(--ink-soft);font-size:14px;font-style:italic}.book-rule{color:#8a6a2c;font-size:22px;line-height:1}.book-hint{margin:0;color:var(--ink-soft)}.tone-green h2{color:#1c6b12}.tone-blue h2{color:#0a4f9c}.tone-epic h2{color:#6c20a8}.book-note{margin:0;padding:4px 0 4px 14px;border-left:3px solid #8a6a2c;color:var(--ink);font-size:17px;font-style:italic;overflow-wrap:anywhere}.book-end-page .book-note{padding:0;border:0;font-size:22px}.book-folio{position:absolute;bottom:10px;left:0;right:0;color:var(--ink-soft);font-size:13px;text-align:center}.book-write{width:100%;font-family:var(--font)}.book-write summary{display:inline-flex;align-items:center;gap:6px;color:var(--ink-soft);font-size:14px;font-weight:700;cursor:pointer}.book-write form{display:grid;grid-gap:8px;gap:8px;margin-top:8px;justify-items:start}.book-write label{color:var(--ink-soft)}.book-write textarea{width:100%}.book-ahead-page ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0;padding:0;list-style:none}.book-ahead-page li{padding:4px 10px;border:1px dashed #8a6a2c;border-radius:999px;color:var(--ink-soft);font-size:13px}.book-sparkles{position:absolute;top:55%;left:0;z-index:200;pointer-events:none}.book-stage.is-closed .book-sparkles{left:50%}.book-sparkles span{position:absolute;width:var(--size);height:var(--size);border-radius:50%;background:#ffe7a6;box-shadow:0 0 8px 2px rgb(255 214 120/80%);opacity:0;animation:book-spark 1.1s ease-out var(--delay) forwards}@keyframes book-spark{0%{opacity:0;transform:translate(0) scale(.4)}20%{opacity:1}to{opacity:0;transform:translate(var(--x),var(--y)) scale(1)}}.book-controls{position:relative;z-index:300;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;font-family:var(--font)}.book-where{min-width:110px;text-align:center;font-size:14px;opacity:.85}.is-single .book-stage{width:min(100%,420px,calc((100vh - 150px) * 5 / 8));aspect-ratio:5/8}.is-single{width:100%}.book-combined{display:grid;grid-template-rows:2fr 3fr;height:100%;background:var(--paper)}.book-combined .book-plate{border-width:0 0 6px}.book-combined .book-paper{min-height:0;align-content:start;padding:20px 20px 32px}@media (max-width:800px){.book-flip.is-spread{display:none}.book-flip.is-single{display:grid}.book-medallion{width:84px;height:84px;font-size:38px}}@media (prefers-reduced-motion:reduce){.book-sheet,.book-stage{transition:none}.book-sparkles{display:none}.book-medallion{animation:none}}