:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #f7f4ea;
  background: #171812;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  padding: 24px;
  background: radial-gradient(circle at 20% 20%, rgba(121,143,68,.16), transparent 34rem), #171812;
}
body.modal-open { overflow: hidden; }
.shell { width: min(100%, 760px); margin: 0 auto; }
.card {
  background: #22241c;
  border: 1px solid #414634;
  border-radius: 20px;
  padding: 32px;
  box-shadow: 0 24px 70px rgba(0,0,0,.35);
}
.eyebrow { font-size: 12px; font-weight: 800; letter-spacing: .16em; color: #a9b987; }
h1 { font-size: clamp(42px,10vw,52px); line-height: .95; margin: 10px 0 10px; }
h2 { font-size: clamp(28px,5vw,40px); line-height: 1; margin: 8px 0 0; }
.lede { color: #c9c9bd; line-height: 1.55; margin: 0; }
button { border: 0; border-radius: 12px; padding: 14px 18px; font: inherit; font-weight: 800; cursor: pointer; }
button:disabled { opacity: .5; cursor: not-allowed; }
.primary { width: 100%; background: #9147ff; color: white; }
.secondary { color: #e8e8df; background: #35382c; }
.compact { width: auto; padding: 10px 14px; margin-top: 0; }
.label { font-size: 13px; color: #aeb09f; }
.status,.fineprint { color: #bfc1b5; font-size: 14px; line-height: 1.5; }
.fineprint { margin: 14px 4px 0; }
.hidden { display: none !important; }
.topbar { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:28px; }
.balance-pill { background:#1c1e17; border:1px solid #4b503c; padding:12px 16px; border-radius:14px; min-width:150px; text-align:right; }
.balance-pill .big { font-size:26px; font-weight:900; }
.events { display:grid; gap:12px; margin-top:20px; }
.event-card { border:1px solid #414634; border-radius:14px; padding:16px; background:#1c1e17; }
.event-head { display:flex; justify-content:space-between; gap:14px; align-items:center; }
.event-name { font-size:19px; font-weight:850; }
.price { font-size:18px; font-weight:900; white-space:nowrap; }
.event-card p { color:#aeb09f; margin:6px 0 14px; line-height:1.4; }
.custom-label { display:block; font-size:12px; color:#aeb09f; margin:4px 0 6px; }
.custom-select,.field select,.field input:not([type=color]) {
  width:100%; padding:11px 12px; border-radius:10px; border:1px solid #4b503c; background:#262920; color:#f7f4ea; font:inherit;
}
.custom-select { margin-bottom:12px; }
.buy { width:100%; background:#758d43; color:#fff; }
.customize { width:100%; background:#758d43; color:#fff; }
.toast { margin-top:14px; padding:12px; border-radius:10px; background:#263021; color:#d9efc1; }
.error { background:#34241f !important; color:#ffd3c7 !important; }
.footer-note { margin-top:22px; }

.modal { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:20px; }
.modal-backdrop { position:absolute; inset:0; background:rgba(5,6,4,.76); backdrop-filter:blur(5px); }
.creator {
  position:relative; width:min(1080px,100%); max-height:calc(100vh - 40px); overflow:auto;
  background:#22241c; border:1px solid #4b503c; border-radius:20px; padding:28px;
  box-shadow:0 30px 100px rgba(0,0,0,.65);
}
.creator-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:22px; }
.icon-button { width:42px; height:42px; padding:0; font-size:30px; line-height:1; color:#f7f4ea; background:#35382c; }
.creator-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:28px; align-items:start; }
.creator-form { display:grid; gap:15px; }
.field-grid { display:grid; gap:12px; }
.field-grid.two { grid-template-columns:1fr 1fr; }
.field { display:grid; gap:7px; color:#d9dbcf; font-size:14px; font-weight:700; }
.field > span { display:flex; justify-content:space-between; gap:8px; align-items:baseline; }
.field small { color:#929687; font-size:12px; font-weight:500; line-height:1.4; }
.color-row { display:flex; gap:12px; align-items:center; min-height:44px; padding:6px 10px; border:1px solid #4b503c; background:#262920; border-radius:10px; }
.color-row input[type=color] { width:52px; height:32px; border:0; padding:0; background:transparent; }
.color-row span { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; color:#c9c9bd; }
.creator-notice { margin:0 0 18px; padding:12px 14px; border-radius:10px; background:#34241f; color:#ffd3c7; font-size:14px; line-height:1.4; }
.preview-panel { position:sticky; top:0; border:1px solid #414634; border-radius:16px; background:#1c1e17; padding:18px; text-align:center; }
.preview-title { color:#aeb09f; text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:900; text-align:left; }
.pawn-stage { position:relative; width:210px; height:260px; max-width:100%; margin:18px auto 12px; }
.pawn-shadow { position:absolute; width:125px; height:24px; left:50%; bottom:18px; transform:translateX(-50%); border-radius:50%; background:rgba(0,0,0,.38); filter:blur(2px); }

#pawn-preview-canvas {
  position:absolute;
  width:220px;
  height:220px;
  left:50%;
  top:6px;
  transform:translateX(-50%);
  display:block;
  image-rendering:auto;
}
.preview-name { font-size:22px; font-weight:900; margin-top:4px; }
.preview-meta { color:#aeb09f; font-size:13px; margin-top:6px; line-height:1.5; }
.preview-help { color:#777c70; font-size:12px; line-height:1.45; text-align:left; margin:18px 0 0; }
.creator-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid #414634; margin-top:24px; padding-top:20px; }
.creator-price { font-size:24px; font-weight:900; margin-top:3px; }
.creator-buy { width:auto; min-width:220px; }

@media(max-width:760px) {
  body { padding:12px; }
  .card { padding:22px; }
  .topbar { flex-direction:column; }
  .balance-pill { width:100%; text-align:left; }
  .modal { padding:0; align-items:end; }
  .creator { max-height:94vh; border-radius:20px 20px 0 0; padding:20px; }
  .creator-grid { grid-template-columns:1fr; }
  .preview-panel { position:static; order:-1; }
  .pawn-stage { height:190px; transform:scale(.72); transform-origin:center top; margin-bottom:-42px; }
  .field-grid.two { grid-template-columns:1fr; }
  .creator-footer { position:sticky; bottom:-20px; background:#22241c; padding-bottom:18px; }
  .creator-buy { min-width:0; flex:1; }
}

.gene-stats-row {
  display:flex;
  align-items:center;
  gap:7px;
  color:#b6baa9;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}
.mini-info-button {
  flex:0 0 auto;
  width:19px;
  height:19px;
  min-width:19px;
  padding:0;
  border:1px solid #747a69;
  border-radius:50%;
  background:transparent;
  color:#cbd0bd;
  font-family:Georgia,serif;
  font-size:12px;
  font-weight:800;
  line-height:17px;
  text-align:center;
}
.mini-info-button:hover { background:#35382c; border-color:#a4aa94; }
.gene-info-box {
  padding:10px 11px;
  border:1px solid #414634;
  border-radius:9px;
  background:#1c1e17;
  color:#aeb09f;
  font-size:12px;
  font-weight:500;
  line-height:1.45;
}

#pawn-preview-canvas{image-rendering:pixelated;image-rendering:crisp-edges;}


.defender-creator{max-width:760px}
.defender-form{display:grid;gap:16px}
.defender-behavior-note{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:14px 16px;
  border:1px solid #414634;
  border-radius:12px;
  background:#1a1d16;
  color:#b7b9a7;
  font-size:13px;
  line-height:1.45;
}
.defender-behavior-note strong{color:#f0eee3;font-size:13px}
.defender-price-box{
  margin-top:20px;
  padding:16px;
  border:1px solid #414634;
  border-radius:12px;
  background:#171a14;
}
.component-price-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:7px 0;
  color:#b9bba9;
  font-size:14px;
}
.component-price-row strong{color:#f2efe4}
.defender-total-row{
  margin-top:5px;
  padding-top:12px;
  border-top:1px solid #3c4131;
  font-size:17px;
}
.defender-price-box small{
  display:block;
  margin-top:10px;
  color:#8d927f;
  line-height:1.4;
}
@media (max-width:720px){
  .defender-creator{max-width:none}
}


.optional-label{font-weight:400;color:#8e9380;font-size:.9em}


/* --- Three-system navigation v1.9 --- */
.shell { width:min(100%,920px); }

.system-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:24px 0 10px;
  padding:6px;
  border:1px solid #414634;
  border-radius:14px;
  background:#191b15;
}
.system-tab{
  min-width:0;
  padding:12px 10px;
  border:1px solid transparent;
  background:transparent;
  color:#aeb09f;
  font-size:14px;
}
.system-tab:hover{background:#292c22;color:#f2efe4}
.system-tab.active{
  background:#353a2c;
  border-color:#555d43;
  color:#f7f4ea;
  box-shadow:0 3px 12px rgba(0,0,0,.18);
}
.tab-panel{display:none;padding-top:18px}
.tab-panel.active{display:block}
.tab-intro{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:22px;
  margin:6px 0 18px;
}
.tab-intro h2{margin-top:6px}
.tab-intro p{
  max-width:470px;
  margin:0;
  color:#aeb09f;
  font-size:13px;
  line-height:1.5;
}
.coming-soon-banner{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin:0 0 16px;
  padding:14px 16px;
  border:1px solid #555d43;
  border-radius:12px;
  background:#262b1f;
  color:#bcc6a4;
  font-size:13px;
  line-height:1.45;
}
.coming-soon-banner strong{color:#eef2e4}

.goal-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.goal-card{
  min-height:82px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:7px;
  padding:15px 16px;
  border:1px solid #414634;
  border-radius:13px;
  background:#1c1e17;
}
.goal-name{font-size:17px;font-weight:850;color:#f0eee3}
.goal-state{
  color:#828777;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.temperature-dashboard{
  display:grid;
  gap:16px;
  border:1px solid #414634;
  border-radius:16px;
  padding:20px;
  background:#1c1e17;
}
.temperature-main{text-align:center;padding:14px 10px 8px}
.temperature-label{
  color:#929687;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.temperature-value{
  margin:8px 0 3px;
  font-size:clamp(54px,10vw,80px);
  line-height:1;
  font-weight:950;
}
.temperature-sub{color:#929687;font-size:13px}
.temperature-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.temperature-meta>div{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px 14px;
  border:1px solid #383d2e;
  border-radius:11px;
  background:#171912;
}
.temperature-meta span{
  color:#858a7b;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
}
.temperature-meta strong{font-size:15px}
.temperature-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.temperature-choice{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:92px;
  border:1px solid #444a36;
  background:#282b22;
  color:#f7f4ea;
}
.temperature-choice-icon{font-size:30px}
.temperature-choice span:last-child{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
}
.temperature-choice strong{font-size:18px}
.temperature-choice small{color:#aeb09f;font-size:13px}
.temperature-note{text-align:center;margin:2px 0 0}

@media(max-width:720px){
  .system-tabs{
    overflow-x:auto;
    display:flex;
    scrollbar-width:none;
  }
  .system-tabs::-webkit-scrollbar{display:none}
  .system-tab{
    flex:0 0 auto;
    white-space:nowrap;
    padding:11px 13px;
  }
  .tab-intro{
    align-items:flex-start;
    flex-direction:column;
    gap:9px;
  }
  .goal-grid{grid-template-columns:1fr}
  .temperature-meta{grid-template-columns:1fr}
  .temperature-options{grid-template-columns:1fr}
}


/* --- Events & Raids: 3-column desktop experiment v1.10 --- */
.shell{
  width:min(100%,1180px);
}

#tab-events-raids .events{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}

#tab-events-raids .event-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  padding:15px;
}

#tab-events-raids .event-head{
  align-items:flex-start;
  flex-direction:column;
  gap:4px;
}

#tab-events-raids .event-name{
  font-size:17px;
  line-height:1.15;
}

#tab-events-raids .price{
  font-size:16px;
  color:#dce7c5;
}

#tab-events-raids .event-card p{
  font-size:13px;
  min-height:54px;
  margin:7px 0 12px;
}

#tab-events-raids .event-card .buy,
#tab-events-raids .event-card .customize{
  margin-top:auto;
}

@media(max-width:980px){
  #tab-events-raids .events{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .shell{
    width:min(100%,760px);
  }

  #tab-events-raids .events{
    grid-template-columns:1fr;
  }

  #tab-events-raids .event-head{
    flex-direction:row;
    align-items:center;
  }

  #tab-events-raids .event-card p{
    min-height:0;
  }
}


/* --- Icon pass v1.11 --- */
.icon-badge{
  width:34px;
  height:34px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#2d3226,#23271d);
  border:1px solid #454c37;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  font-size:18px;
  flex:0 0 34px;
}

.event-title,
.goal-title{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.event-name-text,
.goal-name-text{
  min-width:0;
}

.event-name-text{
  font-weight:700;
  line-height:1.15;
}

.goal-name{
  margin-bottom:8px;
}

.goal-name-text{
  font-size:17px;
  font-weight:700;
  line-height:1.15;
  color:#f2efe4;
}

.goal-card{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.goal-state{
  color:#aeb09f;
}

#tab-events-raids .event-head{
  align-items:flex-start;
}

#tab-events-raids .price{
  white-space:normal;
  text-align:left;
  max-width:100%;
  overflow-wrap:anywhere;
  line-height:1.25;
}

@media(max-width:640px){
  .icon-badge{
    width:32px;
    height:32px;
    border-radius:9px;
    font-size:17px;
    flex-basis:32px;
  }
}


/* --- Animal Raid Creator v1.12 --- */
.raid-creator{
  width:min(94vw,620px);
}

.raid-form{
  display:grid;
  gap:16px;
}

.raid-price-box{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:12px;
  border:1px solid #414634;
  border-radius:12px;
  background:#171912;
}

.raid-price-box>div{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
  padding:9px 10px;
}

.raid-price-box span{
  color:#858a7b;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:800;
}

.raid-price-box strong{
  font-size:16px;
  line-height:1.2;
}

.raid-price-box .raid-total-row{
  border-left:1px solid #383d2e;
}

.raid-price-box .raid-total-row strong{
  font-size:19px;
  color:#eef2e4;
}

.raid-safety-note{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:12px 14px;
  border:1px solid #555d43;
  border-radius:11px;
  background:#252a1e;
  color:#aeb59d;
  font-size:12px;
  line-height:1.45;
}

.raid-safety-note strong{
  color:#e8eddc;
  font-size:13px;
}

.raid-event-card .event-icon{
  font-size:17px;
}

@media(max-width:640px){
  .raid-price-box{
    grid-template-columns:1fr;
  }

  .raid-price-box .raid-total-row{
    border-left:0;
    border-top:1px solid #383d2e;
  }
}


/* --- Branding pass v1.12.2 --- */
.brand-lockup{
  min-width:0;
}

.credit-line{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border:1px solid rgba(128,156,86,.32);
  border-radius:999px;
  background:linear-gradient(180deg, rgba(60,68,42,.42), rgba(38,43,28,.38));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
  color:#c8d59d;
  letter-spacing:.14em;
}

.brand-title{
  margin: 12px 0 10px;
  font-weight: 950;
  letter-spacing: -.03em;
  text-wrap: balance;
  text-shadow: 0 2px 14px rgba(0,0,0,.18);
}

.brand-title span{
  color:#dce7c5;
  text-shadow: 0 0 20px rgba(161,193,100,.12);
}

.topbar{
  align-items:center;
}

.balance-pill{
  display:flex;
  align-items:center;
  gap:14px;
  min-width: 220px;
  padding:14px 16px;
  text-align:left;
  background:
    radial-gradient(circle at 20% 15%, rgba(120,150,83,.18), transparent 7rem),
    linear-gradient(180deg, #21251b, #181b14);
  box-shadow: 0 10px 30px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.03);
}

.balance-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.balance-pill .label{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#b6c496;
  font-weight:800;
}

.balance-pill .big{
  font-size:30px;
  font-weight:950;
  line-height:1;
}

.rimbuks-mark{
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:block;
  border-radius:12px;
  filter: drop-shadow(0 6px 16px rgba(0,0,0,.18));
}

@media(max-width:760px){
  .topbar{
    align-items:flex-start;
  }

  .balance-pill{
    width:100%;
    min-width:0;
  }
}


/* --- Community Goals live funding v1.13 --- */
.community-rules{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:0 0 16px;
  padding:13px 15px;
  border:1px solid #555d43;
  border-radius:12px;
  background:#252a1e;
  color:#aeb59d;
  font-size:12px;
  line-height:1.45;
}

.community-rules strong{
  color:#edf0e5;
  font-size:13px;
}

.live-goal-card{
  min-height:260px;
  justify-content:flex-start;
  gap:10px;
}

.goal-title-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}

.goal-title-row .goal-title{
  flex:1;
}

.goal-completions{
  margin-top:3px;
  color:#7f8575;
  font-size:11px;
  font-weight:700;
}

.goal-target{
  color:#dce7c5;
  font-size:15px;
  font-weight:900;
  white-space:nowrap;
}

.goal-description{
  min-height:38px;
  margin:0;
  color:#aeb09f;
  font-size:12px;
  line-height:1.45;
}

.goal-progress-copy{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:baseline;
  margin-top:auto;
  font-size:12px;
}

.goal-progress-copy strong{
  color:#e7eadf;
  font-size:13px;
}

.goal-progress-copy span{
  color:#868b7b;
  text-align:right;
}

.goal-progress-track{
  height:10px;
  overflow:hidden;
  border-radius:999px;
  border:1px solid #3e4432;
  background:#151710;
}

.goal-progress-fill{
  height:100%;
  min-width:0;
  border-radius:inherit;
  background:linear-gradient(90deg,#667d3c,#8aa553);
  transition:width .25s ease;
}

.goal-contribute-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}

.goal-contribute-row input{
  width:100%;
  min-width:0;
  padding:10px 11px;
  border:1px solid #4b503c;
  border-radius:10px;
  background:#171912;
  color:#f7f4ea;
  font:inherit;
  font-weight:800;
}

.goal-contribute-button{
  padding:10px 13px;
  background:#758d43;
  color:white;
  white-space:nowrap;
}

.goal-footnote{
  color:#727768;
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

@media(max-width:640px){
  .live-goal-card{
    min-height:0;
  }

  .goal-contribute-row{
    grid-template-columns:1fr;
  }

  .goal-progress-copy{
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
  }
}


/* --- Community Goal spillover visibility v1.13.3 --- */
.goal-spillover-preview{
  min-height:16px;
  margin-top:-2px;
  color:#c8d59d;
  font-size:11px;
  font-weight:800;
  line-height:1.35;
}


/* --- Community Goal conditional notes + stable typing v1.13.4 --- */
.goal-runtime-note{
  margin-top:-3px;
  padding:7px 9px;
  border-left:2px solid #667d3c;
  background:rgba(102,125,60,.08);
  color:#9fa98c;
  font-size:10.5px;
  line-height:1.4;
}


/* --- Game-state sync + Temperature Vote v1.14 --- */
.temperature-connection{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid #4a503c;
  border-radius:12px;
  background:#20241a;
  color:#a9ae9e;
  font-size:12px;
}
.temperature-connection strong{
  color:#e8eadf;
  font-size:13px;
}
.temperature-connection.live{
  border-color:#667d3c;
  background:rgba(102,125,60,.12);
}
.temperature-connection.stale{
  border-color:#70513f;
  background:rgba(112,81,63,.10);
}

.temperature-tally{
  display:grid;
  grid-template-columns:auto minmax(100px,1fr) auto;
  gap:11px;
  align-items:center;
  padding:12px 14px;
  border:1px solid #383d2e;
  border-radius:12px;
  background:#171912;
}
.temperature-tally-row{
  display:flex;
  gap:7px;
  align-items:center;
  color:#d9dccf;
  font-size:13px;
  font-weight:800;
}
.temperature-tally-row strong{
  min-width:24px;
  text-align:center;
  font-size:18px;
}
.temperature-vote-track{
  display:flex;
  height:12px;
  overflow:hidden;
  border:1px solid #454a39;
  border-radius:999px;
  background:#0f110c;
}
.temperature-hotter-fill,
.temperature-colder-fill{
  height:100%;
  width:0;
  transition:width .25s ease;
}
.temperature-hotter-fill{
  background:linear-gradient(90deg,#9a5232,#c46a3c);
}
.temperature-colder-fill{
  background:linear-gradient(90deg,#597993,#78a3bd);
}
.temperature-choice{
  cursor:pointer;
  transition:border-color .15s ease, transform .15s ease, background .15s ease;
}
.temperature-choice:not(:disabled):hover{
  transform:translateY(-1px);
  border-color:#77815d;
}
.temperature-choice.hotter:not(:disabled):hover{
  background:#30231c;
}
.temperature-choice.colder:not(:disabled):hover{
  background:#202a31;
}
.temperature-choice.selected{
  border-color:#aab581;
  box-shadow:inset 0 0 0 1px rgba(170,181,129,.35);
}
.temperature-choice:disabled{
  cursor:not-allowed;
  opacity:.56;
}
.temperature-own-vote{
  min-height:19px;
  text-align:center;
  color:#aeb59d;
  font-size:12px;
  font-weight:750;
}
.temperature-main .temperature-value.positive{color:#e2a071}
.temperature-main .temperature-value.negative{color:#9cc8dd}

@media(max-width:720px){
  .temperature-tally{
    grid-template-columns:1fr;
  }
  .temperature-vote-track{
    order:3;
  }
  .temperature-tally-row{
    justify-content:space-between;
  }
}

/* --- Raid Creator expansion v1.17 --- */
.raid-mode-tabs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:0 0 16px;
  padding:5px;
  border:1px solid #3b4030;
  border-radius:12px;
  background:#141710;
}

.raid-mode-tab{
  min-height:40px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:#929887;
  font:inherit;
  font-size:13px;
  font-weight:850;
  cursor:pointer;
}

.raid-mode-tab:hover{
  color:#e9eddf;
  background:#20251a;
}

.raid-mode-tab.active{
  color:#f2f5eb;
  border-color:#68754e;
  background:#2a311f;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

#raid-faction-panel .field small,
#raid-animal-panel .field small{
  line-height:1.45;
}

@media(max-width:640px){
  .raid-mode-tabs{
    gap:5px;
  }
  .raid-mode-tab{
    font-size:12px;
  }
}

/* --- Exact enemy types + raid equipment v1.19 --- */
.raid-price-box{grid-template-columns:repeat(2,minmax(0,1fr));}
.raid-price-box .raid-total-row{grid-column:1/-1;border-left:0;border-top:1px solid #383d2e;}
#raid-special-weapon:disabled{opacity:.55;cursor:not-allowed;}
#raid-upgrade option:disabled{color:#717668;}

/* Raid loadout / mech-composition v1.20 */
.raid-mode-tabs{grid-template-columns:repeat(3,minmax(0,1fr));}
.mech-composition-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.mech-composition-row{display:flex;flex-direction:column;gap:10px;align-items:stretch;justify-content:space-between;padding:12px 14px;border:1px solid #3d432f;border-radius:12px;background:#15180f;min-width:0;}
.mech-composition-copy{min-width:0;}
.mech-composition-name{font-weight:800;color:#f4f0dc;}
.mech-composition-meta{font-size:12px;color:#b8bc9e;margin-top:3px;line-height:1.35;}
.mech-composition-row input{width:100%;}
.humanoid-loadout-price{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:900px){.mech-composition-list{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:720px){.humanoid-loadout-price{grid-template-columns:repeat(2,minmax(0,1fr));}.mech-composition-list{grid-template-columns:1fr;}}
