
:root{--lab-bg:#101315;--lab-panel:#191d20;--lab-soft:#22282c;--lab-line:#30373c;--lab-text:#e9edef;--lab-muted:#99a4ac;--lab-gold:#d8bf87;--lab-green:#79b6a2;--lab-shadow:0 18px 60px #0002}html[data-theme=light]{--lab-bg:#f4f3ef;--lab-panel:#fff;--lab-soft:#f1f1ec;--lab-line:#ddded8;--lab-text:#21292e;--lab-muted:#636e73;--lab-gold:#8b6931;--lab-green:#397d69;--lab-shadow:0 18px 60px #353c4210}
*{box-sizing:border-box}body{margin:0;background:var(--lab-bg);color:var(--lab-text);font:14px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select{font:inherit}button,.button{cursor:pointer;border:1px solid var(--lab-line);border-radius:9px;background:var(--lab-soft);color:var(--lab-text);padding:9px 13px;transition:background .15s,transform .15s}button:hover,.button:hover{border-color:var(--lab-gold)}button:disabled{opacity:.38;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--lab-gold);outline-offset:3px}input,select{width:100%;border:1px solid var(--lab-line);border-radius:9px;background:var(--lab-bg);color:var(--lab-text);padding:11px;min-height:43px}label{display:grid;gap:7px;color:var(--lab-muted);font-size:12px}a{color:var(--lab-gold)}[hidden]{display:none!important}header{height:78px;border-bottom:1px solid var(--lab-line);display:flex;justify-content:space-between;align-items:center;padding:0 max(24px,calc((100vw - 1420px)/2));gap:20px}.brand{text-decoration:none;color:var(--lab-gold);font-size:23px;display:flex;align-items:center;gap:17px}.brand span{font-size:13px;letter-spacing:2px;color:var(--lab-muted)}.brand b{color:var(--lab-text)}.header-right{display:flex;align-items:center;gap:18px}.dev-label{font-size:10px;letter-spacing:2px;color:var(--lab-muted)}main{max-width:1470px;padding:0 26px 64px;margin:auto}.hero{display:flex;justify-content:space-between;align-items:center;padding:58px 0 40px;gap:30px}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:650;color:var(--lab-gold);margin:0 0 14px}h1{font-size:clamp(36px,4vw,58px);line-height:1.09;letter-spacing:-2.5px;font-weight:550;margin:0 0 18px}h1 span{color:var(--lab-muted)}.hero>div>p:last-child{color:var(--lab-muted);font-size:15px}.hero-status{font-size:12px;color:var(--lab-green);text-align:right;align-self:flex-end}.hero-status p{font-size:11px!important}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lab-green);margin-right:7px}.panel{background:var(--lab-panel);border:1px solid var(--lab-line);border-radius:16px;box-shadow:var(--lab-shadow)}.character{display:grid;grid-template-columns:1.2fr 1fr 1fr .6fr 1.2fr;gap:20px;padding:22px 26px;align-items:center}.identity{display:flex;align-items:center;gap:12px}.identity img{width:44px;height:44px;border-radius:12px}.identity .eyebrow{font-size:9px}.identity h2{margin:3px 0 0;font-size:21px}.lab-layout{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:26px;margin-top:26px}.tabs{display:flex;gap:8px;margin:0 0 18px}.tabs button{border:0;background:none;color:var(--lab-muted);padding:12px 20px}.tabs button span{margin-left:8px}.tabs button[aria-pressed=true]{background:var(--lab-soft);color:var(--lab-gold)}.builder>section{padding:25px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading .eyebrow{margin-bottom:6px}h2{font-size:23px;font-weight:550;letter-spacing:-.5px;margin:0}h3{font-size:15px;font-weight:550;margin:12px 0 6px}.help,.attribution{color:var(--lab-muted);font-size:12px}.help{margin:14px 0 20px}.quiet{border:0;background:transparent;color:var(--lab-muted);font-size:12px}.pill{background:var(--lab-soft);border:1px solid var(--lab-line);border-radius:20px;padding:6px 11px;font-size:11px;white-space:nowrap}#talent-trees{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.talent-tree{min-width:0;border:1px solid var(--lab-line);border-radius:12px;background:var(--lab-bg);padding:14px 10px}.tree-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.tree-heading h3{margin:0;font-size:13px}.tree-heading span{font-size:11px;color:var(--lab-muted)}.talent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px 5px;align-items:start}.talent{min-width:0;text-align:center;position:relative}.talent-face{border:1px solid var(--lab-line);border-radius:7px;background:var(--lab-soft);padding:6px 2px;font-size:10px;min-height:57px;display:flex;align-items:center;justify-content:center;line-height:1.3;overflow-wrap:anywhere}.talent.invested .talent-face{border-color:var(--lab-gold);color:var(--lab-gold);background:color-mix(in srgb,var(--lab-gold) 9%,var(--lab-bg))}.talent-controls{display:flex;align-items:center;justify-content:space-between;margin-top:5px;gap:1px}.talent-controls button{padding:0;width:22px;height:24px;line-height:18px;border-radius:5px}.talent-controls span{font-size:9px;white-space:nowrap}.talent-info{cursor:help;outline-offset:2px}.talent-tip{display:none;position:absolute;z-index:5;width:240px;left:0;top:100%;background:var(--lab-panel);border:1px solid var(--lab-gold);border-radius:9px;padding:12px;text-align:left;box-shadow:var(--lab-shadow);font-size:12px}.talent:hover .talent-tip,.talent:focus-within .talent-tip{display:block}.talent-tree:last-child .talent:nth-child(4n) .talent-tip{left:auto;right:0}.attribution{margin-top:20px;border-top:1px solid var(--lab-line);padding-top:15px;font-size:10px}.notice{font-size:12px;color:var(--lab-gold);min-height:18px}.results{padding:26px;align-self:start;position:sticky;top:20px}.results h2{font-size:26px}.primary{background:var(--lab-gold);color:var(--lab-bg);border:0;font-weight:650;width:100%;display:flex;justify-content:space-between;padding:14px 17px}.empty-orbit{border:1px solid var(--lab-line);width:90px;height:90px;border-radius:50%;margin:36px auto 20px;display:grid;place-items:center;font-size:30px;color:var(--lab-gold)}#result>h3,#result>p{text-align:center;color:var(--lab-muted);font-size:12px}#result .dps{text-align:left;color:var(--lab-text);font-size:52px;letter-spacing:-2px;line-height:1.1;margin:23px 0 2px}#result .dps small{font-size:12px;color:var(--lab-muted);letter-spacing:0}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.metrics span{display:block;font-size:10px;color:var(--lab-muted)}.metrics b{font-size:17px;font-weight:500}.damage-row{margin:12px 0;font-size:11px}.damage-row>div{display:flex;justify-content:space-between}.damage-track{height:4px;background:var(--lab-soft);margin-top:6px;border-radius:4px;overflow:hidden}.damage-track i{display:block;height:100%;background:var(--lab-gold)}.warnings{color:var(--lab-muted);font-size:11px;margin-top:22px}.warnings p{margin:9px 0}.result-stale{color:var(--lab-gold);font-size:11px;padding:8px 0}#pin-result{width:100%;margin-top:16px}#comparison{margin-top:15px;color:var(--lab-green);font-size:12px}#equipment{display:grid;grid-template-columns:1fr 1fr;gap:10px}.equipment-slot{display:flex;align-items:center;text-align:left;gap:10px;min-height:73px;background:var(--lab-bg);padding:12px;min-width:0}.slot-monogram{width:35px;height:35px;flex:none;display:grid;place-items:center;background:var(--lab-soft);border:1px solid var(--lab-line);border-radius:9px;color:var(--lab-gold);font-size:11px}.equipment-slot small{display:block;font-size:10px;color:var(--lab-muted)}.equipment-slot strong{font-weight:500;font-size:12px;overflow-wrap:anywhere}.preset-row{display:flex;gap:12px;align-items:end;margin-top:18px}.preset-row label{flex:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.assumptions{border-top:1px solid var(--lab-line);padding-top:12px;color:var(--lab-muted);font-size:12px}.build-storage{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.build-storage h3{margin:0}.build-storage p{font-size:11px;color:var(--lab-muted);margin:4px 0}.storage-actions{display:flex;flex-wrap:wrap;gap:8px}.storage-actions button,.storage-actions .button{font-size:11px}.coverage{margin-top:26px;padding:20px 25px;font-size:12px;color:var(--lab-muted)}summary{cursor:pointer;color:var(--lab-text);font-size:13px}.coverage p{max-width:920px}footer{max-width:1420px;margin:auto;border-top:1px solid var(--lab-line);padding:25px 0;display:flex;justify-content:space-between;font-size:11px;color:var(--lab-muted)}dialog{width:min(750px,calc(100vw - 24px));max-height:85vh;color:var(--lab-text);background:var(--lab-panel);border:1px solid var(--lab-line);border-radius:18px;padding:25px;box-shadow:0 30px 120px #0008}dialog::backdrop{background:#0009;backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head .eyebrow{margin-bottom:6px}.search-controls{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-top:20px}#item-count{font-size:11px;color:var(--lab-muted)}#item-results{max-height:45vh;overflow:auto}.item-row{display:block;width:100%;text-align:left;margin:8px 0;padding:13px;background:var(--lab-bg)}.item-row strong{font-size:13px;font-weight:550}.item-row small{display:block;color:var(--lab-muted);font-size:11px;margin-top:5px}.item-row .item-tags{color:var(--lab-gold)}#unequip{margin-top:16px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:5px;z-index:99}#fatal{padding:20px;color:var(--lab-gold)}
@media(min-width:1550px){.talent-face{font-size:11px}}@media(max-width:1150px){.lab-layout{grid-template-columns:minmax(0,1fr) 290px;gap:16px}.builder>section{padding:18px}.talent-grid{gap:8px 3px}.talent-face{font-size:9px}.talent-controls button{width:18px}.results{padding:20px}.character{gap:12px}.identity .eyebrow{display:none}}
@media(max-width:950px){.lab-layout{grid-template-columns:1fr}.results{position:static}.character{grid-template-columns:repeat(4,1fr)}.identity{grid-column:1/-1}.hero-status{display:none}.talent-face{font-size:11px}.talent-controls button{width:26px;height:28px}.results #result{max-width:640px}.hero{padding-top:35px}}
@media(max-width:580px){main{padding:0 14px 35px}header{padding:0 16px;height:65px}.brand span{font-size:10px;letter-spacing:1px}.hero{padding-bottom:24px}h1{font-size:38px;letter-spacing:-1.6px}.hero>div>p:last-child{font-size:13px}.character{grid-template-columns:1fr 1fr;padding:18px}.character label:last-child{grid-column:1/-1}.tabs{gap:0}.tabs button{padding:10px;font-size:12px;flex:1}.tabs button span{margin-left:3px}#talent-trees{grid-template-columns:1fr}.talent-grid{gap:12px}.talent-face{font-size:11px;min-height:52px}.talent-controls button{width:30px;height:30px}.talent-controls span{font-size:11px}.talent-tip{width:190px}.talent:nth-child(4n) .talent-tip{left:auto;right:0}.section-heading{align-items:flex-start}.section-heading .eyebrow{font-size:8px}.section-heading h2{font-size:21px}.pill{font-size:9px;padding:5px 8px}.quiet{padding:6px}.preset-row{flex-direction:column;align-items:stretch}#equipment{grid-template-columns:1fr}.search-controls{grid-template-columns:1fr}dialog{padding:18px}.build-storage{padding:18px!important}footer{padding:20px 16px;flex-direction:column;gap:8px}.form-grid{gap:12px}.results{padding:22px}.dev-label{font-size:8px}}
.talent-face img{width:36px;height:36px;border-radius:5px}.preset-row{margin-bottom:18px}

html[data-theme=light] .item-row.quality-2 strong{color:#26721c}html[data-theme=light] .item-row.quality-3 strong{color:#165aab}html[data-theme=light] .item-row.quality-4 strong{color:#7132aa}html[data-theme=light] .item-row.quality-5 strong{color:#945200}
/* Keep the site chrome quiet; Warcraft artwork belongs inside the build panels. */
.site-tabs{display:flex;gap:8px;max-width:1470px;margin:18px auto 0;padding:0 26px}.site-tabs a{padding:10px 18px;border:1px solid var(--lab-line);border-radius:8px;text-decoration:none;color:var(--lab-muted)}.site-tabs a[aria-current]{border-color:var(--lab-gold);color:var(--lab-text)}.site-tabs small{font-size:10px;margin-left:6px;color:var(--lab-gold)}
label,.character>*,.preset-row>*{min-width:0}select,input{min-width:0;max-width:100%;line-height:1.5}select{appearance:none;padding:11px 38px 11px 13px;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%2399a4ac' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}option{background:var(--lab-panel);color:var(--lab-text)}
.talent-tree{padding:14px 8px 8px;border:1px solid #75613e;border-radius:5px;background:linear-gradient(#080b0d77,#080b0da6),var(--tree-art) center/100% 100%;box-shadow:inset 0 0 0 3px #15140fe0,inset 0 0 35px #0009;color:#eee2c4}.tree-heading{padding:0 4px 12px;border-bottom:1px solid #b79c5844;margin-bottom:6px}.tree-heading h3{font-family:Georgia,serif;font-size:16px;color:#ead6a2}.tree-heading span{color:#d4c5a3;font-size:10px}.talent-grid{position:relative;isolation:isolate;grid-template-rows:repeat(7,90px);gap:0;align-items:start}.talent{padding-top:8px;overflow:visible}.talent-face{width:42px;height:42px;min-height:0;margin:auto;padding:2px;border:2px solid #777369;border-radius:3px;background:#151515;box-shadow:0 2px 5px #000c}.talent-face img{width:34px;height:34px;border-radius:0;object-fit:cover;transition:filter .15s}.talent.unselected .talent-face img{filter:grayscale(1) brightness(.65)}.talent.locked.unselected .talent-face{opacity:.72}.talent.invested .talent-face{border-color:#e8be62;background:#241b0d;box-shadow:0 0 8px #dda84b55}.talent.invested .talent-face img{filter:none}.talent.available.unselected .talent-face{border-color:#89917d}.talent-controls{max-width:62px;margin:4px auto 0;position:relative;z-index:1;background:#10100dd9;border-radius:3px;color:#eee1bc}.talent-controls button{width:19px;height:22px;padding:0;border-radius:3px;border-color:#77705c;background:#28261e;color:#ead6a2}.talent-controls span{font-size:10px;color:#e5d2a3}.prerequisite-arrows{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible;pointer-events:none}.prerequisite-link{fill:none;stroke:#96938c;stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #000)}.prerequisite-link.met{stroke:#e8be62}.talent-tip{left:var(--tip-left);right:var(--tip-right);background:#101522f5;border:1px solid #b29b5e;color:#f2e9d4;box-shadow:0 6px 20px #0009;max-width:calc(100vw - 65px)}.talent:hover,.talent:focus-within{z-index:5}.talent-tip strong{color:#f0ce78}.talent-tip small{color:#b7b4a7}
#equipment{display:block}.paper-doll{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.8fr) minmax(0,1fr);gap:12px;padding:18px 12px 12px;border:1px solid #77603c;border-radius:6px;background:linear-gradient(90deg,#080c10db,#0a0d1233,#080c10db),var(--character-art) center/cover;box-shadow:inset 0 0 45px #0009}.gear-column{display:grid;gap:10px;align-content:start}.equipment-slot{min-height:61px;padding:6px;gap:8px;background:#11151bdd;border:1px solid #69645677;border-radius:4px;color:#eee9dc}.equipment-slot:hover{background:#242722ed}.slot-monogram{width:40px;height:40px;border-radius:3px;border:2px solid #75694d;background:linear-gradient(135deg,#24282d,#0d1117);color:#908571;font-family:Georgia,serif;font-size:12px}.slot-monogram img{width:100%;height:100%;object-fit:cover}.equipment-slot small{color:#b5b1a6;font-size:9px}.equipment-slot strong{font-size:11px;line-height:1.3;display:block}.quality-2 strong{color:#63cc48}.quality-3 strong{color:#62aafa}.quality-4 strong{color:#c498ff}.quality-5 strong{color:#ffae59}.character-portrait{display:flex;flex-direction:column;align-items:center;justify-content:end;text-align:center;color:#f4e2b4;padding:20px 0;text-shadow:0 2px 5px #000}.character-portrait img{width:48px;height:48px;border:2px solid #b49a62;border-radius:50%;margin-top:170px;box-shadow:0 0 25px #000}.character-portrait h3{font:22px Georgia,serif;margin:10px 0 0}.character-portrait p{margin:4px 0;font-size:12px}.character-portrait small{font-size:9px;color:#d0c9b6}.portrait-level{font-size:10px;letter-spacing:2px}.weapon-slots{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.item-row{min-height:76px;display:flow-root}.item-row>img{float:left;width:44px;height:44px;margin:0 14px 10px 0;border:2px solid #84704c;border-radius:3px}.item-row>small{overflow-wrap:anywhere}
@media(min-width:951px) and (max-width:1200px){#talent-trees{grid-template-columns:1fr}.talent-grid{max-width:420px;margin:auto}.talent-tree{background-size:cover}.paper-doll{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.character-portrait{grid-column:1/-1;grid-row:1;min-height:150px}.character-portrait img{margin-top:10px}.gear-column{grid-row:2}}
@media(max-width:580px){.site-tabs{padding:0 14px}.talent-grid{grid-template-rows:repeat(7,90px)}.talent-controls{max-width:72px}.talent-controls button{width:25px;height:26px}.paper-doll{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:10px}.character-portrait{grid-column:1/-1;grid-row:1;min-height:190px;justify-content:center}.character-portrait img{margin-top:12px}.gear-column{grid-row:2;gap:8px}.equipment-slot{min-height:74px;gap:6px;padding:5px}.equipment-slot strong{font-size:10px}.slot-monogram{width:32px;height:32px}.weapon-slots{gap:5px}.weapon-slots .equipment-slot{flex-direction:column;text-align:center}.section-heading>div{min-width:0}.tree-heading h3{font-size:18px}.talent-tip{font-size:11px}}
.starter-builds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 22px}.starter-builds button{text-align:left;padding:13px;min-width:0}.starter-builds strong,.starter-builds small{display:block}.starter-builds strong{font-size:12px}.starter-builds small{font-size:10px;color:var(--lab-muted);margin-top:5px}.starter-builds [aria-pressed=true]{border-color:var(--lab-gold);background:color-mix(in srgb,var(--lab-gold) 12%,var(--lab-panel))}.starter-heading .help{margin:5px 0}.damage-row small{display:block;font-size:10px;color:var(--lab-muted);margin-top:5px}#result.stale{opacity:.55}#result.stale:before{content:'Previous build result — run again to refresh';display:block;padding:10px 0;color:var(--lab-gold)}.tournament-bar{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:20px 26px;margin-top:20px}.tournament-bar p{margin:0}.tournament-bar .eyebrow{margin-bottom:6px}#tournament-panel{padding:24px;margin-top:16px}#duel-plan{max-width:850px}.spellbook-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px}.spellbook-grid>div{padding:10px;background:var(--lab-soft);border-radius:7px}.spellbook-grid small{display:block;color:var(--lab-muted)}.buff-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:24px}.buff-section{padding:25px;margin:22px 0}.buff-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}.buff-layout .buff-section{margin:0}.buff-cards{display:grid;gap:12px;margin-top:20px}.buff-cards article{padding:15px;border:1px solid var(--lab-line);border-radius:10px;background:var(--lab-bg)}.buff-cards h3{margin:5px 0;font-size:16px}.buff-cards p{margin:8px 0}.buff-cards small{color:var(--lab-muted);font-size:11px}.buff-total{border-top:1px solid var(--lab-line);margin-top:20px;padding-top:15px;color:var(--lab-gold)}.potion-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.existing-buffs{display:flex;flex-wrap:wrap;gap:12px}.existing-buffs label{display:flex;align-items:center;padding:10px;background:var(--lab-bg);border:1px solid var(--lab-line);border-radius:7px}.existing-buffs input{width:16px;min-height:16px}.buff-section li{padding-bottom:10px;color:var(--lab-muted)}.site-tabs{flex-wrap:wrap}@media(max-width:650px){.starter-builds{grid-template-columns:1fr 1fr}.tournament-bar{align-items:stretch;flex-direction:column}.spellbook-grid,.buff-layout,.potion-cards{grid-template-columns:1fr}.buff-controls{grid-template-columns:1fr 1fr;padding:18px;gap:12px}.buff-section{padding:18px}.site-tabs a{padding:9px 12px}}

/* Character creation: race and class are independent, legal selections. */
.character.panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,240px);align-items:start;gap:22px}
.character .identity{grid-column:1/-1;min-width:0}.character .identity h2{font-size:22px;line-height:1.3}.character-choices{grid-column:1/-1;min-width:0}
.choice-heading{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--lab-gold);margin:0 0 10px}.choice-heading span{letter-spacing:0;text-transform:none;color:var(--lab-muted);margin-left:10px}.choice-heading:not(:first-child){margin-top:22px}
.icon-choices{display:grid;gap:8px;grid-template-columns:repeat(9,minmax(0,1fr))}.icon-choices button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 7px;min-height:90px;font-size:12px;line-height:1.3}.icon-choices img{width:38px;height:38px;object-fit:cover;border-radius:7px;filter:grayscale(.7);opacity:.75}.icon-choices button[aria-pressed=true]{border-color:var(--lab-gold);background:var(--lab-panel);box-shadow:inset 0 0 0 1px var(--lab-gold)}.icon-choices button[aria-pressed=true] img{filter:none;opacity:1}.icon-choices small{display:block;color:var(--lab-muted);font-size:10px;margin-top:4px}.race-choices{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}
.race-portrait{position:relative;width:112px;margin:0 auto 18px}.character-portrait .race-portrait>img:first-child{width:112px;height:112px;border-radius:50%;border:2px solid #d8bf87;box-shadow:0 8px 35px #0008}.character-portrait .race-portrait .portrait-class-badge{position:absolute;right:-5px;bottom:-5px;width:38px;height:38px;border-radius:8px;border:2px solid #d8bf87}.character-portrait small{max-width:210px}
@media(max-width:900px){.icon-choices{grid-template-columns:repeat(5,minmax(0,1fr))}.race-choices{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:560px){.character.panel{grid-template-columns:1fr 1fr;padding:16px;gap:16px}.icon-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.race-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.character .identity h2{font-size:18px}.choice-heading span{display:block;margin:5px 0 0}.race-portrait{width:80px}.character-portrait .race-portrait>img:first-child{width:80px;height:80px}}

.faction-choices{grid-template-columns:repeat(2,minmax(0,180px));margin-bottom:22px}.faction-choices button{flex-direction:row;min-height:64px;gap:12px;font-size:14px}.faction-choices img{width:40px;height:40px}.buff-card-heading{display:flex;align-items:center;gap:13px;margin-bottom:10px}.buff-card-heading>div{min-width:0}.buff-card-heading h3{margin:3px 0 0}.buff-icon{width:40px;height:40px;object-fit:cover;border:1px solid var(--lab-gold);border-radius:7px;flex-shrink:0}.existing-buffs .buff-icon{width:27px;height:27px}.existing-buffs label{align-items:center}.buff-class-select{display:flex;align-items:center;gap:9px;min-width:0}.buff-class-select img{width:32px;height:32px;border-radius:6px}.buff-class-select select{min-width:0}@media(max-width:560px){.faction-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.faction-choices button{padding:9px;font-size:12px}}

.analytics-link{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}.analytics-choice{position:fixed;bottom:18px;left:18px;right:18px;z-index:100;max-width:720px;margin:auto;padding:20px;border:1px solid #85734b;border-radius:16px;background:#171b1e;color:#f5f5ef;box-shadow:0 10px 40px #0006}.analytics-choice[hidden]{display:none}.analytics-choice p{font-size:13px;line-height:1.5;margin:8px 0 14px}.analytics-choice a{color:#dec58c}.analytics-actions{display:flex;gap:10px}.analytics-actions button{flex:1;min-height:44px;border:1px solid #a38c57;border-radius:8px;background:transparent;color:inherit;cursor:pointer}.analytics-actions button:last-child{background:#dec58c;color:#171b1e}[data-theme=light] .analytics-choice{background:#fffdf7;color:#262b2e}[data-theme=light] .analytics-choice a{color:#755b20}@media(max-width:480px){.analytics-choice{bottom:10px;left:10px;right:10px;padding:16px}}
