.character-creator { position:fixed; inset:0; z-index:2200; display:grid; place-items:center; padding:18px; }
.character-creator__backdrop { position:absolute; inset:0; border:0; background:rgba(3,8,8,.86); cursor:pointer; }
.character-creator__panel { position:relative; width:min(1100px,96vw); max-height:94dvh; overflow:auto; border:1px solid var(--hs-accent-ligne); background:#0d1514; box-shadow:var(--hs-ombre); }
.character-creator__header { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 18px; border-bottom:1px solid #263735; background:#0d1514; }
.character-creator__header h2 { margin:0; font:600 22px var(--hs-font-titre); text-transform:uppercase; }
.character-creator__close { border:1px solid #344644; background:transparent; color:var(--hs-texte); padding:7px 11px; cursor:pointer; }
.character-creator__body { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:18px; }
.character-creator__section { min-width:0; padding:14px; border:1px solid #21312f; background:rgba(16,29,28,.72); }
.character-creator__section--wide { grid-column:1/-1; }
.character-creator__section h3 { margin:0 0 12px; color:var(--hs-accent); font:600 14px var(--hs-font-titre); letter-spacing:.08em; text-transform:uppercase; }
.character-creator__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.character-creator__field { display:flex; flex-direction:column; gap:5px; min-width:0; }
.character-creator__field--wide { grid-column:1/-1; }
.character-creator__field label { color:var(--hs-texte-muted); font:500 9px var(--hs-font-mono); text-transform:uppercase; }
.character-creator input,.character-creator select,.character-creator textarea { width:100%; border:1px solid #30423f; background:#091110; color:var(--hs-texte); padding:8px 9px; font:12px var(--hs-font-texte); }
.character-creator select { color:#c4c0ae; }
.character-creator select option { color:#c4c0ae; background:#091110; }
.character-creator__number-control { display:grid; grid-template-columns:34px minmax(0,1fr) 34px; }
.character-creator__number-control input { min-width:0; border-right:0; border-left:0; text-align:center; appearance:textfield; -moz-appearance:textfield; }
.character-creator__number-control input::-webkit-inner-spin-button,.character-creator__number-control input::-webkit-outer-spin-button { margin:0; appearance:none; -webkit-appearance:none; }
.character-creator__number-control button { border:1px solid #30423f; background:linear-gradient(180deg,#172724,#0c1715); color:var(--hs-accent); cursor:pointer; font:600 17px var(--hs-font-titre); }
.character-creator__number-control button:hover { border-color:var(--hs-accent); background:var(--hs-accent-doux); }
.character-creator__number-control button:active { transform:translateY(1px); }
.character-creator textarea { min-height:90px; resize:vertical; }
.character-creator__caste { display:grid; grid-template-columns:repeat(5,minmax(44px,1fr)); gap:10px; align-items:start; }
.character-creator__field--caste { align-items:center; text-align:center; }
.character-creator__field--caste > label { width:100%; text-align:center; }
.character-creator__caste-control {
  display:grid;
  grid-template-rows:24px 38px 24px;
  width:46px;
  margin:0 auto;
}
.character-creator__caste-control input {
  width:46px;
  min-width:0;
  padding:4px 2px;
  border-top:0;
  border-bottom:0;
  text-align:center;
  font:600 20px var(--hs-font-titre);
  appearance:textfield;
  -moz-appearance:textfield;
}
.character-creator__caste-control input::-webkit-inner-spin-button,
.character-creator__caste-control input::-webkit-outer-spin-button {
  margin:0;
  appearance:none;
  -webkit-appearance:none;
}
.character-creator__caste-control button {
  width:46px;
  padding:0;
  border:1px solid #30423f;
  background:linear-gradient(180deg,#172724,#0c1715);
  color:var(--hs-accent);
  cursor:pointer;
  font:600 16px var(--hs-font-titre);
  line-height:1;
}
.character-creator__caste-control button:hover:not(:disabled) {
  border-color:var(--hs-accent);
  background:var(--hs-accent-doux);
}
.character-creator__caste-control button:active:not(:disabled) { transform:translateY(1px); }
.character-creator__caste-control button:disabled {
  opacity:.28;
  cursor:default;
}
.character-creator__points { margin:10px 0 0; color:var(--hs-texte-muted); font:10px var(--hs-font-mono); }
.character-creator__points--ok { color:#73c89a; }
.character-creator__points--bad { color:#d9765f; }
.character-creator__inventory-list { display:flex; flex-direction:column; gap:8px; }
.character-creator__inventory-row { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(150px,.8fr) auto; gap:8px; align-items:center; }
.character-creator__remove { border:1px solid rgba(176,67,46,.55); background:rgba(80,24,18,.35); color:#e19a8b; padding:8px 10px; cursor:pointer; }
.character-creator__actions { position:sticky; bottom:0; display:flex; align-items:center; gap:12px; padding:14px 18px; border-top:1px solid #263735; background:#0d1514; }
.character-creator__submit,.character-creator__add { border:1px solid var(--hs-accent); background:var(--hs-accent-doux); color:var(--hs-accent); padding:9px 14px; cursor:pointer; font:600 10px var(--hs-font-titre); text-transform:uppercase; }
.character-creator__status { flex:1; color:var(--hs-texte-muted); font:10px var(--hs-font-mono); }
.character-creator__status--error { color:#d9765f; }
@media(max-width:760px){.character-creator__body{grid-template-columns:1fr}.character-creator__section--wide{grid-column:auto}.character-creator__inventory-row{grid-template-columns:1fr}.character-creator__grid{grid-template-columns:1fr}.character-creator__field--wide{grid-column:auto}}
