/* ==========================================================
   Pinky · Incubadora (ideas · fases F1–F10 · categorías · niveles N1–N20)
   ========================================================== */
:root,[data-theme="dark"]{
  /* Complejidad: rampa ordinal de un solo tono (violeta), validada contra la superficie oscura */
  --lv1:#4d3aad;--lv2:#6a55d8;--lv3:#8f7eff;--lv4:#c3b9ff;
  /* Categorías: paleta categórica fija (orden 1→8), pasos para fondo oscuro */
  --c1:#3987e5;--c2:#d95926;--c3:#199e70;--c4:#c98500;--c5:#d55181;--c6:#008300;--c7:#9085e9;--c8:#e66767;
  --phase:#3987e5;
}
[data-theme="light"]{
  --lv1:#b4a8ff;--lv2:#8f7cf0;--lv3:#6a52d6;--lv4:#4a36a8;
  --c1:#2a78d6;--c2:#eb6834;--c3:#1baf7a;--c4:#eda100;--c5:#e87ba4;--c6:#008300;--c7:#4a3aa7;--c8:#e34948;
  --phase:#2a78d6;
}
.b0{--lvc:var(--muted)}.b1{--lvc:var(--lv1)}.b2{--lvc:var(--lv2)}.b3{--lvc:var(--lv3)}.b4{--lvc:var(--lv4)}
.c0{--cc:var(--muted)}.c1{--cc:var(--c1)}.c2{--cc:var(--c2)}.c3{--cc:var(--c3)}.c4{--cc:var(--c4)}.c5{--cc:var(--c5)}.c6{--cc:var(--c6)}.c7{--cc:var(--c7)}.c8{--cc:var(--c8)}

/* ---------- Chips ---------- */
.lvl{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.72rem;font-weight:600;padding:3px 9px 3px 7px;border-radius:99px;border:1px solid var(--lvc);background:var(--panel2);color:var(--text);white-space:nowrap}
.lvl::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--lvc)}
.lvl-ink{color:var(--text)}
.lvl-ink::after{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--lvc);margin-left:8px;vertical-align:middle}
.phs{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.72rem;white-space:nowrap}
.phs b{font-weight:600;color:var(--text)}
.phs-steps{display:inline-grid;grid-template-columns:repeat(10,5px);gap:2px}
.phs-steps i{display:block;height:9px;border-radius:2px;background:var(--heat0);border:1px solid var(--line)}
.phs-steps i.on{background:var(--phase);border-color:var(--phase)}
.phs.big .phs-steps{grid-template-columns:repeat(10,1fr);width:100%;gap:4px;margin:12px 0}
.phs.big{display:block}
.phs.big .phs-steps i{height:14px;border-radius:4px}
.cat{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;padding:3px 9px 3px 7px;border-radius:99px;border:1px solid var(--line-strong);background:var(--panel2);color:var(--text);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.cat::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--cc)}
.cat.none{color:var(--muted);border-style:dashed}
.cat.none::before{background:transparent;border:1.5px dashed var(--muted)}
.istatus{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:.68rem;padding:2px 8px;border-radius:6px;border:1px solid var(--line-strong);color:var(--text2);white-space:nowrap}
.istatus::before{content:"●";font-size:.6rem}
.istatus.s-activa{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}
.istatus.s-pausada{color:var(--warning);border-color:rgba(250,178,25,.5)}
.istatus.s-pausada::before{content:"❚❚";font-size:.5rem}
.istatus.s-descartada{color:var(--muted);text-decoration:line-through}
.istatus.s-descartada::before{content:"×";font-size:.8rem;text-decoration:none}
.istatus.s-graduada{color:var(--good-ink);border-color:rgba(12,163,12,.5)}
.istatus.s-graduada::before{content:"✓";font-size:.72rem}
[data-theme="light"] .istatus.s-pausada{color:#9a6700}
.sw{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--lvc);flex:none}

/* ---------- Charts ---------- */
.inc-chart .bar.b1{fill:var(--lv1)}.inc-chart .bar.b2{fill:var(--lv2)}.inc-chart .bar.b3{fill:var(--lv3)}.inc-chart .bar.b4{fill:var(--lv4)}
.inc-chart .bar{fill:var(--phase)}
.inc-chart g[data-inc]:hover .bar{opacity:.78}
.inc-legend{margin-top:10px}
.inc-legend span::before{background:var(--lvc)}
.inc-hbar{grid-template-columns:minmax(120px,190px) minmax(0,1fr) 34px;cursor:pointer}
.inc-hbar>span:first-child{overflow:hidden}
.inc-hbar .fill{background:var(--cc,var(--accent))}
.imatrix{display:grid;grid-template-columns:78px repeat(10,minmax(0,1fr));gap:3px;align-items:center}
.imatrix .ih{font-family:var(--mono);font-size:.64rem;color:var(--muted);text-align:center}
.imatrix .ir{display:flex;align-items:center;gap:6px;font-size:.74rem;color:var(--text2);white-space:nowrap}
.icell{aspect-ratio:1.35;border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--phase) calc(var(--a,0) * 100%),var(--heat0));color:var(--text);font-family:var(--mono);font-size:.72rem;cursor:pointer;padding:0;min-width:0}
.icell.hi{color:#fff}
.icell:hover{outline:2px solid var(--accent);outline-offset:1px}
.icell[tabindex="-1"]{cursor:default}
.icell[tabindex="-1"]:hover{outline:0}

/* ---------- Resumen vacío ---------- */
.inc-hero{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;margin-bottom:16px}
.inc-hero-mark{display:grid;place-items:center;width:86px;height:86px;border-radius:24px;background:linear-gradient(135deg,var(--pink),var(--accent2) 55%,var(--accent));color:#fff;box-shadow:0 10px 40px rgba(139,123,255,.35)}
.inc-hero-mark i{width:44px;height:44px}
.inc-hero h2{font-size:1.45rem}
.inc-hero p{margin:8px 0 0;color:var(--text2);line-height:1.55;max-width:760px}
.inc-hero .note{display:flex;gap:8px;align-items:center}
.inc-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.inc-step{cursor:pointer;transition:transform .2s,border-color .2s}
.inc-step:hover{transform:translateY(-3px);border-color:var(--line-strong)}
.inc-step h3{margin-top:2px}
.inc-step p.muted{font-size:.82rem;line-height:1.5;margin:10px 0 0}
.lvl-scale{display:grid;grid-template-columns:repeat(20,1fr);gap:3px;margin:12px 0}
.lvl-scale i{display:block;height:14px;border-radius:3px;background:var(--lvc)}
.inc-mini{grid-template-columns:44px minmax(0,1fr) auto}
.inc-mini .rank{font-size:.9rem}
.inc-mini p{display:flex;gap:8px;align-items:center}
.inc-mini-meta{display:flex;gap:8px;align-items:center}

/* ---------- Lista ---------- */
.inc-table td{vertical-align:middle}
.inc-table strong{font-weight:600}
.inc-clamp{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;max-width:520px}
.inc-table tr:focus-visible{outline:2px solid var(--accent)}
.inc-card .stats b{display:flex}
.inc-card h3{overflow-wrap:anywhere}

/* ---------- Tablero de fases ---------- */
.inc-kanban{display:grid;grid-template-columns:repeat(10,minmax(210px,1fr));gap:12px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x proximity}
.incol{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px;min-height:420px;display:flex;flex-direction:column;gap:9px;scroll-snap-align:start;transition:border-color .2s,background .2s}
.incol.over{border-color:var(--accent);background:var(--accent-soft)}
.incol-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:start;padding:2px 2px 8px;border-bottom:1px solid var(--line)}
.incol-head b{display:flex;align-items:center;gap:7px;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.incol-head .pnum{font-family:var(--mono);font-size:.72rem;padding:2px 6px;border-radius:6px;background:color-mix(in srgb,var(--phase) calc(var(--p) * 85%),var(--panel2));color:var(--text);border:1px solid var(--line-strong)}
.incol-head small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:.7rem;margin-top:4px;line-height:1.35}
.incol-head>span{font-family:var(--mono);font-size:.72rem;color:var(--muted);padding-top:3px}
.incol-head .mini{padding:3px 6px}
.incol-empty{font-size:.76rem;text-align:center;margin-top:18px}
.incard{background:var(--panel-solid);border:1px solid var(--line);border-radius:12px;padding:11px;cursor:pointer;display:grid;gap:7px;transition:transform .15s,border-color .15s}
.incard[draggable="true"]{cursor:grab}
.incard:hover{border-color:var(--line-strong);transform:translateY(-1px)}
.incard.dragging{opacity:.4}
.incard strong{font-size:.88rem;line-height:1.3;overflow-wrap:anywhere}
.incard .row{display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap}
.incard .movers{display:none;flex-wrap:nowrap}
@media (hover:none),(max-width:900px){.incard .movers{display:flex}}

/* ---------- Categorías ---------- */
.inc-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.inc-catcard{display:flex;flex-direction:column;gap:12px;overflow:hidden}
.inc-catcard::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--cc)}
.inc-catcard .top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.inc-catcard h3 .cat{font-size:.95rem;padding:5px 12px 5px 9px}
.inc-catcard .vision{margin:0;color:var(--text2);font-size:.84rem;line-height:1.45}
.inc-catcard .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px 0;border-block:1px solid var(--line)}
.inc-catcard .stats div{display:grid;gap:2px}
.inc-catcard .stats small{font-size:.62rem;color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em}
.inc-catcard .stats b{font-size:.95rem}
.cat-dist{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;height:64px;align-items:end}
.cat-dist span{display:grid;grid-template-rows:1fr auto;height:100%;gap:3px}
.cat-dist span>i{align-self:end;display:block;background:var(--cc);border-radius:3px 3px 0 0;min-height:0}
.cat-dist small{font-family:var(--mono);font-size:.56rem;color:var(--muted);text-align:center;border-top:1px solid var(--chart-axis);padding-top:2px}
.cat-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.cat-list li{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:6px 8px;border-radius:9px;cursor:pointer;font-size:.8rem}
.cat-list li:hover{background:var(--panel2)}
.cat-list .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cat-list .mono{font-size:.7rem}
.inc-catcard>.mini{align-self:flex-start}

/* ---------- Niveles ---------- */
.inc-band{cursor:pointer;transition:border-color .2s}
.inc-band:hover{border-color:var(--lvc)}
.inc-band::after{background:radial-gradient(circle,color-mix(in srgb,var(--lvc) 30%,transparent),transparent 70%)}
.lvl-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.lvl-row{display:grid;grid-template-columns:54px 150px minmax(160px,1fr) minmax(0,1.3fr) 28px auto;gap:12px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.lvl-row .lvl{justify-content:center}
.lvl-meter{display:grid;grid-template-columns:repeat(20,1fr);gap:2px}
.lvl-meter i{display:block;height:10px;border-radius:2px;background:var(--heat0)}
.lvl-meter i.on{background:var(--lvc)}
.lvl-txt{min-width:0;display:grid;gap:2px}
.lvl-txt b{font-size:.84rem;font-weight:600}
.lvl-txt small{font-size:.74rem;color:var(--text2);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lvl-txt small.muted{color:var(--muted)}
.lvl-ideas{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.idea-pill{border:1px solid var(--line);background:var(--panel);color:var(--text2);border-radius:99px;padding:3px 9px;font-size:.72rem;cursor:pointer;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.idea-pill:hover{border-color:var(--accent);color:var(--accent)}
.lvl-count{text-align:right;color:var(--text2);font-size:.8rem}

/* ---------- Ficha de idea ---------- */
.inc-idea-hero h2{overflow-wrap:anywhere}
.inc-idea-score{display:grid;grid-template-columns:repeat(2,auto);gap:12px}
.inc-idea-score div{display:grid;gap:4px;padding:14px 18px;border:1px solid var(--line);border-radius:16px;background:var(--panel2);min-width:120px}
.inc-idea-score small{font-family:var(--mono);font-size:.64rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.inc-idea-score b{font-size:2rem;letter-spacing:-.04em;line-height:1}
.inc-idea-score b span{font-size:.9rem;color:var(--muted);font-weight:500;margin-left:2px}
.pstepper{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}
.pstep{position:relative;display:grid;gap:3px;justify-items:start;text-align:left;padding:10px 10px 9px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--text2);cursor:pointer;min-width:0;transition:border-color .15s,background .15s}
.pstep::before{content:"";position:absolute;left:10px;right:10px;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--heat0)}
.pstep b{font-family:var(--mono);font-size:.8rem}
.pstep small{font-size:.68rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-height:1em}
.pstep.done::before{background:var(--phase)}
.pstep.done{color:var(--text)}
.pstep.cur{border-color:var(--phase);background:color-mix(in srgb,var(--phase) 16%,var(--panel2));color:var(--text)}
.pstep.cur::before{background:var(--phase);height:4px}
.pstep:not(:disabled):hover{border-color:var(--accent)}
.pstep:disabled{cursor:default}
.lv-meter{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:4px}
.lv-cell{height:30px;border-radius:6px;border:1px solid var(--line);background:var(--heat0);cursor:pointer;padding:0}
.lv-cell.on{background:var(--lvc);border-color:var(--lvc)}
.lv-cell:not(:disabled):hover{outline:2px solid var(--accent);outline-offset:1px}
.lv-cell:disabled{cursor:default}
.lv-scale-labels{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.64rem;color:var(--muted);margin-top:6px}
.inc-prose{white-space:pre-wrap;line-height:1.6;font-size:.9rem;color:var(--text2)}

/* ---------- Formularios ---------- */
.level-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.level-input input[type=range]{padding:0;border:0;background:transparent;box-shadow:none;accent-color:var(--accent2);height:32px}
.level-input output{min-width:128px;justify-content:flex-start}
.swatch-field{display:grid;gap:6px;font-size:.76rem;color:var(--text2)}
.swatches{display:flex;gap:8px;flex-wrap:wrap}
.swatch{position:relative;cursor:pointer}
.swatch input{position:absolute;opacity:0;pointer-events:none}
.swatch span{display:block;width:30px;height:30px;border-radius:50%;background:var(--cc);border:2px solid var(--panel-solid);box-shadow:0 0 0 1px var(--line-strong)}
.swatch input:checked+span{box-shadow:0 0 0 2px var(--text)}
.swatch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}

/* ---------- Responsive ---------- */
@media (max-width:1280px){
  .lvl-row{grid-template-columns:54px 110px minmax(140px,1fr) minmax(0,1fr) 28px auto}
}
@media (max-width:1080px){
  .lvl-row{grid-template-columns:54px minmax(0,1fr) 28px auto}
  .lvl-row .lvl-meter{display:none}
  .lvl-row .lvl-ideas{grid-column:2/-1;grid-row:2}
  .pstepper{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (max-width:900px){
  .inc-hero{grid-template-columns:1fr}
  .inc-hero-mark{width:64px;height:64px;border-radius:18px}
  .inc-kanban{grid-template-columns:repeat(10,minmax(230px,80vw));scroll-snap-type:x mandatory}
  .inc-cat-grid{grid-template-columns:1fr}
  .inc-catcard .stats{grid-template-columns:repeat(2,1fr)}
  .imatrix{grid-template-columns:58px repeat(10,minmax(0,1fr));gap:2px}
  .imatrix .ir{font-size:.64rem}
  .icell{font-size:.6rem;border-radius:4px}
  .inc-mini{grid-template-columns:36px minmax(0,1fr)}
  .inc-mini-meta{grid-column:2}
  .inc-idea-score{grid-template-columns:repeat(2,1fr);width:100%}
  .lv-meter{gap:2px}
  .lv-cell{height:26px;border-radius:4px}
  .inc-table thead{display:none}
  .inc-table tr{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;padding:10px 4px;border-bottom:1px solid var(--line)}
  .inc-table td{padding:0;border:0;background:transparent!important}
  .inc-table td:nth-child(2){grid-column:1/-1;grid-row:1}
  .inc-table td:nth-child(1){display:none}
  .inc-table td:last-child{display:none}
  .inc-clamp{max-width:none}
  .level-input output{min-width:0}
}
@media (max-width:520px){
  .pstepper{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
  .pstep{padding:8px 6px}
  .pstep small{display:none}
}

/* ajustes */
.inc-mini p .cat{flex:none}
.inc-mini-sum{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cat-list .phs-steps{display:none}

/* Gestión de ideas y tareas */
.inc-crud,.inc-position,.inc-card-tools,.inc-task-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.inc-position{flex-wrap:nowrap;font-size:.75rem}.inc-order-handle{border:0;background:transparent;color:var(--muted);font-size:1.35rem;cursor:grab;touch-action:none;padding:5px}.inc-order-handle:active{cursor:grabbing}
.inc-card-tools{margin:10px 0;justify-content:space-between}.inc-tasks .task-list{margin-bottom:15px}.inc-task{gap:7px;flex-wrap:wrap}.inc-task .txt{flex:1;min-width:150px}.inc-task-status{max-width:145px;font-size:.75rem}.inc-task .txt small{display:block;width:max-content;margin-top:5px}.inc-task.done .txt>span{text-decoration:line-through;color:var(--muted)}.inc-task .checkbox.checked{border-color:var(--good);color:var(--good)}
[data-inc-order-row].dragging{opacity:.5}[data-inc-order-row].drop-before{box-shadow:inset 0 3px var(--accent)}[data-inc-order-row].drop-after{box-shadow:inset 0 -3px var(--accent)}
.inc-idea-hero .ring{flex:none}.inc-idea-hero{grid-template-columns:minmax(0,1fr) auto auto}.inc-idea-score{flex-wrap:wrap}.inc-idea-hero .ring{align-self:center}
@media(max-width:1050px){.inc-task-status{max-width:120px}.inc-task-actions{margin-left:auto}.inc-idea-hero{grid-template-columns:minmax(0,1fr) auto}.inc-idea-score{grid-column:1/-1}}
@media(max-width:600px){.inc-task .txt{min-width:120px}.inc-task-status{margin-left:50px;max-width:150px}.inc-task-actions{margin-left:auto}.inc-idea-hero{grid-template-columns:1fr}.inc-idea-hero .ring{justify-self:start}}

@media(max-width:900px){.inc-table td:nth-child(1){display:block;grid-row:1;grid-column:1}.inc-table td:nth-child(2){grid-row:1;grid-column:2}.inc-table td:nth-child(3){grid-row:2;grid-column:1/-1}.inc-table td:nth-child(4){grid-column:1/-1}.inc-table td:nth-child(9){grid-column:1/-1}.inc-table .inc-crud{justify-content:flex-end}.inc-table .cat{white-space:normal}}

.inc-task{display:flex}.inc-task .txt{min-width:120px}.inc-task .inc-order-handle{flex:none}.inc-task .inc-task-actions{margin-left:auto}
