@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;600;700&family=Barlow+Condensed:ital,wght@0,400;0,500;0,600;1,400&family=Share+Tech+Mono&display=swap');

:root{
  --bg:#0b0b0a;
  --panel:#141412;
  --panel-2:#191916;
  --panel-3:#0f0f0d;
  --line:#2a2a25;
  --line-strong:#3c3c34;
  --text:#e7e4d9;
  --text-dim:#95948a;
  --text-faint:#5c5c54;
  --red:#7a2323;
  --red-bright:#a83232;
  --yellow:#d7b94a;
  --green:#3f5240;
  --green-bright:#63805f;
  --radius:2px;
  --font-display:'Oswald', sans-serif;
  --font-body:'Barlow Condensed', sans-serif;
  --font-mono:'Share Tech Mono', monospace;
}

@media print{
  :root{
    --bg:#ffffff;
    --panel:#ffffff;
    --panel-2:#f3f3f0;
    --panel-3:#ffffff;
    --line:#9a9a92;
    --line-strong:#555550;
    --text:#111110;
    --text-dim:#3a3a35;
    --text-faint:#5a5a52;
    --red:#7a2323;
    --red-bright:#7a2323;
    --green:#3d5c3d;
    --green-bright:#3d5c3d;
  }
}

*{ box-sizing:border-box; }
*, *::before, *::after{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }

html,body{ margin:0; padding:0; background:var(--bg); }

body{
  font-family:var(--font-body);
  color:var(--text);
  font-size:15px;
  line-height:1.35;
  position:relative;
}

body::before{
  content:"";
  position:fixed; inset:0;
  pointer-events:none;
  background-image:repeating-linear-gradient(
    to bottom, rgba(255,255,255,0.012) 0px, rgba(255,255,255,0.012) 1px,
    transparent 1px, transparent 3px
  );
  z-index:0;
}
@media print{ body::before{ display:none; } }

::selection{ background:var(--red); color:#fff; }

input, select, textarea{
  font-family:var(--font-body);
  color:var(--text);
  background:transparent;
  border:none;
  outline:none;
}
button, button:focus, button:focus-visible,
input:focus, input:focus-visible,
select:focus, select:focus-visible,
textarea:focus, textarea:focus-visible{
  outline:none;
  box-shadow:none;
  -webkit-appearance:none;
  appearance:none;
}
input::placeholder, textarea::placeholder{ color:var(--text-faint); font-style:italic; }

.sheet{
  max-width:1180px;
  margin:0 auto;
  padding:28px 26px 60px;
  position:relative;
  z-index:1;
}

/* ===================== HEADER ===================== */
.doc-header{
  display:flex;
  align-items:flex-start;
  gap:24px;
  border-bottom:2px solid var(--line-strong);
  padding-bottom:18px;
  margin-bottom:22px;
}

.stamp{
  flex:0 0 auto;
  width:88px; height:88px;
  border:2px dashed var(--green-bright);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  transform:rotate(-9deg);
  color:var(--green-bright);
  font-family:var(--font-display);
  font-size:10.5px;
  letter-spacing:1px;
  text-transform:uppercase;
  padding:6px;
  line-height:1.2;
  flex-shrink:0;
}

.portrait-shell{
  position:relative;
  flex:0 0 auto;
  width:88px;
  height:88px;
}

.portrait-frame{
  position:relative;
  overflow:hidden;
  padding:0;
  background:var(--panel);
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.portrait-frame:hover,
.portrait-frame:focus-visible{
  border-color:var(--green-bright);
  box-shadow:0 0 0 3px rgba(109,145,104,.16);
  outline:none;
  transform:rotate(-4deg) scale(1.02);
}

.portrait-frame.has-photo{
  border-style:solid;
  transform:none;
  background:#0b0c0a;
}

.portrait-frame.has-photo:hover,
.portrait-frame.has-photo:focus-visible{
  transform:scale(1.02);
}

.portrait-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.portrait-placeholder{
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
}

.portrait-placeholder small{
  font-family:var(--font-mono);
  font-size:7px;
  letter-spacing:1.5px;
  color:var(--text-dim);
}

.portrait-change-hint{
  position:absolute;
  inset:auto 0 0;
  padding:5px 2px 7px;
  background:linear-gradient(transparent,rgba(0,0,0,.88));
  color:#edf0e9;
  font-family:var(--font-mono);
  font-size:7px;
  letter-spacing:1.5px;
  opacity:0;
  transform:translateY(3px);
  transition:opacity .18s ease, transform .18s ease;
}

.portrait-frame.has-photo:hover .portrait-change-hint,
.portrait-frame.has-photo:focus-visible .portrait-change-hint{
  opacity:1;
  transform:translateY(0);
}

.portrait-remove{
  position:absolute;
  z-index:2;
  top:-5px;
  right:-5px;
  width:23px;
  height:23px;
  padding:0;
  border:1px solid var(--red);
  border-radius:50%;
  background:var(--panel);
  color:var(--red-bright);
  font-family:var(--font-mono);
  font-size:15px;
  line-height:20px;
  cursor:pointer;
}

.portrait-remove:hover,
.portrait-remove:focus-visible{
  background:var(--red);
  color:#fff;
  outline:none;
}

.portrait-cropper{
  display:grid;
  justify-items:center;
  gap:13px;
}

.portrait-crop-instructions{
  max-width:560px;
  margin:0;
  color:var(--text-dim);
  font-size:13px;
  line-height:1.45;
  text-align:center;
}

.portrait-crop-stage{
  position:relative;
  width:min(100%,480px);
  aspect-ratio:1;
  overflow:hidden;
  border:1px solid var(--line-strong);
  background:#080907;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}

.portrait-crop-stage canvas{
  display:block;
  width:100%;
  height:100%;
  cursor:grab;
  touch-action:none;
  user-select:none;
}

.portrait-crop-stage canvas.dragging{ cursor:grabbing; }

.portrait-crop-badge{
  position:absolute;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  padding:5px 8px;
  border:1px solid rgba(99,128,95,.55);
  background:rgba(11,11,10,.82);
  color:var(--text-dim);
  font:8px var(--font-mono);
  letter-spacing:1px;
  text-transform:uppercase;
  pointer-events:none;
  white-space:nowrap;
}

.portrait-crop-controls{
  display:grid;
  width:min(100%,480px);
  gap:10px;
}

.portrait-zoom-control{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) 44px;
  align-items:center;
  gap:10px;
  color:var(--text-faint);
  font:9px var(--font-mono);
  letter-spacing:1px;
  text-transform:uppercase;
}

.portrait-zoom-control input[type="range"]{
  width:100%;
  height:4px;
  padding:0;
  border:0;
  border-radius:0;
  background:var(--line-strong);
  accent-color:var(--green-bright);
  appearance:auto;
  -webkit-appearance:auto;
  cursor:pointer;
}

.portrait-zoom-control output{
  color:var(--green-bright);
  text-align:right;
}

.portrait-crop-toolbar,
.portrait-crop-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
}

.portrait-crop-actions{
  padding-top:2px;
}

.title-block{ flex:1; min-width:0; }

.eyebrow{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:3px;
  color:var(--text-dim);
  text-transform:uppercase;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px;
}

.eyebrow .reg{
  display:flex; align-items:center; gap:6px;
}
.eyebrow input{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:1px;
  color:var(--text);
  border-bottom:1px solid var(--line-strong);
  width:90px;
  padding:1px 2px;
}

.name-input{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(30px, 5vw, 46px);
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--text);
  width:100%;
  border-bottom:1px solid var(--line);
  padding:6px 2px 4px;
  margin-top:4px;
}

.meta-grid{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:14px 18px;
  margin-top:14px;
}
.meta-field{ display:flex; flex-direction:column; gap:3px; }
.paradigm-meta-field{ grid-column:span 2; }
.meta-field label{
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:1.5px;
  color:var(--text-faint);
  text-transform:uppercase;
}
.meta-field input, .meta-field select{
  font-size:15px;
  border-bottom:1px solid var(--line);
  padding:3px 2px;
}
.meta-field select{ appearance:none; cursor:pointer; }
.meta-field select option{ background:var(--panel); color:var(--text); }
#reputacao-select .paradigm-group-sublime,#reputacao-select .paradigm-option-sublime{ color:var(--green-bright); }
#reputacao-select .paradigm-group-sintese,#reputacao-select .paradigm-option-sintese{ color:var(--yellow); }
#reputacao-select .paradigm-group-abissal,#reputacao-select .paradigm-option-abissal{ color:var(--red-bright); }
#reputacao-select.paradigm-selected-sublime{ color:var(--green-bright); border-color:var(--green-bright); }
#reputacao-select.paradigm-selected-sintese{ color:var(--yellow); border-color:var(--yellow); }
#reputacao-select.paradigm-selected-abissal{ color:var(--red-bright); border-color:var(--red-bright); }
.paradigm-legend{ display:flex; flex-wrap:wrap; gap:4px; margin-top:5px; }
.paradigm-legend span{ padding:2px 5px; border:1px solid transparent; opacity:.62; font:8.5px var(--font-mono); letter-spacing:.5px; text-transform:uppercase; }
.paradigm-legend [data-paradigm-group="sublime"]{ color:var(--green-bright); }
.paradigm-legend [data-paradigm-group="sintese"]{ color:var(--yellow); }
.paradigm-legend [data-paradigm-group="abissal"]{ color:var(--red-bright); }
.paradigm-legend span.active{ opacity:1; border-color:currentColor; background:var(--panel-3); }

/* ===================== SECTIONS ===================== */
.section{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  margin-bottom:18px;
  break-inside:avoid;
}
.section-title{
  font-family:var(--font-display);
  font-size:13px;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--text-dim);
  padding:10px 16px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.section-title .tag{
  font-family:var(--font-mono);
  font-size:10.5px;
  color:var(--text-faint);
  letter-spacing:1px;
}
.section-body{ padding:16px; }

.row-2{ display:grid; grid-template-columns:1fr 1.4fr; gap:18px; align-items:start; }
.row-2 > .section{ margin-bottom:0; }

/* ===================== ATRIBUTOS ===================== */
.attrs-list{ display:flex; flex-direction:column; gap:14px; }
.attr-row{ display:grid; grid-template-columns:96px 1fr 46px; align-items:center; gap:10px; }
.attr-name{
  font-family:var(--font-display);
  font-size:13.5px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--text);
}
.pips{ display:flex; gap:5px; }
.pip{
  width:17px; height:17px;
  border:1.5px solid var(--line-strong);
  background:transparent;
  border-radius:2px;
  cursor:pointer;
  padding:0;
  transition:background .1s, border-color .1s;
}
.pip:hover{ border-color:var(--green-bright); }
.pip.filled{ background:var(--green-bright); border-color:var(--green-bright); }
.readout{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--text-dim);
  text-align:right;
}

.pp-bar{
  margin-top:6px;
  padding-top:10px;
  border-top:1px dashed var(--line);
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--text-dim);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 14px;
}
.pp-bar b{ color:var(--text); font-weight:400; }
.pp-bar .over{ color:var(--red-bright); }

.mini-bonus-input{
  width:38px;
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--green-bright);
  border-bottom:1px solid var(--line-strong);
  text-align:center;
  padding:0 2px;
}

.origin-hint{
  display:block;
  font-family:var(--font-mono);
  font-size:9.5px;
  letter-spacing:.5px;
  color:var(--text-faint);
  margin-top:3px;
  text-transform:uppercase;
}
.origin-hint.hint-warning{
  color:var(--red-bright);
}

/* ===================== RECURSOS (PF / PE / PC) ===================== */
.resources-list{ display:flex; flex-direction:column; gap:18px; }
.track-header{
  display:flex; justify-content:space-between; align-items:baseline;
  font-family:var(--font-display);
  font-size:12.5px; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--text); margin-bottom:6px;
}
.track-header .track-max{
  font-family:var(--font-mono); color:var(--text-dim); font-size:11px;
}
.track-header .readout{
  transition:color .2s ease;
}
.track-header .readout.stage-ok{ color:var(--green-bright); }
.track-header .readout.stage-warn{ color:#7a6a2a; }
.track-header .readout.stage-crit{ color:var(--red-bright); }
.track-stage{
  margin-top:8px;
  font-family:var(--font-display);
  font-size:12px;
  letter-spacing:1px;
  text-transform:uppercase;
}
.track-stage.stage-ok{ color:var(--green-bright); }
.track-stage.stage-warn{ color:var(--yellow); }
.track-stage.stage-crit{ color:var(--red-bright); }
.zone-strip{ display:flex; height:5px; gap:1px; margin-bottom:5px; overflow:hidden; border-radius:1px; }
.zone-seg{ height:100%; }
.zone-ok{ background:var(--green); }
.zone-warn{ background:#7a6a2a; }
.zone-crit{ background:var(--red); }
.box-row{ display:flex; flex-wrap:wrap; gap:4px; }
.box-row .pip{ width:15px; height:15px; }
.box-row .pip.stage-ok{ border-color:var(--green-bright); }
.box-row .pip.stage-warn{ border-color:var(--yellow); }
.box-row .pip.stage-crit{ border-color:var(--red-bright); }
.box-row .pip.filled{ background:var(--red-bright); border-color:var(--red-bright); }
.box-row .pip.filled.stage-ok{ background:var(--green-bright); border-color:var(--green-bright); }
.box-row .pip.filled.stage-warn{ background:var(--yellow); border-color:var(--yellow); }
.box-row .pip.filled.stage-crit{ background:var(--red-bright); border-color:var(--red-bright); }
.box-row .pip.overflow-start{ margin-left:auto; }
.box-row .pip.death-direct{ margin-left:5px; border-width:2px; }
.zone-legend{
  font-family:var(--font-mono); font-size:10.5px; color:var(--text-faint);
  margin-top:5px; letter-spacing:.5px;
}

.pc-block .track-header input{
  font-family:var(--font-mono); font-size:13px; width:44px; text-align:right;
  border-bottom:1px solid var(--line-strong);
  background:transparent;
}
.pc-controls{
  display:flex; align-items:center; gap:6px;
  margin-left:auto;
}
.pc-control-btn{
  width:24px; height:24px; border:1px solid var(--line-strong); background:var(--panel-3);
  color:var(--text); cursor:pointer; font-family:var(--font-display); font-size:14px;
  line-height:1; display:flex; align-items:center; justify-content:center;
  transition:none;
}
.pc-control-btn:hover{ border-color:var(--line-strong); color:var(--text-dim); background:var(--panel-2); }
.pc-control-btn:active{ transform:none; }
.pc-remove-btn{ border-color:var(--red); color:var(--red-bright); }
.critical-state-alert{
  margin-top:12px; padding:11px 13px; border:2px solid var(--red-bright);
  background:rgba(122,35,35,.2); color:#f1cccc; font:600 12px/1.45 var(--font-display);
  letter-spacing:.7px; text-transform:uppercase;
}
.critical-state-alert.dying{ border-color:var(--yellow); background:rgba(215,185,74,.1); color:var(--yellow); }
.critical-state-alert.insanity{ border-color:#9b5fc0; background:rgba(94,43,120,.2); color:#d7b5ed; }
.needs-panel{ display:grid; gap:10px; padding-top:16px; border-top:1px solid var(--line-strong); }
.needs-heading{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }
.needs-heading > div{ display:grid; gap:2px; }
.needs-heading strong{ color:var(--text); font:500 13px var(--font-display); letter-spacing:1.2px; text-transform:uppercase; }
.needs-heading span{ color:var(--green-bright); font:9px var(--font-mono); letter-spacing:.7px; }
.needs-heading p{ margin:0; color:var(--text-faint); font-size:11px; text-align:right; }
.needs-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.need-card{ display:grid; gap:7px; padding:10px; border:1px solid var(--line); background:var(--panel-3); }
.need-card.active{ border-color:var(--yellow); }
.need-card.critical{ border-color:var(--red-bright); }
.need-card-header{ display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.need-card-header strong{ color:var(--text); font:500 12px var(--font-display); letter-spacing:.8px; text-transform:uppercase; }
.need-card-header span{ color:var(--green-bright); font:9px var(--font-mono); text-transform:uppercase; }
.need-card.active .need-card-header span{ color:var(--yellow); }
.need-card.critical .need-card-header span{ color:var(--red-bright); }
.need-bar{ display:grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:3px; }
.need-segment{ position:relative; height:20px; padding:0; border:1px solid var(--line-strong); background:transparent; color:var(--text-faint); cursor:pointer; font:9px var(--font-mono); }
.need-segment.filled{ border-color:var(--yellow); background:#7a6a2a; color:var(--text); }
.need-segment.current{ box-shadow:inset 0 -2px 0 var(--yellow); }
.need-card.critical .need-segment.filled{ border-color:var(--red-bright); background:var(--red); }
.need-card.critical .need-segment.current{ box-shadow:inset 0 -2px 0 var(--red-bright); }
.need-card p{ min-height:44px; margin:0; color:var(--text-dim); font-size:11px; }
.need-reset{ justify-self:start; padding:4px 7px; border:1px solid var(--green); background:transparent; color:var(--green-bright); cursor:pointer; font:9px var(--font-mono); text-transform:uppercase; }
.need-reset:disabled{ opacity:.35; cursor:default; }
.needs-cycle-alert{ min-height:35px; padding:8px 10px; border-left:2px solid var(--green); background:var(--panel-3); color:var(--text-dim); font-size:11px; }
.needs-cycle-alert.warning{ border-color:var(--yellow); color:var(--yellow); }
.needs-cycle-alert.critical{ border-color:var(--red-bright); color:#f1cccc; background:rgba(122,35,35,.18); }
.pc-bar{
  position:relative;
  display:flex; height:16px; border-radius:2px; overflow:hidden;
  cursor:pointer; border:1px solid var(--line-strong);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.03);
}
.pc-seg{ height:100%; }
.pc-marker{
  position:absolute; top:-3px; bottom:-3px; width:2px;
  background:var(--text); left:0%;
  box-shadow:0 0 0 1px var(--bg);
}
.pc-labels{
  display:flex; justify-content:space-between;
  font-family:var(--font-mono); font-size:9.5px; color:var(--text-faint);
  margin-top:5px;
}
.pc-stage{
  margin-top:6px; font-family:var(--font-display); font-size:12.5px;
  letter-spacing:1px; color:var(--green-bright);
  transition:color .2s ease;
}
.pc-stage.stage-incipiente{ color:#7a6a2a; }
.pc-stage.stage-alarmante{ color:#8a4a24; }
.pc-stage.stage-severa{ color:#a85a2a; }
.pc-stage.stage-critica{ color:#c1432f; }
.pc-stage.stage-corrompido{ color:var(--red-bright); }

/* ===================== DIAGRAMA DE FERIMENTOS ===================== */
.diagram-section .section-body{
  display:flex; gap:26px; flex-wrap:wrap; align-items:flex-start; justify-content:center;
}
.diagram-frame{
  position:relative;
  width:320px;
  max-width:100%;
  box-sizing:border-box;
  padding:14px;
  border:1px solid var(--line);
  background:var(--panel-3);
  flex-shrink:0;
}
.diagram-frame .corner{
  position:absolute; width:14px; height:14px;
  border-color:var(--green-bright); border-style:solid; border-width:0;
}
.corner-tl{ top:-1px; left:-1px; border-top-width:2px; border-left-width:2px; }
.corner-tr{ top:-1px; right:-1px; border-top-width:2px; border-right-width:2px; }
.corner-bl{ bottom:-1px; left:-1px; border-bottom-width:2px; border-left-width:2px; }
.corner-br{ bottom:-1px; right:-1px; border-bottom-width:2px; border-right-width:2px; }

.diagram-caption{
  text-align:center;
  font-family:var(--font-mono);
  font-size:9.5px; letter-spacing:1.5px;
  color:var(--text-faint);
  margin-bottom:8px;
  text-transform:uppercase;
}

svg#body-svg{ width:100%; height:auto; display:block; }
#body-art-image{
  pointer-events:none;
  filter:invert(1) contrast(1.08);
  opacity:.92;
}
.zone{
  fill:transparent;
  fill-opacity:0;
  stroke:transparent;
  stroke-width:8;
  pointer-events:all;
  cursor:pointer;
  transition:fill .15s ease, fill-opacity .15s ease, stroke .15s ease;
}
.zone:hover,.zone:focus-visible{ stroke:var(--green-bright); outline:none; }
.zone.w-none:hover,.zone.w-none:focus-visible{ fill:var(--green-bright); fill-opacity:.28; }
.zone.w-light{ fill:var(--green); fill-opacity:.72; }
.zone.w-medium{ fill:var(--yellow); fill-opacity:.74; stroke:rgba(215,185,74,.9); }
.zone.w-severe{ fill:var(--red-bright); fill-opacity:.78; stroke:var(--red-bright); }
.zone.w-light:hover,.zone.w-light:focus-visible,
.zone.w-medium:hover,.zone.w-medium:focus-visible,
.zone.w-severe:hover,.zone.w-severe:focus-visible{ fill-opacity:.9; }
.body-map-instruction{
  margin-top:8px;
  color:var(--text-faint);
  font:9px var(--font-mono);
  line-height:1.45;
  letter-spacing:.7px;
  text-align:center;
  text-transform:uppercase;
}

.diagram-side{ flex:1; min-width:220px; }
.legend-row{ display:flex; gap:18px; flex-wrap:wrap; margin-bottom:14px; }
.legend-item{ display:flex; align-items:center; gap:7px; font-family:var(--font-mono); font-size:11px; color:var(--text-dim); }
.legend-swatch{ width:13px; height:13px; border:1.5px solid var(--line-strong); border-radius:2px; }
.legend-swatch.none{ background:transparent; }
.legend-swatch.light{ background:var(--green); border-color:var(--green); }
.legend-swatch.medium{ background:var(--yellow); border-color:var(--yellow); }
.legend-swatch.severe{ background:var(--red-bright); border-color:var(--red-bright); }

/* modal styles */
.modal-overlay{
  position:fixed; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,0.6); z-index:40;
}
.modal{
  background:var(--panel); border:1px solid var(--line); padding:14px; width:min(460px,calc(100vw - 24px)); max-height:calc(100vh - 24px); overflow:auto; border-radius:4px;
}
.modal-header{ font-family:var(--font-display); font-size:13px; color:var(--text); margin-bottom:8px; }
.modal-body{ display:flex; flex-direction:column; gap:8px; }
.modal-body label{ font-family:var(--font-mono); font-size:11px; color:var(--text-faint); }
.modal-body select, .modal-body textarea{ background:var(--panel); color:var(--text); border:1px solid var(--line); padding:6px; }
.modal-body select option{ background:var(--panel); color:var(--text); }
.modal-body textarea{ min-height:80px; resize:vertical; }
.modal-footer{ display:flex; gap:8px; justify-content:flex-end; margin-top:8px; }
.wound-sev{ display:flex; gap:8px; flex-wrap:wrap; }
.wound-sev label{ font-family:var(--font-mono); font-size:13px; color:var(--text); display:flex; align-items:center; gap:6px; }
.wound-sev input[type="radio"]{ -webkit-appearance:radio; appearance:radio; width:16px; height:16px; margin:0; padding:0; }
.wound-sev input[type="radio"]:focus{ -webkit-appearance:radio; appearance:radio; }
.wound-existing-header{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:5px; border-bottom:1px solid var(--line); }
.wound-existing-header span{ color:var(--green-bright); font:10px var(--font-mono); letter-spacing:.7px; text-transform:uppercase; }
.wound-existing-header b{ color:var(--text-faint); font:9px var(--font-mono); font-weight:400; text-transform:uppercase; }
.wound-existing-list{ display:grid; gap:5px; max-height:155px; overflow:auto; }
.wound-existing-card{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:7px 8px; border:1px solid var(--line); background:var(--panel-3); }
.wound-existing-card.editing{ border-color:var(--green-bright); }
.wound-existing-card > div:first-child{ display:grid; gap:2px; }
.wound-existing-card strong{ color:var(--text); font:500 11px var(--font-display); letter-spacing:.5px; text-transform:uppercase; }
.wound-existing-card span{ color:var(--text-faint); font:9px var(--font-mono); }
.wound-existing-card > div:last-child{ display:flex; gap:5px; }
.wound-edit-button,.wound-remove-button{ padding:4px 6px; border:1px solid var(--line); background:transparent; color:var(--text-dim); cursor:pointer; font:9px var(--font-mono); text-transform:uppercase; }
.wound-edit-button:hover{ border-color:var(--green-bright); color:var(--green-bright); }
.wound-remove-button:hover{ border-color:var(--red-bright); color:var(--red-bright); }
.rule-preview.error{ border-color:var(--red-bright); color:var(--red-bright); }

.wound-summary-box{
  border:1px solid var(--line);
  background:var(--panel-3);
  padding:12px 14px;
  min-height:64px;
}
.wound-summary-title{
  font-family:var(--font-mono); font-size:10px; letter-spacing:1.5px;
  color:var(--text-faint); text-transform:uppercase; margin-bottom:6px;
}
#wound-summary{ font-size:14.5px; color:var(--text); }
.wound-region-summary{ display:grid; gap:5px; padding:7px 0; border-bottom:1px solid var(--line); }
.wound-region-summary:last-child{ border-bottom:0; }
.wound-region-summary > div:first-child{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.wound-region-summary > div:first-child strong{ color:var(--text); font:500 12px var(--font-display); letter-spacing:.6px; text-transform:uppercase; }
.wound-region-summary > div:first-child b{ min-width:20px; padding:2px 5px; border:1px solid var(--line); color:var(--text-dim); font:9px var(--font-mono); text-align:center; }
.wound-summary-entry{ display:grid; gap:2px; padding:5px 7px; border-left:3px solid var(--green); background:var(--panel-2); }
.wound-summary-entry.severity-2{ border-color:var(--yellow); }
.wound-summary-entry.severity-3{ border-color:var(--red-bright); }
.wound-summary-entry span{ font-size:12px; }
.wound-summary-entry small{ color:var(--text-dim); font-size:10px; }

/* ===================== PERÍCIAS ===================== */
.skills-grid{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:0 18px;
}
.skill-col-title{
  font-family:var(--font-display);
  font-size:12px; letter-spacing:2px; text-transform:uppercase;
  color:var(--green-bright);
  border-bottom:1px solid var(--line);
  padding-bottom:6px; margin-bottom:8px;
}
.skill-row{
  display:flex; align-items:center; gap:6px;
  padding:4px 0;
  border-bottom:1px solid rgba(255,255,255,0.03);
}
.skill-name{ font-size:13px; flex:1; color:var(--text); }
.skill-pips .pip{ width:12px; height:12px; }
.skill-pips .pip.filled{ background:var(--green-bright); border-color:var(--green-bright); }
.skill-pips .pip.origin-pip{ border-radius:50%; }
.skill-pips.origin-active .pip{ background:var(--red-bright); border-color:var(--red-bright); }
.skill-pips.origin-active{ opacity:1; }

/* ===================== CARACTERÍSTICAS ===================== */
.chars-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.chars-col-title{
  font-family:var(--font-display); font-size:12px; letter-spacing:2px; text-transform:uppercase;
  margin-bottom:8px; padding-bottom:6px; border-bottom:1px solid var(--line);
}
.chars-col-title.vant{ color:var(--green-bright); }
.chars-col-title.desv{ color:var(--red-bright); }
.chars-col-title.cicat{ color:var(--text-dim); }
.list-input-row{ display:flex; align-items:flex-start; gap:8px; margin-bottom:7px; }
.list-num{ font-family:var(--font-mono); font-size:11px; color:var(--text-faint); width:14px; padding-top:4px; }
.list-input-row input{ flex:1; border-bottom:1px solid var(--line); padding:3px 2px; font-size:14px; min-height:24px; resize:none; overflow:hidden; }
.list-row-actions{ display:flex; align-items:flex-start; gap:6px; flex:1; }
.list-row-remove{
  border:1px solid var(--line-strong); background:transparent; color:var(--text-faint);
  width:22px; height:22px; cursor:pointer; font-family:var(--font-mono); font-size:12px; line-height:1;
}
.list-row-remove:hover{ border-color:var(--red-bright); color:var(--red-bright); }
.add-char-btn{
  margin-top:8px; border:1px dashed var(--line-strong); background:transparent; color:var(--text-dim);
  padding:6px 8px; cursor:pointer; font-family:var(--font-mono); font-size:10px; letter-spacing:1px;
  text-transform:uppercase; width:100%;
}
.add-char-btn:hover{ border-color:var(--green-bright); color:var(--green-bright); }

/* ===================== INVENTÁRIO / ARMAS / RECURSOS ===================== */
.inv-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:8px; }
.inv-slot{ display:flex; align-items:flex-start; gap:8px; border:1px solid var(--line); padding:6px 8px; }
.inv-slot .list-num{ width:16px; padding-top:4px; }
.inv-slot .list-row-actions{ display:flex; align-items:flex-start; gap:6px; flex:1; }
.inv-slot input{ flex:1; font-size:13.5px; min-height:24px; resize:none; overflow:hidden; }
.inv-slot .list-row-remove{ width:22px; height:22px; }
.add-inv-btn{
  margin-top:8px; border:1px dashed var(--line-strong); background:transparent; color:var(--text-dim);
  padding:6px 8px; cursor:pointer; font-family:var(--font-mono); font-size:10px; letter-spacing:1px;
  text-transform:uppercase; width:100%;
}
.add-inv-btn:hover{ border-color:var(--green-bright); color:var(--green-bright); }

.weapon-toolbar{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:8px; }
.weapon-toolbar .notes-btn{ flex:1 1 180px; }
.weapon-card{ border:1px solid var(--line); padding:10px 12px; margin-bottom:10px; }
.weapon-card-header{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px; }
.weapon-card-title{
  font-family:var(--font-mono); font-size:10px; letter-spacing:1.5px; color:var(--text-faint);
  text-transform:uppercase;
}
.weapon-card-remove-btn{
  border:1px solid var(--line-strong); background:transparent; color:var(--text-faint);
  width:22px; height:22px; cursor:pointer; font-family:var(--font-mono); font-size:12px; line-height:1;
}
.weapon-card-remove-btn:hover{ border-color:var(--red-bright); color:var(--red-bright); }
.weapon-fields{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:8px; }
.weapon-fields .meta-field label{ font-size:9px; }
.weapon-fields input{ font-size:13px; border-bottom:1px solid var(--line); padding:2px; }

.res-pips-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:10px 16px; margin-top:8px; }
.res-pip-row{ display:flex; align-items:center; gap:8px; }
.res-pip-row .skill-name{ font-size:12.5px; flex:0 0 78px; }
.res-pips .pip{ width:14px; height:14px; border-radius:50%; }
.res-pips .pip.filled{ background:var(--green-bright); border-color:var(--green-bright); }

/* ===================== DORES / NOTAS ===================== */
.dor-row{ display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.dor-row input[type="text"]{ flex:1; border-bottom:1px solid var(--line); padding:4px 2px; font-style:italic; }
.dor-check{ width:15px; height:15px; border:1.5px solid var(--line-strong); cursor:pointer; flex-shrink:0; }
.dor-check.checked{ background:var(--red-bright); border-color:var(--red-bright); }
.dor-label{ font-family:var(--font-mono); font-size:9.5px; color:var(--text-faint); white-space:nowrap; }

.notes-shell{ display:flex; flex-direction:column; gap:10px; }
.notes-toolbar{ display:flex; gap:8px; flex-wrap:wrap; }
.notes-btn{
  border:1px solid var(--line-strong); background:var(--panel-3); color:var(--text);
  padding:8px 10px; cursor:pointer; font-family:var(--font-mono); font-size:10px;
  letter-spacing:1.2px; text-transform:uppercase;
}
.notes-btn:hover{ border-color:var(--line-strong); color:var(--text-dim); background:var(--panel-2); }
.notes-btn.small{ padding:6px 8px; }
.notes-btn.danger{ color:var(--red-bright); border-color:var(--red-bright); }
.notes-btn.danger:hover{ color:var(--red-bright); border-color:var(--red-bright); background:var(--panel-2); }
.notes-tabs{ display:flex; flex-wrap:wrap; gap:8px; }
.notes-tab{
  border:1px solid var(--line); background:var(--panel-2); color:var(--text-dim);
  padding:7px 10px; cursor:pointer; font-family:var(--font-mono); font-size:10px;
  letter-spacing:1px; text-transform:uppercase;
}
.notes-tab.active{ border-color:var(--green-bright); color:var(--text); background:var(--panel-3); }
.notes-workspace{ border:1px solid var(--line); padding:10px; background:var(--panel-3); }
.notes-workspace-header{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.notebook-title-input{
  flex:1; border-bottom:1px solid var(--line); padding:5px 2px; font-family:var(--font-display);
  font-size:13px; letter-spacing:1.2px; text-transform:uppercase;
}
.notes-canvas{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:10px; }
.note-card{
  background:linear-gradient(135deg, #f3e6a3 0%, #e7d36d 100%);
  color:#3a2f0f; border:1px solid rgba(0,0,0,.25); padding:10px; box-shadow:0 3px 0 rgba(0,0,0,.18);
  display:flex; flex-direction:column; gap:8px; min-height:170px;
}
.note-card-header{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.note-title-input{
  flex:1; border-bottom:1px solid rgba(0,0,0,.25); padding:2px 0; font-family:var(--font-display);
  font-size:12px; letter-spacing:1px; text-transform:uppercase; color:#3a2f0f;
}
.note-remove-btn{ padding:4px 6px; background:transparent; border:1px dashed rgba(0,0,0,.25); color:#7a2323; }
.note-remove-btn:hover{ border-color:#7a2323; color:#7a2323; }
.note-content{
  flex:1; width:100%; min-height:110px; resize:none; overflow:hidden; border:none; outline:none;
  background:transparent; font-size:14px; line-height:1.45; color:#3a2f0f;
}
.note-content::placeholder{ color:rgba(58,47,15,.55); font-style:italic; }
.empty-notebook{
  grid-column:1 / -1; border:1px dashed var(--line-strong); padding:14px; text-align:center;
  color:var(--text-dim); font-family:var(--font-mono); font-size:11px; letter-spacing:1px;
}
.empty-notebook p{ margin:0 0 4px; color:var(--text); text-transform:uppercase; font-family:var(--font-display); letter-spacing:1.5px; }

/* ===================== FOOTER / TOOLBAR ===================== */
.footer{
  margin-top:24px; padding-top:14px; border-top:1px solid var(--line-strong);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;
  font-family:var(--font-mono); font-size:9.5px; color:var(--text-faint); letter-spacing:.5px;
}

.toolbar{
  position:fixed; right:20px; bottom:20px; z-index:10;
  display:flex; gap:8px;
}
.toolbar button{
  font-family:var(--font-display); font-size:11.5px; letter-spacing:1.5px; text-transform:uppercase;
  background:var(--panel); color:var(--text); border:1px solid var(--line-strong);
  padding:10px 14px; cursor:pointer; border-radius:2px;
}
.toolbar button:hover{ border-color:var(--line-strong); color:var(--text-dim); background:var(--panel-2); }
.toolbar button.danger:hover{ border-color:var(--red-bright); color:var(--red-bright); background:var(--panel-2); }

@media (max-width: 860px){
  .meta-grid{ grid-template-columns:repeat(2, 1fr); }
  .row-2{ grid-template-columns:minmax(0,1fr); }
  .row-2 > .section{ min-width:0; }
  .skills-grid{ grid-template-columns:repeat(2, 1fr); gap:14px; }
  .chars-grid{ grid-template-columns:1fr; }
  .inv-grid{ grid-template-columns:1fr; }
  .weapon-fields{ grid-template-columns:1fr 1fr; }
  .res-pips-grid{ grid-template-columns:repeat(2,1fr); }
  .diagram-section .section-body{ flex-direction:column; align-items:center; }
}

@page{ size:A4; margin:12mm; }
@media print{
  .toolbar{ display:none !important; }
  .sheet{ padding:0; max-width:100%; }
  .section{ box-shadow:none; }
  body{ font-size:12px; }
  #body-art-image{ filter:none; opacity:1; }
}

/* ===================== NAVEGAÇÃO / PÁGINAS ===================== */
.sheet-tabs{
  position:sticky; top:0; z-index:20; display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; margin:-28px -26px 24px; padding:10px 26px;
  background:rgba(11,11,10,.96); border-bottom:1px solid var(--line);
  backdrop-filter:blur(8px);
}
.sheet-tab{
  min-height:42px; padding:8px 12px; border:1px solid var(--line); background:var(--panel);
  color:var(--text-dim); cursor:pointer; font-family:var(--font-display); font-size:12px;
  letter-spacing:1.2px; text-transform:uppercase;
}
.sheet-tab:hover{ color:var(--text); border-color:var(--line-strong); }
.sheet-tab.active{ color:var(--text); border-color:var(--green-bright); background:var(--panel-2); }
.sheet-page{ display:none; }
.sheet-page.active{ display:block; animation:page-in .18s ease-out; }
@keyframes page-in{ from{ opacity:.35; transform:translateY(4px); } to{ opacity:1; transform:none; } }
.page-heading{
  display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
  margin:0 0 20px; padding:0 0 14px; border-bottom:2px solid var(--line-strong);
}
.page-heading h1{ margin:2px 0 0; font:600 28px/1 var(--font-display); letter-spacing:1.5px; text-transform:uppercase; }
.page-heading p{ max-width:480px; margin:0; color:var(--text-dim); text-align:right; }
.page-kicker{ color:var(--green-bright); font:10px var(--font-mono); letter-spacing:1.5px; }

/* ===================== CONTROLES COMPARTILHADOS ===================== */
.hidden{ display:none !important; }
.primary-action{
  border:1px solid var(--green-bright); background:var(--green); color:var(--text); padding:9px 14px;
  cursor:pointer; font:500 12px var(--font-display); letter-spacing:1px; text-transform:uppercase;
}
.primary-action:hover{ filter:brightness(1.15); }
.status-line{ display:flex; justify-content:space-between; gap:12px; margin-bottom:10px; color:var(--text-dim); font:10px var(--font-mono); }
.over{ color:var(--red-bright) !important; }
.budget-ok{ color:var(--green-bright) !important; }
.muted,.empty-state{ color:var(--text-faint); }
.warning-chip{
  display:inline-flex; padding:3px 6px; border:1px solid var(--yellow); color:var(--yellow);
  font:9px var(--font-mono); letter-spacing:.7px; text-transform:uppercase;
}
.hint-warning{ color:var(--yellow) !important; }
.check-line{ display:flex; align-items:flex-start; gap:7px; cursor:pointer; }
.check-line input{ appearance:auto; -webkit-appearance:auto; margin-top:3px; accent-color:var(--green-bright); }
.rule-preview{
  min-height:36px; padding:9px 10px; border-left:2px solid var(--green-bright);
  background:var(--panel-3); color:var(--text-dim); font-size:13px;
}
.permanent-control{ display:flex; align-items:center; gap:7px; margin-top:8px; color:var(--text-dim); font:10px var(--font-mono); }
.permanent-control input{ width:48px; padding:4px; border:1px solid var(--line); text-align:center; }
.pips .pip.permanent{ box-shadow:inset 0 0 0 1px var(--yellow); }
.pips .pip.overflow{ border-color:var(--red-bright); }
.skill-row.locked{ opacity:.48; }
.skill-row.locked .skill-name::after{ content:" · 0"; color:var(--red-bright); font:9px var(--font-mono); }

/* ===================== ROLADOR / CONDIÇÕES ===================== */
.dice-section{ border-color:var(--green); }
.dice-layout{ display:grid; grid-template-columns:minmax(0,2fr) minmax(180px,.7fr); gap:12px 18px; }
.dice-controls{ display:grid; grid-template-columns:repeat(3,minmax(110px,1fr)); gap:10px; }
.dice-controls label,.growth-row label,.filter-grid label{
  display:flex; flex-direction:column; gap:4px; color:var(--text-dim); font:10px var(--font-mono);
  letter-spacing:.5px; text-transform:uppercase;
}
.dice-controls select,.dice-controls input,.growth-row select,.growth-row input,.filter-grid input{
  width:100%; min-height:34px; padding:6px 8px; border:1px solid var(--line); color:var(--text);
  background:var(--panel-3); font-size:13px; text-transform:none;
}
.dice-options{ display:flex; flex-direction:column; justify-content:flex-end; gap:8px; }
.dice-actions{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.dice-actions .primary-action{ flex:1; }
.modifier-control{ display:flex; flex-direction:column; gap:4px; color:var(--text-dim); font:10px var(--font-mono); letter-spacing:.5px; text-transform:uppercase; }
.modifier-picker{ display:flex; align-items:center; min-height:34px; gap:9px; }
.modifier-number{ width:34px !important; min-width:34px; height:34px; min-height:34px !important; padding:3px !important; border:1px solid var(--line-strong) !important; background:var(--panel-3) !important; color:var(--text) !important; font:13px var(--font-mono) !important; text-align:center; }
.modifier-number::-webkit-inner-spin-button{ opacity:1; }
.modifier-dots{ display:flex; align-items:center; gap:7px; min-height:34px; padding:5px 8px; border:1px solid var(--line); background:var(--panel-3); }
.modifier-option{ flex:0 0 auto; cursor:pointer; }
.modifier-dot{ width:16px; height:16px; padding:0; border:1px solid var(--line-strong); border-radius:50%; background:transparent; }
.modifier-option:hover{ border-color:var(--text-dim); }
.modifier-option.filled{ border-color:var(--yellow); background:var(--yellow); color:#111; }
.modifier-option.current{ box-shadow:0 0 0 2px rgba(215,185,74,.18); }
.plague-control .modifier-option.filled{ border-color:var(--red-bright); background:var(--red); }
.plague-control .modifier-option.current{ box-shadow:0 0 0 2px rgba(197,59,59,.2); }
.plague-help{ margin-top:-5px; color:var(--text-faint); font:8px/1.4 var(--font-mono); text-transform:uppercase; }
.dice-result{ grid-column:1/-1; min-height:70px; padding:12px; border:1px solid var(--line); background:var(--panel-3); }
.roll-summary{ display:flex; align-items:baseline; flex-wrap:wrap; gap:10px; margin-bottom:9px; }
.roll-summary strong{ color:var(--green-bright); font:600 18px var(--font-display); letter-spacing:1px; text-transform:uppercase; }
.dice-faces{ display:flex; flex-wrap:wrap; gap:6px; }
.die{ display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--line-strong); background:var(--panel); font:15px var(--font-mono); }
.die.success{ color:var(--text); border-color:var(--green-bright); background:var(--green); }
.die.fail{ color:var(--text-faint); }
.plague-roll-result{ display:grid; gap:7px; margin-top:10px; padding:9px; border-left:2px solid var(--red-bright); background:rgba(120,25,25,.12); }
.plague-roll-result > div:first-child{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.plague-roll-result strong{ color:var(--red-bright); font:500 11px var(--font-display); letter-spacing:.6px; text-transform:uppercase; }
.plague-roll-result > div:first-child span{ color:var(--text-faint); font:8px var(--font-mono); text-transform:uppercase; }
.plague-roll-result p{ margin:0; color:var(--text-dim); font-size:11px; }
.die.plague-die{ border-color:var(--red); color:var(--text); }
.die.plague-die.symptom{ border-color:var(--red-bright); background:var(--red); box-shadow:inset 0 0 0 1px var(--red-bright); }
.condition-shell{ display:grid; gap:10px; }
.condition-add{ display:grid; grid-template-columns:150px 190px minmax(170px,1fr) auto; gap:8px; }
.condition-add select,.condition-add input{ min-height:34px; padding:6px 8px; border:1px solid var(--line); background:var(--panel-3); }
.condition-reference{ min-height:46px; padding:10px 11px; border-left:2px solid var(--green); background:var(--panel-3); color:var(--text-dim); font-size:11px; }
.condition-reference-header,.condition-card-header{ display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.condition-reference strong{ color:var(--green-bright); font:500 12px var(--font-display); letter-spacing:.6px; text-transform:uppercase; }
.condition-reference-header span,.condition-card-header span{ color:var(--text-faint); font:9px var(--font-mono); text-align:right; text-transform:uppercase; }
.condition-description{ margin:6px 0 0; color:var(--text-dim); font-size:10px; line-height:1.45; }
.condition-rule-fields{ display:grid; grid-template-columns:minmax(0,2fr) minmax(120px,1fr); gap:6px; margin:8px 0 0; }
.condition-rule-fields > div{ display:grid; align-content:start; gap:3px; min-width:0; padding:7px 8px; border:1px solid var(--line); background:rgba(0,0,0,.12); }
.condition-rule-fields .condition-impact{ border-left:2px solid var(--red); }
.condition-rule-fields .condition-duration{ border-left:2px solid var(--yellow); }
.condition-rule-fields dt{ color:var(--text-faint); font:8px var(--font-mono); letter-spacing:.6px; text-transform:uppercase; }
.condition-rule-fields dd{ margin:0; color:var(--text); font-size:10px; line-height:1.45; }
.condition-guide{ border:1px solid var(--line); background:var(--panel-3); }
.condition-guide > summary{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; color:var(--green-bright); cursor:pointer; font:500 10px var(--font-display); letter-spacing:.6px; text-transform:uppercase; }
.condition-guide > summary span{ color:var(--text-faint); font:8px var(--font-mono); }
.condition-guide[open] > summary{ border-bottom:1px solid var(--line); }
.condition-duration-grid{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; padding:9px; }
.condition-duration-grid article{ display:grid; align-content:start; gap:4px; padding:8px; border-top:2px solid var(--green); background:var(--panel-2); }
.condition-duration-grid strong{ color:var(--text); font:500 10px var(--font-display); text-transform:uppercase; }
.condition-duration-grid p{ margin:0; color:var(--text-dim); font-size:9px; line-height:1.4; }
.condition-duration-grid small{ color:var(--green-bright); font-size:8px; line-height:1.4; }
.condition-interaction-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; padding:0 9px 9px; }
.condition-interaction-grid section{ padding:8px; border-left:2px solid var(--yellow); background:var(--panel-2); }
.condition-interaction-grid strong{ color:var(--yellow); font:500 9px var(--font-display); text-transform:uppercase; }
.condition-interaction-grid ul{ display:grid; gap:3px; margin:6px 0 0; padding-left:16px; color:var(--text-dim); font-size:9px; }
.condition-interaction-note{ margin:0 9px 9px; padding:7px 8px; border-left:2px solid var(--red); color:var(--text-faint); font:8px/1.45 var(--font-mono); }
.condition-groups{ display:grid; gap:9px; }
.condition-category-group{ display:grid; gap:6px; }
.condition-category-heading{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:5px; border-bottom:1px solid var(--line); }
.condition-category-heading > div{ display:grid; gap:1px; }
.condition-category-heading strong{ color:var(--text); font:500 11px var(--font-display); letter-spacing:.8px; text-transform:uppercase; }
.condition-category-heading span{ color:var(--text-faint); font-size:10px; }
.condition-category-heading b{ min-width:22px; padding:2px 5px; border:1px solid var(--line); color:var(--text-dim); font:9px var(--font-mono); text-align:center; }
.condition-card-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.condition-card{ position:relative; display:grid; align-content:start; gap:5px; min-height:72px; padding:9px 31px 9px 9px; border:1px solid var(--line); border-left:2px solid var(--red); background:var(--panel-3); }
.condition-card strong{ color:var(--text); font:500 11px var(--font-display); letter-spacing:.5px; text-transform:uppercase; }
.condition-card .condition-rule-fields{ grid-template-columns:1fr; margin-top:2px; }
.condition-card > button{ position:absolute; top:7px; right:7px; width:18px; height:18px; padding:0; border:1px solid var(--line); background:transparent; color:var(--red-bright); cursor:pointer; }

/* ===================== EQUIPAMENTOS ===================== */
.equipment-top{ align-items:start; }
.inventory-fields{ display:grid; grid-template-columns:minmax(0,1fr) 72px; gap:6px; flex:1; }
.inventory-fields input{ min-width:0; padding:4px 6px; border-bottom:1px solid var(--line); }
.inventory-weapon{ grid-column:1/-1; display:grid; grid-template-columns:22px minmax(0,1fr) auto; align-items:start; padding:10px; }
.inventory-weapon-body{ display:grid; flex:1; gap:5px; min-width:0; }
.inventory-weapon-body > span,.inventory-weapon-body > small{ color:var(--text-dim); font:10px/1.4 var(--font-mono); }
.inventory-weapon-actions{ display:flex; flex-direction:column; align-items:flex-end; justify-content:space-between; gap:8px; }
.inventory-weapon-edit.active{ border-color:var(--green-bright); color:var(--green-bright); background:var(--panel-2); }
.inventory-weapon-editor{ grid-column:2/-1; display:grid; gap:8px; margin-top:10px; padding:11px; border:1px solid var(--green); background:var(--panel-3); }
.inventory-editor-heading{ display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:5px; padding-bottom:7px; border-bottom:1px solid var(--line); }
.inventory-editor-heading strong{ color:var(--green-bright); font:500 12px var(--font-display); letter-spacing:.7px; text-transform:uppercase; }
.inventory-editor-heading span{ color:var(--text-faint); font:9px var(--font-mono); }
.inventory-editor-field{ display:flex; flex-direction:column; gap:4px; color:var(--text-dim); font:9px var(--font-mono); text-transform:uppercase; }
.inventory-weapon-select,.inventory-weapon-mod-select{ width:100%; min-height:34px; padding:7px 8px; border:1px solid var(--line); background:var(--panel-2); color:var(--text); }
.inventory-weapon-notes{ width:100%; min-height:64px; padding:7px; border:1px solid var(--line); background:var(--panel-2); color:var(--text); resize:vertical; }
.inventory-editor-footer{ display:flex; justify-content:flex-end; padding-top:2px; }
.overloaded-slot{ border-color:var(--red) !important; }
.overloaded-slot .list-num{ color:var(--red-bright); }
#weapons-list{ display:grid; gap:12px; }
.weapon-add-bar{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:8px; margin-bottom:5px; }
.weapon-add-bar label{ display:flex; flex-direction:column; gap:4px; color:var(--text-dim); font:10px var(--font-mono); text-transform:uppercase; }
.weapon-add-bar select{ min-height:34px; padding:6px 8px; border:1px solid var(--line); background:var(--panel-3); color:var(--text); }
.inline-feedback{ min-height:18px; margin:5px 0 10px; color:var(--text-dim); font-size:11px; }
.inline-feedback.over{ color:var(--red-bright); }
.weapon-card,.armor-card,.recipe-card,.power-card,.flower-stage{
  border:1px solid var(--line); background:var(--panel-3); padding:11px;
}
.weapon-card{ min-height:250px; padding:14px; }
.weapon-card.broken,.inventory-weapon.broken{
  border:2px solid var(--red-bright); background:repeating-linear-gradient(135deg,rgba(122,35,35,.18),rgba(122,35,35,.18) 8px,var(--panel-3) 8px,var(--panel-3) 16px);
}
.broken-chip{ display:inline-flex; padding:3px 6px; margin-left:5px; border:1px solid var(--red-bright); color:#f0b4b4; background:rgba(122,35,35,.38); font:700 9px var(--font-mono); letter-spacing:1px; }
.weapon-card-header{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.weapon-select,.weapon-mod-select{
  width:100%; margin-top:7px; padding:7px 8px; border:1px solid var(--line); background:var(--panel-2); color:var(--text);
}
.weapon-stats{ margin-top:8px; color:var(--text); font:10px/1.5 var(--font-mono); }
.weapon-power-details{ margin-top:8px; border:1px solid var(--line); background:var(--panel-2); }
.weapon-power-details > summary{ padding:7px 8px; color:var(--green-bright); cursor:pointer; font:10px var(--font-mono); text-transform:uppercase; }
.weapon-power-details > div{ display:grid; gap:6px; padding:0 8px 8px; }
.weapon-power-details article{ padding:7px; border-left:2px solid var(--green); background:var(--panel-3); }
.weapon-power-details article strong{ color:var(--text); font:500 12px var(--font-display); text-transform:uppercase; }
.weapon-power-details article p{ margin:3px 0 0; color:var(--text-dim); font-size:11px; }
.weapon-track{ display:grid; gap:5px; margin:10px 0 6px; }
.weapon-track > span{ color:var(--text-dim); font:10px var(--font-mono); text-transform:uppercase; }
.weapon-pips{ flex-wrap:wrap; }
.weapon-mods{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.weapon-mods label{ min-width:0; color:var(--text-dim); font:9px var(--font-mono); text-transform:uppercase; }
.weapon-notes{ width:100%; min-height:52px; margin-top:8px; padding:7px; border:1px solid var(--line); resize:vertical; }
.custom-weapon-fields{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:7px; }
.custom-weapon-fields input{ min-width:0; padding:6px; border:1px solid var(--line); }
.armor-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.armor-card.equipped{ border-color:var(--green-bright); }
.armor-card p{ min-height:50px; margin:7px 0; color:var(--text-dim); font-size:12px; }
.armor-card > span{ font:9px var(--font-mono); color:var(--text-faint); text-transform:uppercase; }
.parts-control{ display:grid; grid-template-columns:1fr 32px 62px 32px; align-items:center; gap:5px; margin-bottom:12px; }
.parts-control button,.parts-control input{ height:32px; border:1px solid var(--line); background:var(--panel-3); color:var(--text); text-align:center; }
.parts-control button{ cursor:pointer; }
.recipe-toolbar{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:10px; }
.recipe-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.recipe-card.known{ border-color:var(--green); }
.recipe-card p{ min-height:48px; margin:8px 0; color:var(--text-dim); font-size:12px; }
.ingredient-list{ display:flex; flex-wrap:wrap; gap:4px; margin-top:7px; }
.ingredient-list span{ padding:3px 5px; border:1px solid var(--line); color:var(--text-faint); font:9px var(--font-mono); }
.recipe-card button:disabled{ opacity:.35; cursor:not-allowed; }

/* ===================== HISTÓRIA / ORIGEM / CORRUPÇÃO ===================== */
.history-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.history-meta-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.history-meta-grid label{ display:flex; flex-direction:column; gap:5px; color:var(--text-dim); font:10px var(--font-mono); text-transform:uppercase; }
.history-meta-grid input{ min-height:34px; padding:6px 8px; border:1px solid var(--line); background:var(--panel-3); }
.history-field{ display:flex; flex-direction:column; gap:6px; }
.history-field:last-child{ grid-column:1/-1; }
.history-field span,.subsection-heading{ color:var(--green-bright); font:11px var(--font-display); letter-spacing:1px; text-transform:uppercase; }
.history-field textarea{ min-height:110px; padding:9px; border:1px solid var(--line); background:var(--panel-3); resize:vertical; }
.relationship-shell{ display:grid; gap:10px; }
.relationship-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.relationship-toolbar p{ margin:0; color:var(--text-dim); font-size:11px; }
.relationship-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.relationship-empty{ grid-column:1/-1; padding:12px; border:1px dashed var(--line); text-align:center; }
.relationship-card{ display:grid; gap:8px; padding:10px; border:1px solid var(--line); background:var(--panel-3); }
.relationship-card-header{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr) 24px; gap:6px; }
.relationship-card-header input{ min-width:0; padding:5px 6px; border-bottom:1px solid var(--line); }
.relationship-name{ color:var(--text); font:500 13px var(--font-display); letter-spacing:.4px; text-transform:uppercase; }
.relationship-role{ color:var(--text-dim); font-size:11px; }
.relationship-remove{ width:24px; height:24px; padding:0; border:1px solid var(--line); background:transparent; color:var(--red-bright); cursor:pointer; }
.relationship-state{ display:grid; grid-template-columns:25px minmax(0,1fr) 25px; align-items:center; gap:7px; }
.relationship-state > div{ display:grid; gap:2px; min-width:0; text-align:center; }
.relationship-state strong{ color:var(--yellow); font:500 12px var(--font-display); letter-spacing:.7px; text-transform:uppercase; }
.relationship-state.negative strong{ color:var(--red-bright); }
.relationship-state.positive strong{ color:var(--green-bright); }
.relationship-state span{ min-height:28px; color:var(--text-dim); font-size:10px; }
.relationship-delta{ width:25px; height:25px; padding:0; border:1px solid var(--line-strong); background:var(--panel-2); color:var(--text); cursor:pointer; }
.relationship-scale{ display:grid; grid-template-columns:repeat(11,1fr); gap:2px; }
.relationship-step{ min-width:0; height:23px; padding:0; border:1px solid var(--line); background:transparent; color:var(--text-faint); cursor:pointer; font:8px var(--font-mono); }
.relationship-step.negative.selected{ border-color:var(--red-bright); background:var(--red); color:var(--text); }
.relationship-step.neutral.selected{ border-color:var(--yellow); background:#7a6a2a; color:var(--text); }
.relationship-step.positive.selected{ border-color:var(--green-bright); background:var(--green); color:var(--text); }
.relationship-note{ width:100%; min-height:64px; padding:7px; border:1px solid var(--line); background:var(--panel-2); color:var(--text); resize:vertical; }
.origin-summary-line,.corruption-overview > div{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.origin-summary-line span{ color:var(--text-dim); font:10px var(--font-mono); }
.origin-budget{ display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:10px 0; }
.origin-budget span{ padding:7px; border:1px solid var(--line); text-align:center; color:var(--text-dim); font:10px var(--font-mono); }
.power-list{ display:grid; gap:7px; max-height:690px; padding-right:4px; overflow:auto; }
.power-card{ position:relative; display:block; }
.power-card.selectable{ padding-left:34px; cursor:pointer; }
.power-card.selectable > input{ position:absolute; left:11px; top:15px; appearance:auto; -webkit-appearance:auto; accent-color:var(--green-bright); }
.power-card.selected,.initial-power{ border-color:var(--green); }
.power-card h3{ margin:0 62px 5px 0; font:500 14px var(--font-display); letter-spacing:.6px; text-transform:uppercase; }
.power-card p{ margin:0; color:var(--text-dim); font-size:12px; }
.power-cost{ position:absolute; right:8px; top:8px; color:var(--green-bright); font:9px var(--font-mono); }
.occupation-title{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.occupation-powers{ display:grid; gap:5px; margin-top:10px; }
.occupation-power{ border-left:2px solid var(--green); background:var(--panel-3); }
.occupation-power summary{ padding:8px; color:var(--text); cursor:pointer; font:500 12px var(--font-display); text-transform:uppercase; }
.occupation-power p{ margin:0; padding:0 8px 9px; color:var(--text-dim); font-size:12px; }
.occupation-choice{ margin-top:12px; padding:10px; border:1px solid var(--green); background:var(--panel-3); }
.occupation-choice > strong{ color:var(--green-bright); font:500 12px var(--font-display); letter-spacing:1px; text-transform:uppercase; }
.occupation-choice p{ margin:5px 0 8px; color:var(--text-dim); font-size:12px; }
.occupation-choice select{ width:100%; min-height:34px; padding:6px 8px; border:1px solid var(--line); background:var(--panel-2); }
.occupation-choice-grid{ display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.corruption-overview{ margin-bottom:14px; padding:12px; border:1px solid var(--line); background:var(--panel-3); }
.corruption-overview strong{ color:var(--red-bright); font:600 18px var(--font-display); text-transform:uppercase; }
.corruption-overview p{ margin:6px 0 0; color:var(--text-dim); }
.corruption-effects{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.corruption-level{ border:1px solid var(--line); background:var(--panel-3); opacity:.5; }
.corruption-level.reached{ opacity:.82; }
.corruption-level.current{ opacity:1; border-color:var(--red-bright); grid-column:span 2; }
.corruption-level summary{ display:flex; justify-content:space-between; gap:7px; padding:8px; cursor:pointer; color:var(--text); font:500 12px var(--font-display); text-transform:uppercase; }
.corruption-level summary small{ color:var(--text-faint); font:9px var(--font-mono); text-align:right; }
.corruption-level ul{ display:grid; gap:6px; margin:0; padding:0 8px 8px; list-style:none; }
.corruption-level li{ display:grid; gap:2px; padding:6px; border-left:2px solid var(--red); background:var(--panel-2); }
.corruption-level li strong{ font-size:11px; }
.corruption-level li span{ color:var(--text-dim); font-size:11px; }
.corruption-level li em{ color:var(--green-bright); font:9px var(--font-mono); text-transform:uppercase; }
.corruption-level li.effect-filtered{ border-color:var(--green-bright); opacity:.65; }
.corruption-level li.effect-empty{ color:var(--text-faint); border-color:var(--line); font-size:11px; }
.blood-path{ margin-top:14px; }
#flower-overview h3{ margin:7px 0 3px; font:500 18px var(--font-display); text-transform:uppercase; }
#flower-overview p{ margin:0 0 10px; color:var(--text-dim); }
.flower-lore{ max-width:980px; }
.flower-special-rules{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:8px; margin:12px 0; }
.flower-special-rules article{ padding:11px 12px; border:1px solid var(--line-strong); border-left:3px solid var(--green-bright); background:var(--panel-3); }
.flower-special-rules article.flower-deactivation{ border-left-color:var(--red-bright); }
.flower-special-rules span{ color:var(--text-faint); font:8px var(--font-mono); letter-spacing:1px; }
.flower-special-rules h4{ margin:4px 0 6px; font:500 13px var(--font-display); letter-spacing:.7px; text-transform:uppercase; }
.flower-special-rules article p{ margin:0; font-size:11px; line-height:1.55; }
.flower-stages{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.flower-stage{ opacity:.48; }
.flower-stage.unlocked{ opacity:.76; }
.flower-stage.active{ opacity:1; border-color:var(--red-bright); box-shadow:inset 0 2px 0 var(--red-bright); }
.flower-stage > span{ color:var(--text-faint); font:9px var(--font-mono); text-transform:uppercase; }
.flower-stage h4{ margin:6px 0 4px; font:500 13px var(--font-display); text-transform:uppercase; }
.flower-stage p{ margin:0; color:var(--text-dim); font-size:11px; }
.flower-stage em{ display:block; margin-top:7px; color:var(--yellow); font-size:10px; }
.flower-stage-stats{ display:grid; gap:5px; margin:7px 0; }
.flower-stage-stats div{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding-bottom:4px; border-bottom:1px solid var(--line); }
.flower-stage-stats dt{ color:var(--text-faint); font:8px var(--font-mono); letter-spacing:.5px; }
.flower-stage-stats dd{ margin:0; color:var(--text); font:10px var(--font-mono); text-align:right; }
.flower-condition-note{ display:block; color:var(--green-bright); font:8px/1.45 var(--font-mono); text-transform:uppercase; }
.filter-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin:8px 0; }
.filter-grid > div{ display:flex; flex-direction:column; gap:7px; padding:10px; border:1px solid var(--line); background:var(--panel-3); }
.filter-mode.active{ border-color:var(--green-bright); box-shadow:inset 0 2px 0 var(--green-bright); }
.filter-mode > strong{ color:var(--text); font:500 12px var(--font-display); text-transform:uppercase; }
.filter-grid p{ margin:0; color:var(--text-dim); font-size:12px; }
.rule-help{ margin:7px 0 10px; color:var(--text-dim); font-size:12px; }
.filter-active-line,.filter-effect-header{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.filter-active-line{ margin:8px 0 12px; padding:8px; border-left:2px solid var(--green); background:var(--panel-3); }
.filter-effect-header p{ max-width:700px; margin:3px 0 0; color:var(--text-dim); font-size:11px; }
.active-effect-list{ display:flex; flex-wrap:wrap; gap:5px; margin:9px 0; }
.active-effect-chip{ padding:5px 7px; border:1px solid var(--green); color:var(--text-dim); font-size:10px; }
.filter-effect-choices{ display:grid; gap:6px; padding:10px; border:1px solid var(--line); }
.corruption-filter-option{ display:flex; align-items:flex-start; gap:8px; padding:7px; border:1px solid var(--line); background:var(--panel-3); cursor:pointer; }
.corruption-filter-option.selected{ border-color:var(--green-bright); }
.corruption-filter-option input{ appearance:auto; -webkit-appearance:auto; accent-color:var(--green-bright); margin-top:3px; }
.corruption-filter-option span{ display:grid; gap:2px; }
.corruption-filter-option small{ color:var(--text-dim); font-size:11px; }
.growth-row{ display:grid; grid-template-columns:1fr 1fr 2fr; gap:10px; align-items:end; }

/* ===================== AUTOMAÇÕES DE REGRA ===================== */
body.modal-open{ overflow:hidden; }
button:disabled{ opacity:.38; cursor:not-allowed !important; }
.text-action{ padding:2px 0; border:0; border-bottom:1px solid currentColor; background:transparent; color:var(--green-bright); cursor:pointer; font:9px var(--font-mono); letter-spacing:.4px; text-transform:uppercase; }
.modal-close{ width:30px; height:30px; padding:0; border:1px solid var(--line); background:var(--panel-3); color:var(--text-dim); cursor:pointer; font:18px var(--font-mono); }
.rule-action-overlay{ background:rgba(0,0,0,.78); backdrop-filter:blur(4px); z-index:70; }
.rule-action-dialog{ width:min(980px,calc(100vw - 28px)); padding:0; border-color:var(--line-strong); box-shadow:0 24px 80px rgba(0,0,0,.55); }
.rule-action-dialog > .modal-header{ position:sticky; top:0; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0; padding:14px 16px; border-bottom:1px solid var(--line); background:var(--panel); color:var(--text); font-size:16px; letter-spacing:1px; text-transform:uppercase; }
.rule-action-dialog > .modal-body{ padding:15px; }
.rule-action-dialog > .modal-footer{ position:sticky; bottom:0; z-index:3; margin:0; padding:10px 15px; border-top:1px solid var(--line); background:var(--panel); }
.rule-action-dialog > .modal-footer button{ padding:7px 14px; border:1px solid var(--line-strong); background:var(--panel-2); color:var(--text); cursor:pointer; font:10px var(--font-mono); text-transform:uppercase; }
.rule-dashboard{ display:grid; gap:11px; }
.rule-state-banner{ display:grid; grid-template-columns:1fr auto; align-items:center; gap:8px; padding:12px; border:1px solid var(--green); border-left:4px solid var(--green-bright); background:var(--panel-3); }
.rule-state-banner > span{ color:var(--green-bright); font:600 18px var(--font-display); letter-spacing:1px; text-transform:uppercase; }
.rule-state-banner > strong{ font:14px var(--font-mono); }
.rule-state-banner > small{ grid-column:1/-1; color:var(--text-faint); font:9px var(--font-mono); text-transform:uppercase; }
.rule-state-banner.state-dying,.rule-state-banner.state-dead,.rule-state-banner.stress-breaking{ border-color:var(--red-bright); }
.rule-state-banner.state-dying > span,.rule-state-banner.state-dead > span,.rule-state-banner.stress-breaking > span{ color:var(--red-bright); }
.rule-state-banner.stress-unstable{ border-color:var(--yellow); }
.rule-state-banner.stress-unstable > span{ color:var(--yellow); }
.rule-step{ display:grid; gap:8px; padding:12px; border:1px solid var(--line); background:var(--panel-3); }
.rule-step > div:first-child{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.rule-step > div:first-child > span{ display:grid; place-items:center; flex:0 0 auto; width:24px; height:24px; border:1px solid var(--green); color:var(--green-bright); font:10px var(--font-mono); }
.rule-step strong{ font:500 13px var(--font-display); letter-spacing:.6px; text-transform:uppercase; }
.rule-step p,.rule-step li{ margin:0; color:var(--text-dim); font-size:12px; }
.rule-step ul{ margin:0; padding-left:18px; }
.success-step{ border-color:var(--green-bright); }
.death-step,.warning-step{ border-color:var(--red); }
.rule-result{ display:grid; gap:8px; padding:9px; border-left:2px solid var(--green-bright); background:var(--panel-2); }
.inline-actions{ display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.inline-form{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; gap:8px; }
.inline-form label,.rule-long-field,.growth-choice{ display:grid; gap:4px; color:var(--text-dim); font:9px var(--font-mono); letter-spacing:.3px; text-transform:uppercase; }
.inline-form input,.inline-form select,.growth-choice select{ min-height:34px; padding:6px 8px; border:1px solid var(--line); background:var(--panel-2); color:var(--text); }
.rule-long-field textarea{ width:100%; min-height:84px; padding:8px; border:1px solid var(--line); background:var(--panel-3); color:var(--text); resize:vertical; }
.rule-footnote{ margin:0; color:var(--text-faint); font:9px/1.5 var(--font-mono); }
.death-test-log,.crisis-log,.growth-apply-list{ display:grid; gap:5px; margin:0; padding:0; list-style:none; }
.death-test-log li,.crisis-log li,.growth-apply-list li{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:7px 8px; border:1px solid var(--line); background:var(--panel-2); }
.death-test-log span,.crisis-log span,.growth-apply-list span{ color:var(--text-dim); font:9px var(--font-mono); }
.crisis-log li{ display:grid; }
.crisis-log li > div{ display:flex; justify-content:space-between; gap:10px; }
.crisis-log small{ color:var(--text-faint); }
.danger-text{ color:var(--red-bright); }

.health-rule-tools{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:4px; }
.rule-tool-card{ display:grid; grid-template-columns:34px 1fr; gap:2px 8px; min-height:62px; padding:9px; border:1px solid var(--line); background:var(--panel-3); color:var(--text); cursor:pointer; text-align:left; }
.rule-tool-card > span{ grid-row:1/3; display:grid; place-items:center; border:1px solid var(--green); color:var(--green-bright); font:10px var(--font-mono); }
.rule-tool-card strong{ font:500 11px var(--font-display); letter-spacing:.6px; text-transform:uppercase; }
.rule-tool-card small{ color:var(--text-faint); font:9px var(--font-mono); }
.rule-tool-card:hover,.rule-tool-card.critical{ border-color:var(--green-bright); }
.rule-tool-card.critical > span{ border-color:var(--red-bright); color:var(--red-bright); }
.paradigm-summary{ --paradigm-accent:var(--line-strong); display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:8px 12px; margin-top:5px; padding:8px 9px; border:1px solid var(--line); border-left:3px solid var(--paradigm-accent); background:var(--panel-3); }
.paradigm-summary-sublime{ --paradigm-accent:var(--green-bright); }
.paradigm-summary-sintese{ --paradigm-accent:var(--yellow); }
.paradigm-summary-abissal{ --paradigm-accent:var(--red-bright); }
.paradigm-summary-content{ display:grid; min-width:0; gap:5px; color:var(--text-dim); font-size:10px; }
.paradigm-summary-heading{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.paradigm-summary-heading b{ color:var(--paradigm-accent); font:9px var(--font-mono); letter-spacing:.35px; text-transform:uppercase; }
.paradigm-summary-heading small{ padding:2px 4px; border:1px solid var(--paradigm-accent); color:var(--paradigm-accent); font:7px var(--font-mono); letter-spacing:.4px; text-transform:uppercase; }
.paradigm-summary-effect{ display:grid; grid-template-columns:16px minmax(0,1fr); align-items:start; gap:5px; line-height:1.35; }
.paradigm-summary-effect strong{ display:grid; place-items:center; width:16px; height:16px; border:1px solid currentColor; font:12px/1 var(--font-mono); }
.paradigm-summary-effect.positive strong{ color:var(--green-bright); }
.paradigm-summary-effect.negative strong{ color:var(--red-bright); }
.paradigm-summary > .text-action{ align-self:center; white-space:nowrap; }
.reputation-intro{ display:grid; gap:4px; padding:14px 16px; border:1px solid var(--line-strong); border-left:4px solid var(--green-bright); background:var(--panel-3); }
.reputation-intro > span{ color:var(--green-bright); font:8px var(--font-mono); letter-spacing:1.2px; text-transform:uppercase; }
.reputation-intro > strong{ font:500 18px var(--font-display); letter-spacing:.5px; text-transform:uppercase; }
.reputation-intro > p{ max-width:760px; margin:0; color:var(--text-dim); font-size:12px; }
.reputation-rule-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.reputation-rule-card{ display:grid; grid-template-columns:32px minmax(0,1fr); align-items:start; gap:9px; padding:10px; border:1px solid var(--line); background:var(--panel-3); }
.reputation-rule-card > b{ display:grid; place-items:center; min-height:28px; border:1px solid var(--line-strong); color:var(--text-dim); font:10px var(--font-mono); }
.reputation-rule-card > div{ display:grid; gap:3px; }
.reputation-rule-card strong{ font:500 11px var(--font-display); letter-spacing:.5px; text-transform:uppercase; }
.reputation-rule-card p{ margin:0; color:var(--text-dim); font-size:10.5px; line-height:1.45; }
.reputation-rule-card.positive > b{ border-color:var(--green-bright); color:var(--green-bright); }
.reputation-rule-card.negative > b{ border-color:var(--red-bright); color:var(--red-bright); }
.reputation-change{ grid-column:1/-1; }
.paradigm-matrix{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.paradigm-path{ --paradigm-accent:var(--green-bright); display:grid; align-content:start; gap:7px; }
.paradigm-sintese{ --paradigm-accent:var(--yellow); }
.paradigm-abissal{ --paradigm-accent:var(--red-bright); }
.paradigm-path-heading{ display:grid; grid-template-columns:30px minmax(0,1fr); gap:8px; padding:9px 10px; border:1px solid var(--line); border-top:2px solid var(--paradigm-accent); background:var(--panel-2); }
.paradigm-path-heading > span{ display:grid; place-items:center; color:var(--paradigm-accent); font:10px var(--font-mono); }
.paradigm-path-heading > div{ display:grid; gap:2px; }
.paradigm-path-heading strong{ color:var(--paradigm-accent); font:500 15px var(--font-display); letter-spacing:.6px; text-transform:uppercase; }
.paradigm-path-heading p{ margin:0; color:var(--text-faint); font:8px/1.35 var(--font-mono); text-transform:uppercase; }
.paradigm-card{ display:grid; gap:8px; padding:11px; border:1px solid var(--line); background:var(--panel-3); }
.paradigm-card.selected{ border-color:var(--paradigm-accent); box-shadow:inset 3px 0 0 var(--paradigm-accent); background:var(--panel-2); }
.paradigm-card > header{ display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.paradigm-card > header > div{ display:grid; min-width:0; gap:2px; }
.paradigm-card > header strong{ color:var(--paradigm-accent); font:500 14px var(--font-display); letter-spacing:.4px; text-transform:uppercase; }
.paradigm-card > header span{ color:var(--text-faint); font:8px/1.35 var(--font-mono); text-transform:uppercase; }
.paradigm-card > header em{ flex:0 0 auto; padding:3px 5px; border:1px solid var(--paradigm-accent); color:var(--paradigm-accent); font:7px var(--font-mono); font-style:normal; letter-spacing:.35px; text-transform:uppercase; }
.paradigm-card .paradigm-description{ margin:0; color:var(--text-dim); font-size:11px; line-height:1.5; }
.paradigm-effects{ display:grid; gap:5px; padding-top:7px; border-top:1px solid var(--line); }
.paradigm-effect{ display:grid; grid-template-columns:22px minmax(0,1fr); align-items:start; gap:7px; }
.paradigm-effect > b{ display:grid; place-items:center; width:22px; height:22px; border:1px solid currentColor; font:14px/1 var(--font-mono); }
.paradigm-effect > span{ color:var(--text-dim); font-size:10px; line-height:1.4; }
.paradigm-effect.positive > b{ color:var(--green-bright); }
.paradigm-effect.negative > b{ color:var(--red-bright); }

.consolidated-power-shell{ display:grid; gap:11px; }
.consolidated-power-heading{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; }
.consolidated-power-heading > div:first-child{ display:grid; gap:3px; }
.consolidated-power-heading > div:first-child > strong{ font:500 14px var(--font-display); text-transform:uppercase; }
.consolidated-power-heading p{ margin:0; color:var(--text-dim); font-size:11px; }
.duration-controls{ display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:6px; }
.duration-controls > span{ width:100%; color:var(--text-faint); font:8px var(--font-mono); text-align:right; }
.duration-status{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; border:1px solid var(--line); background:var(--panel-3); }
.duration-status > div{ display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
.duration-status > div > strong{ margin-right:4px; color:var(--text); font:9px var(--font-mono); text-transform:uppercase; }
.duration-status > div > span{ padding:4px 6px; border:1px solid var(--green); color:var(--text-dim); font:9px var(--font-mono); }
.duration-status > small{ max-width:370px; color:var(--yellow); font:9px/1.4 var(--font-mono); text-align:right; }
.consolidated-power-list,.consolidated-power-group{ display:grid; gap:8px; }
.consolidated-power-group > .subsection-heading{ display:flex; align-items:center; justify-content:space-between; }
.consolidated-power-group > .subsection-heading b{ color:var(--green-bright); font:11px var(--font-mono); }
.consolidated-power-cards{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.consolidated-power-card{ border:1px solid var(--line); background:var(--panel-3); }
.consolidated-power-card[open]{ border-color:var(--line-strong); box-shadow:inset 2px 0 0 var(--green-bright); }
.consolidated-power-card summary{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 10px; padding:9px 10px; cursor:pointer; list-style:none; }
.consolidated-power-card summary::-webkit-details-marker{ display:none; }
.consolidated-power-card summary span{ grid-column:1/-1; color:var(--text-faint); font:8px var(--font-mono); text-transform:uppercase; }
.consolidated-power-card summary strong{ font:500 12px var(--font-display); text-transform:uppercase; }
.consolidated-power-card summary b{ color:var(--green-bright); font:14px var(--font-mono); }
.consolidated-power-card[open] summary b{ transform:rotate(45deg); }
.consolidated-power-card > p,.consolidated-power-card > ul{ margin:0; padding:0 10px 10px; color:var(--text-dim); font-size:11px; line-height:1.5; }
.consolidated-power-card > ul{ padding-left:27px; }
.consolidated-power-notes{ display:grid; gap:5px; color:var(--text-faint); font:9px var(--font-mono); text-transform:uppercase; }
.consolidated-power-notes textarea{ width:100%; min-height:88px; padding:9px; border:1px solid var(--line); background:var(--panel-3); color:var(--text); resize:vertical; text-transform:none; }

.growth-row{ align-items:start; }
.growth-ledger,.growth-track-list,.post-growth-controls{ grid-column:1/-1; }
.growth-ledger{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.growth-ledger > span{ display:grid; gap:2px; padding:8px; border:1px solid var(--line); background:var(--panel-3); text-align:center; }
.growth-ledger small{ color:var(--text-faint); font:8px var(--font-mono); text-transform:uppercase; }
.growth-ledger b{ color:var(--green-bright); font:16px var(--font-mono); }
.growth-track-list{ display:grid; gap:6px; }
.growth-stage-card{ display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:10px; padding:9px; border:1px solid var(--line); background:var(--panel-3); opacity:.55; }
.growth-stage-card.claimed{ opacity:1; border-left:3px solid var(--green-bright); }
.growth-stage-index{ display:grid; place-items:center; min-height:42px; border:1px solid var(--line-strong); color:var(--green-bright); font:16px var(--font-display); }
.growth-stage-heading{ display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.growth-stage-heading strong{ font:500 12px var(--font-display); text-transform:uppercase; }
.growth-stage-heading span{ color:var(--yellow); font:9px var(--font-mono); }
.growth-stage-card ul{ margin:4px 0 0; padding-left:16px; color:var(--text-dim); font-size:10px; }
.growth-unlock{ display:block; margin-top:5px; color:var(--green-bright); font:9px var(--font-mono); }
.growth-state{ color:var(--text-faint); font:8px var(--font-mono); }
.growth-stage-card.claimed .growth-state{ color:var(--green-bright); }
.post-growth-controls{ display:flex; align-items:center; gap:10px; }
.post-growth-controls span{ color:var(--text-dim); font:9px var(--font-mono); }
.growth-choice{ padding:9px; border:1px solid var(--green); background:var(--panel-3); }
.unlocked-origin-powers{ display:grid; gap:7px; margin-top:14px; }
.unlocked-origin{ border:1px solid var(--line); background:var(--panel-3); }
.unlocked-origin > summary{ display:flex; justify-content:space-between; gap:8px; padding:9px; cursor:pointer; }
.unlocked-origin > summary span{ color:var(--text-faint); font:9px var(--font-mono); }
.unlocked-origin > .power-list{ padding:0 9px 9px; }

.catalog-launch{ display:flex; align-items:center; gap:9px; margin:8px 0 10px; }
.catalog-launch small{ color:var(--text-faint); }
.catalog-shell{ display:grid; gap:12px; }
.catalog-search{ position:sticky; top:0; z-index:2; display:grid; gap:4px; padding:8px; border:1px solid var(--line); background:var(--panel); color:var(--text-dim); font:9px var(--font-mono); text-transform:uppercase; }
.catalog-search input{ min-height:36px; padding:7px 9px; border:1px solid var(--line-strong); background:var(--panel-3); color:var(--text); }
.catalog-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.catalog-card{ display:grid; align-content:start; gap:7px; padding:10px; border:1px solid var(--line); background:var(--panel-3); }
.catalog-card-heading{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:10px; }
.catalog-card-title{ display:grid; min-width:0; gap:2px; }
.catalog-card-title span,.inventory-kind{ color:var(--green-bright); font:8px var(--font-mono); letter-spacing:.5px; text-transform:uppercase; }
.catalog-card strong{ font:500 13px var(--font-display); text-transform:uppercase; }
.catalog-card p,.catalog-card li{ margin:0; color:var(--text-dim); font-size:10px; }
.catalog-card ul{ margin:0; padding-left:16px; }
.catalog-card small{ color:var(--text-faint); font:9px var(--font-mono); }
.catalog-use-badge{ display:grid; grid-template-columns:auto minmax(28px,auto); grid-template-rows:auto auto; min-width:78px; border:1px solid var(--line-strong); background:var(--panel-2); }
.catalog-use-badge > span{ grid-column:1; grid-row:1; padding:4px 6px 0; color:var(--text-faint); font:7px var(--font-mono); letter-spacing:.8px; text-transform:uppercase; }
.catalog-use-badge > strong{ grid-column:2; grid-row:1/3; display:grid; place-items:center; min-height:42px; padding:3px 7px; border-left:1px solid currentColor; font:600 20px/1 var(--font-display); }
.catalog-use-badge > small{ grid-column:1; grid-row:2; align-self:end; padding:0 6px 4px; color:currentColor; font:7px/1.1 var(--font-mono); text-transform:uppercase; }
.catalog-use-badge.limited{ border-color:var(--yellow); color:var(--yellow); }
.catalog-use-badge.unlimited{ border-color:var(--green-bright); color:var(--green-bright); }
.catalog-use-note{ display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:7px; padding:6px 7px; border-left:2px solid var(--yellow); background:var(--panel-2); }
.catalog-use-note > b{ color:var(--yellow); font:7px var(--font-mono); letter-spacing:.6px; text-transform:uppercase; white-space:nowrap; }
.catalog-use-note > span{ color:var(--text-dim); font:9px/1.35 var(--font-mono); }
.catalog-card > .notes-btn,.catalog-card > .inline-actions{ margin-top:auto; }
.catalog-card label{ display:grid; gap:4px; color:var(--text-faint); font:9px var(--font-mono); text-transform:uppercase; }
.catalog-card select{ min-height:33px; padding:6px; border:1px solid var(--line); background:var(--panel-2); color:var(--text); }
.catalog-inventory-slot{ grid-column:1/-1; display:grid; grid-template-columns:22px minmax(0,1fr) auto 24px; align-items:center; gap:8px; padding:9px; }
.catalog-inventory-slot > div:nth-child(2){ display:grid; gap:2px; }
.catalog-inventory-slot strong{ font:500 12px var(--font-display); text-transform:uppercase; }
.catalog-inventory-slot p{ margin:0; color:var(--text-dim); font-size:10px; }
.catalog-inventory-slot small{ color:var(--text-faint); font:8px var(--font-mono); }
.inventory-quantity{ display:flex; align-items:center; gap:5px; }
.inventory-quantity button{ width:24px; height:24px; padding:0; border:1px solid var(--line); background:var(--panel-2); color:var(--text); cursor:pointer; }
.inventory-quantity b{ min-width:30px; color:var(--yellow); font:10px var(--font-mono); text-align:center; }
.weapon-ammo-actions{ display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin:7px 0; padding:7px; border:1px solid var(--line); background:var(--panel-3); }
.weapon-ammo-actions small{ margin-left:auto; color:var(--text-faint); font:8px var(--font-mono); }

.condition-card.derived-condition{ border-left-color:var(--yellow); }
.condition-sources{ display:grid !important; gap:4px; margin-top:2px; }
.condition-source-row{ display:flex !important; align-items:center !important; justify-content:flex-start !important; flex-wrap:wrap; gap:4px !important; }
.condition-card .condition-source-row button{ position:static; width:auto; height:auto; padding:4px 6px; }
.condition-card .condition-source{ border-color:var(--yellow); color:var(--yellow); font:8px var(--font-mono); }

/* ===================== IMPRESSÃO / RESPONSIVO ===================== */
@media (max-width:900px){
  .sheet-tabs{ margin-left:-16px; margin-right:-16px; padding-left:16px; padding-right:16px; }
  .sheet{ padding-left:16px; padding-right:16px; }
  .dice-layout{ grid-template-columns:1fr; }
  .dice-result{ grid-column:1; }
  .recipe-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .flower-stages{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .flower-special-rules{ grid-template-columns:1fr; }
  .corruption-effects{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .corruption-level.current{ grid-column:1/-1; }
  .needs-grid{ grid-template-columns:1fr; }
  .growth-row{ grid-template-columns:1fr 1fr; }
  .growth-row .rule-preview{ grid-column:1/-1; }
  .paradigm-matrix{ grid-template-columns:1fr; }
}
@media (max-width:620px){
  .doc-header{ gap:12px; }
  .portrait-shell{ width:60px; height:60px; }
  .stamp{ width:60px; height:60px; font-size:8px; }
  .portrait-placeholder{ gap:2px; }
  .portrait-placeholder small{ font-size:6px; }
  .portrait-remove{ top:-7px; right:-7px; }
  .meta-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .meta-field{ min-width:0; }
  .meta-field input,.meta-field select{ width:100%; min-width:0; }
  .sheet-tabs{ grid-template-columns:repeat(2,1fr); }
  .sheet-tab{ font-size:10px; }
  .page-heading{ align-items:flex-start; flex-direction:column; }
  .page-heading p{ text-align:left; }
  .dice-controls,.condition-add,.condition-card-list,.condition-rule-fields,.condition-duration-grid,.condition-interaction-grid,.armor-grid,.recipe-grid,.history-grid,.history-meta-grid,.relationship-list,.filter-grid,.corruption-effects,.weapon-add-bar{ grid-template-columns:1fr; }
  .history-field:last-child{ grid-column:auto; }
  .relationship-toolbar,.needs-heading{ align-items:flex-start; flex-direction:column; }
  .needs-heading p{ text-align:left; }
  .weapon-mods,.custom-weapon-fields{ grid-template-columns:1fr; }
  .flower-stages{ grid-template-columns:1fr; }
  .corruption-level.current{ grid-column:auto; }
  .inventory-weapon{ grid-template-columns:20px minmax(0,1fr); }
  .inventory-weapon-actions{ grid-column:2; flex-direction:row; align-items:center; justify-content:space-between; margin-top:8px; }
  .inventory-weapon-editor{ grid-column:1/-1; }
  .paradigm-summary{ grid-template-columns:1fr; }
  .paradigm-summary > .text-action{ justify-self:start; }
  .reputation-rule-grid{ grid-template-columns:1fr; }
  .reputation-change{ grid-column:auto; }
  .toolbar{ left:8px; right:8px; bottom:8px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
  .toolbar button{ min-width:0; padding:8px 3px; font-size:9px; letter-spacing:.6px; }
  .res-pip-row{ min-width:0; flex-wrap:wrap; }
  .health-rule-tools,.catalog-grid,.inline-form,.consolidated-power-heading,.consolidated-power-cards{ grid-template-columns:1fr; }
  .duration-controls{ justify-content:flex-start; }
  .duration-controls > span{ text-align:left; }
  .duration-status{ align-items:flex-start; flex-direction:column; }
  .duration-status > small{ max-width:none; text-align:left; }
  .growth-ledger{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .growth-stage-card{ grid-template-columns:34px minmax(0,1fr); }
  .growth-stage-card > .growth-state{ grid-column:2; }
  .catalog-inventory-slot{ grid-template-columns:20px minmax(0,1fr) 24px; }
  .catalog-inventory-slot .inventory-quantity{ grid-column:2; }
  .catalog-inventory-slot > .list-row-remove{ grid-column:3; grid-row:1; }
  .weapon-ammo-actions small{ width:100%; margin-left:0; }
}

@media print{
  .no-print,.sheet-tabs,.toolbar,.add-char-btn,.add-inv-btn,.list-row-remove,.note-remove-btn,
  .notes-toolbar,.remove-notebook-btn,.craft-button,.parts-control button,.condition-add,
  .condition-card button,.pc-control-btn,.primary-action,.filter-grid button,#masoquista-voluntary,
  #add-weapon-button,.weapon-to-inventory,.inventory-weapon-actions,.inventory-editor-footer,#roll-reset-modifiers,
  .need-reset,#relationship-add-button,.relationship-remove,.relationship-delta,.relationship-scale,
  #clear-filter-mode,#clear-corruption-filters,.text-action,.inventory-quantity button,.weapon-ammo-actions{ display:none !important; }
  .sheet-page,.sheet-page.active{ display:block !important; animation:none !important; }
  .sheet-page{ break-after:page; page-break-after:always; }
  .sheet-page:last-of-type{ break-after:auto; page-break-after:auto; }
  .page-heading{ margin-top:0; }
  .section,.weapon-card,.armor-card,.recipe-card,.power-card,.flower-stage,.note-card{ break-inside:avoid; page-break-inside:avoid; }
  .power-list{ max-height:none; overflow:visible; }
  .flower-stages{ grid-template-columns:repeat(5,1fr); }
  .recipe-grid{ grid-template-columns:repeat(3,1fr); }
  .sheet-page + .sheet-page{ padding-top:2mm; }
  details:not([open]) > :not(summary){ display:block !important; }
  .portrait-frame{ box-shadow:none !important; }
  input,select,textarea{ color:#111 !important; }
  .note-card{ background:#fff8cf; }
}
