.gj-context{box-sizing:border-box;max-width:1180px;margin:20px auto;padding:16px;border:1px solid #564831;background:#171611;color:#e9dfcb}.gj-context-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.gj-context-head label{font-size:12px;color:#e2bd68;font-weight:700}.gj-context p{line-height:1.6;margin:4px 0;font-size:12px}.gj-context select,.gj-context input{min-width:0;max-width:100%;background:#10110e;color:#ece2cd;border:1px solid #665331;border-radius:2px;min-height:36px;padding:6px 10px;font:inherit;box-sizing:border-box}.gj-context-head select{flex:0 1 320px}.gj-context details{margin-top:10px}.gj-context summary{cursor:pointer;font-size:12px;color:#d7bb7a}.gj-edit{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.gj-edit label{display:flex;flex:1 1 140px;flex-direction:column;gap:6px;font-size:12px}.gj-edit label:first-child{flex-basis:200px}.gj-edit-status{width:100%}.gj-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.gj-context button,.gj-links a{font:600 12px inherit;color:#e2bd68;background:#252014;border:1px solid #665331;min-height:36px;padding:8px 12px;text-decoration:none;cursor:pointer;box-sizing:border-box}.gj-context :focus-visible{outline:2px solid #e2bd68;outline-offset:3px}.gj-context .gj-local-note{color:#aaa18f;font-size:11px;margin-top:10px}.gj-local-note[data-error=true]{color:#edc080}.gj-hub{max-width:1180px;margin:35px auto;padding:20px;color:#e9dfcb}.gj-hub h1{font:36px Georgia,serif;color:#e2bd68}.gj-hub p{line-height:1.7;max-width:720px}.gj-home-links{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.gj-home-links a{color:#e2bd68;padding:9px 12px;border:1px solid #665331;text-decoration:none}.gn-account .gj-top-link{color:#c7b99b;font-size:12px;white-space:nowrap;padding:8px;text-decoration:none}.gn-account .gj-top-link:hover{color:#e2bd68}@media(max-width:700px){.gj-context{margin:12px;padding:12px}.gj-context-head{align-items:stretch;flex-direction:column}.gj-context-head select{flex:auto;width:100%}.gj-links a,.gj-context button{min-height:42px}.gj-edit{flex-direction:column}.gj-edit label,.gj-edit label:first-child{flex:auto}.gn-account .gj-top-link{display:none}.gj-hub{padding:16px;margin:16px 0}}
.gj-context-head p:empty{display:none}.gj-context details>button{margin-top:12px}.gj-context .gj-links a{font-size:12px}.gj-context .gj-context-head select{font-size:13px}@media(max-width:700px){.gj-context .gj-links{gap:6px}.gj-context .gj-links a{padding:7px 9px}.gj-context{margin:10px 0}.gj-context details{margin-top:8px}.gj-context .gj-local-note{line-height:1.4}}

.gj-context [hidden]{display:none!important}.gj-planner{max-width:900px;padding:24px}.gj-planner>h1{font-size:clamp(32px,5vw,46px);line-height:1.15;margin-bottom:14px}.gj-planner>.gj-context{margin:24px 0;padding:24px;background:var(--gb-surface,#171611);border-top:2px solid var(--gb-accent,#e2bd68)}.gj-planner .gj-context summary{font-size:16px}.gj-planner .gj-context select,.gj-planner .gj-context input{min-height:44px;font-size:15px}.gj-planner .gj-edit button{min-height:44px}.gj-planner .gj-edit button[type=submit]{color:#171510;background:var(--gb-accent,#e2bd68);font-weight:750}.gj-planner .gj-storage-explainer{font-size:12px;color:var(--gb-muted,#bdb1a6)}.gj-compare-link{color:var(--gb-accent,#e2bd68);font-size:14px;text-underline-offset:4px}@media(max-width:700px){.gj-planner{padding:20px}.gj-planner>.gj-context{padding:18px;margin:20px 0}.gj-planner .gj-edit{gap:14px}.gj-planner .gj-links{display:grid;grid-template-columns:1fr 1fr}.gj-planner .gj-links a{text-align:center}}

.gj-class-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin:0 0 8px;padding:0;border:0;gap:9px}.gj-class-choices legend{font-size:12px;font-weight:700;color:#e2bd68;margin-bottom:10px}.gj-edit .gj-class-choices label{position:relative;display:flex;flex-direction:row;align-items:center;gap:8px;margin:0;padding:12px 10px;min-height:58px;border:1px solid #514735;background:#11120f;cursor:pointer;font-size:13px}.gj-class-choices input[type=radio]{width:16px;height:16px;min-height:0;flex:none;accent-color:#e2bd68;margin:0}.gj-class-choices img{width:32px;height:32px;border:1px solid #7d6847;border-radius:3px;flex:none}.gj-class-choices label:has(input:checked){border-color:#e2bd68;background:#30291b;box-shadow:inset 0 0 0 1px #e2bd6840}.gj-class-choices label:has(input:focus-visible){outline:2px solid #e2bd68;outline-offset:3px}@media(max-width:600px){.gj-class-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.gj-edit .gj-class-choices label{padding:10px 7px;gap:6px;font-size:12px}.gj-class-choices img{width:28px;height:28px}}

.gj-planner .gj-next-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.gj-planner .gj-next-tools a{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;min-height:112px;padding:14px 10px;background:#181914;font-size:14px}.gj-next-tools img{width:44px;height:48px;object-fit:contain}.gj-class-choices{min-width:0;box-sizing:border-box}@media(max-width:420px){.gj-planner .gj-next-tools{grid-template-columns:1fr}.gj-planner .gj-next-tools a{min-height:64px;flex-direction:row;justify-content:center}}

.gj-class-choices [data-class="warrior"] span{color:#C79C6E}
.gj-class-choices [data-class="paladin"] span{color:#F58CBA}
.gj-class-choices [data-class="hunter"] span{color:#ABD473}
.gj-class-choices [data-class="rogue"] span{color:#FFF569}
.gj-class-choices [data-class="priest"] span{color:#FFFFFF}
.gj-class-choices [data-class="shaman"] span{color:#0070DE}
.gj-class-choices [data-class="mage"] span{color:#69CCF0}
.gj-class-choices [data-class="warlock"] span{color:#9482C9}
.gj-class-choices [data-class="druid"] span{color:#FF7D0A}

@media(max-width:600px){.gj-class-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.gj-edit .gj-class-choices label{flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:12px 5px 8px;min-height:80px}.gj-class-choices input[type=radio]{position:absolute;top:6px;right:6px}.gj-class-choices img{width:32px;height:32px}.gj-class-choices span{font-size:12px;line-height:1.2;white-space:nowrap}}

/* Guided character choice. Uses the existing Warband card rhythm and faction tokens. */
.gj-character-builder{max-width:1060px;margin:28px auto 56px;padding:24px;color:var(--gb-text,#e9dfcb)}
.gj-character-builder .gj-builder-eyebrow{font-size:11px;font-weight:750;letter-spacing:.18em;color:var(--gb-accent,#e2bd68);margin:0 0 12px}
.gj-character-builder>h1{font:clamp(30px,4vw,44px)/1.15 Georgia,serif;color:var(--gb-heading,#e9dfcb);margin:0 0 14px}
.gj-character-builder>p{line-height:1.6;max-width:720px;color:var(--gb-muted,#bdb1a6);font-size:15px}
.gj-builder-steps{display:flex;list-style:none;margin:28px 0 0;padding:0;border:1px solid var(--gb-line,#514735);background:var(--gb-surface,#191713);counter-reset:step}
.gj-builder-steps li{counter-increment:step;flex:1;padding:14px 18px;font-size:13px;color:var(--gb-muted,#bdb1a6);border-bottom:2px solid transparent}
.gj-builder-steps li::before{content:counter(step);display:inline-grid;place-items:center;width:24px;height:24px;margin-right:9px;border:1px solid var(--gb-line,#514735);font-weight:700}
.gj-builder-steps li[aria-current]{color:var(--gb-accent,#e2bd68);border-bottom-color:var(--gb-accent,#e2bd68);background:var(--gb-inset,#211d17)}
.gj-builder-panel{padding:28px;border:1px solid var(--gb-line,#514735);border-top:0;background:var(--gb-surface,#191713)}
.gj-builder-panel>h2{font:22px Georgia,serif;color:var(--gb-accent,#e2bd68);margin:22px 0 14px}
.gj-builder-panel p{font:14px/1.65 system-ui,sans-serif;color:var(--gb-muted,#bdb1a6);max-width:720px}
.gj-builder-class-grid,.gj-builder-race-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gj-character-builder button,.gj-character-builder select{font:14px/1.4 system-ui,sans-serif;color:var(--gb-text,#ece2cf);background:var(--gb-inset,#11120f);border:1px solid var(--gb-line,#514735);border-radius:3px;padding:11px 14px;cursor:pointer;min-height:44px;max-width:100%}
.gj-builder-class-grid button,.gj-builder-race-grid button{display:grid;grid-template-columns:44px 1fr;gap:3px 12px;align-content:center;align-items:center;text-align:left;padding:15px;min-height:100px;transition:border-color .15s,background .15s}
.gj-builder-class-grid img,.gj-builder-race-grid img,.gj-builder-class-picked img,.gj-builder-identity img{width:44px;height:44px;border:1px solid #756242;border-radius:3px;object-fit:cover}
.gj-builder-class-grid img,.gj-builder-race-grid img{grid-row:1/4}
.gj-builder-class-grid strong,.gj-builder-race-grid strong{font-size:15px}
.gj-builder-class-grid span,.gj-builder-race-grid span{font-size:12px;color:var(--gb-muted,#bdb1a6)}
.gj-builder-race-grid small{font-size:10px;color:var(--gb-muted,#bdb1a6)}
.gj-builder-class-picked{display:grid;grid-template-columns:44px 1fr;gap:6px 14px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--gb-line,#514735)}
.gj-builder-class-picked img{grid-row:1/3}.gj-builder-class-picked strong{font-size:20px;color:var(--gb-accent,#e2bd68)}.gj-builder-class-picked p{margin:0}
.gj-builder-identity{display:flex;gap:16px;align-items:center}.gj-builder-identity img{width:64px;height:64px}.gj-builder-identity span{color:var(--gb-muted,#bdb1a6)}
.gj-builder-trait{padding:10px 14px;border-left:2px solid var(--gb-accent,#e2bd68);background:var(--gb-inset,#11120f)}
.gj-builder-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.gj-character-builder .gj-primary{background:#e2bd68;color:#171510;font-weight:750;border-color:#e2bd68}
.gj-character-builder :focus-visible{outline:2px solid var(--gb-accent,#e2bd68);outline-offset:4px}
.gj-character-builder h1:focus{outline:none}.gj-character-builder .gj-local-note{font-size:12px;margin-top:15px}
.gj-builder-source{font-size:11px;color:var(--gb-muted,#bdb1a6);text-underline-offset:3px}
.gj-builder-deeper{margin-top:24px;padding:16px;border:1px solid var(--gb-line,#514735)}
.gj-builder-deeper summary,.gj-builder-existing summary{cursor:pointer;color:var(--gb-accent,#e2bd68);font-size:14px}
.gj-builder-existing{margin-top:24px;padding-top:16px;border-top:1px solid var(--gb-line,#514735)}
.gj-builder-existing select,.gj-builder-existing button{margin:12px 8px 0 0}
.gj-builder-status:empty{display:none}.gj-builder-status{color:#edc080!important}
.gj-builder-class-grid [data-class=warrior] strong{color:#C79C6E}.gj-builder-class-grid [data-class=paladin] strong{color:#F58CBA}.gj-builder-class-grid [data-class=hunter] strong{color:#ABD473}.gj-builder-class-grid [data-class=rogue] strong{color:#FFF569}.gj-builder-class-grid [data-class=priest] strong{color:#fff}.gj-builder-class-grid [data-class=shaman] strong{color:#75aee2}.gj-builder-class-grid [data-class=mage] strong{color:#69CCF0}.gj-builder-class-grid [data-class=warlock] strong{color:#b9a0e4}.gj-builder-class-grid [data-class=druid] strong{color:#FF7D0A}
@media(hover:hover){.gj-builder-class-grid button:hover,.gj-builder-race-grid button:hover{border-color:var(--gb-accent,#e2bd68);background:var(--gb-surface-raised,#282219)}}
@media(max-width:760px){.gj-builder-class-grid,.gj-builder-race-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gj-builder-panel{padding:20px}.gj-builder-steps li{padding:12px;font-size:12px}}
@media(max-width:480px){.gj-character-builder{padding:20px 14px;margin:18px 0 36px}.gj-builder-panel{padding:16px 12px}.gj-builder-class-grid,.gj-builder-race-grid{gap:8px}.gj-builder-class-grid button,.gj-builder-race-grid button{display:flex;flex-direction:column;text-align:center;align-items:center;justify-content:center;padding:12px 6px;min-height:126px;gap:5px}.gj-builder-class-grid span{font-size:11px}.gj-builder-steps li{padding:10px 5px;text-align:center;font-size:11px}.gj-builder-steps li::before{display:grid;margin:0 auto 6px;width:22px;height:22px}.gj-builder-actions{flex-direction:column}.gj-builder-actions button{width:100%}.gj-builder-class-picked{grid-template-columns:36px 1fr;gap:8px 10px}.gj-builder-class-picked img{width:36px;height:36px}.gj-builder-existing select{width:100%}.gj-builder-existing button{width:100%;margin-right:0}}
@media(prefers-reduced-motion:reduce){.gj-builder-class-grid button,.gj-builder-race-grid button{transition:none}}
.gb-class-card.gj-chosen-class{border-color:var(--class-color)!important;box-shadow:inset 0 0 0 1px var(--class-color)}
.gb-class-card.gj-chosen-class>span{color:var(--class-color);font-weight:700}
.gj-race-compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:24px;align-items:start;margin-top:22px}
.gj-race-options>h2{font:22px Georgia,serif;color:var(--gb-accent,#e2bd68);margin:0 0 14px}.gj-race-options>h2:not(:first-child){margin-top:24px}
.gj-race-options .gj-builder-race-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.gj-race-preview{background:var(--gb-inset,#11120f);border:1px solid var(--gb-line,#514735);border-top:2px solid var(--gb-accent,#e2bd68);padding:20px;position:sticky;top:24px;min-width:0}
.gj-race-preview>h2{font:24px Georgia,serif;color:var(--gb-accent,#e2bd68);margin:0 0 4px}.gj-race-preview>p{margin:4px 0 16px}.gj-race-preview h3{font:700 11px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--gb-muted,#bdb1a6);margin:20px 0 12px}
.gj-race-preview ul{list-style:none;padding:0;margin:0}.gj-race-preview li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;margin:12px 0}.gj-race-preview li img{width:30px;height:30px;border:1px solid #756242;border-radius:2px}.gj-race-preview li strong{display:block;font-size:12px;line-height:1.4}.gj-race-preview li span{display:block;font-size:12px;color:var(--gb-muted,#bdb1a6);line-height:1.4;margin-top:3px}
.gj-race-preview>button{width:100%;margin:16px 0}.gj-race-preview>.gj-builder-source{display:block;margin:6px 0}.gj-race-preview>small{display:block;color:var(--gb-muted,#bdb1a6);font-size:10px;line-height:1.5}.gj-builder-race-grid button[aria-pressed=true]{border-color:var(--gb-accent,#e2bd68);background:var(--gb-surface,#211b18)}
@media(max-width:760px){.gj-race-compare{grid-template-columns:1fr;gap:18px}.gj-race-preview{position:static}}
.gj-builder-traits{margin:18px 0}.gj-builder-traits summary{color:var(--gb-accent,#e2bd68);font-size:14px;cursor:pointer}.gj-builder-traits ul{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px}.gj-builder-traits li{display:grid;grid-template-columns:30px 1fr;gap:3px 10px;align-items:center;font-size:12px}.gj-builder-traits li img{grid-row:1/3;width:30px;height:30px}.gj-builder-traits li span{color:var(--gb-muted,#bdb1a6)}@media(max-width:600px){.gj-builder-traits ul{grid-template-columns:1fr}}
.gj-builder-professions button[aria-pressed=true]{border-color:var(--gb-accent,#e2bd68);background:var(--gb-surface,#211b18);box-shadow:inset 0 0 0 1px var(--gb-accent,#e2bd68)}
.gj-profession-summary{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:20px 0}.gj-profession-summary img{width:30px;height:30px;border:1px solid #756242}.gj-profession-summary strong{font-size:14px;margin-right:14px}
.gj-builder-next{margin-top:24px;padding:20px 0;border-top:1px solid var(--gb-line,#514735)}.gj-builder-next h3{font:20px Georgia,serif;color:var(--gb-accent,#e2bd68)}.gj-builder-next .gj-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gj-builder-next .gj-links a{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:16px;color:var(--gb-ink,#eee3cf);background:var(--gb-inset,#11120f);border:1px solid var(--gb-line,#514735)}.gj-builder-next a>img{width:32px;height:32px}.gj-builder-next a>span{font-size:12px;font-weight:400;color:var(--gb-muted,#bdb1a6)}@media(max-width:600px){.gj-builder-next .gj-links{grid-template-columns:1fr}.gj-builder-steps li{font-size:10px}}
