.wv{--gold:#eac578;--ink:#f4ead7;--muted:#b9b2a5;--edge:#4b4539;--accent:#91d9f4;max-width:1360px;margin:auto;padding:34px 30px 90px;color:var(--ink);font:16px/1.55 Inter,system-ui,sans-serif}.wv *{box-sizing:border-box}.wv button,.wv input,.wv select{font:inherit}.wv button{cursor:pointer}.wv button:disabled{cursor:not-allowed;opacity:.42}.wv a{color:var(--gold)}.wv :focus-visible{outline:3px solid #f6d18b;outline-offset:4px}.wv h1{font:700 clamp(34px,4.7vw,58px)/1.08 'Space Grotesk',Inter,sans-serif;letter-spacing:-.04em;margin:20px 0 14px}.wv h2{font:700 clamp(28px,3.5vw,44px)/1.15 'Space Grotesk',Inter,sans-serif;margin:0 0 16px;letter-spacing:-.025em}.wv h3{font-size:20px;line-height:1.25;margin:0 0 12px}.wv p{margin:0 0 16px}.wv .eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:800}.wv .muted{color:var(--muted)}.wv .small{font-size:13px}.wv .top-intro{max-width:750px}.wv .top-intro>p{font-size:19px;color:#d0cabf}.wv .crumb{font-size:13px;color:var(--muted);margin-bottom:30px}.wv .step{display:flex;align-items:center;gap:12px;margin:38px 0 18px;font-size:17px;font-weight:700}.wv .step b{display:grid;place-items:center;border:1px solid #8b6b37;background:#302719;width:28px;height:28px;border-radius:50%;font-size:13px;color:var(--gold)}.wv .filters,.wv .tabs,.wv .actions{display:flex;gap:8px;flex-wrap:wrap}.wv .filters{margin-bottom:18px}.wv .pill,.wv .action,.wv .tab{border:1px solid var(--edge);color:#dbd4c7;background:#201f1d;border-radius:7px;padding:10px 15px;font-size:13px;font-weight:650;line-height:1.35}.wv .pill[aria-pressed=true],.wv .tab[aria-selected=true]{color:#221b11;background:var(--gold);border-color:var(--gold)}.wv .action.primary{color:#221b11;background:var(--gold);border-color:var(--gold)}.wv .roster{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:10px}.wv .class-card{position:relative;min-width:0;overflow:hidden;border-radius:12px;border:1px solid #474035;background:radial-gradient(ellipse at 50% 65%,color-mix(in srgb,var(--class) 14%,transparent),transparent 72%),#1d1c1a;color:#e2d7c5;padding:4px 5px 14px;transition:border-color .2s,transform .2s}.wv .class-card[aria-pressed=true]{border-color:var(--class);box-shadow:inset 0 0 0 1px var(--class),0 7px 25px #0004;color:var(--class)}.wv .class-card:hover{transform:translateY(-4px);border-color:var(--class)}.wv .class-card img{width:100%;height:165px;object-fit:contain;display:block;transition:transform .25s}.wv .class-card:hover img{transform:scale(1.055)}.wv .class-card strong{display:block;font-size:14px}.wv .class-card[hidden]{display:none}.wv .class-profile{display:grid;grid-template-columns:1fr 330px;align-items:center;gap:30px;margin:30px 0 0;padding:28px 40px;border:1px solid #3e3b34;border-radius:16px;background:radial-gradient(ellipse at 90% 60%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 60%),linear-gradient(110deg,#22211e,#191a1b);min-height:350px;scroll-margin-top:100px}.wv .class-profile h2{color:var(--accent)}.wv .class-profile .lead{font-size:21px;max-width:600px}.wv .portrait{width:100%;height:330px;object-fit:contain;filter:drop-shadow(0 15px 24px #0007)}.wv .role-chips{display:flex;flex-wrap:wrap;gap:9px}.wv .role-chip{font-size:13px;border:1px solid #514c41;border-radius:6px;padding:7px 10px;color:#d8d2c7}.wv .class-profile .class-help{font-size:14px;color:var(--muted);max-width:620px}.wv .section-title{display:flex;gap:20px;align-items:center;justify-content:space-between;margin:22px 0 16px}.wv .section-title h3{margin:0}.wv .explain{max-width:800px;font-size:17px;color:#c9c3b7}.wv .tabs{margin:26px 0 22px;border-bottom:1px solid #3b3933;padding-bottom:14px}.wv .tab{padding:11px 18px;font-size:14px}.wv .tab small{display:block;font-size:10px;font-weight:400;opacity:.8}.wv .builder-top{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;border:1px solid #4e4431;border-radius:12px;padding:20px 24px;background:linear-gradient(115deg,#2c261c,#211f1c)}.wv .builder-top h3{margin:0 0 6px}.wv .build-state{display:flex;gap:12px;align-items:center}.wv .counter{display:grid;place-items:center;width:74px;height:74px;flex:none;border-radius:50%;border:3px solid var(--gold);background:#191916;line-height:1.1;text-align:center}.wv .counter strong{font-size:24px}.wv .counter small{font-size:10px;display:block;font-weight:400;color:#c9bdab}.wv .budget{margin-top:16px;display:flex;height:6px;border-radius:8px;background:#101010;overflow:hidden}.wv .budget span{height:100%;transition:width .2s}.wv .legend{font-size:12px;color:var(--muted);margin:12px 0}.wv .legend span{margin-right:18px}.wv .legend i{display:inline-block;width:10px;height:10px;border:1px solid #756953;border-radius:2px;margin-right:5px}.wv .legend i.on{background:#dcb365}.wv .build-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start;margin-top:18px}.wv .trees{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}.wv .tree{min-width:0;border:1px solid #5a4e36;border-radius:12px;overflow:hidden;background:radial-gradient(ellipse at 40% 0%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 65%),#191a19}.wv .tree-heading{padding:14px 10px;background:linear-gradient(#373023,#24211c);border-bottom:1px solid #5a4e36;text-align:center}.wv .tree-heading h3{font-size:16px;margin:0 0 3px}.wv .tree-heading small{font-size:12px;color:#cabb9d}.wv .tree-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:82px;gap:6px 2px;padding:18px 8px 8px;isolation:isolate}.wv .node-cell{position:relative;display:flex;justify-content:flex-start;align-items:center;flex-direction:column;min-width:0;z-index:2}.wv .talent{position:relative;display:block;width:44px;height:44px;border-radius:7px;border:2px solid #686357;box-shadow:0 2px 4px #000c,inset 0 0 0 1px #000;background:#181818;color:#bdb7a7;padding:0;transition:filter .15s,border-color .15s;isolation:isolate}.wv .talent img{width:100%;height:100%;border-radius:4px;object-fit:cover;opacity:.6;filter:saturate(.4)}.wv .talent.on{border-color:#eac578;box-shadow:0 0 8px #eac57830,0 3px 6px #000}.wv .talent.on img{opacity:1;filter:none}.wv .talent.maxed{border-color:#82b362}.wv .talent.chosen{outline:2px solid #fff0ce;outline-offset:3px}.wv .rank-badge{position:absolute;bottom:-8px;right:-5px;background:#141413;border:1px solid #8c7a51;border-radius:3px;font-size:10px;color:#ecdcba;line-height:1.4;padding:0 3px;min-width:23px;font-weight:700}.wv .node-name{font-size:8px;line-height:1.15;text-align:center;margin-top:12px;color:#b6ae9c;max-width:66px;overflow-wrap:anywhere}.wv .node-cell.has-points .node-name{color:#f0ddbc}.wv .tree-lines{position:absolute;inset:18px 8px 8px;z-index:0;width:calc(100% - 16px);height:calc(100% - 26px);pointer-events:none;overflow:visible}.wv .warn{display:inline-grid;place-items:center;border:1px solid #a8843d;background:#352919;color:#ffd88b;border-radius:50%;width:19px;height:19px;padding:0;font:bold 11px/1 system-ui;vertical-align:middle;flex:none}.wv .node-cell>.warn{position:absolute;top:-5px;right:0;z-index:4;width:16px;height:16px;font-size:10px}.wv .warn.conflict{background:#35201d;color:#edb9a4;border-color:#96634d}.wv .inspect{border:1px solid #5f5035;border-radius:12px;background:linear-gradient(140deg,#29251e,#1c1c1b);padding:23px;position:sticky;top:100px;min-height:340px}.wv .inspect-icon{width:62px;height:62px;object-fit:cover;border:2px solid #b19251;border-radius:9px;margin-bottom:14px;box-shadow:0 4px 12px #0008}.wv .inspect h3{font-size:22px;line-height:1.2;margin-bottom:7px}.wv .inspect .effect{font-size:14px;color:#d8d0c0;line-height:1.65;margin:18px 0;padding:15px 0;border-top:1px solid #494133;border-bottom:1px solid #494133}.wv .inspect .actions{margin:16px 0}.wv .inspect button.rank-change{width:42px;height:38px;border:1px solid #998159;background:#3b3020;color:#f6e1ba;border-radius:5px;font-size:23px;line-height:1}.wv .inspect .point-edit{display:flex;gap:12px;align-items:center}.wv .inspect .point-edit strong{font-size:17px}.wv .inspect .rank-read{display:flex;align-items:center;gap:8px;margin:16px 0;color:var(--muted);font-size:12px}.wv select,.wv input{color:#ece3d2;background:#141514;border:1px solid #6c604b;border-radius:6px;padding:9px 10px;max-width:100%}.wv .inspect a{font-size:12px}.wv .message{font-size:13px;color:#e9ca8c;min-height:24px;margin:10px 0}.wv .mobile-trees{display:none}.wv .spell-toolbar{display:flex;gap:12px;align-items:center;margin:12px 0 20px;flex-wrap:wrap}.wv .spell-toolbar input[type=search]{flex:1;min-width:160px}.wv .spell-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.wv .spell-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.wv .spell-card{position:relative;display:flex;align-items:center;gap:12px;padding:12px;text-align:left;border:1px solid #494236;border-radius:9px;background:#201f1c;color:#e8dfce;min-height:85px;min-width:0}.wv .spell-card.selected{border-color:var(--gold);background:#30291f}.wv .spell-card img{width:42px;height:42px;border-radius:6px;flex:none;border:1px solid #746142}.wv .spell-card strong{display:block;font-size:13px;line-height:1.25}.wv .spell-card small{color:var(--muted);font-size:10px}.wv .spell-card .warn-dot{position:absolute;top:5px;right:5px;color:#f8d38c;font-size:12px}.wv .fallback{display:grid;place-items:center;width:40px;height:40px;font-size:21px;color:var(--accent)}.wv .notes{margin-top:45px;border-top:1px solid #494137;padding-top:20px;font-size:13px;color:var(--muted)}.wv .notes details{margin-bottom:15px}.wv summary{cursor:pointer;color:#d9c6a1}.wv .case-row{display:flex;align-items:center;gap:12px;border-top:1px solid #39372f;padding:10px 0;font-size:12px}.wv .case-row small{display:block;color:#9e9789}.wv .art-credit{font-size:11px;color:#8d8a82;margin-top:14px}.wv .source-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:15px}.wv .empty{padding:40px;color:#c7bdac;border:1px dashed #60513a;border-radius:10px}.wv [hidden]{display:none!important}.wv-tooltip{position:fixed;z-index:2147483000;max-width:min(340px,calc(100vw - 24px));background:#161819;color:#f4ead7;border:1px solid #b39150;border-radius:8px;padding:14px 17px;box-shadow:0 10px 40px #000c;font:13px/1.55 Inter,system-ui,sans-serif;pointer-events:none}.wv-tooltip.pinned{pointer-events:auto}.wv-tooltip strong{display:block;color:#f2d08b;margin-bottom:5px}.wv-tooltip button{float:right;margin:-6px -8px 4px 8px;background:none;border:0;color:#e8d4b4;cursor:pointer;font-size:18px}.wv-tooltip[hidden]{display:none}.wv .download{display:none}@media(min-width:1500px){.wv{max-width:1440px}.wv .talent{width:50px;height:50px}.wv .tree-grid{grid-auto-rows:88px}}@media(max-width:1100px){.wv{padding:28px 22px 70px}.wv .roster{grid-template-columns:repeat(9,110px);overflow-x:auto;padding:5px 3px 12px;scroll-snap-type:x mandatory}.wv .class-card{scroll-snap-align:center}.wv .class-card img{height:145px}.wv .build-layout{grid-template-columns:minmax(0,1fr) 270px}.wv .trees{grid-template-columns:1fr}.wv .tree{display:none}.wv .tree.active{display:block}.wv .tree-grid{grid-auto-rows:95px;gap:6px 10px;padding:25px}.wv .talent{width:55px;height:55px}.wv .node-name{font-size:10px;max-width:85px}.wv .mobile-trees{display:flex;gap:7px;margin:16px 0;flex-wrap:wrap}.wv .mobile-trees button{flex:1}.wv .node-cell>.warn{right:10px}.wv .tree-lines{inset:25px;width:calc(100% - 50px);height:calc(100% - 50px)}.wv .spell-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.wv{padding:22px 17px 60px}.wv .crumb{margin-bottom:24px}.wv .top-intro>p{font-size:16px}.wv .step{margin-top:28px}.wv .filters{gap:6px}.wv .pill{padding:9px 11px;font-size:12px}.wv .roster{grid-template-columns:repeat(9,100px);gap:8px}.wv .class-card img{height:130px}.wv .class-profile{grid-template-columns:1fr;position:relative;padding:24px 20px;gap:0;min-height:0}.wv .class-profile .portrait{height:260px;grid-row:1;margin-bottom:16px}.wv .class-profile .lead{font-size:20px}.wv .class-profile .class-help{font-size:13px}.wv .tabs{gap:6px}.wv .tab{flex:1;padding:10px 7px;font-size:12px}.wv .build-layout,.wv .spell-layout{grid-template-columns:1fr}.wv .builder-top{grid-template-columns:1fr;padding:18px}.wv .builder-top .actions{gap:7px}.wv .action{font-size:12px;padding:10px 12px}.wv .build-state{align-items:flex-start}.wv .counter{width:65px;height:65px}.wv .counter strong{font-size:21px}.wv .inspect{position:static;scroll-margin-top:95px;padding:20px}.wv .inspect-icon{float:left;width:48px;height:48px;margin:0 15px 16px 0}.wv .inspect .effect{clear:both}.wv .tree-grid{grid-auto-rows:90px;gap:5px 9px;padding:22px 15px}.wv .tree-lines{inset:22px 15px;width:calc(100% - 30px);height:calc(100% - 44px)}.wv .talent{width:48px;height:48px}.wv .node-cell>.warn{right:7px}.wv .node-name{font-size:9px;max-width:70px}.wv .spell-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wv .spell-card{padding:10px 8px;gap:8px;min-height:85px}.wv .spell-card img{width:32px;height:32px}.wv .spell-card strong{font-size:11px}.wv .section-title{align-items:flex-start}.wv .explain{font-size:15px}.wv .role-chip{font-size:12px}.wv .mobile-trees .pill{font-size:11px;padding:10px 5px}.wv .inspect .rank-read select{min-width:100px}.wv .message{font-size:12px}}

.wv .roster-hint,.wv .back-tree{display:none}@media(max-width:1100px){.wv .roster-hint{display:block;margin-top:7px}}@media(max-width:650px){.wv .back-tree{display:block;margin-bottom:20px}.wv .trees{scroll-margin-top:95px}}

.gh-main:has(.wv){display:block;width:100%;max-width:none;min-width:0}.wv{width:100%;min-width:0}.wv .roster{width:100%;min-width:0;max-width:100%}.wv .build-layout>*,.wv .spell-layout>*{min-width:0}.wv .inspect{min-width:0;overflow-wrap:anywhere}

.wv.guide{max-width:1360px}.guide .guide-meta{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 30px;color:#c4bcaa;font-size:12px}.guide .guide-meta span{border:1px solid #4c4437;border-radius:5px;padding:6px 10px}.guide .guide-section{margin-top:54px}.guide .guide-section>h2{font-size:29px;margin-bottom:22px;scroll-margin-top:110px}.guide .guide-section p{font-size:17px;line-height:1.65;margin-bottom:22px}.guide .guide-intro p{max-width:1010px;font-size:18px}.guide .guide-play{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:34px;align-items:stretch;border:1px solid #443e34;border-radius:14px;padding:30px;background:radial-gradient(ellipse at 90% 50%,#22425444,transparent 65%),#1d1e1d}.guide .guide-play img{width:100%;height:100%;max-height:570px;object-fit:contain;min-width:0}.guide .guide-play p{font-size:16px}.guide .guide-play h2{font-size:29px}.guide .guide-toc{border:1px solid #514737;border-radius:9px;padding:14px 20px;margin:25px 0 35px;max-width:760px}.guide .guide-toc ol{margin:15px 0 0;padding-left:22px}.guide .guide-toc li{padding:5px 0;font-size:14px}.guide .explain-grid,.guide .situation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.guide .explain-card,.guide .situation{border:1px solid #4f4433;border-radius:12px;background:linear-gradient(140deg,#28251e,#1c1d1c);padding:25px;min-width:0}.guide .explain-card h3,.guide .situation h3{font-size:21px;color:#ead1a3}.guide .explain-card p,.guide .situation p{font-size:15px;margin-bottom:16px}.guide .explain-card p:last-child,.guide .situation p:last-child{margin-bottom:0}.guide .section-icon{width:45px;height:45px;border:1px solid #9c8153;border-radius:7px;object-fit:cover;margin-bottom:16px}.guide .allocation-details{margin:24px 0;border:1px solid #4b4435;padding:16px 20px;border-radius:10px}.guide .allocation-details table{width:100%;border-collapse:collapse;font-size:14px;margin-top:20px}.guide th,.guide td{text-align:left;border-bottom:1px solid #3f3b32;padding:10px 8px}.guide th:last-child,.guide td:last-child{text-align:right}.guide .guide-plain{max-width:1050px}.guide .guide-plain p{max-width:960px}.guide .scene-controls{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.guide .situation[hidden]{display:none}.guide .version-icon{margin-left:7px}.guide .reference-stubs{display:none}.guide .guide-note{font-size:13px;color:#b9ad95}.guide .static-tree-head{display:flex;gap:14px;align-items:center}.guide .static-points{color:#e6c478;font-size:28px}.guide .static-seed p{font-size:13px}.guide #view-content .explain{font-size:15px}.guide #view-content .builder-top p{font-size:12px;margin:0}.guide .tree-heading h3{font-size:16px}.guide .notes p{font-size:13px}.guide .mini-concepts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.guide .mini-concept{padding:16px;background:#20241f;border:1px solid #515043;border-radius:9px;font-size:13px}.guide .mini-concept strong{display:block;color:#e9d3ad;margin-bottom:6px}.guide .mini-concept img{width:34px;height:34px;float:left;margin-right:10px;border-radius:5px}.guide .guide-hero-title{max-width:1000px}.guide .guide-hero-title h1{font-size:clamp(34px,4.2vw,54px)}@media(max-width:700px){.guide .guide-play{grid-template-columns:1fr;padding:22px;gap:15px}.guide .guide-play img{max-height:300px;grid-row:2}.guide .explain-grid,.guide .situation-grid{grid-template-columns:1fr}.guide .guide-section{margin-top:38px}.guide .guide-section>h2,.guide .guide-play h2{font-size:26px}.guide .guide-intro p,.guide .guide-section p{font-size:16px}.guide .explain-card p,.guide .situation p{font-size:15px}.guide .mini-concepts{grid-template-columns:1fr}.guide .allocation-details{padding:12px}.guide .allocation-details table{font-size:12px}.guide .guide-meta{font-size:11px}}
/* Responsive refinements: preserve the existing art, palette and FOREVER data. */
@media (max-width:1100px) {
  .guide .builder-top { grid-template-columns:minmax(0,1fr); }
  .guide .builder-top .actions { width:100%; }
  .guide .builder-top .actions .action { min-height:44px; }
  .guide .inspect button.rank-change { width:44px; height:44px; }
  .guide .inspect select { min-height:44px; }
  .guide .warn { position:relative; }
  .guide .warn::after { content:""; position:absolute; inset:-13px; border-radius:50%; }
  .guide .node-cell>.warn { position:absolute; }
  .guide .node-cell>.warn::after { inset:-14px; }
  .wv-tooltip.pinned button { min-width:44px; min-height:44px; margin:-12px -12px 0 5px; }
}
@media (min-width:701px) and (max-width:900px) {
  .guide .guide-play { grid-template-columns:minmax(0,1fr); gap:18px; }
  .guide .guide-play img { height:300px; max-height:300px; grid-row:2; }
}

.guide .guide-play li{margin-bottom:10px;font-size:16px;line-height:1.65}.guide .guide-play ul{padding-left:24px}.guide .guide-play li:last-child{margin-bottom:20px}
