
/* Capa medieval rosa para Amity */
:root {
  --bg-color:#14050f;
  --box-bg:rgba(34,11,26,.88);
  --box-border:#a04c79;
  --accent-red:#f08cc0;
  --text-main:#f8edf4;
  --text-muted:#d7b6c8;
  --white-border:#efcf99;
  --accent-gold:#d6ae6a;
  --amity-rose:#f4a7cf;
  --amity-plum:#8d456f;
  --amity-rose-deep:#6f244c;
  --amity-parchment:#2a1320;
}
html {
  background:
    radial-gradient(circle at top, rgba(255,179,216,.10), transparent 34%),
    radial-gradient(circle at 20% 20%, rgba(233,190,110,.06), transparent 24%),
    linear-gradient(180deg, #1b0713 0%, #0f040b 100%);
}
body {
  background-color:var(--bg-color)!important;
  background-image:
    radial-gradient(circle at 50% 0%, rgba(248,178,217,.11), transparent 25%),
    linear-gradient(180deg, rgba(255,225,246,.02), rgba(0,0,0,0)),
    url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20900%20900%22%3E%0A%3Cdefs%3E%0A%20%20%3ClinearGradient%20id%3D%22g%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%221%22%3E%0A%20%20%20%20%3Cstop%20offset%3D%220%25%22%20stop-color%3D%22%23f1c98d%22%20stop-opacity%3D%220.18%22/%3E%0A%20%20%20%20%3Cstop%20offset%3D%2250%25%22%20stop-color%3D%22%23f08cc0%22%20stop-opacity%3D%220.12%22/%3E%0A%20%20%20%20%3Cstop%20offset%3D%22100%25%22%20stop-color%3D%22%23d99a51%22%20stop-opacity%3D%220.16%22/%3E%0A%20%20%3C/linearGradient%3E%0A%3C/defs%3E%0A%3Cg%20fill%3D%22none%22%20stroke%3D%22url%28%23g%29%22%20stroke-width%3D%228%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Ccircle%20cx%3D%22450%22%20cy%3D%22450%22%20r%3D%22290%22%20opacity%3D%220.45%22/%3E%0A%20%20%3Ccircle%20cx%3D%22450%22%20cy%3D%22450%22%20r%3D%22250%22%20opacity%3D%220.30%22%20stroke-dasharray%3D%228%2016%22/%3E%0A%20%20%3Cpath%20d%3D%22M450%20182%20L520%20238%20L520%20390%20C520%20510%20477%20598%20450%20646%20C423%20598%20380%20510%20380%20390%20L380%20238%20Z%22%20opacity%3D%220.45%22/%3E%0A%20%20%3Cpath%20d%3D%22M450%20220%20L490%20250%20L490%20388%20C490%20472%20466%20543%20450%20579%20C434%20543%20410%20472%20410%20388%20L410%20250%20Z%22%20opacity%3D%220.2%22/%3E%0A%20%20%3Cpath%20d%3D%22M450%20258%20L450%20560%22%20opacity%3D%220.5%22/%3E%0A%20%20%3Cpath%20d%3D%22M420%20290%20L480%20290%22%20opacity%3D%220.5%22/%3E%0A%20%20%3Cpath%20d%3D%22M450%20188%20L450%20128%22%20opacity%3D%220.55%22/%3E%0A%20%20%3Cpath%20d%3D%22M435%20143%20L450%20116%20L465%20143%22%20opacity%3D%220.55%22/%3E%0A%20%20%3Cpath%20d%3D%22M450%20560%20L428%20604%20L450%20666%20L472%20604%20Z%22%20opacity%3D%220.5%22/%3E%0A%20%20%3Cpath%20d%3D%22M380%20250%20C318%20252%20250%20295%20214%20360%20C285%20344%20339%20364%20380%20404%22%20opacity%3D%220.42%22/%3E%0A%20%20%3Cpath%20d%3D%22M520%20250%20C582%20252%20650%20295%20686%20360%20C615%20344%20561%20364%20520%20404%22%20opacity%3D%220.42%22/%3E%0A%20%20%3Cpath%20d%3D%22M372%20412%20C332%20404%20284%20418%20250%20454%20C304%20456%20346%20474%20380%20510%22%20opacity%3D%220.24%22/%3E%0A%20%20%3Cpath%20d%3D%22M528%20412%20C568%20404%20616%20418%20650%20454%20C596%20456%20554%20474%20520%20510%22%20opacity%3D%220.24%22/%3E%0A%20%20%3Cpath%20d%3D%22M450%20328%20l22%2014%20-6%2026%20h-32%20l-6%20-26%20z%22%20opacity%3D%220.45%22/%3E%0A%20%20%3Cpath%20d%3D%22M428%20446%20l22%20-16%2022%2016%20-8%2027%20h-28%20z%22%20opacity%3D%220.32%22/%3E%0A%20%20%3Cpath%20d%3D%22M450%20286%20l0%200%22/%3E%0A%20%20%3Cpath%20d%3D%22M214%20360%20Q187%20336%20164%20316%22%20opacity%3D%220.18%22/%3E%0A%20%20%3Cpath%20d%3D%22M686%20360%20Q713%20336%20736%20316%22%20opacity%3D%220.18%22/%3E%0A%20%20%3Cpath%20d%3D%22M302%20186%20q18%20-30%2048%20-46%20q21%20-10%2047%20-12%22%20opacity%3D%220.18%22/%3E%0A%20%20%3Cpath%20d%3D%22M598%20186%20q-18%20-30%20-48%20-46%20q-21%20-10%20-47%20-12%22%20opacity%3D%220.18%22/%3E%0A%3C/g%3E%0A%3Cg%20fill%3D%22url%28%23g%29%22%20opacity%3D%220.22%22%3E%0A%20%20%3Ccircle%20cx%3D%22450%22%20cy%3D%22160%22%20r%3D%229%22/%3E%0A%20%20%3Ccircle%20cx%3D%22245%22%20cy%3D%22454%22%20r%3D%228%22/%3E%0A%20%20%3Ccircle%20cx%3D%22655%22%20cy%3D%22454%22%20r%3D%228%22/%3E%0A%20%20%3Ccircle%20cx%3D%22450%22%20cy%3D%22682%22%20r%3D%229%22/%3E%0A%3C/g%3E%0A%3C/svg%3E")!important;
  background-repeat:no-repeat,no-repeat,no-repeat!important;
  background-position:center top,center center,center 180px!important;
  background-size:100% 100%,100% 100%,min(76vw,820px)!important;
}
body::before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(circle at 50% 35%, rgba(241,201,141,.04), transparent 28%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.008) 0 2px, transparent 2px 10px);
  opacity:.7;
}
body::after {
  content:"";
  position:fixed;
  inset:18px;
  pointer-events:none;
  border:1px solid rgba(239,207,153,.12);
  box-shadow:inset 0 0 0 1px rgba(240,140,192,.06);
  border-radius:18px;
}
.page {
  background:
    linear-gradient(180deg, rgba(56,19,40,.92), rgba(19,6,15,.96)),
    radial-gradient(circle at top, rgba(240,140,192,.08), transparent 40%)!important;
  border:1px solid rgba(239,207,153,.72)!important;
  box-shadow:0 18px 36px rgba(0,0,0,.45), 0 0 0 1px rgba(240,140,192,.10), inset 0 0 0 1px rgba(255,255,255,.03), inset 0 0 28px rgba(0,0,0,.3)!important;
  border-radius:22px;
  overflow:hidden;
}
.page::before,
.page::after {
  content:"";
  position:absolute;
  width:112px;
  height:112px;
  background-image:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20160%20160%22%3E%0A%3Cg%20fill%3D%22none%22%20stroke%3D%22%23e7bf83%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20opacity%3D%220.75%22%3E%0A%20%3Cpath%20d%3D%22M14%2078%20C20%2042%2042%2020%2078%2014%22/%3E%0A%20%3Cpath%20d%3D%22M28%2078%20C34%2050%2050%2034%2078%2028%22/%3E%0A%20%3Cpath%20d%3D%22M14%2078%20C26%2084%2034%2094%2038%20108%20C44%2092%2058%2082%2078%2078%22/%3E%0A%20%3Ccircle%20cx%3D%2278%22%20cy%3D%2278%22%20r%3D%226%22/%3E%0A%3C/g%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-size:contain;
  opacity:.7;
  pointer-events:none;
}
.page::before { top:8px; left:8px; }
.page::after { right:8px; bottom:8px; transform:rotate(180deg); }
.page-title-divider, .box-title {
  color:#f0cf9b!important;
  letter-spacing:.08em;
  text-shadow:0 1px 0 #000, 0 0 12px rgba(240,140,192,.18);
}
.page-title-divider {
  position:relative;
  padding-bottom:10px!important;
}
.page-title-divider::before,
.page-title-divider::after {
  content:"✦";
  color:rgba(240,207,155,.88);
  margin-inline:10px;
}
#gc-topbar {
  background:linear-gradient(180deg, rgba(40,10,28,.96), rgba(23,7,17,.96))!important;
  border:1px solid rgba(239,207,153,.35)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.28), inset 0 0 0 1px rgba(240,140,192,.10);
}
#gc-sidebar {
  background:linear-gradient(180deg, rgba(36,10,25,.98), rgba(17,5,13,.98))!important;
  border-right:1px solid rgba(239,207,153,.22)!important;
}
.gc-brand strong, .gc-heading h1, .char-name-box label, .meta-item label, .combat-stat label, .group-label {
  color:#f1d6a9!important;
}
.gc-nav-button, .gc-top-action {
  border:1px solid rgba(240,140,192,.22)!important;
  background:linear-gradient(180deg, rgba(90,30,61,.54), rgba(35,12,25,.72))!important;
  color:#f8ebf4!important;
}
.gc-nav-button:hover, .gc-nav-button[aria-current="page"], .gc-top-action:hover {
  background:linear-gradient(180deg, rgba(140,57,100,.78), rgba(70,22,49,.92))!important;
  border-color:rgba(239,207,153,.55)!important;
  box-shadow:0 0 0 1px rgba(240,140,192,.18), 0 0 14px rgba(240,140,192,.16);
}
.box,
.list-box,
.combat-stat,
.meta-item,
.prof-insp-box,
.hp-box,
.spell-level-box,
.tracker-card,
.coin-manager-panel,
.gm-item,
.action-group,
.turn-economy-bar,
.status-conc-bar,
.quick-trackers-panel {
  background:linear-gradient(180deg, rgba(46,14,31,.84), rgba(22,8,17,.9))!important;
  border-color:rgba(240,140,192,.28)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02), 0 8px 18px rgba(0,0,0,.16);
}
.box::before { border-top-color:rgba(239,207,153,.92)!important; border-left-color:rgba(239,207,153,.92)!important; }
textarea,input,select {
  background:rgba(17,4,12,.75)!important;
  border-color:rgba(189,101,146,.48)!important;
  color:#fbf3f8!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
input:focus,textarea:focus,select:focus {
  border-color:rgba(239,207,153,.75)!important;
  box-shadow:0 0 0 2px rgba(239,207,153,.14), inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.floating-btn,
.btn-roll,
.btn-add-row,
.mini-btn,
.amity-harmony-btn,
.amity-harmony-item,
.acc-btn,
.gm-filter,
.cast-btn,
.calc-btn,
button.gc-nav-button {
  border-radius:12px!important;
}
.floating-btn,
.btn-roll,
.btn-add-row,
.amity-harmony-btn,
.mini-btn,
.cast-btn,
.calc-btn {
  background:linear-gradient(180deg, rgba(128,42,88,.84), rgba(67,22,46,.94))!important;
  color:#fff2f8!important;
  border:1px solid rgba(239,207,153,.42)!important;
  box-shadow:0 4px 10px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08);
}
.floating-btn:hover,
.btn-roll:hover,
.btn-add-row:hover,
.amity-harmony-btn:hover,
.mini-btn:hover,
.cast-btn:hover,
.calc-btn:hover {
  background:linear-gradient(180deg, rgba(167,69,118,.94), rgba(102,31,69,.98))!important;
  border-color:rgba(239,207,153,.72)!important;
  transform:translateY(-1px);
}
.btn-rune {
  background:linear-gradient(180deg, rgba(103,37,118,.92), rgba(50,19,66,.96))!important;
  border-color:rgba(197,150,255,.48)!important;
  color:#f1d9ff!important;
}
.btn-save {
  background:linear-gradient(180deg, rgba(163,81,124,.96), rgba(112,37,76,.98))!important;
}
.btn-inv { background:linear-gradient(180deg, rgba(166,117,65,.96), rgba(105,66,31,.98))!important; }
.btn-npc { background:linear-gradient(180deg, rgba(89,124,118,.92), rgba(39,73,68,.96))!important; }
.btn-enemy { background:linear-gradient(180deg, rgba(151,53,98,.95), rgba(85,18,49,.98))!important; }
.btn-rest { background:linear-gradient(180deg, rgba(116,76,122,.92), rgba(66,37,73,.98))!important; }
.char-name-box, .traits-box, .features-box { position:relative; }
.char-name-box::after, .features-box::after {
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(239,207,153,.08);
  border-radius:14px;
  pointer-events:none;
}
.char-name-box input {
  color:#ffd9ec!important;
  text-shadow:0 0 10px rgba(240,140,192,.1);
}
.header-top, .main-grid, .appearance-grid { gap:18px!important; }
.acc-item, .amity-harmony-panel, .spell-level-box, .gm-item {
  border:1px solid rgba(240,140,192,.26)!important;
  box-shadow:0 10px 22px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.02);
}
.acc-btn {
  background:linear-gradient(180deg, rgba(62,20,43,.82), rgba(25,9,18,.95))!important;
  border:1px solid rgba(239,207,153,.18)!important;
}
.acc-btn:hover {
  background:linear-gradient(180deg, rgba(91,30,63,.88), rgba(36,12,25,.98))!important;
}
.amity-harmony-item {
  background:linear-gradient(180deg, rgba(77,22,52,.82), rgba(41,13,29,.88))!important;
  border-color:rgba(239,207,153,.18)!important;
}
.amity-harmony-item small, .amity-harmony-panel small, .box-title small { color:#e2bfcc!important; }
.atk-table thead th,
.spell-table thead th,
.equipment-table thead th {
  background:rgba(92,32,63,.58)!important;
  color:#f2d9a8!important;
  border-bottom:1px solid rgba(239,207,153,.26)!important;
}
.weight-summary,
.gc-search-status,
.sync-badge {
  background:rgba(63,20,43,.55)!important;
  border:1px solid rgba(240,140,192,.16)!important;
  color:#f3dae7!important;
}
#gc-tools, .cloud-gate-card, .dice-modal, .amity-harmony-dialog-card {
  background:linear-gradient(180deg, rgba(38,11,27,.97), rgba(19,6,15,.98))!important;
  border-color:rgba(239,207,153,.45)!important;
  box-shadow:0 20px 70px rgba(0,0,0,.48), inset 0 0 0 1px rgba(240,140,192,.08)!important;
}
.cloud-gate-mark, .dice-title { color:#f1cd99!important; text-shadow:0 0 12px rgba(240,140,192,.2); }
@media (max-width: 900px) {
  body::after { inset:10px; border-radius:14px; }
  .page { border-radius:18px; }
  .page::before, .page::after { width:86px; height:86px; opacity:.48; }
}
@media (max-width: 540px) {
  body { background-position:center top, center center, center 120px!important; background-size:100% 100%,100% 100%,88vw!important; }
  .page-title-divider::before, .page-title-divider::after { margin-inline:6px; }
}
