@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&family=Marcellus&display=swap');
:root{color-scheme:dark;--bg:#100f0d;--panel:#191714;--panel2:#211d19;--text:#eee6d7;--muted:#a79a87;--faint:#70685d;--line:#393127;--accent:#d74332;--accent2:#f1b65b;--accent-dark:#70261d;--green:#87b26c;--serif:'Marcellus',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--condensed:'Barlow Condensed',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.5}body[data-faction="alliance"]{--accent:#76a9d1;--accent2:#e7c675;--accent-dark:#345b7c;--green:#80b8a1}body[data-faction="neutral"]{--accent:#b69052;--accent2:#edcf8b;--accent-dark:#564323;--green:#91aa7d}button,a,select{font:inherit}button{color:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;padding:27px 19px 20px;background:linear-gradient(180deg,#181410 0%,#12110f 100%);border-right:1px solid #332920;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none;padding:0 8px}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--accent2);color:var(--accent2);font-size:24px;transform:rotate(45deg);box-shadow:0 0 22px #c549281f}.brand-name{font:15px/1.15 var(--condensed);letter-spacing:2px;color:#c8b99f}.brand-name b{color:#f4e8d0;font-size:17px}.faction-badge{margin:26px 0 25px;padding:11px 13px;border:1px solid #483127;background:linear-gradient(100deg,#57201942,#1b1712);color:#d8b898;font-size:12px;letter-spacing:.5px;display:flex;align-items:center;gap:10px}.faction-symbol{width:22px;height:22px;display:grid;place-items:center;background:var(--accent-dark);color:var(--accent2);border-radius:50%}.main-nav{display:grid;gap:5px}.nav-link{border:0;background:transparent;text-decoration:none;color:#a99e90;padding:12px 13px;display:flex;align-items:center;gap:13px;text-align:left;cursor:pointer;border-radius:3px;transition:.18s}.nav-link>span{font-size:18px;width:22px;text-align:center;color:#9d8062}.nav-link:hover,.nav-link.active{background:linear-gradient(90deg,#69291f77,transparent);color:#f2e6d1}.nav-link.active{box-shadow:inset 2px 0 var(--accent)}.nav-link.active>span{color:var(--accent2)}.sidebar-bottom{margin-top:auto}.release-link{width:100%;border-top:1px solid #302922;padding-top:18px}.new-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 9px var(--accent)}.release-link{position:relative}.release-link .new-dot{top:23px;left:151px}.sidebar-note{font-size:12px;color:#a79a87;line-height:1.6;padding:17px 12px 0;border-top:1px solid #302922;margin-top:10px}.sidebar-note small{color:#71695f}.online-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7cb277;box-shadow:0 0 8px #7cb277;margin-right:7px}.main-content{margin-left:250px;max-width:1800px;padding:0 40px}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #29241e}.breadcrumbs{font:600 11px var(--condensed);letter-spacing:1.7px;color:#82796d}.breadcrumbs span{color:var(--accent);margin:0 8px}.breadcrumbs b{color:#d9cdb9}.top-actions{display:flex;align-items:center;gap:15px}.faction-select{display:flex;align-items:center;gap:9px;color:#8e8477;font-size:11px}.faction-select select{background:#211a15;border:1px solid #51402c;color:#e1c99e;border-radius:3px;padding:7px 22px 7px 10px;cursor:pointer}.icon-button,.mobile-menu{position:relative;background:transparent;border:1px solid var(--line);width:34px;height:34px;border-radius:50%;color:#c7b18b;font-size:17px;cursor:pointer}.icon-button .new-dot{right:4px;top:4px}.mobile-menu{display:none}.hero{min-height:304px;margin:23px 0 29px;position:relative;overflow:hidden;border:1px solid #4b3728;background:#241711;display:flex;align-items:center;padding:37px 48px;isolation:isolate}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#17120ff5 0%,#211712df 39%,#21171242 76%,#21171218),linear-gradient(0deg,#15110dd9,transparent 55%);z-index:-1}.hero-art{position:absolute;inset:0;z-index:-2;overflow:hidden;background:linear-gradient(155deg,#a74b2f 0%,#e0914c 35%,#592d25 76%,#261c19)}.sun{position:absolute;width:170px;height:170px;right:24%;top:-46px;background:radial-gradient(circle,#ffe1a1a8,#ed96564d 58%,transparent 70%);border-radius:50%}.mountain{position:absolute;bottom:-10px;width:120%;left:-5%;clip-path:polygon(0 100%,0 70%,8% 46%,12% 56%,22% 21%,31% 60%,40% 32%,47% 65%,58% 27%,66% 54%,78% 12%,88% 54%,96% 31%,100% 58%,100% 100%)}.mountain-back{height:210px;background:linear-gradient(140deg,#754032,#462c29 72%);opacity:.9}.mountain-front{height:144px;background:linear-gradient(130deg,#381f1b,#211716);clip-path:polygon(0 100%,0 65%,9% 48%,16% 72%,26% 42%,32% 78%,44% 52%,54% 83%,69% 35%,76% 71%,88% 43%,100% 69%,100% 100%)}.keep{position:absolute;right:13%;bottom:69px;width:160px;height:78px;background:linear-gradient(90deg,#311e1a,#46302a);border-top:4px solid #34211c;opacity:.9}.keep:before,.keep:after{content:"";position:absolute;bottom:0;width:34px;height:105px;background:#38221d;clip-path:polygon(0 100%,0 18%,50% 0,100% 18%,100% 100%)}.keep:before{left:15px}.keep:after{right:10px}.keep span{position:absolute;bottom:12px;width:9px;height:22px;background:#ffb35d;box-shadow:0 0 12px #ff963c}.keep span:nth-child(1){left:34px}.keep span:nth-child(2){left:76px}.keep span:nth-child(3){right:23px}.hero-banner{position:absolute;right:5%;top:39px;color:#591c1a;font-size:51px;opacity:.65}.hero-copy{max-width:540px;position:relative;z-index:1}.eyebrow,.section-kicker,.card-label{font:600 10px var(--condensed);letter-spacing:1.5px;color:#c6a26e;margin:0}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow-line{width:25px;height:1px;background:var(--accent2)}h1{font:42px/.99 var(--serif);letter-spacing:-1px;margin:17px 0 12px;color:#f2e9dc}h1 em{font-style:normal;color:#e5b968}.hero-subtitle{font-size:13px;color:#c6b7a5;margin:0 0 20px}.search-box{height:43px;max-width:490px;display:flex;align-items:center;gap:10px;padding:0 12px;background:#171411e8;border:1px solid #705532;box-shadow:0 4px 18px #0005}.search-icon{font-size:24px;color:var(--accent2);line-height:1}.search-box input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#f0e5d2;font:12px var(--sans)}.search-box input::placeholder{color:#9d9284}.search-box kbd{border:1px solid #504438;color:#8c8172;padding:2px 5px;font-size:10px}.hero-caption{position:absolute;right:23px;bottom:16px;font:600 9px var(--condensed);letter-spacing:1.4px;color:#d5b783;display:flex;gap:8px;align-items:center}.caption-mark{color:var(--accent2)}.caption-rule{width:28px;height:1px;background:#a17a4a}.welcome-row{display:flex;justify-content:space-between;align-items:end;margin:0 0 17px}.section-kicker{font-size:9px;color:#857969;margin-bottom:4px}.welcome-row h2{font:24px var(--serif);margin:0;color:#e9dfcf}.text-button{border:0;background:none;color:#bd9c69;font-size:11px;cursor:pointer;padding:6px 0}.text-button span{color:var(--accent2);margin-left:7px}.text-button:hover{color:#f0d6a0}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.feature-card{min-height:298px;background:var(--panel);border:1px solid #3b3024;position:relative;overflow:hidden;cursor:pointer;transition:transform .18s,border-color .18s}.feature-card:hover{transform:translateY(-3px);border-color:#8b6340}.card-art{height:109px;position:relative;overflow:hidden;background:#34231b}.card-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#191714,transparent 82%),linear-gradient(90deg,#19171488,transparent)}.forge-art{background:linear-gradient(140deg,#201816,#643a25 55%,#e07b2d 100%)}.forge-art:before{content:"";position:absolute;inset:17px 35% 5px 35%;border:7px solid #3b2920;border-bottom:0;border-radius:55% 55% 0 0;box-shadow:inset 0 0 30px #fb9a3d}.forge-glow{position:absolute;bottom:-13px;left:42%;width:40px;height:44px;background:#ff9b36;filter:blur(17px);border-radius:50%}.art-tool{position:absolute;right:27%;top:25px;font-size:53px;color:#c78a44;text-shadow:0 3px #482719;z-index:1;transform:rotate(-15deg)}.art-sparks{position:absolute;top:15px;left:15%;color:#edb359;letter-spacing:22px}.talent-art{background:radial-gradient(ellipse at 50% 70%,#514235,#1b1a1b 73%)}.talent-web{position:absolute;z-index:1;inset:10px 20%;display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr;align-items:center;justify-items:center}.talent-web:before{content:"";position:absolute;inset:15px 16px;background:linear-gradient(35deg,transparent 48%,#b58644 49% 50%,transparent 51%),linear-gradient(-35deg,transparent 48%,#b58644 49% 50%,transparent 51%),linear-gradient(90deg,transparent 49%,#b58644 49% 50%,transparent 51%);opacity:.6}.talent-web i{z-index:1;font-style:normal;width:28px;height:28px;border-radius:50%;border:1px solid #e0b45e;background:#2c251e;display:grid;place-items:center;color:#edc26a;box-shadow:0 0 12px #c8793d55}.talent-web i:nth-child(2){color:#d77063}.talent-web i:nth-child(3){color:#8ec8c5}.talent-web i:nth-child(4){color:#a8bd72}.talent-web i:nth-child(1){grid-column:2}.talent-web i:nth-child(4){grid-column:2}.build-art{background:linear-gradient(160deg,#352c35,#6e4631 50%,#bf7548)}.build-moon{position:absolute;right:20%;top:-28px;width:115px;height:115px;border-radius:50%;background:radial-gradient(circle,#f1d9a5,#d7976c 60%,#d7976c00 66%);opacity:.6}.build-flags{position:absolute;z-index:1;right:13%;bottom:2px;display:flex;gap:12px}.build-flags i{font:32px var(--serif);font-style:normal;color:#d8ad63;background:linear-gradient(#a53127,#55221f);width:39px;height:78px;clip-path:polygon(0 0,100% 0,100% 82%,50% 68%,0 82%);text-align:center;padding-top:13px;filter:drop-shadow(3px 3px 3px #100d0a)}.build-flags i:nth-child(2){height:62px;background:linear-gradient(#a98a4e,#564525)}.card-content{padding:13px 16px 15px}.card-heading{display:flex;align-items:center;gap:10px}.card-icon{font-size:21px;color:var(--accent2);width:26px;text-align:center}.card-label{font-size:8px;color:#998364;letter-spacing:1.1px}.card-heading h3,.panel-heading h3,.next-content h3{font:19px var(--serif);margin:0;color:#efe5d5}.card-arrow{margin-left:auto;color:#756958;font-size:18px;align-self:flex-start}.card-description{font-size:11px;line-height:1.5;color:#9f9689;margin:12px 0 13px;min-height:33px}.progress-meta{display:flex;align-items:center;justify-content:space-between;color:#8b8175;font-size:10px;margin-top:11px}.progress-meta b{color:#e4c784;font-size:13px}.progress-meta small{font-size:10px}.progress-track,.resume-bar{height:5px;background:#332d25;border:1px solid #51412e}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#922e23,var(--accent));box-shadow:0 0 9px #b44b3288}.card-foot{display:flex;justify-content:space-between;color:#928679;font-size:10px;margin:9px 0 0}.card-foot b{color:#d0b786}.card-cta{width:100%;border:1px solid #78552f;background:#33251b;color:#e2be7c;padding:8px 10px;text-align:left;font:12px var(--serif);cursor:pointer}.card-cta span{float:right;color:var(--accent2)}.card-cta:hover{background:#47301d}.tag-row{display:flex;gap:6px}.tag-row button{flex:1;background:#2b241d;border:1px solid #51412f;color:#c7aa78;padding:6px 4px;font-size:10px;cursor:pointer}.tag-row button:hover{border-color:var(--accent);color:#f0d69d}.lower-grid{display:grid;grid-template-columns:1.28fr .92fr;gap:15px;margin-top:17px}.resume-panel,.next-panel{min-height:246px;border:1px solid #3b3024;background:linear-gradient(130deg,#211c17,#191714);padding:17px 19px;position:relative;overflow:hidden}.panel-heading{display:flex;align-items:start;justify-content:space-between}.panel-heading h3{font-size:20px;margin-top:2px}.resume-profession{display:flex;align-items:center;gap:10px;margin:15px 0 9px}.herb-icon{width:34px;height:34px;display:grid;place-items:center;color:#94b477;background:#253226;border:1px solid #4e6645;border-radius:50%;font-size:22px}.resume-title{display:flex;flex-direction:column;gap:2px;flex:1}.resume-title b{font:14px var(--serif);color:#e0d3bf}.resume-title small{font-size:10px;color:#8e8375}.resume-profession>strong{font-size:16px;color:#e6c57e}.resume-profession>strong small{font-size:10px;color:#918472;font-weight:400}.resume-bar{margin:0 0 9px 44px}.resume-bar span{display:block;width:50%;height:100%;background:linear-gradient(90deg,#63834a,#a5be72)}.task-list{list-style:none;margin:0;padding:0}.task-list li{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #302a23;padding:7px 0;font-size:10px;color:#bcb09d}.task-list label{display:flex;align-items:center;gap:9px;cursor:pointer}.task-list input{position:absolute;opacity:0}.checkmark{width:14px;height:14px;border:1px solid #786a55;background:#211e19;display:grid;place-items:center;color:#172116;font-size:10px}.task-list input:checked+.checkmark{background:#92ad6b;border-color:#92ad6b}.task-list input:checked+.checkmark:after{content:"✓"}.task-list li:has(input:checked) label>span:last-child{color:#81796c;text-decoration:line-through}.task-list li>b{font-size:10px;color:#d0b987}.next-panel{display:flex;align-items:stretch}.next-art{position:absolute;inset:0 0 0 auto;width:46%;opacity:.78;background:radial-gradient(ellipse at 60% 65%,#70533c,#32261f 65%,transparent 100%)}.next-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#191714,transparent 75%)}.next-plant{position:absolute;right:31px;bottom:47px;font-size:82px;color:#a9b96b;text-shadow:12px -20px #bbab68,-21px -7px #648a53;transform:rotate(-14deg)}.next-stone{position:absolute;right:88px;bottom:18px;font-size:53px;color:#a18462;text-shadow:10px -7px #534b43,-19px -3px #6f6253}.next-content{position:relative;z-index:1;max-width:68%}.next-content h3{margin:4px 0 7px;font-size:17px}.next-content>p:not(.card-label){font-size:10px;color:#a99d8b;line-height:1.6;margin:0 0 12px}.zone{display:flex;align-items:center;gap:8px;border-top:1px solid #3a3026;border-bottom:1px solid #3a3026;padding:8px 0;width:90%}.zone>span{font-size:18px;color:#d3ad6d}.zone div{display:flex;flex-direction:column}.zone small{font:600 8px var(--condensed);letter-spacing:1px;color:#847968}.zone b{font:12px var(--serif);color:#d8c7ac}.next-link{padding:9px 0 0;background:none;border:0;color:#d0ad70;font-size:10px;cursor:pointer}.next-link span{margin-left:6px;color:var(--accent2)}.site-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #29241e;margin-top:24px;padding:13px 0;color:#776e62;font:600 8px var(--condensed);letter-spacing:1.1px}.site-footer b{color:var(--accent)}.site-footer button{background:none;border:0;color:#a9916a;font:inherit;letter-spacing:inherit;cursor:pointer}.release-dialog{width:min(610px,calc(100% - 28px));max-height:min(82vh,760px);padding:25px;background:#1b1814;color:var(--text);border:1px solid #58432d;box-shadow:0 20px 90px #000b}.release-dialog::backdrop{background:#090806c9;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:start;padding-bottom:16px;border-bottom:1px solid #383027}.dialog-top h2{font:25px var(--serif);margin:4px 0 0}.close-dialog{background:#2c2620;border:1px solid #51412f;color:#d6c5a8;font-size:22px;width:31px;height:31px;cursor:pointer}.dialog-intro{font-size:12px;color:#a99d8d;margin:16px 0 20px}.release-list{display:grid;gap:12px;max-height:48vh;overflow:auto;padding-right:3px}.release-entry{border:1px solid #3b3024;background:#211d18;padding:15px}.release-meta{display:flex;align-items:center;gap:9px;color:#9b8c76;font-size:10px}.release-version{color:#f0ca7b;font-weight:700;font-size:12px}.release-badge{margin-left:auto;color:#b2c792;border:1px solid #536544;background:#293126;padding:2px 6px;font-size:9px}.release-entry h3{font:16px var(--serif);margin:8px 0;color:#e8decd}.release-entry ul{padding-left:17px;margin:0;color:#a99e8e;font-size:11px;line-height:1.8}.dialog-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #383027;padding-top:14px;margin-top:18px;font-size:10px;color:#8e8478}.dialog-bottom a{color:#c6a36c;text-decoration:none}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;transition:.2s;pointer-events:none;background:#30261b;border:1px solid #8a6237;color:#f0dbb5;padding:10px 16px;font-size:12px;z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1100px){.main-content{padding:0 25px}.sidebar{width:220px}.main-content{margin-left:220px}.feature-grid{gap:10px}.feature-card{min-height:311px}.card-content{padding:12px}.lower-grid{grid-template-columns:1fr}.next-panel{min-height:220px}}
@media(max-width:780px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:260px;box-shadow:15px 0 40px #0008}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0;padding:0 18px}.topbar{height:57px}.mobile-menu{display:block;border-radius:3px;width:33px;height:33px}.breadcrumbs{margin-right:auto;margin-left:12px;font-size:9px}.top-actions{gap:8px}.faction-select>span{display:none}.hero{min-height:320px;padding:30px 25px;margin-top:16px}.hero-art{background-position:center}.hero:after{background:linear-gradient(90deg,#17120ff5,#211712ba 72%,#21171250),linear-gradient(0deg,#15110de8,transparent 80%)}.hero-copy{max-width:100%}h1{font-size:36px}.hero-caption{font-size:7px;right:12px}.feature-grid{grid-template-columns:1fr}.feature-card{min-height:0;display:grid;grid-template-columns:34% 1fr}.card-art{height:100%;min-height:198px}.card-content{padding:15px}.card-description{min-height:0}.lower-grid{grid-template-columns:1fr}.resume-panel,.next-panel{padding:15px}.site-footer{gap:10px;flex-wrap:wrap}.site-footer span:nth-child(2){display:none}}
@media(max-width:420px){.main-content{padding:0 12px}.breadcrumbs{letter-spacing:1px}.faction-select select{padding:6px 16px 6px 7px;font-size:10px}.top-actions{gap:5px}.hero{padding:24px 18px;min-height:305px}.hero-caption{display:none}.hero-subtitle{font-size:12px}.search-box kbd{display:none}.welcome-row h2{font-size:21px}.feature-card{grid-template-columns:29% 1fr}.card-art{min-height:215px}.card-content{padding:12px 11px}.card-label{font-size:7px}.card-description{font-size:10px}.tag-row{gap:4px}.tag-row button{font-size:9px;padding:6px 2px}.next-content{max-width:78%}.dialog-bottom{align-items:flex-start;gap:10px;flex-direction:column}}

/* Original Grimoire identity and oversized, faction-aware artwork. */
.brand-mark{transform:none;width:54px;height:54px;border:0;box-shadow:none;background:none}
.brand-mark svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 5px 12px color-mix(in srgb,var(--accent) 45%,transparent))}
.book-cover{fill:var(--accent-dark);stroke:var(--accent2);stroke-width:2.2;stroke-linejoin:round}
.book-page{fill:#dfd1b7;stroke:#725d43;stroke-width:1.2}
.rune{fill:var(--accent2);stroke:#21170e;stroke-width:1}
.sidebar{background:linear-gradient(180deg,color-mix(in srgb,var(--accent-dark) 25%,#181410),#12110f 75%);border-color:color-mix(in srgb,var(--accent) 40%,#332920)}
.faction-badge{border-color:color-mix(in srgb,var(--accent) 62%,#483127);background:linear-gradient(100deg,color-mix(in srgb,var(--accent-dark) 52%,transparent),#1b1712);color:var(--accent2)}
.nav-link.active,.nav-link:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 38%,transparent),transparent)}
.hero{min-height:435px;margin:28px 0 34px;padding:54px 60px;border-color:color-mix(in srgb,var(--accent) 55%,#4b3728);box-shadow:0 20px 70px #0005}
.hero-art{background:radial-gradient(ellipse at 73% 24%,color-mix(in srgb,var(--accent2) 56%,transparent),transparent 29%),linear-gradient(120deg,color-mix(in srgb,var(--accent-dark) 92%,#15110f),#332219 54%,color-mix(in srgb,var(--accent) 55%,#2b1d19))}
.hero:after{background:linear-gradient(90deg,#14110ff5 0%,#1a1512e8 35%,#21171244 77%,#21171212),linear-gradient(0deg,#15110dcc,transparent 48%)}
.hero-ridge{position:absolute;left:35%;bottom:-2px;width:75%;height:65%;clip-path:polygon(0 100%,0 67%,13% 36%,22% 55%,36% 12%,52% 70%,65% 27%,82% 65%,93% 39%,100% 62%,100% 100%);background:linear-gradient(130deg,color-mix(in srgb,var(--accent) 55%,#30221c),#171515 78%);opacity:.82}
.ridge-near{left:46%;height:44%;width:62%;opacity:.95;filter:brightness(.72);clip-path:polygon(0 100%,0 48%,16% 27%,31% 70%,51% 15%,68% 61%,84% 33%,100% 60%,100% 100%)}
.hero-keep{position:absolute;right:15%;bottom:15%;width:180px;height:95px;background:#171515a8;border:1px solid color-mix(in srgb,var(--accent2) 45%,transparent);border-bottom:0;box-shadow:0 0 45px color-mix(in srgb,var(--accent) 35%,transparent)}
.hero-keep:before,.hero-keep:after{content:"";position:absolute;bottom:0;width:40px;height:142px;background:#1b1715;border:1px solid color-mix(in srgb,var(--accent2) 45%,transparent);clip-path:polygon(0 100%,0 16%,50% 0,100% 16%,100% 100%)}
.hero-keep:before{left:12px}.hero-keep:after{right:12px}.hero-keep i{position:absolute;bottom:17px;width:10px;height:28px;background:var(--accent2);box-shadow:0 0 18px var(--accent2)}.hero-keep i:nth-child(1){left:25px}.hero-keep i:nth-child(2){left:85px}.hero-keep i:nth-child(3){right:25px}
.hero-sigil{position:absolute;right:23%;top:12%;font-size:118px;line-height:1;color:var(--accent2);opacity:.24;text-shadow:0 0 42px var(--accent2)}
.hero-copy{max-width:690px}.hero h1{font-size:clamp(48px,5.2vw,72px);line-height:.98;margin:22px 0 16px}.hero-subtitle{font-size:16px;max-width:540px;margin-bottom:27px}.eyebrow{font-size:12px}.search-box{max-width:560px;height:52px}.hero-caption{font-size:10px}
.feature-grid{gap:19px}.feature-card{min-height:348px;border-color:color-mix(in srgb,var(--accent) 24%,#3b3024)}.card-art{height:166px}.card-art:after{background:linear-gradient(0deg,#19171466,transparent 70%)}.card-art svg{position:absolute;width:100%;height:100%;inset:0;filter:drop-shadow(0 7px 16px #0008)}
.forge-art{background:radial-gradient(ellipse at 50% 80%,#b95d28,#482317 42%,#201915 80%)}.forge-art:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 91%,#ffb35299,transparent 35%)}.forge-anvil{fill:#85817c;stroke:#d5b789;stroke-width:2}.forge-hammer{fill:#c6a46e;stroke:#4b3323;stroke-width:3}.forge-flame{fill:#ffb34f;stroke:#ffe1a1;stroke-width:2}
.talent-art{background:radial-gradient(ellipse at center,#303a54,#171921 76%)}.talent-links{fill:none;stroke:#92bce9;stroke-width:2;opacity:.65}.talent-nodes circle{fill:#24334b;stroke:#d1b975;stroke-width:2.5;filter:drop-shadow(0 0 7px #7ab9ff)}.talent-star{fill:#fff0b0}
.build-art{background:radial-gradient(ellipse at 50% 45%,#643c27,#241917 76%)}.build-shield{fill:#6f2824;stroke:#d9ad63;stroke-width:4}.build-inner{fill:#302c34;stroke:#be9e62;stroke-width:2}.build-sword,.build-cross{fill:#d7d5cc;stroke:#f5d798;stroke-width:2;stroke-linejoin:round}
.card-content{padding:16px 18px 18px}.card-heading h3{font-size:22px}.card-description{font-size:12px;min-height:38px}.card-label{font-size:9px}.tag-row button{padding:8px 5px;font-size:11px}
body[data-faction="horde"]{--bg:#110d0d;--panel:#1b1313;--panel2:#291817;--accent:#e24331;--accent2:#f4b65d;--accent-dark:#7e211d;--line:#4a2925}
body[data-faction="alliance"]{--bg:#0b111a;--panel:#121c29;--panel2:#1a2b3d;--accent:#64a9e8;--accent2:#ead181;--accent-dark:#204d78;--line:#263e57}
body[data-faction="neutral"]{--bg:#11110e;--panel:#1b1a15;--panel2:#29271d;--accent:#c49b4e;--accent2:#edcf8b;--accent-dark:#5c4823;--line:#49402b}
body[data-faction="alliance"] .hero-art{background:radial-gradient(ellipse at 73% 24%,#fff0bd88,transparent 29%),linear-gradient(120deg,#0d1b2b,#24496b 54%,#38778b)}
body[data-faction="alliance"] .hero-ridge{background:linear-gradient(130deg,#5491b2,#14263b 78%)}
body[data-faction="alliance"] .hero-keep{background:#14273caa;border-color:#a9d4f2}
body[data-faction="alliance"] .hero-keep:before,body[data-faction="alliance"] .hero-keep:after{background:#18334b;border-color:#a9d4f2}
body[data-faction="alliance"] .faction-symbol{border-radius:3px;background:#244e76;color:#f3d984}
body[data-faction="horde"] .hero-keep{background:#281311aa;border-color:#f0a14b}
body[data-faction="horde"] .hero-keep:before,body[data-faction="horde"] .hero-keep:after{background:#301513;border-color:#d97839}
body[data-faction="horde"] .faction-symbol{border-radius:50%;background:#7f241d;color:#ffd078}
body[data-faction="neutral"] .hero-art{background:radial-gradient(ellipse at 73% 24%,#fff0bd88,transparent 29%),linear-gradient(120deg,#242018,#51472e 54%,#77704d)}
body[data-faction="neutral"] .hero-ridge{background:linear-gradient(130deg,#8b8056,#24231d 78%)}
@media(max-width:780px){.hero{min-height:390px;padding:36px 25px}.hero-copy{max-width:100%}.hero h1{font-size:46px}.hero-keep{right:8%;opacity:.62}.hero-sigil{right:18%;top:18%;font-size:84px}.card-art{height:100%;min-height:198px}}
@media(max-width:420px){.hero{min-height:350px;padding:28px 18px}.hero h1{font-size:39px}.hero-subtitle{font-size:13px}.hero-keep{right:-3%;transform:scale(.8);transform-origin:bottom right}.feature-card{grid-template-columns:35% 1fr}.card-art{min-height:220px}}
