/* Dojo NodachiLab — Build Editor Beta v0.2 */
:root{--bg:#080706;--surface:rgba(23,21,18,.88);--line:rgba(255,159,26,.18);--line-strong:rgba(255,159,26,.35);--text:#f6efe5;--muted:#b8afa1;--muted-2:#81776a;--brand:#ff9f1a;--gold:#ffd166;--green:#19d982;--purple:#7a3cff;--radius:22px;--shadow:0 24px 70px rgba(0,0,0,.45);--max:1320px;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:dark}body{margin:0;min-height:100vh;font-family:var(--font);color:var(--text);background:radial-gradient(circle at 18% 0%,rgba(255,159,26,.13),transparent 35rem),radial-gradient(circle at 84% 12%,rgba(122,60,255,.10),transparent 35rem),linear-gradient(180deg,#090806 0%,#0d0b09 48%,#080706 100%);line-height:1.6}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent 82%)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.dojo-container{width:min(100% - 32px,var(--max));margin-inline:auto}.skip-link{position:absolute;z-index:999;top:10px;left:10px;transform:translateY(-140%);padding:10px 14px;border-radius:999px;background:var(--brand);color:#120d08;font-weight:900}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.dojo-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:rgba(8,7,6,.84);backdrop-filter:blur(18px)}.header-inner{min-height:76px;display:flex;align-items:center;gap:20px}.brand{display:inline-flex;align-items:center;gap:12px;font-weight:1000}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,rgba(255,159,26,.32),rgba(224,49,34,.26)),#15110d;border:1px solid var(--line-strong);color:var(--gold)}.brand-copy{display:grid;line-height:1.05}.brand-copy small{color:var(--brand);text-transform:uppercase;font-size:.72rem;letter-spacing:.16em;margin-top:3px}.main-nav{display:flex;align-items:center;gap:6px;margin-left:auto}.main-nav a{padding:10px 12px;border-radius:999px;color:var(--muted);font-size:.94rem;font-weight:800}.main-nav a:hover{color:var(--text);background:rgba(255,255,255,.06)}.lang-switch{display:inline-flex;padding:4px;border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:999px}.lang-switch button{border:0;cursor:pointer;color:var(--muted);background:transparent;border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:1000}.lang-switch button.active{color:#140b02;background:var(--brand)}.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04);cursor:pointer}.menu-toggle span:not(.sr-only){display:block;width:18px;height:2px;margin:4px auto;background:var(--text);border-radius:999px}.editor-hero{padding:80px 0 42px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(300px,.84fr);gap:34px;align-items:center}.eyebrow,.mini-label{display:inline-flex;align-items:center;gap:8px;color:var(--brand);font-size:.78rem;font-weight:1000;letter-spacing:.14em;text-transform:uppercase}.eyebrow:before{content:"◆";color:var(--gold)}h1,h2,h3{margin:0;line-height:1.08}.editor-hero h1{max-width:840px;margin-top:14px;font-size:clamp(3rem,7.5vw,6.1rem);letter-spacing:-.065em;text-shadow:0 0 50px rgba(255,159,26,.16)}.hero-lead{max-width:780px;margin:22px 0 0;color:var(--muted);font-size:clamp(1.05rem,1.8vw,1.25rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border-radius:999px;border:0;cursor:pointer;font-weight:1000;transition:transform .2s ease,filter .2s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#150d03;background:linear-gradient(135deg,var(--brand),#ffcf6a);box-shadow:0 14px 28px rgba(255,159,26,.22)}.btn-ghost{color:var(--text);border:1px solid var(--line-strong);background:rgba(255,255,255,.04)}.btn-small{min-height:38px;padding:9px 13px;font-size:.86rem}.hero-panel,.side-card,.panel{border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 12% 0%,rgba(255,159,26,.13),transparent 16rem),linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025)),var(--surface);box-shadow:var(--shadow)}.hero-panel{padding:26px}.tool-badge{display:inline-flex;align-items:center;min-height:28px;padding:6px 10px;border-radius:999px;font-size:.73rem;font-weight:1000;letter-spacing:.08em;text-transform:uppercase}.tool-badge.beta{color:#170f02;background:var(--gold)}.hero-panel h2{margin-top:16px;font-size:clamp(1.7rem,3.2vw,2.5rem);letter-spacing:-.04em}.hero-panel ul{margin:18px 0 0;padding-left:20px;color:var(--muted)}.editor-section{padding:34px 0 76px}.editor-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:22px;align-items:start}.editor-side{position:sticky;top:96px;display:grid;gap:14px}.side-card{padding:20px}.side-card.subtle{background:rgba(255,255,255,.035)}.mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.mode-tabs button{min-height:38px;border:1px solid var(--line);border-radius:999px;cursor:pointer;color:var(--muted);background:rgba(255,255,255,.04);font-weight:1000}.mode-tabs button.active{color:#150d03;border-color:transparent;background:var(--brand)}.profession-grid{display:grid;gap:8px;margin-top:14px}.profession-button{display:flex;align-items:center;gap:10px;min-height:48px;padding:9px 11px;border:1px solid var(--line);border-radius:14px;cursor:pointer;color:var(--text);background:rgba(255,255,255,.035);text-align:left;font-weight:900}.profession-button:hover,.profession-button.active{border-color:var(--brand);background:rgba(255,159,26,.08)}.profession-button img{width:30px;height:30px;object-fit:contain}.loading-card,.status-box{min-height:48px;padding:14px;border:1px dashed var(--line-strong);border-radius:14px;color:var(--muted);background:rgba(255,255,255,.025)}.share-actions{display:grid;gap:8px;margin-top:12px}.share-output,.game-code-output{width:100%;min-height:96px;resize:vertical;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:14px;color:var(--text);background:rgba(0,0,0,.22);outline:none}.game-code-output{min-height:82px;font-family:Consolas,"Courier New",monospace}.micro-note{margin:10px 0 0;color:var(--muted-2);font-size:.78rem}.editor-main{display:grid;gap:18px}.panel{padding:24px}.intro-panel h2,.panel-head h2,.selected-head h2{margin-top:10px;font-size:clamp(1.8rem,3.4vw,3rem);letter-spacing:-.052em}.intro-panel p{color:var(--muted);max-width:780px}.selected-head,.panel-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}.selected-icon{width:72px;height:72px;object-fit:contain}.build-summary,.traits-area,.skill-slots{display:grid;gap:12px}.summary-row{display:flex;flex-wrap:wrap;gap:8px}.pill{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:6px 10px;border-radius:999px;color:var(--muted);background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.07);font-size:.86rem;font-weight:800}.pill strong{color:var(--gold)}.spec-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.spec-card,.skill-card,.weapon-card,.notes-box{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.035)}.spec-card>span,.weapon-card>span,.notes-box span,.skill-head strong{color:var(--gold);font-weight:1000;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.custom-select{position:relative}.custom-trigger{width:100%;min-height:48px;border:1px solid var(--line);border-radius:14px;color:var(--text);background:rgba(0,0,0,.28);padding:7px 40px 7px 9px;display:flex;align-items:center;gap:10px;cursor:pointer;text-align:left;font-weight:800}.custom-trigger:after{content:"⌄";position:absolute;right:14px;color:var(--gold)}.custom-trigger:hover,.custom-select.open .custom-trigger{border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,159,26,.08)}.custom-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;object-fit:cover;background:rgba(255,255,255,.06);flex:0 0 28px}.custom-placeholder{color:var(--muted)}.custom-menu{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 8px);max-height:330px;overflow:auto;padding:7px;border:1px solid var(--line-strong);border-radius:16px;background:rgba(17,15,13,.98);box-shadow:var(--shadow);display:none}.custom-select.open .custom-menu{display:grid;gap:4px}.custom-option{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:7px;border:0;border-radius:11px;color:var(--text);background:transparent;cursor:pointer;text-align:left}.custom-option:hover,.custom-option.active{background:rgba(255,159,26,.13)}.custom-option.disabled{opacity:.38;cursor:not-allowed}.custom-option .star{color:var(--gold);margin-left:auto}.traits-area{margin-top:18px}.traitline{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#111}.traitline:before{content:"";position:absolute;inset:0;background-image:var(--spec-bg);background-size:cover;background-position:center;opacity:.28;filter:saturate(1.1)}.traitline:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.22),rgba(0,0,0,.72))}.traitline>*{position:relative;z-index:2}.traitline-head{display:flex;align-items:center;gap:12px;padding:14px;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(255,159,26,.08)}.traitline-head img{width:46px;height:46px;object-fit:contain}.traitline-head h3{font-size:1.25rem}.minor-traits{display:flex;flex-wrap:wrap;gap:8px;margin-top:7px}.minor-trait{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:6px 10px;border-radius:999px;color:var(--muted);background:rgba(0,0,0,.34);font-size:.8rem}.minor-trait img{width:22px;height:22px;border-radius:6px}.trait-board{position:relative;padding:20px 18px 18px}.trait-board:before{content:"";position:absolute;left:136px;right:70px;top:50%;height:3px;background:linear-gradient(90deg,transparent,rgba(255,210,105,.55),transparent);box-shadow:0 0 16px rgba(255,159,26,.22)}.trait-row{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center;min-height:70px}.trait-title{color:var(--gold);font-size:.78rem;font-weight:1000;text-transform:uppercase;letter-spacing:.08em}.trait-options{display:grid;grid-template-columns:repeat(3,64px);gap:20px;align-items:center}.trait-btn{width:56px;height:56px;border:2px solid rgba(255,255,255,.10);border-radius:12px;cursor:pointer;background:rgba(0,0,0,.42);overflow:hidden;filter:saturate(.85) brightness(.82);transition:.18s}.trait-btn img{width:100%;height:100%;object-fit:cover}.trait-btn:hover,.trait-btn.active{border-color:var(--brand);filter:none;box-shadow:0 0 0 4px rgba(255,159,26,.14),0 0 22px rgba(255,159,26,.25);transform:translateY(-2px)}.skill-card{margin-top:12px}.skill-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.skill-picker{display:grid;grid-template-columns:300px 1fr;gap:12px;align-items:start}.skill-preview{display:flex;gap:12px;min-height:64px;padding:10px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(0,0,0,.18)}.skill-preview img{flex:0 0 44px;width:44px;height:44px;border-radius:12px;object-fit:cover}.skill-preview h4{margin:0;font-size:1rem}.skill-preview p{margin:3px 0 0;color:var(--muted);font-size:.84rem;line-height:1.4}.weapon-area{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.notes-box textarea{width:100%;min-height:110px;resize:vertical;border:1px solid var(--line);border-radius:14px;color:var(--text);background:rgba(0,0,0,.28);padding:10px;outline:none}.dojo-tooltip{position:fixed;z-index:9999;width:min(380px,calc(100vw - 28px));padding:14px;border:1px solid rgba(255,159,26,.34);border-radius:16px;background:radial-gradient(circle at top right,rgba(255,159,26,.16),transparent 45%),linear-gradient(180deg,rgba(26,23,20,.98),rgba(10,9,8,.98));box-shadow:var(--shadow);pointer-events:none}.tooltip-head{display:flex;gap:10px;align-items:center;margin-bottom:9px}.tooltip-head img{width:44px;height:44px;border-radius:12px;object-fit:cover}.tooltip-head strong{display:block;color:var(--gold)}.tooltip-body{color:var(--muted);font-size:.88rem}.tooltip-facts{display:grid;gap:5px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.07);font-size:.82rem}.tooltip-facts span{color:var(--text)}.toast{position:fixed;z-index:99999;right:18px;bottom:18px;max-width:320px;padding:13px 15px;border:1px solid var(--line-strong);border-radius:14px;color:var(--text);background:rgba(12,10,8,.96);box-shadow:var(--shadow)}.dojo-footer{border-top:1px solid var(--line);padding:28px 0;background:rgba(0,0,0,.26)}.footer-inner{display:flex;justify-content:space-between;gap:18px;color:var(--muted);font-size:.92rem}.footer-inner p{margin:0}@media(max-width:1080px){.hero-grid,.editor-layout{grid-template-columns:1fr}.editor-side{position:static}.profession-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.menu-toggle{display:block;margin-left:auto}.main-nav{position:fixed;left:16px;right:16px;top:84px;display:none;flex-direction:column;align-items:stretch;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(12,10,8,.96);box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav a{border-radius:14px}.spec-slots,.weapon-area,.skill-picker{grid-template-columns:1fr}.trait-row{grid-template-columns:1fr}.trait-board:before{display:none}.trait-options{grid-template-columns:repeat(3,56px);gap:12px}}@media(max-width:640px){.dojo-container{width:min(100% - 22px,var(--max))}.header-inner{min-height:68px;gap:10px}.brand-copy small{display:none}.brand-mark{width:40px;height:40px}.lang-switch button{padding:6px 8px}.editor-hero{padding:58px 0 34px}.editor-hero h1{font-size:clamp(3rem,16vw,5rem)}.panel,.side-card,.hero-panel{padding:17px;border-radius:18px}.profession-grid{grid-template-columns:1fr}.footer-inner{display:grid}}

/* ==========================================================
   Dojo Build Editor v0.3 — Ajustes compactos estilo GW2Skills
   ========================================================== */

/* Correção dos ícones gigantes nos dropdowns */
.custom-icon {
  overflow: hidden;
  color: var(--gold);
  font-size: 17px;
  line-height: 1;
}

.custom-icon img,
.custom-trigger .custom-icon img,
.custom-option .custom-icon img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 28px;
  max-height: 28px;
  object-fit: cover;
  border-radius: 7px;
}

.custom-trigger {
  min-height: 44px;
  border-radius: 13px;
}

.custom-menu {
  max-height: 292px;
  background:
    radial-gradient(circle at top right, rgba(255, 159, 26, .10), transparent 38%),
    rgba(14, 12, 10, .98);
}

.custom-option {
  min-height: 38px;
  padding: 6px 8px;
  font-size: .92rem;
}

.custom-option .custom-icon {
  width: 28px;
  height: 28px;
  flex-basis: 28px;
}

.custom-select[data-kind="weapon"] .custom-icon {
  background: rgba(255, 159, 26, .10);
  border: 1px solid rgba(255, 159, 26, .16);
}

.custom-select[data-kind="spec"] .custom-option .star {
  width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  margin-left: auto;
  border-radius: 50%;
  color: #140b02;
  background: var(--gold);
  font-size: 11px;
}

/* Skills mais compactas */
.skill-slots {
  display: grid;
  gap: 10px;
}

.skill-card {
  padding: 12px;
  margin-top: 10px;
}

.skill-head {
  margin-bottom: 8px;
}

.skill-picker {
  grid-template-columns: minmax(220px, 310px) minmax(0, 1fr);
  gap: 10px;
}

.skill-preview {
  min-height: 58px;
  padding: 8px;
}

.skill-preview img {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 9px;
}

.skill-preview h4 {
  font-size: .94rem;
}

.skill-preview p {
  font-size: .79rem;
  max-height: 38px;
  overflow: hidden;
}

/* Painel das traits em formato parecido com o jogo */
.traits-area {
  display: grid;
  gap: 14px;
}

.traitline.game-style {
  border-radius: 18px;
  background: #090909;
  min-height: 210px;
}

.traitline.game-style::before {
  opacity: .42;
  filter: saturate(1.15) contrast(1.04);
  background-position: left center;
}

.traitline.game-style::after {
  background:
    linear-gradient(90deg, rgba(0,0,0,.70) 0%, rgba(0,0,0,.26) 42%, rgba(0,0,0,.84) 100%),
    radial-gradient(circle at 22% 50%, rgba(255,159,26,.10), transparent 45%);
}

.compact-head {
  min-height: 58px;
  padding: 10px 14px;
  background:
    linear-gradient(90deg, rgba(255, 159, 26, .12), rgba(0,0,0,.08));
}

.compact-head img {
  width: 42px;
  height: 42px;
}

.compact-head h3 {
  font-size: 1.16rem;
  line-height: 1.05;
}

.compact-head p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.trait-game-board {
  position: relative;
  display: grid;
  grid-template-columns: 132px minmax(650px, 1fr);
  min-height: 150px;
  padding: 16px 18px 20px;
  overflow-x: auto;
  overflow-y: hidden;
}

.spec-node {
  position: relative;
  z-index: 3;
  align-self: center;
  display: grid;
  justify-items: center;
  gap: 8px;
  color: #fff;
  font-weight: 1000;
  text-shadow: 0 2px 8px rgba(0,0,0,.9);
}

.spec-node img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  border-radius: 18px;
  filter: drop-shadow(0 0 18px rgba(255,159,26,.24));
}

.spec-node span {
  max-width: 120px;
  text-align: center;
  font-size: .83rem;
}

.trait-path {
  position: relative;
  height: 142px;
  min-width: 650px;
}

.trait-wire {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255,228,155,.16), rgba(255,211,98,.72), rgba(255,228,155,.12));
  box-shadow: 0 0 12px rgba(255,159,26,.20);
}

.wire-main {
  left: 26px;
  right: 22px;
  top: 71px;
  height: 3px;
}

.wire-zig {
  height: 3px;
  width: 80px;
  transform-origin: left center;
}

.wire-a {
  left: 115px;
  top: 71px;
  transform: rotate(-28deg);
}

.wire-b {
  left: 305px;
  top: 71px;
  transform: rotate(28deg);
}

.wire-c {
  left: 495px;
  top: 71px;
  transform: rotate(-28deg);
}

/* Minor traits no caminho central */
.minor-node {
  position: absolute;
  z-index: 4;
  top: 47px;
  width: 52px;
  height: 52px;
  border: 0;
  padding: 0;
  cursor: help;
  background: transparent;
  filter: drop-shadow(0 0 10px rgba(255,159,26,.16));
}

.minor-node img {
  display: block;
  width: 52px;
  height: 52px;
  object-fit: contain;
  clip-path: polygon(25% 4%, 75% 4%, 100% 50%, 75% 96%, 25% 96%, 0 50%);
  border-radius: 12px;
}

.minor-node::after {
  content: "";
  position: absolute;
  inset: -4px;
  border: 2px solid rgba(255, 210, 105, .28);
  clip-path: polygon(25% 4%, 75% 4%, 100% 50%, 75% 96%, 25% 96%, 0 50%);
  pointer-events: none;
}

.minor-node:hover::after {
  border-color: var(--brand);
  box-shadow: 0 0 18px rgba(255,159,26,.32);
}

.minor-1 { left: 26px; }
.minor-2 { left: 280px; }
.minor-3 { left: 532px; }

.minor-node.empty {
  opacity: .25;
  background: rgba(255,255,255,.08);
  clip-path: polygon(25% 4%, 75% 4%, 100% 50%, 75% 96%, 25% 96%, 0 50%);
}

/* Major traits em colunas verticais */
.major-column {
  position: absolute;
  z-index: 5;
  top: 5px;
  display: grid;
  grid-template-rows: 18px repeat(3, 38px);
  gap: 6px;
  align-items: center;
}

.major-1 { left: 112px; }
.major-2 { left: 365px; }
.major-3 { left: 618px; }

.major-label {
  color: var(--gold);
  font-size: .61rem;
  font-weight: 1000;
  text-align: center;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .86;
}

.trait-btn {
  position: relative;
  width: 38px;
  height: 38px;
  border: 2px solid rgba(255,255,255,.10);
  border-radius: 7px;
  padding: 0;
  background: rgba(0,0,0,.58);
  cursor: pointer;
  overflow: visible;
  filter: saturate(.72) brightness(.68);
}

.trait-btn img {
  display: block;
  width: 34px;
  height: 34px;
  object-fit: cover;
  border-radius: 5px;
}

.trait-btn:hover,
.trait-btn.active {
  border-color: var(--brand);
  filter: none;
  transform: none;
  box-shadow:
    0 0 0 3px rgba(255,159,26,.18),
    0 0 18px rgba(255,159,26,.36);
}

.trait-btn.active::after {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: 10px;
  border: 2px solid var(--brand);
  box-shadow: 0 0 18px rgba(255,159,26,.34);
  pointer-events: none;
}

.trait-choice {
  position: absolute;
  right: -6px;
  bottom: -7px;
  width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #120b04;
  background: var(--gold);
  font-size: 10px;
  font-weight: 1000;
  box-shadow: 0 2px 8px rgba(0,0,0,.55);
}

.trait-placeholder {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  color: var(--muted);
  background: rgba(255,255,255,.04);
}

/* Esconde o layout antigo caso algum cache ainda injete classes antigas */
.trait-board,
.trait-row,
.trait-options {
  all: unset;
}

/* Code panel mais parecido com referência */
.code-panel {
  border-top: 1px solid rgba(255,255,255,.10);
}

.game-code-output {
  width: 100%;
  min-height: 76px;
  resize: vertical;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.08);
  border-left: 4px solid rgba(255,255,255,.16);
  border-radius: 0;
  color: #f6efe5;
  background: rgba(255,255,255,.045);
  font-family: Consolas, Monaco, "Courier New", monospace;
  font-size: .92rem;
  outline: none;
}

/* Responsivo */
@media (max-width: 820px) {
  .skill-picker {
    grid-template-columns: 1fr;
  }

  .trait-game-board {
    grid-template-columns: 92px minmax(650px, 1fr);
    padding-left: 12px;
    padding-right: 12px;
  }

  .spec-node img {
    width: 58px;
    height: 58px;
  }

  .spec-node span {
    font-size: .72rem;
  }
}

@media (max-width: 640px) {
  .custom-menu {
    max-height: 240px;
  }

  .custom-option {
    min-height: 36px;
  }

  .traitline.game-style {
    min-height: 190px;
  }

  .trait-game-board {
    min-height: 130px;
    grid-template-columns: 74px minmax(620px, 1fr);
  }

  .trait-path {
    min-width: 620px;
    transform: scale(.88);
    transform-origin: left center;
  }
}


/* ==========================================================
   Dojo Build Editor v0.4 — Equipamentos completos + linhas dinâmicas
   ========================================================== */

/* Gear layout compacto: 2 sets, 4 armas, 4 sigils, rune/amulet/relic */
.weapon-area {
  display: block;
}

.gear-board {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.weapon-set-card,
.rune-card {
  border: 1px solid rgba(255, 159, 26, .22);
  border-radius: 16px;
  padding: 12px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 159, 26, .08), transparent 38%),
    rgba(255,255,255,.026);
}

.rune-card {
  grid-column: 1 / -1;
}

.weapon-set-card h3,
.rune-card h3 {
  margin: 0 0 10px;
  color: var(--gold);
  font-size: .82rem;
  font-weight: 1000;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.weapon-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 9px;
}

.rar-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 9px;
  max-width: 620px;
}

.gear-mini {
  display: grid;
  gap: 6px;
}

.gear-mini > span {
  color: var(--gold);
  font-size: .68rem;
  font-weight: 1000;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.gear-board .custom-trigger {
  min-height: 38px;
  padding: 7px 9px;
  border-radius: 11px;
}

.gear-board .custom-trigger > span:not(.custom-icon) {
  font-size: .82rem;
}

.gear-board .custom-icon {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  font-size: 16px;
  background: rgba(255, 159, 26, .10);
  border: 1px solid rgba(255, 159, 26, .16);
}

.gear-board .custom-menu {
  max-height: 252px;
  min-width: 240px;
}

.gear-board .custom-option {
  min-height: 34px;
  padding: 5px 7px;
  font-size: .81rem;
}

.gear-board .custom-option .custom-icon {
  width: 24px;
  height: 24px;
  flex-basis: 24px;
  font-size: 14px;
}

/* Slot visual do item selecionado */
.custom-select[data-kind="sigil"] .custom-trigger,
.custom-select[data-kind="rune"] .custom-trigger,
.custom-select[data-kind="amulet"] .custom-trigger,
.custom-select[data-kind="relic"] .custom-trigger {
  background:
    linear-gradient(90deg, rgba(255,159,26,.09), rgba(0,0,0,.16));
}

.custom-select[data-kind="amulet"] .custom-icon { color: #d9b6ff; }
.custom-select[data-kind="relic"] .custom-icon { color: #72d6ff; }
.custom-select[data-kind="sigil"] .custom-icon { color: #ffb24a; }

/* Traits: painel mais compacto e linhas que seguem a escolha marcada */
.traitline.game-style {
  min-height: 198px;
}

.trait-game-board {
  grid-template-columns: 122px minmax(670px, 1fr);
  min-height: 138px;
  padding: 14px 18px 16px;
}

.spec-node img {
  width: 64px;
  height: 64px;
}

.spec-node span {
  font-size: .78rem;
}

.trait-path {
  height: 142px;
  min-width: 670px;
}

.wire-main {
  z-index: 1;
  height: 2px;
  opacity: .22;
  background: rgba(255, 232, 161, .34);
  box-shadow: none;
}

.wire-zig {
  display: none;
}

.dynamic-lines {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 670px;
  height: 142px;
  pointer-events: none;
  overflow: visible;
}

.dynamic-lines polyline {
  fill: none;
  stroke: rgba(255, 205, 85, .88);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 8px rgba(255,159,26,.35));
}

.minor-node {
  z-index: 5;
}

.major-column {
  z-index: 6;
}

.trait-btn {
  width: 37px;
  height: 37px;
}

.trait-btn img {
  width: 33px;
  height: 33px;
}

/* Tooltip de gear no estilo do print */
.tooltip-gear-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  border: 1px solid rgba(255,159,26,.22);
  background: rgba(255,255,255,.06);
  font-size: 24px;
}

.gear-tip-body h4 {
  margin: 12px 0 5px;
  color: var(--gold);
  font-size: .92rem;
}

.gear-tip-body h4:first-child {
  margin-top: 0;
}

.gear-tip-body p {
  margin: 2px 0;
  color: #f3efe8;
  font-size: .85rem;
  line-height: 1.45;
}

/* Ajuste fino dos dropdowns para não estourar */
.custom-menu {
  z-index: 80;
}

.custom-option span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 940px) {
  .gear-board {
    grid-template-columns: 1fr;
  }

  .rune-card {
    grid-column: auto;
  }
}

@media (max-width: 680px) {
  .weapon-grid,
  .rar-grid {
    grid-template-columns: 1fr;
  }

  .trait-game-board {
    grid-template-columns: 80px minmax(670px, 1fr);
  }

  .spec-node img {
    width: 54px;
    height: 54px;
  }
}


/* ==========================================================
   Dojo Build Editor v0.5 — Catálogo real de runes/sigils/relics/amulets
   ========================================================== */

.gear-api-status {
  margin: 0 0 10px;
  padding: 9px 11px;
  border: 1px solid rgba(255, 159, 26, .18);
  border-radius: 12px;
  color: var(--muted);
  background: rgba(255,255,255,.032);
  font-size: .78rem;
  font-weight: 850;
}

.gear-api-status.loaded {
  color: #bdf8d7;
  border-color: rgba(25,217,130,.28);
  background: rgba(25,217,130,.065);
}

.gear-api-status.loading {
  color: #ffe2a8;
  border-color: rgba(255,209,102,.26);
  background: rgba(255,209,102,.06);
}

.gear-api-status.fallback {
  color: #ffd7b4;
  border-color: rgba(255,159,26,.24);
}

.gear-board .custom-icon img,
.custom-select[data-kind="sigil"] .custom-icon img,
.custom-select[data-kind="rune"] .custom-icon img,
.custom-select[data-kind="amulet"] .custom-icon img,
.custom-select[data-kind="relic"] .custom-icon img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  border-radius: 6px;
}

.custom-select[data-kind="sigil"] .custom-icon,
.custom-select[data-kind="rune"] .custom-icon,
.custom-select[data-kind="amulet"] .custom-icon,
.custom-select[data-kind="relic"] .custom-icon {
  overflow: hidden;
}

.gear-board .custom-menu {
  width: min(420px, calc(100vw - 42px));
  max-height: 310px;
}

.gear-board .custom-option {
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 8px;
}

.gear-board .custom-option span:last-child {
  white-space: nowrap;
}

.dojo-tooltip .tooltip-head small.api-chip {
  display: inline-flex;
  width: fit-content;
  margin-top: 4px;
  padding: 3px 7px;
  border-radius: 999px;
  color: #140b02;
  background: var(--gold);
  font-size: .64rem;
  font-weight: 1000;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.gear-tip-body p {
  white-space: normal;
}

@media (max-width: 680px) {
  .gear-board .custom-menu {
    width: min(340px, calc(100vw - 30px));
  }
}


/* v0.5.2 — Catálogo completo por paginação */
.gear-api-status.loading::before {
  content: "";
  width: 8px;
  height: 8px;
  display: inline-block;
  margin-right: 7px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 12px rgba(255, 209, 102, .75);
}

.gear-api-status.loaded::before {
  content: "✓";
  display: inline-block;
  margin-right: 7px;
  color: #19d982;
  font-weight: 1000;
}

.gear-board .custom-menu {
  max-height: 360px;
}

.gear-board .custom-option {
  min-height: 36px;
}

.gear-board .custom-option .custom-icon {
  width: 26px;
  height: 26px;
  flex-basis: 26px;
}

@media (max-width: 680px) {
  .gear-board .custom-menu {
    max-height: 300px;
  }
}


/* v0.5.4 — PvP only + armas por slot/profissão */
.gear-api-status.loaded {
  color: #bdf8d7;
}


/* v0.5.5 — specs únicas + skills filtradas por specialization selecionada */
.spec-card .micro-note {
  display: block;
}

.custom-select[data-kind="spec"] .custom-option.disabled {
  opacity: .35;
  pointer-events: none;
}


/* v0.5.6 — PvP gear via Wiki + API e elite skill sem racial */
.gear-api-status.loading {
  color: #ffe2a8;
}

.gear-api-status.loaded {
  color: #bdf8d7;
}


/* v0.5.7 — skills rígidas + catálogo de gear restaurado */
.gear-api-status.loaded { color: #bdf8d7; }
.gear-api-status.loading { color: #ffe2a8; }


/* v0.5.8 — lista fixa de PvP para sigils, runes e relics */
.gear-api-status.loaded {
  color: #bdf8d7;
}


/* v0.5.9 — bloqueio de off-hand quando main é two-handed */
.gear-mini.is-locked .custom-select {
  opacity: .55;
  filter: grayscale(.25);
  pointer-events: none;
}

.gear-mini.is-locked .selected {
  color: rgba(255, 240, 215, .55);
}


/* v0.6.0 — sigils únicas por weapon set */
.sigil-mini .custom-option[aria-disabled="true"] {
  opacity: .35;
  pointer-events: none;
}


/* v0.6.1 — botão de resumo de gear e tooltip */
.rune-card .rar-grid {
  align-items: stretch;
}

.gear-summary-btn {
  min-height: 58px;
  border: 1px solid rgba(255, 170, 40, .45);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(255, 170, 40, .14), rgba(20, 16, 12, .72));
  color: #ffe2a8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: help;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035);
}

.gear-summary-btn:hover {
  border-color: rgba(255, 190, 70, .85);
  transform: translateY(-1px);
}

.gear-summary-btn span {
  width: 28px;
  height: 28px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  background: rgba(255, 170, 40, .16);
  border: 1px solid rgba(255, 170, 40, .28);
}

.gear-summary-selected {
  display: grid;
  gap: 6px;
  margin: 8px 0 10px;
}

.gear-summary-line {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .88rem;
  color: #fff4dc;
}

.gear-summary-line img {
  width: 24px;
  height: 24px;
  border-radius: 5px;
}

.gear-summary-body p strong {
  color: #ffe2a8;
}


/* v0.6.2 — posiciona o botão Stats no lado direito do bloco */
.rune-card .rar-grid {
  grid-template-columns: minmax(170px, 200px) minmax(170px, 200px) minmax(170px, 200px) minmax(180px, 1fr);
  max-width: none;
  align-items: stretch;
}

.rune-card .gear-summary-btn {
  justify-self: end;
  width: min(220px, 100%);
  min-width: 180px;
  height: 58px;
}

@media (max-width: 900px) {
  .rune-card .rar-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rune-card .gear-summary-btn {
    justify-self: stretch;
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 560px) {
  .rune-card .rar-grid {
    grid-template-columns: 1fr;
  }
}


/* Ajuste final v0.6.2 — WvW/PvE em breve */
.mode-tabs button.soon,
.mode-tabs button:disabled {
  cursor: not-allowed;
  opacity: .52;
  filter: grayscale(.25);
  position: relative;
}

.mode-tabs button.soon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.mode-tabs button.soon small {
  font-size: .58rem;
  line-height: 1;
  padding: 3px 6px;
  border-radius: 999px;
  color: #ffd36a;
  background: rgba(255, 170, 40, .12);
  border: 1px solid rgba(255, 170, 40, .25);
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* v0.6.2 Final — barra de skills compacta */
.skills-compact-panel {
  padding: 20px 22px 22px;
  overflow: visible;
}

.skills-compact-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.skills-compact-head h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.45rem;
  letter-spacing: .01em;
}

.skills-reload-button {
  min-height: 32px;
  padding: 6px 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(255, 159, 26, .25);
  border-radius: 999px;
  color: var(--muted);
  background: rgba(255,255,255,.025);
  cursor: pointer;
  font-size: .72rem;
  font-weight: 900;
}

.skills-reload-button:hover {
  color: var(--text);
  border-color: rgba(255, 159, 26, .55);
}

.skills-status {
  min-height: 34px;
  margin: 0 0 12px;
  padding: 7px 10px;
  font-size: .78rem;
}

.skills-status[data-state="loaded"] {
  display: none;
}

.skills-compact-panel .skill-slots {
  display: grid;
  grid-template-columns: repeat(5, minmax(92px, 108px));
  gap: 10px;
  align-items: start;
  justify-content: start;
  overflow: visible;
}

.skill-compact-card {
  min-width: 0;
  position: relative;
}

.skill-compact-label {
  display: block;
  min-height: 20px;
  margin-bottom: 6px;
  overflow: hidden;
  color: #d8d2ca;
  font-size: .72rem;
  font-weight: 1000;
  letter-spacing: .035em;
  line-height: 1.15;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.skill-compact-select {
  position: relative;
}

.skill-compact-trigger.custom-trigger {
  width: 100%;
  min-height: 82px;
  padding: 5px;
  display: grid;
  place-items: center;
  gap: 0;
  overflow: visible;
  border: 2px dashed rgba(205, 208, 215, .38);
  border-radius: 11px;
  background: rgba(4, 5, 7, .48);
  box-shadow: none;
  text-align: center;
}

.skill-compact-trigger.custom-trigger::after {
  display: none;
}

.skill-compact-trigger.custom-trigger:hover,
.skill-compact-select.open .skill-compact-trigger.custom-trigger {
  border-color: rgba(255, 177, 53, .72);
  box-shadow: 0 0 0 3px rgba(255, 159, 26, .08);
}

.skill-compact-trigger.has-skill {
  min-height: 82px;
  padding: 4px;
  border-style: solid;
  border-color: rgba(239, 241, 245, .88);
  background: #090a0c;
  box-shadow: 0 0 0 2px rgba(255,255,255,.08), 0 5px 18px rgba(0,0,0,.34);
}

.skill-icon-frame {
  width: 64px;
  height: 64px;
  display: block;
  overflow: hidden;
  border-radius: 8px;
  background: #111;
}

.skill-icon-frame img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.skill-empty-label {
  color: #aeb7c8;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.skill-selected-name {
  position: absolute;
  top: calc(100% + 5px);
  left: 0;
  width: 100%;
  overflow: hidden;
  color: #b8b4bd;
  font-size: .63rem;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.skill-compact-card.has-selection {
  padding-bottom: 18px;
}

.skill-compact-menu.custom-menu {
  left: 0;
  right: auto;
  top: calc(100% + 9px);
  width: min(440px, calc(100vw - 40px));
  max-height: 340px;
  padding: 8px;
  overflow-y: auto;
  border-color: rgba(255, 159, 26, .32);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(20,20,24,.99), rgba(12,12,15,.99));
  box-shadow: 0 20px 55px rgba(0,0,0,.58);
}

.skill-compact-card:nth-child(3) .skill-compact-menu {
  left: 50%;
  transform: translateX(-50%);
}

.skill-compact-card:nth-child(4) .skill-compact-menu,
.skill-compact-card:nth-child(5) .skill-compact-menu {
  left: auto;
  right: 0;
}

.skill-compact-option.custom-option {
  min-height: 58px;
  padding: 7px 8px;
  align-items: center;
  gap: 10px;
  border-radius: 8px;
}

.skill-compact-option.custom-option img {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 6px;
  object-fit: cover;
}

.skill-option-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.skill-option-copy strong {
  overflow: hidden;
  color: #f7f3ed;
  font-size: .79rem;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.skill-option-copy small {
  display: -webkit-box;
  overflow: hidden;
  color: #9da0a8;
  font-size: .69rem;
  line-height: 1.3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.skill-empty-list {
  padding: 14px;
  color: var(--muted);
  font-size: .8rem;
  text-align: center;
}

@media (max-width: 760px) {
  .skills-compact-panel .skill-slots {
    grid-template-columns: repeat(3, minmax(92px, 108px));
    row-gap: 22px;
  }

  .skill-compact-card:nth-child(3n) .skill-compact-menu {
    left: auto;
    right: 0;
    transform: none;
  }

  .skill-compact-card:nth-child(4) .skill-compact-menu {
    left: 0;
    right: auto;
  }
}

@media (max-width: 440px) {
  .skills-compact-panel {
    padding: 17px;
  }

  .skills-compact-panel .skill-slots {
    grid-template-columns: repeat(2, minmax(92px, 108px));
  }

  .skills-reload-button span:last-child {
    display: none;
  }

  .skill-compact-card:nth-child(odd) .skill-compact-menu {
    left: 0;
    right: auto;
    transform: none;
  }

  .skill-compact-card:nth-child(even) .skill-compact-menu {
    left: auto;
    right: 0;
    transform: none;
  }
}



/* v0.6.2 — Weapon skills compactas por Weapon Set */
.weapon-set-card {
  overflow: visible;
}

.weapon-skills-strip {
  margin: -2px 0 12px;
  padding: 8px 9px 9px;
  overflow-x: auto;
  border: 1px solid rgba(255, 159, 26, .16);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(8, 8, 10, .62), rgba(12, 11, 10, .34)),
    radial-gradient(circle at 100% 0%, rgba(122, 60, 255, .08), transparent 55%);
  scrollbar-width: thin;
  scrollbar-color: rgba(255,159,26,.32) transparent;
}

.weapon-skills-heading {
  min-width: 236px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 7px;
}

.weapon-skills-heading strong {
  color: var(--gold);
  font-size: .62rem;
  font-weight: 1000;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.weapon-skills-heading small {
  min-width: 0;
  overflow: hidden;
  color: #8f887e;
  font-size: .61rem;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.weapon-skills-strip.is-empty {
  opacity: .76;
}

.weapon-skill-groups {
  min-width: 236px;
  display: grid;
  gap: 6px;
}

.weapon-skill-row {
  display: grid;
  grid-template-columns: 36px minmax(190px, 1fr);
  align-items: start;
  gap: 6px;
}

.weapon-attunement-label {
  min-height: 32px;
  display: grid;
  place-items: center start;
  color: #989088;
  font-size: .56rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.weapon-skill-row[data-attunement="Fire"] .weapon-attunement-label { color: #ffad75; }
.weapon-skill-row[data-attunement="Water"] .weapon-attunement-label { color: #8fd8ff; }
.weapon-skill-row[data-attunement="Air"] .weapon-attunement-label { color: #d7c8ff; }
.weapon-skill-row[data-attunement="Earth"] .weapon-attunement-label { color: #e3bf77; }

.weapon-skill-icons {
  display: grid;
  grid-template-columns: repeat(5, 34px);
  align-items: start;
  gap: 5px;
}

.weapon-skill-cell {
  width: 34px;
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: 3px;
}

.weapon-skill-button,
.weapon-chain-button {
  position: relative;
  display: block;
  overflow: visible;
  padding: 0;
  border: 1px solid rgba(240, 239, 242, .78);
  background: #090a0c;
  cursor: help;
  box-shadow: 0 3px 10px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.08);
}

.weapon-skill-button {
  width: 34px;
  height: 34px;
  border-radius: 7px;
}

.weapon-skill-button:hover,
.weapon-skill-button:focus-visible,
.weapon-chain-button:hover,
.weapon-chain-button:focus-visible {
  z-index: 2;
  border-color: var(--gold);
  outline: none;
  box-shadow: 0 0 0 2px rgba(255,159,26,.15), 0 5px 14px rgba(0,0,0,.4);
  transform: translateY(-1px);
}

.weapon-skill-button img,
.weapon-chain-button img {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: inherit;
  object-fit: cover;
}

.weapon-skill-number {
  position: absolute;
  right: -3px;
  bottom: -4px;
  min-width: 13px;
  height: 13px;
  display: grid;
  place-items: center;
  padding: 0 3px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  color: #f7f2e9;
  background: #08090b;
  font-size: .48rem;
  font-weight: 1000;
  line-height: 1;
}

.weapon-skill-placeholder {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(194, 196, 202, .25);
  border-radius: 7px;
  color: rgba(194, 196, 202, .42);
  background: rgba(4,5,7,.25);
}

.weapon-skill-placeholder small {
  font-size: .52rem;
  font-weight: 900;
}

.weapon-skill-chain {
  width: 34px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2px;
  padding-top: 1px;
}

.weapon-chain-button {
  width: 19px;
  height: 19px;
  border-radius: 4px;
  border-color: rgba(235,235,240,.52);
}

.weapon-chain-button .weapon-skill-number {
  display: none;
}

@media (max-width: 940px) {
  .weapon-skills-strip {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .weapon-skills-strip {
    padding-inline: 8px;
  }

  .weapon-skill-row {
    grid-template-columns: 32px minmax(190px, 1fr);
  }

  .weapon-attunement-label {
    font-size: .52rem;
  }
}


/* ==========================================================
   Notas da build — editor de texto compacto
   ========================================================== */
.notes-box {
  gap: 10px;
}

.notes-editor-shell {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(0,0,0,.28);
  transition: border-color .18s ease, box-shadow .18s ease;
}

.notes-editor-shell:focus-within {
  border-color: rgba(255,159,26,.72);
  box-shadow: 0 0 0 3px rgba(255,159,26,.09);
}

.notes-toolbar {
  min-height: 44px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  padding: 6px 8px;
  border-bottom: 1px solid rgba(255,255,255,.075);
  background: linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
}

.notes-tool-group {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.notes-tool-button,
.notes-font-size {
  height: 31px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #e9e4dc;
  background: transparent;
  font: inherit;
}

.notes-tool-button {
  min-width: 31px;
  display: inline-grid;
  place-items: center;
  padding: 0 8px;
  cursor: pointer;
  font-size: .88rem;
  font-weight: 900;
  line-height: 1;
}

.notes-tool-button:hover,
.notes-tool-button.active,
.notes-font-size:hover,
.notes-font-size:focus {
  color: var(--gold);
  border-color: rgba(255,159,26,.38);
  background: rgba(255,159,26,.10);
  outline: none;
}

.notes-tool-italic {
  font-family: Georgia,serif;
  font-style: italic;
}

.notes-tool-underline {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.notes-tool-quote {
  color: var(--gold);
  font-family: Georgia,serif;
  font-size: 1.15rem;
}

.notes-tool-separator {
  width: 1px;
  height: 22px;
  margin: 0 2px;
  background: rgba(255,255,255,.10);
}

.notes-size-wrap {
  display: inline-flex;
}

.notes-font-size {
  width: 88px;
  padding: 0 24px 0 9px;
  cursor: pointer;
  color-scheme: dark;
  font-size: .72rem;
  font-weight: 800;
}

.notes-font-size option {
  color: #f5efe5;
  background: #171411;
}

.notes-align-icon {
  width: 15px;
  height: 14px;
  display: grid;
  align-content: center;
  gap: 2px;
}

.notes-align-icon i {
  display: block;
  height: 1.5px;
  border-radius: 999px;
  background: currentColor;
}

.notes-align-icon i:nth-child(1),
.notes-align-icon i:nth-child(3) {
  width: 10px;
}

.notes-align-icon i:nth-child(2) {
  width: 15px;
}

.notes-align-icon.align-left i { justify-self: start; }
.notes-align-icon.align-center i { justify-self: center; }
.notes-align-icon.align-right i { justify-self: end; }

.notes-content {
  width: 100%;
  min-height: 145px;
  max-height: 440px;
  overflow-y: auto;
  padding: 14px 15px;
  color: var(--text);
  outline: none;
  font-size: .92rem;
  line-height: 1.65;
  overflow-wrap: anywhere;
  white-space: normal;
}

.notes-content:empty::before {
  content: attr(data-placeholder);
  color: var(--muted-2);
  pointer-events: none;
}

.notes-content p,
.notes-content div {
  margin: 0 0 .55em;
}

.notes-content p:last-child,
.notes-content div:last-child {
  margin-bottom: 0;
}

.notes-content blockquote {
  margin: .65em 0;
  padding: 9px 12px;
  border-left: 3px solid var(--brand);
  border-radius: 0 9px 9px 0;
  color: #eee6dc;
  background: rgba(255,159,26,.075);
}

.notes-content blockquote:first-child { margin-top: 0; }
.notes-content blockquote:last-child { margin-bottom: 0; }

@media (max-width: 640px) {
  .notes-toolbar {
    gap: 4px;
    padding: 6px;
  }

  .notes-tool-separator {
    display: none;
  }

  .notes-font-size {
    width: 78px;
  }

  .notes-content {
    min-height: 135px;
    padding: 12px;
  }
}

/* ==========================================================
   v0.6.3 — Mecânicas de profissão, lendas e pets
   ========================================================== */
.mechanics-panel {
  padding: 22px;
  overflow: visible;
}

.mechanics-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.mechanics-head h2 {
  margin-top: 7px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.55rem, 3vw, 2.25rem);
  letter-spacing: -.025em;
}

.mechanics-context {
  max-width: 260px;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 11px;
  border: 1px solid rgba(122, 60, 255, .28);
  border-radius: 999px;
  color: #d9ccff;
  background: rgba(122, 60, 255, .09);
  font-size: .7rem;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
}

.mechanics-status {
  min-height: 38px;
  margin-bottom: 12px;
  padding: 9px 11px;
  font-size: .78rem;
}

.mechanics-area {
  display: grid;
  gap: 14px;
}

.mechanics-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.mechanic-choice-card {
  min-width: 0;
  display: grid;
  gap: 9px;
  padding: 14px;
  border: 1px solid rgba(255, 159, 26, .18);
  border-radius: 17px;
  background:
    radial-gradient(circle at 0 0, rgba(255, 159, 26, .08), transparent 15rem),
    rgba(0, 0, 0, .18);
}

.mechanic-choice-label,
.mechanic-choice-subtitle {
  color: var(--gold);
  font-size: .69rem;
  font-weight: 1000;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mechanic-choice-subtitle {
  margin-top: 2px;
  color: #9f978d;
  font-size: .6rem;
}

.custom-select[data-kind="legend"] .custom-trigger,
.custom-select[data-kind="pet"] .custom-trigger {
  min-height: 46px;
}

.custom-select[data-kind="legend"] .custom-icon,
.custom-select[data-kind="pet"] .custom-icon {
  width: 32px;
  height: 32px;
  flex-basis: 32px;
  overflow: hidden;
  border-radius: 9px;
}

.custom-select[data-kind="legend"] .custom-icon img,
.custom-select[data-kind="pet"] .custom-icon img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.custom-select[data-kind="legend"] .custom-menu,
.custom-select[data-kind="pet"] .custom-menu {
  z-index: 120;
  max-height: 360px;
}

.legend-skill-bar,
.pet-skill-bar {
  min-height: 50px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 7px;
}

.profession-mechanic-strip {
  display: grid;
  grid-template-columns: minmax(150px, .32fr) minmax(250px, 1fr);
  align-items: center;
  gap: 16px;
  padding: 14px;
  border: 1px solid rgba(255, 159, 26, .18);
  border-radius: 17px;
  background:
    linear-gradient(135deg, rgba(255, 159, 26, .055), rgba(122, 60, 255, .04)),
    rgba(0, 0, 0, .2);
}

.profession-mechanic-strip.is-empty {
  opacity: .72;
}

.mechanic-strip-title {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.mechanic-strip-title strong {
  color: var(--gold);
  font-size: .73rem;
  font-weight: 1000;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mechanic-strip-title small {
  overflow: hidden;
  color: var(--muted);
  font-size: .69rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mechanic-skill-grid {
  display: grid;
  grid-template-columns: repeat(5, 48px);
  align-items: start;
  justify-content: start;
  gap: 9px;
}

.mechanic-skill-cell {
  width: 48px;
  display: grid;
  justify-items: center;
  gap: 4px;
}

.mechanic-skill-button,
.mechanic-variant-button {
  position: relative;
  display: block;
  padding: 0;
  overflow: visible;
  border: 1px solid rgba(239, 241, 245, .78);
  background: #08090b;
  cursor: help;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .34), inset 0 0 0 1px rgba(255,255,255,.06);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.mechanic-skill-button {
  width: 48px;
  height: 48px;
  border-radius: 9px;
}

.legend-skill-bar .mechanic-skill-button,
.pet-skill-bar .mechanic-skill-button {
  width: 42px;
  height: 42px;
  border-radius: 8px;
}

.mechanic-variant-button {
  width: 22px;
  height: 22px;
  border-radius: 5px;
  border-color: rgba(239, 241, 245, .52);
}

.mechanic-skill-button:hover,
.mechanic-skill-button:focus-visible,
.mechanic-variant-button:hover,
.mechanic-variant-button:focus-visible {
  z-index: 2;
  border-color: var(--gold);
  outline: none;
  transform: translateY(-2px);
  box-shadow: 0 0 0 3px rgba(255, 159, 26, .13), 0 7px 18px rgba(0,0,0,.42);
}

.mechanic-skill-button img,
.mechanic-variant-button img {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: inherit;
  object-fit: cover;
}

.mechanic-skill-button > span,
.mechanic-variant-button > span {
  position: absolute;
  right: -4px;
  bottom: -5px;
  min-width: 18px;
  height: 16px;
  display: grid;
  place-items: center;
  padding: 0 4px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  color: #f7f2e9;
  background: #08090b;
  font-size: .5rem;
  font-weight: 1000;
  line-height: 1;
}

.mechanic-variant-button > span {
  display: none;
}

.mechanic-variants {
  width: 48px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3px;
}

.mechanic-skill-placeholder {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(194,196,202,.28);
  border-radius: 9px;
  color: rgba(194,196,202,.5);
  background: rgba(4,5,7,.25);
}

.mechanic-skill-placeholder small {
  font-size: .55rem;
  font-weight: 1000;
}

.mechanic-empty-bar {
  min-height: 42px;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(255,255,255,.1);
  border-radius: 10px;
  color: var(--muted-2);
  background: rgba(0,0,0,.16);
}

.selected-pet-preview {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 9px;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 11px;
  background: rgba(0,0,0,.17);
}

.selected-pet-preview > img {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 9px;
  object-fit: cover;
}

.selected-pet-preview > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.selected-pet-preview strong {
  overflow: hidden;
  color: #f5efe7;
  font-size: .79rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.selected-pet-preview small {
  display: -webkit-box;
  overflow: hidden;
  color: #928a80;
  font-size: .65rem;
  line-height: 1.3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media (max-width: 760px) {
  .mechanics-choice-grid {
    grid-template-columns: 1fr;
  }

  .profession-mechanic-strip {
    grid-template-columns: 1fr;
  }

  .mechanic-skill-grid {
    grid-template-columns: repeat(5, 44px);
    gap: 8px;
  }

  .mechanic-skill-cell,
  .mechanic-skill-button,
  .mechanic-skill-placeholder {
    width: 44px;
  }

  .mechanic-skill-button,
  .mechanic-skill-placeholder {
    height: 44px;
  }

  .mechanic-variants {
    width: 44px;
  }
}

@media (max-width: 520px) {
  .mechanics-panel {
    padding: 17px;
  }

  .mechanics-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .mechanics-context {
    max-width: 100%;
  }

  .profession-mechanic-strip {
    overflow-x: auto;
  }

  .mechanic-skill-grid {
    min-width: 252px;
  }
}

/* ==========================================================
   v0.6.3 — Ajuste visual compacto e clean
   Somente apresentação: não altera lógica, API ou componentes.
   ========================================================== */

/* Hero mais enxuto, mantendo a identidade do Dojo */
.editor-hero {
  padding: 46px 0 26px;
}

.hero-grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  gap: 26px;
}

.editor-hero h1 {
  max-width: 720px;
  margin-top: 10px;
  font-size: clamp(2.7rem, 5.2vw, 4.65rem);
  line-height: .98;
  letter-spacing: -.058em;
}

.hero-lead {
  max-width: 700px;
  margin-top: 16px;
  font-size: clamp(.98rem, 1.45vw, 1.1rem);
  line-height: 1.55;
}

.hero-actions {
  gap: 10px;
  margin-top: 22px;
}

.hero-actions .btn {
  min-height: 42px;
  padding: 10px 16px;
  font-size: .88rem;
}

.hero-panel {
  padding: 20px;
  border-radius: 18px;
}

.tool-badge {
  min-height: 25px;
  padding: 5px 9px;
  font-size: .67rem;
}

.hero-panel h2 {
  margin-top: 12px;
  font-size: clamp(1.35rem, 2.15vw, 1.82rem);
  letter-spacing: -.03em;
}

.hero-panel ul {
  margin-top: 12px;
  padding-left: 18px;
  font-size: .86rem;
  line-height: 1.52;
}

/* Estrutura do editor mais compacta */
.editor-section {
  padding: 22px 0 58px;
}

.editor-layout {
  grid-template-columns: 290px minmax(0, 1fr);
  gap: 16px;
}

.editor-side {
  top: 88px;
  gap: 10px;
}

.editor-main {
  gap: 14px;
}

.side-card {
  padding: 14px 15px;
  border-radius: 18px;
}

.mini-label,
.eyebrow {
  font-size: .7rem;
  letter-spacing: .13em;
}

.mode-tabs {
  gap: 6px;
  margin-top: 9px;
}

.mode-tabs button {
  min-height: 34px;
  padding: 5px 7px;
  font-size: .8rem;
}

.mode-tabs button small {
  font-size: .5rem;
  line-height: 1;
}

.profession-grid {
  gap: 6px;
  margin-top: 10px;
}

#professionGrid.loading-card {
  min-height: 42px;
  padding: 10px;
  border-radius: 12px;
}

.profession-button {
  min-height: 40px;
  gap: 8px;
  padding: 6px 9px;
  border-radius: 11px;
  font-size: .88rem;
}

.profession-button img {
  width: 24px;
  height: 24px;
}

/* Compartilhamento lateral menor e mais legível */
.share-actions {
  gap: 6px;
  margin-top: 9px;
}

.share-actions .btn-small {
  min-height: 34px;
  padding: 8px 11px;
  font-size: .77rem;
}

.share-output {
  min-height: 72px;
  margin-top: 9px;
  padding: 9px 10px;
  border-radius: 11px;
  font-size: .76rem;
  line-height: 1.45;
}

.micro-note {
  margin-top: 8px;
  font-size: .71rem;
  line-height: 1.5;
}

/* Cabeçalhos menores sem alterar traits, itens ou seletores */
.intro-panel h2,
.panel-head h2,
.selected-head h2 {
  margin-top: 7px;
  font-size: clamp(1.55rem, 2.55vw, 2.25rem);
  letter-spacing: -.042em;
}

.selected-head,
.panel-head {
  gap: 12px;
  margin-bottom: 13px;
}

.selected-icon {
  width: 58px;
  height: 58px;
}

/* Painéis destacados mostrados no ajuste */
.mechanics-panel,
#gearPanel,
.code-panel {
  padding: 18px 20px;
  border-radius: 18px;
}

.mechanics-head {
  gap: 12px;
  margin-bottom: 12px;
}

.mechanics-head h2 {
  margin-top: 6px;
  font-size: clamp(1.45rem, 2.45vw, 1.95rem);
}

.mechanics-context {
  min-height: 27px;
  max-width: 230px;
  padding: 5px 9px;
  font-size: .64rem;
}

/* Área de armas/notas: reduz apenas o invólucro e título */
#gearPanel > .panel-head {
  margin-bottom: 12px;
}

#gearPanel > .panel-head h2 {
  font-size: clamp(1.7rem, 2.8vw, 2.35rem);
}

/* Código do jogo mais discreto e compacto */
.code-panel .panel-head {
  align-items: center;
}

.code-panel .panel-head h2 {
  max-width: 720px;
  font-size: clamp(1.55rem, 2.65vw, 2.18rem);
}

.code-panel .btn-small {
  min-height: 35px;
  padding: 8px 12px;
  font-size: .77rem;
}

.game-code-output {
  min-height: 62px;
  padding: 13px 14px;
  font-size: .82rem;
  line-height: 1.45;
}

/* Responsividade do novo espaçamento */
@media (max-width: 1080px) {
  .editor-layout {
    grid-template-columns: 1fr;
  }

  .editor-side {
    gap: 10px;
  }

  .profession-grid {
    gap: 7px;
  }
}

@media (max-width: 820px) {
  .editor-hero {
    padding: 40px 0 24px;
  }

  .hero-grid {
    gap: 20px;
  }

  .editor-hero h1 {
    font-size: clamp(2.7rem, 10vw, 4rem);
  }

  .mechanics-panel,
  #gearPanel,
  .code-panel {
    padding: 17px;
  }
}

@media (max-width: 640px) {
  .editor-hero {
    padding: 34px 0 22px;
  }

  .editor-hero h1 {
    font-size: clamp(2.45rem, 13vw, 3.55rem);
  }

  .hero-lead {
    font-size: .95rem;
  }

  .hero-panel,
  .side-card {
    padding: 15px;
  }

  .profession-grid {
    grid-template-columns: 1fr;
  }

  .profession-button {
    min-height: 39px;
  }

  .mechanics-head,
  .code-panel .panel-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .mechanics-context {
    max-width: 100%;
  }
}

/* ==========================================================
   Dojo Build Editor v0.6.3 — Ícones vetoriais locais das armas
   Alteração somente visual: substitui emojis por SVGs próprios.
   ========================================================== */
.custom-svg-icon {
  display: block;
  width: 19px;
  height: 19px;
  overflow: visible;
  color: inherit;
  pointer-events: none;
}

.custom-select[data-kind="weapon"] .custom-icon {
  color: #f6c65f;
  background:
    radial-gradient(circle at 32% 24%, rgba(255, 209, 102, .19), transparent 48%),
    linear-gradient(145deg, rgba(255, 159, 26, .14), rgba(0, 0, 0, .24));
  border: 1px solid rgba(255, 177, 61, .28);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .025);
}

.custom-select[data-kind="weapon"] .custom-trigger:hover .custom-icon,
.custom-select[data-kind="weapon"].open .custom-trigger .custom-icon,
.custom-select[data-kind="weapon"] .custom-option:hover .custom-icon,
.custom-select[data-kind="weapon"] .custom-option.active .custom-icon {
  color: #fff1c8;
  border-color: rgba(255, 190, 86, .58);
  background:
    radial-gradient(circle at 32% 24%, rgba(255, 224, 151, .24), transparent 50%),
    linear-gradient(145deg, rgba(255, 159, 26, .24), rgba(38, 24, 10, .58));
  box-shadow: 0 0 14px rgba(255, 159, 26, .16), inset 0 0 0 1px rgba(255,255,255,.04);
}

.custom-select[data-kind="weapon"] .custom-option .custom-svg-icon {
  width: 17px;
  height: 17px;
}

.custom-select[data-kind="weapon"] .custom-trigger .custom-svg-icon {
  width: 18px;
  height: 18px;
}

/* ==========================================================
   v0.6.3 — Antiquary: artefatos completos + Card Swap
   Escopo isolado para não alterar as demais profissões.
   ========================================================== */
.antiquary-mechanic-strip {
  grid-template-columns: minmax(135px, .24fr) minmax(0, 1fr);
  align-items: start;
}

.antiquary-mechanic-content {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}

.antiquary-primary-actions {
  min-height: 54px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding-right: 14px;
  border-right: 1px solid rgba(255, 159, 26, .14);
}

.antiquary-card-swap-state {
  width: max-content;
  max-width: 100%;
  margin-top: 5px;
  padding: 4px 7px;
  border: 1px solid rgba(122, 60, 255, .32);
  border-radius: 999px;
  color: #d9ccff;
  background: rgba(122, 60, 255, .1);
  font-size: .56rem;
  font-weight: 900;
  letter-spacing: .035em;
  line-height: 1.1;
}

.antiquary-artifact-groups {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.antiquary-artifact-row {
  min-width: 0;
  display: grid;
  gap: 7px;
  padding: 9px 10px 10px;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 12px;
  background: rgba(0, 0, 0, .2);
}

.antiquary-artifact-row.offensive {
  border-color: rgba(255, 126, 61, .2);
  background: linear-gradient(135deg, rgba(255, 93, 54, .07), rgba(0, 0, 0, .2));
}

.antiquary-artifact-row.defensive {
  border-color: rgba(113, 201, 137, .18);
  background: linear-gradient(135deg, rgba(74, 177, 125, .065), rgba(0, 0, 0, .2));
}

.antiquary-artifact-row > strong {
  overflow: hidden;
  color: #cfc7bd;
  font-size: .62rem;
  font-weight: 1000;
  letter-spacing: .065em;
  line-height: 1.15;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.antiquary-artifact-row.offensive > strong {
  color: #ffb067;
}

.antiquary-artifact-row.defensive > strong {
  color: #9ed9ae;
}

.antiquary-artifact-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4, 42px);
  align-items: center;
  justify-content: start;
  gap: 7px;
}

.antiquary-artifact-button {
  position: relative;
  width: 42px;
  height: 42px;
  display: block;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(239, 241, 245, .72);
  border-radius: 8px;
  background: #08090b;
  cursor: help;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .35), inset 0 0 0 1px rgba(255, 255, 255, .055);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.antiquary-artifact-button:hover,
.antiquary-artifact-button:focus-visible {
  z-index: 2;
  border-color: var(--gold);
  outline: none;
  transform: translateY(-2px);
  box-shadow: 0 0 0 3px rgba(255, 159, 26, .12), 0 7px 18px rgba(0, 0, 0, .42);
}

.antiquary-artifact-button img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.antiquary-artifact-empty {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(194, 196, 202, .24);
  border-radius: 8px;
  color: rgba(194, 196, 202, .48);
  background: rgba(4, 5, 7, .22);
}

@media (max-width: 980px) {
  .antiquary-mechanic-content {
    grid-template-columns: 1fr;
  }

  .antiquary-primary-actions {
    min-height: 0;
    padding: 0 0 11px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 159, 26, .14);
  }
}

@media (max-width: 760px) {
  .antiquary-mechanic-strip {
    grid-template-columns: 1fr;
  }

  .antiquary-artifact-groups {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .antiquary-artifact-row {
    overflow-x: auto;
  }

  .antiquary-artifact-grid {
    min-width: 181px;
    grid-template-columns: repeat(4, 39px);
    gap: 6px;
  }

  .antiquary-artifact-button,
  .antiquary-artifact-empty {
    width: 39px;
    height: 39px;
  }
}
