:root{--bg:#0a0c10;--bg-raise:#11141b;--bg-card:#141823;--border:#232a3a;--border-bright:#35405a;--text:#e8e6e3;--text-dim:#9aa3b5;--text-faint:#616b80;--gold:#f0c75e;--gold-dim:#b6923a;--accent:#4aa3ff;--new:#4ade80;--changed:#facc15;--radius:10px;--font-display:"Cinzel", "Georgia", serif;--font-body:-apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(1100px 500px at 70% -10%,#4aa3ff14,#0000 60%),radial-gradient(900px 420px at 10% 0,#f0c75e0f,#0000 55%);position:fixed;inset:0}main{z-index:1;position:relative}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.2}img{max-width:100%}.container{max-width:1200px;margin:0 auto;padding:0 20px}.site-header{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#0a0c10d9;position:sticky;top:0}.site-header .container{align-items:center;gap:28px;height:60px;display:flex}.brand{font-family:var(--font-display);color:var(--gold);letter-spacing:.04em;white-space:nowrap;font-size:1.15rem}.brand:hover{color:#ffd873;text-decoration:none}.brand .infinity{color:var(--accent);margin-right:6px}.site-nav{gap:20px;margin-left:auto;display:flex}.site-nav a{color:var(--text-dim);font-size:.95rem}.site-nav a:hover{color:var(--text);text-decoration:none}.nav-toggle{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;margin-left:auto;padding:8px;display:none}.nav-toggle-icon{width:20px;display:block}.nav-toggle-icon span{background:var(--gold);border-radius:2px;height:2px;margin:4px 0;transition:transform .18s,opacity .18s;display:block}.nav-toggle-icon.open span:first-child{transform:translateY(6px)rotate(45deg)}.nav-toggle-icon.open span:nth-child(2){opacity:0}.nav-toggle-icon.open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.mobile-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#0a0c10f7;flex-direction:column;display:none;position:absolute;top:60px;left:0;right:0}.mobile-nav a{color:var(--text-dim);border-top:1px solid var(--border);padding:14px 20px;font-size:1rem}.mobile-nav a:hover{color:var(--text);background:var(--bg-card);text-decoration:none}@media (max-width:767px){.site-nav{display:none}.nav-toggle{display:block}.mobile-nav.open{display:flex}}.hero{text-align:center;padding:72px 0 48px}.hero h1{background:linear-gradient(180deg, #ffe9ad, var(--gold) 55%, var(--gold-dim));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 14px;font-size:clamp(2rem,5vw,3.4rem)}.hero p.tagline{color:var(--text-dim);max-width:640px;margin:0 auto 26px;font-size:1.15rem}.hero .cta-row{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.btn{border-radius:var(--radius);border:1px solid var(--border-bright);color:var(--text);padding:11px 22px;font-size:.95rem;font-weight:600;transition:transform .12s,border-color .12s;display:inline-block}.btn:hover{border-color:var(--gold-dim);text-decoration:none;transform:translateY(-1px)}.btn-gold{background:linear-gradient(180deg, #f5d478, var(--gold-dim));color:#201a08;border-color:#0000}.btn-gold:hover{filter:brightness(1.06);border-color:#0000}.countdown-band{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-raise);flex-wrap:wrap;justify-content:center;gap:40px;padding:22px 0;display:flex}.countdown-item{text-align:center}.countdown-item .label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);font-size:.78rem}.countdown-item .value{color:var(--gold);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.section{padding:56px 0}.section-head{align-items:baseline;gap:16px;margin-bottom:26px;display:flex}.section-head h2{margin:0;font-size:1.6rem}.section-head .more{color:var(--text-dim);margin-left:auto;font-size:.9rem}.class-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.class-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);align-items:center;gap:14px;padding:16px;transition:border-color .12s,transform .12s;display:flex}.class-card:hover{border-color:var(--class-color,var(--border-bright));text-decoration:none;transform:translateY(-2px)}.class-card img{border:1px solid var(--border-bright);border-radius:8px;width:44px;height:44px}.class-card .name{color:var(--class-color,var(--text));font-weight:700}.class-card .meta{color:var(--text-faint);font-size:.8rem}.class-card .meta .n-new{color:var(--new)}.class-card .meta .n-changed{color:var(--changed)}.guide-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.guide-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:20px;transition:border-color .12s,transform .12s;display:block}.guide-card:hover{border-color:var(--gold-dim);text-decoration:none;transform:translateY(-2px)}.guide-card h3{color:var(--gold);margin:0 0 8px;font-size:1.1rem}.guide-card p{color:var(--text-dim);margin:0;font-size:.9rem}.stat-band{flex-wrap:wrap;gap:16px;display:flex}.stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex:160px;padding:18px}.stat .num{color:var(--gold);font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:700}.stat .cap{color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.calc-header{flex-wrap:wrap;align-items:center;gap:16px;padding:26px 0 14px;display:flex}.calc-header h1{margin:0;font-size:1.7rem}.calc-header img.class-icon{border:1px solid var(--border-bright);border-radius:8px;width:46px;height:46px}.calc-summary{font-variant-numeric:tabular-nums;align-items:center;gap:14px;margin-left:auto;display:flex}.calc-summary .split{color:var(--gold);font-size:1.05rem;font-weight:700}.calc-summary .left{color:var(--text-dim);font-size:.9rem}.calc-summary .level{color:var(--text-faint);font-size:.9rem}.calc-actions{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.calc-actions button{background:var(--bg-card);color:var(--text);border:1px solid var(--border-bright);cursor:pointer;border-radius:8px;padding:8px 16px;font-size:.88rem}.calc-actions button:hover{border-color:var(--gold-dim)}.class-switcher{flex-wrap:wrap;gap:8px;margin:8px 0 20px;display:flex}.class-switcher a{border:1px solid var(--border);color:var(--text-dim);border-radius:999px;padding:5px 12px;font-size:.85rem;display:inline-flex}.class-switcher a:hover{border-color:var(--class-color);color:var(--class-color);text-decoration:none}.class-switcher a.active{border-color:var(--class-color);color:var(--class-color);background:var(--bg-card)}.trees{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}@media (max-width:980px){.trees{grid-template-columns:1fr}}.tree{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.tree-head{background:var(--bg-raise);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 14px;display:flex}.tree-head img{border-radius:6px;width:28px;height:28px}.tree-head .tname{font-weight:700}.tree-head .tpoints{color:var(--gold);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.tree-head button.treset{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:.8rem}.tree-head button.treset:hover{color:var(--text)}.tree-grid{grid-template-columns:repeat(4,1fr);gap:10px;padding:16px;display:grid;position:relative}.talent{justify-content:center;display:flex;position:relative}.talent button{border:2px solid var(--border-bright);cursor:pointer;background:#000;border-radius:9px;width:46px;height:46px;padding:0;transition:border-color .1s;position:relative}.talent img{border-radius:7px;width:100%;height:100%;display:block}.talent .rank{background:var(--bg);border:1px solid var(--border-bright);text-align:center;min-width:20px;color:var(--text-dim);font-variant-numeric:tabular-nums;border-radius:6px;padding:0 3px;font-size:.72rem;font-weight:700;position:absolute;bottom:-6px;right:-6px}.talent.locked button{filter:grayscale()brightness(.45);cursor:not-allowed}.talent.open button{border-color:#3f9142}.talent.open .rank{color:var(--new);border-color:#3f9142}.talent.maxed button{border-color:var(--gold)}.talent.maxed .rank{color:var(--gold);border-color:var(--gold)}.talent .badge{border:1px solid var(--bg);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-4px}.talent .badge.new{background:var(--new)}.talent .badge.changed{background:var(--changed)}.tooltip{z-index:40;border:1px solid var(--border-bright);border-radius:var(--radius);pointer-events:none;text-align:left;background:#0d1017;width:300px;padding:12px 14px;font-size:.83rem;line-height:1.45;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0009}.tooltip.below{top:calc(100% + 10px);bottom:auto}.tooltip.left-edge{left:0;transform:none}.tooltip.right-edge{left:auto;right:0;transform:none}.tooltip .t-name{color:var(--gold);font-weight:700}.tooltip .t-rank{color:var(--text-faint);margin-bottom:6px;font-size:.76rem}.tooltip .t-desc{color:var(--text)}.tooltip .t-next{color:var(--text-dim);margin-top:6px}.tooltip .t-next em{color:var(--text-faint);font-size:.76rem;font-style:normal}.tooltip .t-status{margin-top:8px;font-size:.76rem}.tooltip .t-status.new{color:var(--new)}.tooltip .t-status.changed{color:var(--changed)}.tooltip .t-status.unchanged{color:var(--text-faint)}.tooltip .t-classic{border-top:1px solid var(--border);color:var(--text-faint);margin-top:6px;padding-top:6px;font-size:.76rem}.tooltip .t-req{color:#f87171;margin-top:6px;font-size:.78rem}.legend{color:var(--text-dim);flex-wrap:wrap;gap:18px;margin:18px 0 8px;font-size:.82rem;display:flex}.legend .dot{border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.legend .dot.new{background:var(--new)}.legend .dot.changed{background:var(--changed)}.legend .dot.unchanged{background:var(--text-faint)}.copied-note{color:var(--new);align-self:center;font-size:.85rem}.article{max-width:780px;margin:0 auto;padding:40px 20px 80px}.article h1{color:var(--gold);margin-bottom:6px;font-size:2.1rem}.article .updated{color:var(--text-faint);margin-bottom:28px;font-size:.85rem}.article h2{color:var(--gold);border-bottom:1px solid var(--border);margin-top:40px;padding-bottom:8px;font-size:1.45rem}.article h3{margin-top:28px;font-size:1.15rem}.article p,.article li{color:var(--text);font-size:1rem}.article code{background:var(--bg-card);border-radius:5px;padding:2px 6px;font-size:.88em}.article blockquote{border-left:3px solid var(--gold-dim);background:var(--bg-card);color:var(--text-dim);border-radius:0 8px 8px 0;margin:0;padding:10px 18px}.article table{border-collapse:collapse;width:100%;margin:18px 0;font-size:.92rem}.article th,.article td{border:1px solid var(--border);text-align:left;padding:8px 12px}.article th{background:var(--bg-raise);color:var(--gold)}.article img{border-radius:var(--radius);border:1px solid var(--border)}.change-filters{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.change-list{flex-direction:column;gap:10px;display:flex}.change-row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.change-row img{border:1px solid var(--border-bright);border-radius:7px;flex-shrink:0;width:38px;height:38px}.change-row .c-name{font-weight:700}.change-row .c-name .pill{margin-left:8px}.change-row .c-where{color:var(--text-faint);font-size:.8rem}.change-row .c-desc{color:var(--text-dim);margin-top:4px;font-size:.88rem}.pill{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:1px 9px;font-size:.72rem;font-weight:700;display:inline-block}.pill.new{color:var(--new);background:#4ade8024}.pill.changed{color:var(--changed);background:#facc1521}.timeline{max-width:720px;padding-left:4px;position:relative}.timeline:before{content:"";background:var(--border-bright);width:2px;position:absolute;top:8px;bottom:8px;left:11px}.tl-entry{gap:20px;padding:0 0 34px;display:flex;position:relative}.tl-entry:last-child{padding-bottom:0}.tl-dot{z-index:1;background:var(--bg-card);border:2px solid var(--border-bright);border-radius:50%;flex-shrink:0;width:16px;height:16px;margin-top:5px;position:relative}.tl-entry.past .tl-dot{background:var(--gold-dim);border-color:var(--gold-dim)}.tl-entry.next .tl-dot{background:var(--gold);border-color:var(--gold);box-shadow:0 0 12px #f0c75e8c}.tl-date{text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);align-items:center;gap:10px;font-size:.78rem;display:flex}.tl-entry.next .tl-date{color:var(--gold)}.tl-body h3{color:var(--text);margin:4px 0 6px;font-size:1.15rem}.tl-entry.next .tl-body h3{color:var(--gold)}.tl-body ul{color:var(--text-dim);margin:0;padding-left:18px;font-size:.92rem}.tl-body li{margin:2px 0}.pill.soft{color:var(--text-dim);background:#9aa3b524}.fine-print{color:var(--text-faint);margin-top:18px;font-size:.82rem}.news-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.news-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;padding:20px;display:flex}.news-card .n-date{text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);margin-bottom:6px;font-size:.75rem}.news-card h3{color:var(--gold);margin:0 0 8px;font-size:1.05rem}.news-card p{color:var(--text-dim);flex:1;margin:0 0 14px;font-size:.9rem}.news-card .n-links{flex-wrap:wrap;gap:14px;font-size:.85rem;display:flex}.pvp-callout{background:var(--bg-card);border:1px solid var(--gold-dim);border-radius:var(--radius);text-align:center;padding:28px}.pvp-callout h2{color:var(--gold);margin:0 0 12px;font-size:1.5rem}.pvp-callout p{max-width:720px;color:var(--text-dim);margin:0 auto 20px}.pvp-callout strong{color:var(--changed)}.edition-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.edition-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:22px}.edition-card .e-price{color:var(--gold);font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:700}.edition-card h3{margin:4px 0 2px;font-size:1.05rem}.edition-card .e-note{text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:12px;font-size:.78rem}.edition-card ul{color:var(--text-dim);margin:0;padding-left:18px;font-size:.9rem}.edition-card li{margin:3px 0}.site-footer{border-top:1px solid var(--border);color:var(--text-faint);margin-top:60px;padding:30px 0 40px;font-size:.85rem}.site-footer .container{flex-wrap:wrap;justify-content:space-between;gap:24px;display:flex}.site-footer a{color:var(--text-dim)}.site-footer a.support-link{color:var(--gold-dim)}.site-footer a.support-link:hover{color:var(--gold);text-decoration:none}.support-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:20px;padding:24px 28px;display:flex}.support-card .support-cup{font-size:1.9rem}.support-card h2{color:var(--gold);margin:0 0 4px;font-size:1.15rem}.support-card p{color:var(--text-dim);max-width:520px;margin:0;font-size:.9rem}.support-card>div:nth-child(2){flex:280px}.support-card .btn{white-space:nowrap}.talent{position:relative}.talent-minus,.talent button.talent-minus{z-index:2;border:1px solid var(--border-bright);width:16px;height:16px;color:var(--changed);cursor:pointer;background:#14100aeb;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.72rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-5px;left:-5px}body{overflow-x:clip}@media (max-width:480px){.brand{font-size:1rem}.site-header .container{gap:14px}.hero{padding:48px 0 36px}.section{padding:40px 0}.countdown-band{gap:22px}.tl-entry{gap:14px}.tl-date{flex-wrap:wrap}.pvp-callout{padding:20px 16px}.tree-grid{gap:8px;padding:12px}.change-row{flex-wrap:wrap}.article table{display:block;overflow-x:auto}}
