:root{
  --bg:#14110f; --bg2:#1c1815; --ink:#f4ede2; --ink-dim:#b7a994;
  --paper:#221d19; --line:#3a322b; --ember:#ff5a1f; --ember-soft:#ff8a3d;
  --gold:#e8b04b; --green:#5cc97a; --red:#e0533d; --amber:#e8b04b;
  --shadow:0 18px 50px -20px rgba(0,0,0,.7);
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:'Spline Sans',sans-serif;background:var(--bg);color:var(--ink);
  line-height:1.55;min-height:100vh;
  background-image:radial-gradient(circle at 15% -10%,rgba(255,90,31,.12),transparent 45%),radial-gradient(circle at 90% 0%,rgba(232,176,75,.08),transparent 40%);
}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px;position:relative;z-index:2}
header{padding:38px 0 26px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.brand h1{font-family:'Fraunces',serif;font-weight:900;font-size:clamp(30px,4.5vw,46px);
  letter-spacing:-.02em;line-height:1;background:linear-gradient(100deg,var(--ember),var(--gold));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.brand .spark{font-size:30px;filter:drop-shadow(0 0 14px rgba(255,90,31,.6))}
.tagline{color:var(--ink-dim);font-size:15px;margin-top:8px;max-width:640px}
.tagline b{color:var(--gold);font-weight:600}
.layout{display:grid;grid-template-columns:1fr 360px;gap:26px;padding:30px 0 80px;align-items:start}
@media(max-width:920px){.layout{grid-template-columns:1fr}}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.panel-pad{padding:24px}
.label{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--ember-soft);font-weight:600;margin-bottom:14px;display:flex;align-items:center;gap:8px}
/* Editor */
.slot{margin-bottom:20px}
.slot:last-child{margin-bottom:0}
.slot-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}
.slot-head .v{font-size:13px;color:var(--ink-dim)}
textarea.title-in{width:100%;background:var(--bg2);border:1px solid var(--line);border-radius:12px;
  color:var(--ink);font-family:'Fraunces',serif;font-size:21px;font-weight:600;line-height:1.35;
  padding:14px 16px;resize:vertical;min-height:64px;transition:border-color .2s}
textarea.title-in:focus{outline:none;border-color:var(--ember)}
.meter{height:7px;background:var(--bg2);border-radius:6px;overflow:hidden;margin-top:9px;border:1px solid var(--line)}
.meter>i{display:block;height:100%;width:0;border-radius:6px;transition:width .25s,background .25s}
.stat-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;font-size:12.5px;color:var(--ink-dim)}
.stat-row b{color:var(--ink);font-weight:600}
.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.03em}
.pill.ok{background:rgba(92,201,122,.16);color:var(--green)}
.pill.warn{background:rgba(232,176,75,.16);color:var(--amber)}
.pill.bad{background:rgba(224,83,61,.16);color:var(--red)}
.feedback{margin-top:10px;font-size:13px;display:flex;flex-direction:column;gap:5px}
.fb{display:flex;gap:8px;align-items:flex-start}
.fb .ic{flex:0 0 auto;margin-top:1px}
.fb.good{color:var(--green)} .fb.tip{color:var(--amber)} .fb.cut{color:var(--ember-soft)}
.hl-power{color:var(--gold);font-weight:600;text-shadow:0 0 12px rgba(232,176,75,.3);border-bottom: 2px solid var(--gold);}
.hl-weak{color:var(--red);text-decoration:underline wavy var(--red);text-underline-offset:3px}

/* Sugerencias de Lluvia de Ideas */
.sugg-box { margin-top: 15px; background: rgba(232,176,75,.06); border: 1px dashed var(--gold); border-radius: 10px; padding: 14px; animation: fade .3s ease;}
.sugg-title { font-size: 12.5px; color: var(--gold); margin-bottom: 10px; font-weight: 600; display: flex; align-items: center; gap: 6px;}
.sugg-list { display: flex; flex-wrap: wrap; gap: 7px; }
.sugg-pill { font-size: 11.5px; font-weight: 600; background: var(--bg2); border: 1px solid rgba(232,176,75,.3); color: var(--ink); padding: 5px 12px; border-radius: 8px; cursor: pointer; transition: all 0.2s; user-select: none; }
.sugg-pill:hover { border-color: var(--gold); background: var(--gold); color: #1a1410; transform: translateY(-1px); }
.sugg-pill:active { transform: translateY(0); }

.btn{cursor:pointer;border:1px solid var(--line);background:var(--bg2);color:var(--ink);
  font-family:inherit;font-size:13.5px;font-weight:500;padding:9px 15px;border-radius:10px;transition:all .18s}
.btn:hover{border-color:var(--ember);color:#fff}
.btn.primary{background:linear-gradient(100deg,var(--ember),var(--ember-soft));border:none;color:#1a1410;font-weight:600}
.btn.primary:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
/* Arquetipos */
.search{width:100%;background:var(--bg2);border:1px solid var(--line);border-radius:11px;color:var(--ink);font-family:inherit;font-size:14px;padding:11px 14px;margin-bottom:13px}
.search:focus{outline:none;border-color:var(--ember)}
.cats{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}
.cat{cursor:pointer;font-size:11.5px;padding:5px 11px;border-radius:999px;border:1px solid var(--line);color:var(--ink-dim);background:transparent;transition:all .15s}
.cat:hover{color:var(--ink)}
.cat.active{background:var(--ember);border-color:var(--ember);color:#1a1410;font-weight:600}
.arq-list{display:flex;flex-direction:column;gap:11px;padding-right:6px}
.arq-list::-webkit-scrollbar{width:8px}
.arq-list::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}
.arq{border:1px solid var(--line);border-radius:13px;background:var(--bg2);overflow:hidden;transition:border-color .2s}
.arq.open{border-color:var(--ember-soft)}
.arq-top{padding:13px 15px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px}
.arq-top h3{font-family:'Fraunces',serif;font-size:17px;font-weight:600}
.arq-cat{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ember-soft);margin-top:2px}
.chev{color:var(--ink-dim);transition:transform .2s;flex:0 0 auto}
.arq.open .chev{transform:rotate(180deg)}
.arq-body{display:none;padding:0 15px 16px}
.arq.open .arq-body{display:block;animation:fade .25s ease}
@keyframes fade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.arq-body .gat{font-size:11.5px;color:var(--gold);margin-bottom:8px;letter-spacing:.02em}
.arq-body .exp{font-size:13.5px;color:var(--ink-dim);margin-bottom:13px}
.sub{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin:11px 0 6px;font-weight:600}
.tpl,.ex{font-family:'Fraunces',serif;font-size:14px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px 11px;margin-bottom:6px;cursor:pointer;transition:all .15s;display:flex;justify-content:space-between;align-items:center;gap:8px}
.tpl:hover,.ex:hover{border-color:var(--ember);color:#fff}
.tpl .use{font-size:10px;color:var(--ember-soft);opacity:0;transition:opacity .15s;white-space:nowrap}
.tpl:hover .use{opacity:1}
.care{font-size:12px;color:var(--amber);background:rgba(232,176,75,.08);border-left:3px solid var(--amber);padding:8px 11px;border-radius:0 8px 8px 0;margin-top:11px}
/* Saved */
.saved-item{border:1px solid var(--line);border-radius:11px;padding:12px 14px;margin-bottom:10px;background:var(--bg2)}
.saved-item .t{font-family:'Fraunces',serif;font-size:15px;margin-bottom:5px}
.saved-meta{font-size:11.5px;color:var(--ink-dim);display:flex;justify-content:space-between;gap:8px;align-items:center}
.x{cursor:pointer;color:var(--ink-dim);font-size:16px}
.x:hover{color:var(--red)}
.empty{color:var(--ink-dim);font-size:13px;font-style:italic;text-align:center;padding:18px}
.count-badge{background:var(--ember);color:#1a1410;font-size:11px;font-weight:700;border-radius:999px;padding:1px 8px;margin-left:4px}
.btn-reload{margin-left:auto;cursor:pointer;background:transparent;border:1px solid var(--line);color:var(--ink-dim);border-radius:8px;padding:3px 8px;font-size:13px;line-height:1;transition:border-color .15s,color .15s}
.btn-reload:hover{border-color:var(--ember);color:var(--ink)}
.btn-reload:disabled{cursor:default;opacity:.7}
.btn-reload .ri{display:inline-block}
.btn-reload.spinning .ri{animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.winner{border-color:var(--gold)!important;box-shadow:0 0 0 1px var(--gold)}
.star{cursor:pointer;font-size:15px;color:var(--line)}
.star.on{color:var(--gold);text-shadow:0 0 10px rgba(232,176,75,.5)}
footer{border-top:1px solid var(--line);padding:22px 0;color:var(--ink-dim);font-size:12px;text-align:center}
