@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&display=swap";:root{--ink:#070507;--ash:#110b0d;--wine:#1a0c11;--panel:#211015;--burgundy:#351018;--blood:#8f1f24;--ember:#d64b27;--parchment:#eee2ca;--muted:#b7a8a1;--dim:#83746f;--gold:#b99351;--bright-gold:#e8c984;--success:#a6c08f;--missing:#cd7775;--line:#b993513d;--display:"Cinzel", "Trajan Pro", "Palatino Linotype", Georgia, serif;--ui:"Inter", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 75% 8%, #8f1f2424, transparent 36rem), linear-gradient(135deg, #0f0709 0%, var(--ink) 46%, #10080a 100%);min-width:320px;color:var(--parchment);font-family:var(--ui);margin:0}body:before{content:"";z-index:-1;opacity:.22;background-image:linear-gradient(#b9935106 1px,#0000 1px),linear-gradient(90deg,#b9935106 1px,#0000 1px);background-size:42px 42px;position:fixed;inset:0}button,input,select{font:inherit}button,a,select,label{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--bright-gold);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-shell{min-height:100vh}.hero{isolation:isolate;background:#090507;border-bottom:1px solid #e8c98452;min-height:610px;padding:28px clamp(22px,5vw,84px) 62px;position:relative;overflow:hidden}.hero:before{content:"";z-index:-1;background:linear-gradient(90deg,#070507fa 0%,#070507db 38%,#0705074d 72%,#070507d1 100%),linear-gradient(#09050759 0%,#0000 55%,#090507 100%);position:absolute;inset:0}.hero:after{content:"";z-index:4;pointer-events:none;clip-path:polygon(0 0,44% 0,44% 1px,56% 1px,56% 0,100% 0,100% 100%,67% 100%,67% calc(100% - 1px),33% calc(100% - 1px),33% 100%,0 100%);border:1px solid #b9935124;position:absolute;inset:10px}.hero-art{z-index:-2;filter:saturate(.9)contrast(1.08);background:url(/diablo/og.png) 50% 46%/cover no-repeat;animation:14s ease-in-out infinite alternate hero-breathe;position:absolute;inset:-8% -2% -10% 32%;transform:scale(1.03)}.hero-sigil{z-index:0;aspect-ratio:1;opacity:.24;border:1px solid #e8c98494;border-radius:50%;width:420px;animation:28s linear infinite sigil-turn;position:absolute;top:80px;right:clamp(-190px,-7vw,-70px);box-shadow:0 0 90px #8f1f2470,inset 0 0 45px #8f1f2459}.hero-sigil:before,.hero-sigil:after,.hero-sigil span{content:"";border:1px solid #e8c98499;position:absolute;inset:14%;transform:rotate(45deg)}.hero-sigil:after{inset:27%;transform:rotate(22.5deg)}.hero-sigil span:first-child{border-style:dashed;border-radius:50%;animation:18s linear infinite sigil-turn-back;inset:7%;transform:rotate(0)}.hero-sigil span:nth-child(2){border-color:#d64b27cc;inset:36%}.hero-sigil i{background:var(--ember);box-shadow:0 0 24px var(--ember);animation:2.8s ease-in-out infinite sigil-heart;position:absolute;inset:45%;transform:rotate(45deg)}.embers{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ember{opacity:0;background:#f5a14d;border-radius:50%;width:3px;height:3px;animation:8s linear infinite ember-rise;position:absolute;bottom:-20px;box-shadow:0 0 8px #f05c2d,0 0 16px #f05c2da6}.ember-1{animation-duration:8.4s;animation-delay:-2s;left:4%}.ember-2{animation-duration:10s;animation-delay:-6s;left:12%}.ember-3{width:2px;height:2px;animation-duration:7.7s;animation-delay:-1s;left:21%}.ember-4{animation-duration:9.4s;animation-delay:-7s;left:29%}.ember-5{width:2px;height:2px;animation-duration:8.1s;animation-delay:-3s;left:37%}.ember-6{animation-duration:10.8s;animation-delay:-5s;left:44%}.ember-7{animation-duration:9.2s;animation-delay:-8s;left:52%}.ember-8{width:2px;height:2px;animation-duration:7.4s;animation-delay:-4s;left:59%}.ember-9{animation-duration:11s;animation-delay:-9s;left:66%}.ember-10{animation-duration:8.8s;animation-delay:-2.8s;left:72%}.ember-11{width:2px;height:2px;animation-duration:9.8s;animation-delay:-6.4s;left:78%}.ember-12{animation-duration:7.8s;animation-delay:-4.6s;left:84%}.ember-13{animation-duration:10.4s;animation-delay:-1.6s;left:89%}.ember-14{width:2px;height:2px;animation-duration:9s;animation-delay:-8.4s;left:94%}.ember-15{animation-duration:11.4s;animation-delay:-5.2s;left:98%}.brand,.season-stamp{z-index:3;color:var(--bright-gold);letter-spacing:.24em;text-shadow:0 2px 10px #000;align-items:center;gap:12px;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex;position:relative}.brand{font-family:var(--display);font-weight:600}.brand-mark{border:1px solid var(--gold);place-items:center;width:25px;height:25px;display:grid;transform:rotate(45deg);box-shadow:0 0 18px #d64b273d,inset 0 0 9px #d64b272e}.brand-mark span{background:var(--gold);width:7px;height:7px;animation:3s ease-in-out infinite brand-pulse}.season-stamp{float:right;color:var(--muted);letter-spacing:.18em;margin-top:5px;font-weight:600}.hero-copy{z-index:3;width:min(760px,65vw);margin-top:104px;position:relative}.eyebrow{color:var(--gold);letter-spacing:.27em;text-transform:uppercase;margin:0 0 15px;font-size:10px;font-weight:800}.eyebrow span{background:var(--gold);vertical-align:middle;width:28px;height:1px;margin-right:8px;display:inline-block}.hero h1{color:#f3e8d3;font:500 clamp(54px, 7.2vw, 100px)/.9 var(--display);letter-spacing:-.055em;text-shadow:0 5px 30px #000,0 0 60px #8f1f2447;margin:0}.hero h1 em{color:var(--bright-gold);font-weight:400}.lede{color:#c5b7ae;text-shadow:0 2px 14px #000;max-width:680px;margin:28px 0 0;font-size:clamp(15px,1.5vw,18px);line-height:1.7}.lede a{color:var(--bright-gold);text-underline-offset:3px;text-decoration-color:#e8c98473}.lede a:hover{-webkit-text-decoration-color:var(--bright-gold);text-decoration-color:var(--bright-gold)}.infernal-divider{align-items:center;gap:10px;width:210px;margin-top:32px;display:flex}.infernal-divider span{background:linear-gradient(90deg, transparent, var(--gold));flex:1;height:1px}.infernal-divider span:last-child{background:linear-gradient(90deg, var(--gold), transparent)}.infernal-divider i{border:1px solid var(--bright-gold);width:9px;height:9px;transform:rotate(45deg);box-shadow:0 0 12px #d64b27b3}.hero-stats{z-index:3;background:linear-gradient(90deg,#070507c7,#0000);border-left:1px solid #e8c9846b;gap:clamp(24px,3vw,48px);padding:18px 0 18px 24px;display:flex;position:absolute;bottom:68px;right:clamp(22px,5vw,84px)}.hero-stats div{flex-direction:column;gap:5px;display:flex}.hero-stats strong{color:var(--bright-gold);font:500 32px/1 var(--display);text-shadow:0 0 16px #d64b2757}.hero-stats span{color:#91817b;letter-spacing:.14em;text-transform:uppercase;font-size:9px}.workspace{background:#0705074d;grid-template-columns:minmax(370px,430px) minmax(0,1fr);max-width:1760px;margin:0 auto;display:grid}.inventory-panel{border-left:1px solid var(--line);border-right:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--blood) var(--ink);background:linear-gradient(#45121880,#140a0deb 28%),radial-gradient(circle at 100% 0,#b9935114,#0000 18rem);align-self:start;min-height:100vh;max-height:100vh;position:sticky;top:0;overflow-y:auto}.section-heading,.readiness-header{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.section-heading{padding:40px 32px 23px}.section-heading h2,.readiness-header h2{font:500 clamp(32px, 3.2vw, 48px)/1.05 var(--display);letter-spacing:-.035em;text-shadow:0 4px 22px #000000a6;margin:0}.text-button{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:8px;font-size:10px;font-weight:800;transition:color .16s,text-shadow .16s}.text-button:hover{color:var(--bright-gold);text-shadow:0 0 12px #e8c98473}.search-field{background:#0705078f;border:1px solid #b993515c;align-items:center;gap:15px;height:62px;margin:4px 32px 18px;padding:0 20px;transition:border-color .16s,box-shadow .16s;display:flex;position:relative;box-shadow:inset 0 0 22px #00000052}.search-field:focus-within{border-color:var(--bright-gold);box-shadow:0 0 18px #8f1f2442,inset 0 0 22px #0006}.search-icon{border:1.5px solid var(--gold);border-radius:50%;flex:0 0 16px;width:16px;height:16px;position:relative}.search-icon:after{content:"";background:var(--gold);width:7px;height:1.5px;position:absolute;bottom:-2px;right:-5px;transform:rotate(45deg)}.search-field input{width:100%;color:var(--parchment);background:0 0;border:0;outline:0;font-size:16px}.search-field input::placeholder{color:#776a68}.filter-row{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:9px;padding:0 32px 30px;display:flex}.filter-row button{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;cursor:pointer;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);background:#0705074d;border:1px solid #b993513d;padding:10px 14px;font-size:9px;font-weight:800;transition:border-color .16s,color .16s,background .16s,transform .16s}.filter-row button span{opacity:.65}.filter-row button:hover{border-color:var(--gold);transform:translateY(-1px)}.filter-row button.active{color:var(--ink);background:linear-gradient(135deg, var(--bright-gold), var(--gold));border-color:var(--bright-gold);box-shadow:0 0 16px #e8c98429}.inventory-list{padding:16px 20px 40px}.inventory-list h3{color:#82716c;letter-spacing:.27em;text-transform:uppercase;margin:20px 12px 10px;font-size:9px;font-weight:800}.item-row{cursor:pointer;border-bottom:1px solid #b993511a;grid-template-columns:28px 44px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px;padding:8px 12px;transition:background .16s,color .16s,transform .16s;display:grid}.item-row:hover{background:linear-gradient(90deg,#8f1f2421,#b993510a);transform:translate(3px)}.item-row input{opacity:0;pointer-events:none;position:absolute}.diamond{border:1px solid #b993519e;place-items:center;width:22px;height:22px;transition:background .18s,box-shadow .18s,border-color .18s;display:grid;transform:rotate(45deg)}.diamond span{opacity:0;color:var(--ink);font-size:12px;font-weight:900;transform:rotate(-45deg)}.item-row.owned .diamond{background:linear-gradient(135deg, var(--bright-gold), var(--gold));border-color:var(--bright-gold);animation:.42s both relic-claim;box-shadow:0 0 16px #e8c98461}.item-row.owned .diamond span{opacity:1}.item-art{background:radial-gradient(circle at 50% 42%,#b9935124,#0000 58%),#0705079e;border:1px solid #b9935138;flex:none;place-items:center;transition:border-color .16s,box-shadow .16s,background .16s;display:grid;position:relative;overflow:hidden}.item-art:after{content:"";pointer-events:none;border:1px solid #e8c9840d;position:absolute;inset:3px}.item-art img{object-fit:contain;filter:drop-shadow(0 5px 6px #000000b8);width:100%;height:100%}.item-art-inventory{clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);width:42px;height:54px;padding:3px}.item-row.owned .item-art{background:radial-gradient(circle at 50% 42%,#b993513d,#0000 64%),#070507c2;border-color:#e8c9849e;box-shadow:0 0 15px #e8c98421}.item-name{font:500 15px/1.3 var(--display)}.item-row.owned .item-name{color:var(--bright-gold);text-shadow:0 0 12px #e8c98429}.item-demand{color:var(--dim);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;font-size:9px}.empty-state{color:var(--dim);padding:20px 12px}.readiness-panel{padding:42px clamp(22px,3vw,50px) 64px}.readiness-header{margin-bottom:18px}.class-select{color:var(--dim);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:10px;font-size:9px;font-weight:800;display:flex}.class-select select,.variant-select select{border:1px solid var(--line);color:var(--parchment);cursor:pointer;background:#170b0f;outline:0}.class-select select{min-width:146px;padding:10px 30px 10px 12px}.class-select select:focus,.variant-select select:focus{border-color:var(--gold)}.variant-select{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin:-4px 0 10px;display:grid}.variant-select>span{color:var(--gold);letter-spacing:.16em;font-size:9px;font-weight:800}.variant-select select{letter-spacing:.05em;background:#07050780;width:100%;padding:9px 30px 9px 11px;font-size:11px;font-weight:700}.variant-detail{min-height:34px;color:var(--dim);margin:0 0 14px;font-size:11px;line-height:1.5}.legend{color:var(--dim);letter-spacing:.1em;text-transform:uppercase;gap:22px;margin-bottom:26px;font-size:9px;display:flex}.legend span{align-items:center;gap:7px;display:inline-flex}.legend i,.piece i,.status i{border-radius:50%;width:7px;height:7px;display:inline-block}.core-dot{background:var(--gold);box-shadow:0 0 8px #e8c9844d}.upgrade-dot{border:1px solid var(--gold)}.build-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.build-card{clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));opacity:0;background:radial-gradient(circle at 100% 0,#8f1f2433,#0000 17rem),linear-gradient(145deg,#2d1217eb,#120a0df0 64%);border:1px solid #b9935147;flex-direction:column;min-height:555px;padding:29px 31px 0;transition:transform .22s,border-color .22s,box-shadow .22s;animation:.56s cubic-bezier(.2,.75,.2,1) forwards card-in;display:flex;position:relative;overflow:hidden;box-shadow:0 22px 72px #00000047,inset 0 1px #e8c9840a}.build-card:before{content:"";pointer-events:none;clip-path:inherit;border:1px solid #b9935114;position:absolute;inset:7px}.build-card:after{content:"";background:linear-gradient(90deg, transparent, var(--bright-gold), transparent);width:55%;height:1px;transition:left .52s;position:absolute;top:0;left:-90%}.build-card:hover{border-color:#e8c98485;transform:translateY(-5px);box-shadow:0 28px 90px #0000006b,0 0 34px #8f1f241f}.build-card:hover:after{left:130%}.build-card.ready{border-color:#a6c08f80;box-shadow:0 0 32px #a6c08f12,0 22px 72px #00000047}.class-sigil{z-index:0;color:#b993510e;font:500 154px/1 var(--display);pointer-events:none;position:absolute;top:64px;right:18px;transform:rotate(-8deg)}.card-topline,.build-card>p,.build-card>h3,.build-card>label,.build-card>div,.build-card>footer{z-index:1;position:relative}.card-topline{justify-content:space-between;align-items:center;margin-bottom:29px;display:flex}.tier{border:1px solid var(--gold);width:50px;height:50px;color:var(--bright-gold);font:500 23px var(--display);place-items:center;display:grid;transform:rotate(45deg);box-shadow:inset 0 0 18px #8f1f243d,0 0 16px #8f1f241f}.tier>span{transform:rotate(-45deg)}.tier-s{background:#8f1f2447}.tier-a{color:var(--muted);border-color:#b9935180}.status{color:var(--missing);letter-spacing:.2em;align-items:center;gap:9px;font-size:9px;font-weight:800;display:inline-flex}.status i{background:var(--missing);box-shadow:0 0 11px var(--missing)}.status.is-ready{color:var(--success)}.status.is-ready i{background:var(--success);box-shadow:0 0 12px var(--success);animation:2.1s ease-in-out infinite ready-pulse}.class-label{color:var(--dim);letter-spacing:.24em;margin:0 0 9px;font-size:9px;font-weight:800}.build-card h3{font:500 clamp(27px, 2.35vw, 38px)/1.08 var(--display);letter-spacing:-.025em;text-shadow:0 4px 20px #000000b3;margin:0 0 22px}.progress-line{color:var(--muted);font:500 11px var(--display);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.progress-track{background:#cd777538;height:3px;overflow:hidden}.progress-track>span{background:linear-gradient(90deg, var(--blood), var(--ember), var(--bright-gold));height:100%;transition:width .26s;display:block;position:relative;box-shadow:0 0 8px #d64b2766}.progress-track>span:after{content:"";background:linear-gradient(90deg,#0000,#fff4d4b8,#0000);animation:3.4s ease-in-out infinite progress-shimmer;position:absolute;inset:0;transform:translate(-120%)}.piece-section{margin-top:24px}.piece-section.upgrades{margin-top:15px}.piece-label{color:var(--dim);letter-spacing:.2em;margin-bottom:9px;font-size:8px;font-weight:800;display:block}.piece-list{flex-wrap:wrap;gap:7px;display:flex}.piece{border:1px solid var(--line);min-height:43px;color:var(--muted);text-align:left;cursor:pointer;clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);background:#07050770;grid-template-columns:28px 6px minmax(0,auto);align-items:center;gap:7px;padding:4px 10px 4px 5px;font-size:11px;transition:border-color .15s,color .15s,background .15s,transform .15s;display:inline-grid}.piece:hover{border-color:var(--gold);color:var(--parchment);background:#8f1f242e;transform:translateY(-1px)}.item-art-piece{border-color:#b9935129;width:28px;height:34px;padding:2px}.piece:hover .item-art-piece,.piece.has .item-art-piece{border-color:#e8c9846b}.piece i{background:var(--missing);width:6px;height:6px;margin:0}.piece>span:last-child{line-height:1.25}.piece.missing{border-style:dashed;border-color:#cd777566}.piece.has{color:var(--bright-gold);background:#b9935112;border-color:#e8c98466}.piece.has i{background:var(--gold);box-shadow:0 0 9px #e8c98499}.piece.optional{color:#8e8080}.piece.optional i{border:1px solid var(--gold);background:0 0}.card-footer{min-height:67px;color:var(--dim);border-top:1px solid #b9935124;justify-content:space-between;align-items:center;gap:16px;margin-top:auto;font-size:10px;display:flex}.card-footer a{z-index:2;color:var(--gold);letter-spacing:.15em;white-space:nowrap;font-size:9px;font-weight:800;text-decoration:none;transition:color .15s,text-shadow .15s;position:relative}.card-footer a:hover{color:var(--bright-gold);text-shadow:0 0 12px #e8c98473}.site-footer{border-top:1px solid var(--line);max-width:1760px;color:var(--dim);background:#07050775;justify-content:space-between;gap:32px;margin:0 auto;padding:30px clamp(22px,5vw,84px) 42px;font-size:10px;line-height:1.7;display:flex}.site-footer p{max-width:800px;margin:0}.site-footer strong{color:var(--gold)}.site-footer a{color:var(--gold);white-space:nowrap;text-decoration:none}@keyframes hero-breathe{0%{filter:saturate(.88)contrast(1.08);transform:scale(1.03)}to{filter:saturate(1.02)contrast(1.12);transform:scale(1.075)}}@keyframes sigil-turn{to{transform:rotate(360deg)}}@keyframes sigil-turn-back{to{transform:rotate(-360deg)}}@keyframes sigil-heart{0%,to{opacity:.55;box-shadow:0 0 16px var(--ember)}50%{opacity:1;box-shadow:0 0 34px var(--ember)}}@keyframes brand-pulse{0%,to{opacity:.72;box-shadow:0 0 5px #e8c98433}50%{opacity:1;box-shadow:0 0 14px #e8c984a3}}@keyframes ember-rise{0%{opacity:0;transform:translate(0,0)scale(.6)}12%{opacity:.85}55%{opacity:.55;transform:translate(22px,-330px)scale(1)}to{opacity:0;transform:translate(-15px,-690px)scale(.2)}}@keyframes card-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes ready-pulse{0%,to{opacity:.68;transform:scale(.82)}50%{opacity:1;transform:scale(1.22)}}@keyframes progress-shimmer{0%,52%{transform:translate(-120%)}80%,to{transform:translate(120%)}}@keyframes relic-claim{0%{transform:rotate(45deg)scale(.72)}70%{transform:rotate(45deg)scale(1.16)}to{transform:rotate(45deg)scale(1)}}@media (width<=1180px){.hero{min-height:700px}.hero-copy{width:min(760px,78vw)}.hero-stats{width:fit-content;margin-top:48px;position:static}.workspace{grid-template-columns:350px minmax(0,1fr)}.build-grid{grid-template-columns:1fr}}@media (width<=820px){.hero{min-height:720px;padding-bottom:46px}.hero-art{opacity:.66;inset:0 -35% 0 10%}.hero:before{background:linear-gradient(90deg,#070507f2,#0705078c 76%,#070507db)}.hero-sigil{width:330px;top:120px;right:-175px}.hero-copy{width:100%;margin-top:72px}.hero-stats{flex-wrap:wrap;gap:24px}.workspace{display:block}.inventory-panel{border-left:0;border-right:0;border-bottom:1px solid var(--line);min-height:0;max-height:none;position:static;overflow:visible}.inventory-list{max-height:480px;overflow-y:auto}.season-stamp{display:none}}@media (width<=560px){.hero{min-height:760px}.hero h1{font-size:50px}.hero-stats{grid-template-columns:1fr 1fr;padding-left:18px;display:grid}.hero-stats div:last-child{grid-column:1/-1}.section-heading,.search-field,.filter-row{margin-left:20px;margin-right:20px}.section-heading,.filter-row{padding-left:0;padding-right:0}.readiness-header{flex-direction:column;align-items:flex-start}.class-select{justify-content:space-between;width:100%}.class-select select{flex:1}.legend{flex-direction:column;gap:8px}.build-card{min-height:510px;padding:25px 22px 0}.class-sigil{font-size:126px}.site-footer{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation:none!important}.build-card{opacity:1}.hero-art{transform:none}}
