/* ============================================================================
   NEXORA · REWARDS panel styles (V2026.187) — used by nx-rewards.js
   Brand v1.0: black #050505 / paper #F7F6F2 / lime #DAFF03 only on dark,
   purple #B003E8 for founding, square corners, 1px hairlines, no shadows.
   Every selector is scoped under .nxrw so nothing else on a page moves.
   ========================================================================== */
.nxrw{--k:#050505;--p:#F7F6F2;--w:#FFFFFF;--c:#121212;--g:#3A3A38;--s:#6B6B67;--a:#B4B4AE;--h:#E4E3DD;
  --l:#DAFF03;--ld:#3B4500;--pu:#B003E8;--pul:#D98BFF;--ok:#17694A;--err:#C4362F;--e:cubic-bezier(.2,0,0,1);
  color:var(--k);font-family:var(--nx-text,'IBM Plex Sans',sans-serif);box-sizing:border-box;min-width:0}
.nxrw *,.nxrw *::before,.nxrw *::after{box-sizing:border-box}
.nxrw .nxrw-eyb{display:inline-block;font:500 11px/1.3 var(--nx-mono,monospace);letter-spacing:.16em;text-transform:uppercase;color:var(--s)}
.nxrw .nxrw-dark .nxrw-eyb{color:var(--a)}

/* ---------- buttons + links ---------- */
.nxrw .nxrw-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;margin:0;
  border:1px solid var(--k);background:transparent;color:var(--k);font:500 14.5px/1.2 var(--nx-text,sans-serif);text-align:center;text-decoration:none;cursor:pointer;
  transition:background-color 120ms var(--e),color 120ms var(--e),border-color 120ms var(--e)}
.nxrw .nxrw-btn.go{background:var(--k);color:var(--p)}
.nxrw .nxrw-btn.go:hover{background:var(--l);color:var(--k);border-color:var(--k)}
.nxrw .nxrw-btn.ghost:hover{background:var(--k);color:var(--p)}
.nxrw .nxrw-btn:disabled{opacity:.6;cursor:default}
.nxrw .nxrw-dark .nxrw-btn.go,.nxrw .is-fnd .nxrw-btn.go{background:var(--l);border-color:var(--l);color:var(--k)}
.nxrw .nxrw-dark .nxrw-btn.go:hover{background:var(--p);border-color:var(--p)}
.nxrw .nxrw-btn.on-dark{border-color:rgba(247,246,242,.42);color:var(--p)}
.nxrw .nxrw-btn.on-dark:hover{background:var(--p);color:var(--k);border-color:var(--p)}
.nxrw .nxrw-link{display:inline-block;margin-top:8px;font:500 13.5px/1.3 var(--nx-text,sans-serif);color:var(--k);text-decoration:none;border-bottom:1px solid currentColor}
.nxrw .nxrw-link:hover{border-bottom-color:transparent}
.nxrw .nxrw-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.nxrw .nxrw-fine{margin:10px 0 0;font:400 12.5px/1.5 var(--nx-text,sans-serif);color:var(--s)}
.nxrw .nxrw-fine a{color:inherit;text-decoration:underline}
.nxrw .nxrw-dark .nxrw-fine{color:var(--a)}

/* ---------- medallions ---------- */
.nxrw .nxrw-medal{width:72px;height:72px;flex:0 0 auto}
.nxrw .nxrw-medal.sm{width:52px;height:52px}
.nxrw .nxrw-medal svg{display:block;width:100%;height:100%}

/* ---------- progress bars ---------- */
.nxrw .nxrw-bar{position:relative;height:6px;background:var(--h);overflow:hidden}
.nxrw .nxrw-bar i{position:absolute;left:0;top:0;bottom:0;background:var(--k);transition:width 450ms var(--e)}
.nxrw .nxrw-bar.on-dark{background:rgba(247,246,242,.14)}
.nxrw .nxrw-bar.on-dark i{background:var(--l)}
.nxrw .nxrw-bar-meta{display:flex;justify-content:space-between;gap:10px;margin-top:6px;font:500 11px/1.3 var(--nx-mono,monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--s);font-variant-numeric:tabular-nums}

/* ---------- status card (black) ---------- */
.nxrw .nxrw-status{position:relative;overflow:hidden;isolation:isolate;display:grid;gap:26px;padding:32px;background:var(--k);color:var(--p);border:1px solid var(--k)}
.nxrw .nxrw-status::after{content:"";position:absolute;right:-70px;top:-70px;width:300px;height:300px;z-index:-1;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M19 2h26l17 17v26L45 62H19L2 45V19z' fill='none' stroke='%23DAFF03' stroke-opacity='.16' stroke-width='.5'/%3E%3Cpath d='M21.5 7.5h21l14 14v21l-14 14h-21l-14-14v-21z' fill='none' stroke='%23DAFF03' stroke-opacity='.1' stroke-width='.4'/%3E%3C/svg%3E") center/contain no-repeat}
.nxrw .nxrw-status p{margin:10px 0 0;max-width:58ch;font:400 15px/1.6 var(--nx-text,sans-serif);color:var(--a)}
.nxrw .nxrw-status p b{color:var(--p);font-weight:500}
.nxrw .nxrw-status .nxrw-fine{font-size:12.5px;margin-top:6px}
.nxrw .nxrw-big{display:flex;align-items:baseline;gap:14px;margin-top:10px}
.nxrw .nxrw-big b{font:600 clamp(60px,8vw,104px)/.88 var(--nx-display,sans-serif);letter-spacing:-.045em;color:var(--l);font-variant-numeric:tabular-nums}
.nxrw .nxrw-big span{font:500 12px/1.2 var(--nx-mono,monospace);letter-spacing:.16em;text-transform:uppercase;color:var(--a)}
.nxrw .nxrw-big-title{margin:10px 0 0;font:600 clamp(28px,3.4vw,40px)/1.08 var(--nx-display,sans-serif);letter-spacing:-.025em;color:var(--p)}
.nxrw .nxrw-track{position:relative;height:50px;margin:0 8px}
.nxrw .nxrw-track-line{position:absolute;left:0;right:0;top:12px;height:2px;background:rgba(247,246,242,.16)}
.nxrw .nxrw-track-line i{display:block;height:100%;background:var(--l);transition:width 450ms var(--e)}
.nxrw .nxrw-node{position:absolute;top:6px;width:14px;height:14px;margin-left:-7px;background:var(--k);border:1px solid rgba(247,246,242,.4)}
.nxrw .nxrw-node.is-on{background:var(--l);border-color:var(--l)}
.nxrw .nxrw-node b{position:absolute;top:22px;left:50%;transform:translateX(-50%);font:500 11px/1 var(--nx-mono,monospace);color:var(--a);font-variant-numeric:tabular-nums}
.nxrw .nxrw-node.is-on b{color:var(--l)}
.nxrw .nxrw-fnd{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:16px;align-items:center;padding-top:22px;border-top:1px solid rgba(247,246,242,.14)}
.nxrw .nxrw-fnd b{display:block;font:600 17px/1.25 var(--nx-display,sans-serif);color:var(--p)}
.nxrw .nxrw-fnd p{margin:4px 0 0;font-size:13.5px;line-height:1.5;color:var(--a)}

/* ---------- section headings ---------- */
.nxrw .nxrw-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px 20px;flex-wrap:wrap;margin:48px 0 16px;padding-bottom:12px;border-bottom:1px solid var(--k)}
.nxrw .nxrw-h h2{margin:0;font:600 clamp(24px,2.6vw,32px)/1.1 var(--nx-display,sans-serif);letter-spacing:-.02em;color:var(--k)}
.nxrw .nxrw-h p{margin:0;font-size:14px;line-height:1.5;color:var(--s)}

/* ---------- the ladder ---------- */
.nxrw .nxrw-ladder{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.nxrw .nxrw-rung{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:22px;padding:24px;margin:0;background:var(--w);border:1px solid var(--h);transition:border-color 220ms var(--e)}
.nxrw .nxrw-rung::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;background:transparent}
.nxrw .nxrw-rung.is-reached::before{background:var(--k)}
.nxrw .nxrw-rung.is-next{border-color:var(--k)}
.nxrw .nxrw-rung:hover{border-color:var(--g)}
.nxrw .nxrw-rung-body{min-width:0}
.nxrw .nxrw-rung-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.nxrw .nxrw-rung h3{margin:6px 0 4px;font:600 22px/1.15 var(--nx-display,sans-serif);letter-spacing:-.015em;color:var(--k)}
.nxrw .nxrw-rung p{margin:0 0 14px;font-size:14.5px;line-height:1.55;color:var(--g)}
.nxrw .nxrw-rung.is-locked h3{color:var(--g)}
.nxrw .nxrw-flag{flex:0 0 auto;padding:6px 8px;border:1px solid var(--h);font:500 10.5px/1 var(--nx-mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--g);white-space:nowrap;font-variant-numeric:tabular-nums}
.nxrw .nxrw-flag.ok{background:var(--k);border-color:var(--k);color:var(--l)}
.nxrw .nxrw-rung.is-next .nxrw-flag{border-color:var(--k);color:var(--k)}
.nxrw .nxrw-art{margin-top:18px;padding:18px 14px 8px;background:var(--k);border:1px solid var(--k)}
.nxrw .nxrw-art-svg{display:block;width:100%;height:auto;max-height:190px}
.nxrw .nxrw-rung.is-locked .nxrw-art-svg{opacity:.82}

/* ---------- claim status ---------- */
.nxrw .nxrw-claim{margin-top:16px;padding:16px 18px;border:1px solid var(--k);background:var(--p)}
.nxrw .nxrw-claim-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.nxrw .nxrw-claim-head b{font:600 18px/1.2 var(--nx-display,sans-serif);color:var(--k)}
.nxrw .nxrw-claim p{margin:0 0 6px;font-size:14px;line-height:1.5;color:var(--g)}
.nxrw .nxrw-claim-track b{font-family:var(--nx-mono,monospace);font-weight:500;color:var(--k);word-break:break-all}
.nxrw .nxrw-steps{list-style:none;margin:12px 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.nxrw .nxrw-steps li{margin:0;padding-top:8px;border-top:3px solid var(--h);font:500 10.5px/1.25 var(--nx-mono,monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--s)}
.nxrw .nxrw-steps li.is-on{border-top-color:var(--k);color:var(--k)}
.nxrw .nxrw-claim.st-rejected{border-color:var(--err)}
.nxrw .nxrw-claim.st-rejected .nxrw-claim-head b{color:var(--err)}

/* ---------- claim form ---------- */
.nxrw .nxrw-form{margin-top:18px;padding:20px;border:1px solid var(--k);background:var(--p)}
.nxrw .nxrw-note{margin:0 0 18px;padding:12px 14px;background:var(--k);color:var(--a);font-size:14px;line-height:1.5}
.nxrw .nxrw-note b{color:var(--l);font-weight:500}
.nxrw .nxrw-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.nxrw .span2{grid-column:1/-1}
.nxrw .nxrw-field{display:flex;flex-direction:column;gap:6px;margin:0;min-width:0}
.nxrw .nxrw-field>span{font:500 13px/1.3 var(--nx-text,sans-serif);color:var(--g)}
.nxrw .nxrw-field small{font-size:12px;font-weight:400;color:var(--s)}
.nxrw .nxrw-field input{width:100%;height:46px;padding:0 12px;margin:0;border:1px solid var(--a);background:var(--w);color:var(--k);font:400 15px/1.2 var(--nx-text,sans-serif)}
.nxrw .nxrw-field input:focus{border-color:var(--k)}
.nxrw [aria-invalid="true"]{border-color:var(--err)!important}
.nxrw .nxrw-ferr{display:block;font:500 12.5px/1.35 var(--nx-text,sans-serif);font-style:normal;color:var(--err)}
.nxrw .nxrw-ferr:empty{display:none}
.nxrw .nxrw-sizes{border:0;margin:0;padding:0;min-width:0}
.nxrw .nxrw-sizes legend{padding:0;margin:0 0 8px;font:500 13px/1.3 var(--nx-text,sans-serif);color:var(--g)}
.nxrw .nxrw-sizes>div{display:flex;flex-wrap:wrap;gap:8px}
.nxrw .nxrw-sizes label{position:relative;margin:0}
.nxrw .nxrw-sizes input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.nxrw .nxrw-sizes span{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:44px;padding:0 12px;border:1px solid var(--a);background:var(--w);color:var(--k);font:500 14px/1 var(--nx-mono,monospace);cursor:pointer;transition:background-color 120ms var(--e),color 120ms var(--e)}
.nxrw .nxrw-sizes span:hover{border-color:var(--k)}
.nxrw .nxrw-sizes input:checked+span{background:var(--k);border-color:var(--k);color:var(--l)}
.nxrw .nxrw-sizes input:focus-visible+span{outline:2px solid var(--ld);outline-offset:2px}
.nxrw .nxrw-check{display:grid;grid-template-columns:20px minmax(0,1fr);gap:4px 10px;align-items:start;margin:0;font-size:14px;line-height:1.45;color:var(--k);cursor:pointer}
.nxrw .nxrw-check input{width:18px;height:18px;margin:1px 0 0;accent-color:#050505}
.nxrw .nxrw-check .nxrw-ferr{grid-column:2}
.nxrw .nxrw-formmsg{margin-top:14px;font:500 14px/1.4 var(--nx-text,sans-serif);color:var(--err)}
.nxrw .nxrw-formmsg:empty{display:none}

/* ---------- extra awards ---------- */
.nxrw .nxrw-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--h);border:1px solid var(--h)}
.nxrw .nxrw-award{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:start;padding:18px;background:var(--w)}
.nxrw .nxrw-award h4{margin:2px 0 4px;font:600 16px/1.25 var(--nx-display,sans-serif);color:var(--k)}
.nxrw .nxrw-award p{margin:0;font-size:13.5px;line-height:1.5;color:var(--g)}
.nxrw .nxrw-award.is-locked h4{color:var(--g)}
.nxrw .nxrw-award.is-fnd{grid-column:1/-1;background:var(--k)}
.nxrw .nxrw-award.is-fnd h4{color:var(--p)}
.nxrw .nxrw-award.is-fnd p{color:var(--a)}
.nxrw .nxrw-award.is-fnd .nxrw-link{color:var(--pul)}

/* ---------- compact (dashboards) ---------- */
.nxrw.nxrw-compact{display:grid;gap:14px;padding:20px;background:var(--w);border:1px solid var(--h)}
.nxrw .nxrw-c-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.nxrw .nxrw-c-head .nxrw-link{margin-top:0}
.nxrw .nxrw-c-body{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:center}
.nxrw.nxrw-compact .nxrw-medal{width:64px;height:64px}
.nxrw .nxrw-c-title{display:block;font:600 18px/1.2 var(--nx-display,sans-serif);color:var(--k)}
.nxrw .nxrw-c-text{margin:2px 0 10px;font-size:14px;line-height:1.45;color:var(--g)}
.nxrw .nxrw-c-text b{color:var(--k);font-weight:500}
.nxrw .nxrw-c-claim{margin:0}
.nxrw .nxrw-c-cta{width:100%}
.nxrw .nxrw-c-fnd{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;background:var(--k);color:var(--p);font:500 11.5px/1.3 var(--nx-mono,monospace);letter-spacing:.12em;text-transform:uppercase}
.nxrw .nxrw-c-fnd .nxrw-link{margin:0;color:var(--l);font-family:var(--nx-text,sans-serif);letter-spacing:0;text-transform:none}

/* ---------- strip (my gigs) ---------- */
.nxrw.nxrw-strip{display:flex;align-items:center;gap:16px;min-height:48px;padding:10px 16px;background:var(--w);border:1px solid var(--h);color:var(--k);text-decoration:none;font:400 14px/1.35 var(--nx-text,sans-serif);transition:border-color 120ms var(--e)}
.nxrw.nxrw-strip:hover{border-color:var(--k)}
.nxrw.nxrw-strip b{font-weight:600;font-variant-numeric:tabular-nums}
.nxrw .nxrw-strip-l{white-space:nowrap}
.nxrw.nxrw-strip .nxrw-bar{flex:1 1 140px;min-width:60px}
.nxrw .nxrw-strip-r{margin-left:auto;font-weight:500;white-space:nowrap}
.nxrw.nxrw-strip.is-ready{background:var(--k);border-color:var(--k);color:var(--p)}
.nxrw.nxrw-strip.is-ready b{color:var(--l)}

/* ---------- loading ---------- */
.nxrw .nxrw-skel{background:linear-gradient(90deg,#EFEEE8,#F7F6F2,#EFEEE8);background-size:200% 100%;animation:nxrwS 1.4s linear infinite}
@keyframes nxrwS{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.nxrw .nxrw-skel{animation:none}.nxrw .nxrw-bar i,.nxrw .nxrw-track-line i{transition:none}}

/* ---------- small screens ---------- */
@media (max-width:900px){.nxrw .nxrw-side{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){
  .nxrw .nxrw-status{padding:22px 18px;gap:22px}
  .nxrw .nxrw-fnd{grid-template-columns:auto minmax(0,1fr)}
  .nxrw .nxrw-fnd .nxrw-btn{grid-column:1/-1}
  .nxrw .nxrw-rung{grid-template-columns:56px minmax(0,1fr);column-gap:14px;row-gap:0;padding:18px 16px}
  .nxrw .nxrw-rung .nxrw-medal{width:56px;height:56px;grid-row:1/span 3;align-self:start}
  .nxrw .nxrw-rung-body{display:contents}
  .nxrw .nxrw-rung-body>*{grid-column:2}
  .nxrw .nxrw-rung-body>:is(.nxrw-bar,.nxrw-bar-meta,.nxrw-art,.nxrw-claim,.nxrw-actions,.nxrw-formhost){grid-column:1/-1}
  .nxrw .nxrw-rung h3{font-size:19px}
  .nxrw .nxrw-rung-body>.nxrw-bar{margin-top:6px}
  .nxrw .nxrw-grid2{grid-template-columns:minmax(0,1fr)}
  .nxrw .nxrw-form{padding:16px}
  .nxrw .nxrw-actions>.nxrw-btn{flex:1 1 100%}
  .nxrw .nxrw-steps li{font-size:9.5px;letter-spacing:.03em}
  .nxrw.nxrw-strip{flex-wrap:wrap;gap:8px 12px}
  .nxrw.nxrw-strip .nxrw-bar{order:3;flex:1 1 100%}
  .nxrw .nxrw-strip-l{white-space:normal}
}
