/* ==========================================================================
   QOURATH — modern skill window + attribute sheet.
   Sits on the HUD's Silvered Obsidian panels; the hero's origin color (--cc)
   carries the accents, Cinzel carries the voice.
   ========================================================================== */

/* ------------------------------------------------------------ skill window */
#skillPanel.skModern{left:50%;transform:translateX(-50%);width:min(1100px,95vw);top:4vh;bottom:auto;height:min(660px,calc(100vh - 4vh - 128px));padding:0 !important;overflow:hidden;--cc:#5ad8c6}
.skModern .skHead{position:relative;height:78px;display:flex;align-items:center;gap:16px;padding:0 22px;
  border-bottom:1px solid rgba(199,208,219,.12);
  background:linear-gradient(90deg,color-mix(in srgb,var(--cc) 14%,transparent),transparent 55%)}
.skModern .skEm{width:46px;height:46px;color:var(--cc);filter:drop-shadow(0 0 8px var(--cc))}
.skModern .skEm svg{width:100%;height:100%}
.skModern .skHT{flex:1;min-width:0}
.skKick{font-family:var(--f-ui);font-weight:700;font-size:10.5px;letter-spacing:.34em;color:var(--cc)}
.skModern .skTitle{font-family:var(--f-title);font-weight:700;font-size:26px;letter-spacing:.06em;color:var(--silver-hi);line-height:1.15}
.skModern .skPts{display:flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid rgba(199,208,219,.18);background:rgba(5,7,10,.6)}
.skModern .skPts b{font-family:var(--f-title);font-size:28px;line-height:1;color:var(--silver)}
.skModern .skPts span{font-family:var(--f-ui);font-weight:700;font-size:9px;letter-spacing:.26em;color:var(--steel);line-height:1.4}
.skModern .skPts.hot{border-color:var(--cc);box-shadow:0 0 18px color-mix(in srgb,var(--cc) 40%,transparent);animation:ptsPulse 1.6s ease-in-out infinite}
.skModern .skPts.hot b{color:var(--cc);text-shadow:0 0 12px var(--cc)}
@keyframes ptsPulse{50%{box-shadow:0 0 28px color-mix(in srgb,var(--cc) 65%,transparent)}}
.skClose,.atClose{all:unset;cursor:pointer;width:34px;height:34px;display:grid;place-items:center;color:var(--steel);font-size:15px;border:1px solid transparent}
.skClose:hover{color:#fff;border-color:rgba(199,208,219,.3)}

.skModern .skBody{position:absolute;top:78px;left:0;right:0;bottom:0;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr)}
.skModern .skTree{overflow-y:auto;padding:18px 18px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:radial-gradient(ellipse 70% 50% at 50% 40%,color-mix(in srgb,var(--cc) 7%,transparent),transparent 70%)}
.skTierRow{display:grid;grid-template-columns:62px auto;align-items:center;gap:10px}
.skTierTag{text-align:center;font-family:var(--f-ui)}
.skTierTag b{display:block;font-family:var(--f-title);font-size:20px;color:var(--silver-lo)}
.skTierTag small{font-size:8.5px;letter-spacing:.24em;color:var(--text-faint)}
.skTierRow.open .skTierTag b{color:var(--cc);text-shadow:0 0 10px color-mix(in srgb,var(--cc) 60%,transparent)}
.skTierRow.open .skTierTag small{color:var(--steel)}
.skNodes{display:grid;grid-template-columns:repeat(3,124px);gap:20px}
.skLink{display:grid;grid-template-columns:repeat(3,124px);gap:20px;padding-left:72px;height:30px}
.skLink i{justify-self:center;width:2px;height:100%;background:linear-gradient(180deg,rgba(125,138,156,.25),rgba(125,138,156,.08))}
.skLink.lit i{background:linear-gradient(180deg,var(--cc),color-mix(in srgb,var(--cc) 20%,transparent));box-shadow:0 0 8px var(--cc)}

.skN{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px 8px;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s}
.skN:hover{background:rgba(199,208,219,.04);border-color:rgba(199,208,219,.1)}
.skN.sel{background:linear-gradient(180deg,color-mix(in srgb,var(--cc) 14%,transparent),transparent);border-color:color-mix(in srgb,var(--cc) 45%,transparent)}
.skN[draggable=true]{cursor:grab}
.skSock{position:relative;width:80px;height:80px;display:grid;place-items:center}
.skRing{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.skRing circle{fill:none;stroke-width:3}
.skRing .bg{stroke:rgba(125,138,156,.25);fill:rgba(5,7,10,.75)}
.skRing .fg{stroke:var(--cc);filter:drop-shadow(0 0 4px var(--cc));stroke-linecap:round;transition:stroke-dasharray .35s}
.skGl{position:relative;font-size:34px;color:var(--silver-hi);text-shadow:0 0 10px color-mix(in srgb,var(--cc) 60%,transparent);line-height:1}
.skN.locked .skGl{color:var(--silver-lo);text-shadow:none;opacity:.6}
.skN.locked .skRing .bg{stroke-dasharray:4 5}
.skN.learned .skRing .bg{fill:color-mix(in srgb,var(--cc) 12%,rgba(5,7,10,.85))}
.skN.max .skSock{filter:drop-shadow(0 0 10px var(--cc))}
.skKey{position:absolute;top:-4px;left:-4px;min-width:18px;height:18px;padding:0 3px;box-sizing:border-box;display:grid;place-items:center;
  font-family:var(--f-ui);font-weight:800;font-size:10px;color:#05070a;background:var(--brass-hi);box-shadow:0 0 0 1px #000}
.skPlus{all:unset;position:absolute;right:-6px;bottom:-4px;width:22px;height:22px;display:grid;place-items:center;cursor:pointer;
  font-weight:900;font-size:15px;color:#05070a;background:var(--cc);border-radius:50%;box-shadow:0 0 0 2px #05070a,0 0 12px var(--cc);animation:plusPulse 1.4s ease-in-out infinite}
.skPlus:hover{transform:scale(1.15)}
@keyframes plusPulse{50%{box-shadow:0 0 0 2px #05070a,0 0 20px var(--cc)}}
.skNm{font-family:var(--f-ui);font-weight:700;font-size:12px;letter-spacing:.06em;color:var(--silver);text-align:center;line-height:1.2;min-height:26px;display:flex;align-items:center}
.skN.locked .skNm{color:var(--text-faint)}
.skSub{font-family:var(--f-ui);font-size:8.5px;letter-spacing:.2em;color:var(--steel)}
.skN.max .skSub{color:var(--cc)}
.skN.locked .skSub{color:var(--text-faint)}

.skModern .skDet{overflow-y:auto;padding:20px 24px 22px;border-left:1px solid rgba(199,208,219,.1);background:rgba(4,6,9,.45)}
.skDetHead{display:flex;gap:16px;align-items:center}
.skDetIc{width:72px;height:72px;flex-shrink:0;display:grid;place-items:center;font-size:36px;color:#fff;text-shadow:0 0 16px var(--cc);
  border:1px solid color-mix(in srgb,var(--cc) 55%,transparent);background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--cc) 30%,transparent),rgba(0,0,0,.6) 72%);
  box-shadow:inset 0 0 20px rgba(0,0,0,.7)}
.skDetName{font-family:var(--f-title);font-weight:700;font-size:24px;color:var(--silver-hi);letter-spacing:.03em;margin:2px 0 6px}
.skTags{display:flex;gap:6px;flex-wrap:wrap}
.skTags span{font-family:var(--f-ui);font-weight:700;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--silver);padding:3px 8px;border:1px solid rgba(199,208,219,.18);background:rgba(5,7,10,.6)}
.skPips{display:flex;align-items:center;gap:6px;margin:16px 0 12px}
.skPips i{width:12px;height:12px;transform:rotate(45deg);border:1px solid color-mix(in srgb,var(--cc) 55%,transparent)}
.skPips i.on{background:var(--cc);box-shadow:0 0 8px var(--cc)}
.skPips span{margin-left:8px;font-family:var(--f-ui);font-weight:700;font-size:10px;letter-spacing:.24em;color:var(--steel)}
.skCmp{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.skCmp>div{padding:10px 12px;border:1px solid rgba(199,208,219,.14);background:rgba(5,7,10,.55)}
.skCmp>div.nx{border-color:color-mix(in srgb,var(--cc) 45%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--cc) 10%,transparent),rgba(5,7,10,.55))}
.skCmp small{display:block;font-family:var(--f-ui);font-weight:700;font-size:9px;letter-spacing:.26em;color:var(--steel);margin-bottom:4px}
.skCmp .nx small{color:var(--cc)}
.skCmp b{font-weight:normal;font-size:13.5px;color:var(--silver-hi);line-height:1.35}
.skFaces{display:grid;gap:8px;margin-top:10px}
.skFaces>div{padding:10px 12px;font-size:13.5px;line-height:1.45;color:var(--text)}
.skFaces em{display:block;font-style:normal;font-family:var(--f-ui);font-weight:700;font-size:9px;letter-spacing:.26em;margin-bottom:3px}
.skFaces .ord{border-left:2px solid #5ad8c6;background:linear-gradient(90deg,rgba(90,216,198,.1),transparent)}
.skFaces .ord em{color:#5ad8c6}
.skFaces .cha{border-left:2px solid #ff7a45;background:linear-gradient(90deg,rgba(255,122,69,.1),transparent)}
.skFaces .cha em{color:#ff7a45}
.skAct{margin:16px 0 6px}
.skRaise{all:unset;box-sizing:border-box;display:block;width:100%;text-align:center;cursor:pointer;padding:12px;font-family:var(--f-ui);font-weight:800;font-size:12.5px;letter-spacing:.24em;
  color:#05070a;background:linear-gradient(180deg,color-mix(in srgb,var(--cc) 60%,#fff),var(--cc));box-shadow:0 0 0 1px #000,0 0 20px color-mix(in srgb,var(--cc) 45%,transparent);transition:filter .15s,transform .15s}
.skRaise:hover{filter:brightness(1.12);transform:translateY(-1px)}
.skWhy{text-align:center;padding:10px;font-size:12.5px;font-style:italic;color:var(--text-dim);border:1px dashed rgba(199,208,219,.14)}
.skSec{display:flex;align-items:center;gap:10px;margin:16px 0 8px;font-family:var(--f-ui);font-weight:700;font-size:10px;letter-spacing:.34em;color:var(--steel)}
.skSec::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(199,208,219,.2),transparent)}
.skBar{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.skSlot{position:relative;height:58px;display:grid;place-items:center;cursor:pointer;border:1px solid rgba(199,208,219,.2);background:linear-gradient(180deg,#101620,#06080c);box-shadow:inset 0 2px 8px #000;transition:all .15s}
.skSlot span{font-size:24px;color:var(--silver-hi)}
.skSlot kbd{position:absolute;top:3px;left:4px;padding:1px 5px;font-size:9px}
.skSlot.empty span::before{content:'+';color:var(--text-faint);font-size:18px}
.skSlot:hover{border-color:var(--cc);box-shadow:inset 0 2px 8px #000,0 0 12px color-mix(in srgb,var(--cc) 40%,transparent)}
.skSlot.cur{border-color:var(--cc);background:linear-gradient(180deg,color-mix(in srgb,var(--cc) 18%,#101620),#06080c)}
.skSlot.dropHover,#hotbar .slot.dropHover{border-color:var(--cc,#5ad8c6) !important;box-shadow:0 0 18px var(--cc,#5ad8c6) !important;transform:scale(1.05)}
body.skDragging #hotbar .slot{outline:1px dashed rgba(90,216,198,.6);outline-offset:3px}
.skHint{margin-top:8px;font-size:12px;color:var(--text-dim);line-height:1.4}
.skHint b{color:var(--silver-hi);font-weight:normal}

@media (max-width:980px){
  .skModern .skBody{grid-template-columns:1fr;overflow-y:auto}
  .skModern .skTree,.skModern .skDet{overflow:visible}
  .skNodes,.skLink{grid-template-columns:repeat(3,96px);gap:10px}
  .skLink{padding-left:72px}
}

/* ------------------------------------------------------------ attribute sheet */
#statBox{border-top:0 !important;padding-top:4px !important;margin-top:10px}
.atHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid rgba(199,208,219,.1)}
.atWho b{display:block;font-family:var(--f-title);font-weight:700;font-size:20px;letter-spacing:.04em;color:var(--silver-hi)}
.atWho small{font-family:var(--f-ui);font-weight:700;font-size:9.5px;letter-spacing:.3em;color:var(--cc,var(--steel))}
.atPts{display:flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--cc,var(--lattice));box-shadow:0 0 14px color-mix(in srgb,var(--cc,#5ad8c6) 35%,transparent);animation:ptsPulseA 1.6s ease-in-out infinite}
.atPts b{font-family:var(--f-title);font-size:24px;line-height:1;color:var(--cc,var(--lattice));text-shadow:0 0 10px var(--cc,var(--lattice))}
.atPts span{font-family:var(--f-ui);font-weight:700;font-size:8.5px;letter-spacing:.24em;color:var(--steel);line-height:1.4}
@keyframes ptsPulseA{50%{box-shadow:0 0 24px color-mix(in srgb,var(--cc,#5ad8c6) 60%,transparent)}}
.atGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.atCard{position:relative;display:grid;grid-template-columns:34px 1fr auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:10px 10px 10px 10px;
  background:linear-gradient(180deg,rgba(24,32,43,.7),rgba(7,10,14,.85));border:1px solid rgba(199,208,219,.12);transition:border-color .2s,background .2s}
.atCard.staged{border-color:color-mix(in srgb,var(--cc,#5ad8c6) 60%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--cc,#5ad8c6) 12%,rgba(24,32,43,.7)),rgba(7,10,14,.85))}
.atIc{grid-row:1/3;width:30px;height:30px;color:var(--cc,var(--lattice));opacity:.9}
.atIc svg{width:100%;height:100%}
.atTxt{min-width:0}
.atK{font-family:var(--f-ui);font-weight:700;font-size:11px;letter-spacing:.18em;color:var(--silver);text-transform:uppercase}
.atFx{font-size:10.5px;color:var(--text-faint);margin-top:1px;line-height:1.25}
.atV{grid-row:1/3;grid-column:3;text-align:right}
.atV b{font-family:var(--f-title);font-size:24px;color:var(--silver-hi);line-height:1}
.atV i{display:block;font-style:normal;font-family:var(--f-ui);font-weight:700;font-size:10.5px;color:var(--cc,var(--lattice))}
.atBtns{grid-column:1/4;display:flex;gap:6px;justify-content:flex-end;margin-top:8px}
.atB{all:unset;box-sizing:border-box;width:30px;height:26px;display:grid;place-items:center;cursor:pointer;font-weight:800;font-size:16px;color:var(--silver-hi);
  border:1px solid rgba(199,208,219,.25);background:linear-gradient(180deg,#1a222d,#0a0e14);transition:all .12s}
.atB:hover:not([disabled]){border-color:var(--cc,var(--lattice));box-shadow:0 0 10px color-mix(in srgb,var(--cc,#5ad8c6) 50%,transparent)}
.atB:active:not([disabled]){transform:scale(.92)}
.atB[disabled]{opacity:.25;cursor:default}
.atConfirm{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--cc,#5ad8c6) 45%,transparent);
  background:linear-gradient(90deg,color-mix(in srgb,var(--cc,#5ad8c6) 12%,transparent),rgba(5,7,10,.6));animation:fadeIn .2s}
.atConfirm span{flex:1;font-size:11.5px;color:var(--text-dim)}
.atConfirm span b{color:var(--cc,var(--lattice));font-size:14px}
.atC{all:unset;cursor:pointer;padding:8px 14px;font-family:var(--f-ui);font-weight:800;font-size:10.5px;letter-spacing:.22em;color:#05070a;background:var(--cc,var(--lattice));box-shadow:0 0 0 1px #000}
.atC:hover{filter:brightness(1.15)}
.atC.ghost{color:var(--silver);background:transparent;border:1px solid rgba(199,208,219,.3);box-shadow:none}
.atGroups{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.atGroup h5{margin:0 0 4px;font-family:var(--f-ui);font-weight:700;font-size:9.5px;letter-spacing:.3em;color:var(--steel);padding-bottom:4px;border-bottom:1px solid rgba(199,208,219,.14)}
.atGroup>div{display:flex;justify-content:space-between;align-items:baseline;gap:6px;padding:3px 0;font-size:11px}
.atGroup span{color:var(--text-dim)}
.atGroup b{font-weight:normal;color:var(--silver-hi);white-space:nowrap}
.atGroup b i{font-style:normal;font-size:10px;margin-left:4px}
.atGroup b i.up{color:#8dff6a}
.atGroup b i.dn{color:#ff6a5a}
.atGroup .hot b{color:var(--brass-hi)}
.atGroup .warn b{color:#ff7a45}
.atRespec{all:unset;display:block;cursor:pointer;margin-top:12px;font-family:var(--f-ui);font-weight:700;font-size:10px;letter-spacing:.24em;color:var(--steel);text-align:center;padding:7px;border:1px dashed rgba(199,208,219,.18)}
.atRespec:hover{color:var(--brass-hi);border-color:var(--brass)}

/* Painted skill icons (assets/icons_skills.js via QO.skIcon) */
.skImg{display:block;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-drag:none}
.slot .ic:has(.skImg){filter:none;line-height:0;display:grid;place-items:center;height:100%}
.slot .ic .skImg{width:46px;height:46px;margin-top:-6px;box-shadow:0 0 0 1px rgba(0,0,0,.8),0 0 8px rgba(90,216,198,.35)}
.skGl .skImg{width:52px;height:52px;border-radius:50%}
.skN.locked .skGl .skImg{filter:grayscale(.85) brightness(.55)}
.skDetIc:has(.skImg){padding:0;overflow:hidden}
.skDetIc .skImg{width:100%;height:100%}
.skSlot span .skImg{width:44px;height:44px}
.ccSkIc:has(.skImg),.ccPowIc:has(.skImg){padding:0;overflow:hidden}
.ccSkIc .skImg,.ccPowIc .skImg{width:100%;height:100%}
.ccRoadIc i .skImg{width:32px;height:32px}
