/* EduVid360 — Apoyo emocional (componentes específicos) */
.chips-inline{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.chips-inline .chip{ font-size:13px; }
.bubble .note{ font-size:13px; color:var(--gray); font-style:italic; margin-top:10px; }
.bubble ol{ margin:8px 0 8px 20px; }

.strip{ display:grid; grid-template-columns:repeat(14,1fr); gap:4px; }
.strip .d{
    aspect-ratio:1; border-radius:6px;
    border:1px dashed var(--line);
    background:transparent; padding:0; cursor:default;
}
.strip .d.has{ border:none; cursor:pointer; }

.tool-grid{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.tile{
    display:flex; flex-direction:column; align-items:flex-start; gap:10px;
    padding:14px; border-radius:14px; border:1px solid var(--line); background:#fff;
    font:inherit; font-size:13px; font-weight:600; color:var(--ink); text-align:left; cursor:pointer;
    transition:border-color .2s ease, transform .2s ease;
}
.tile:hover{ border-color:var(--sage); transform:translateY(-2px); }
.tile i{ font-size:16px; color:var(--sage-ink); }
.tile:nth-child(4n+2) i, .tile:nth-child(4n+3) i{ color:var(--coral); }
.tile--alert i{ color:var(--alert); }
.tile--alert:hover{ border-color:var(--alert); }

.seg{ display:flex; gap:6px; flex-wrap:wrap; margin:12px 0; }
.seg button{
    flex:1; min-width:96px; padding:9px 10px; border-radius:10px; border:1px solid var(--line);
    background:#fff; font:inherit; font-size:13px; font-weight:600; cursor:pointer; color:var(--ink);
}
.seg button[aria-pressed="true"]{ border-color:var(--sage-ink); background:rgba(130,192,154,.16); }

.breath-wrap{ display:flex; justify-content:center; padding:18px 0 8px; }
.breath-js{
    width:160px; height:160px; border-radius:50%; background:var(--cobalt); color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-family:var(--display); font-weight:700; font-size:22px;
    transform:scale(.7);
    transition:transform 4s ease-in-out;
}
.center{ text-align:center; }
.tool-actions{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:16px; }

.step-card{ text-align:center; padding:8px 0 4px; }
.step-card .big{ font-family:var(--display); font-weight:900; font-size:64px; line-height:1; color:var(--sage-dk); }
.step-card p{ font-size:17px; line-height:1.6; margin-top:10px; }
.progress{ height:6px; background:var(--line); border-radius:99px; overflow:hidden; margin:18px 0 6px; }
.progress span{ display:block; height:100%; background:var(--sage-ink); width:0; transition:width .4s ease; }

.scale5{ display:flex; gap:8px; justify-content:center; margin-top:14px; }
.scale5 button{
    width:44px; height:44px; border-radius:50%; border:1px solid var(--line); background:#fff;
    font:inherit; font-weight:700; cursor:pointer;
}
.scale5 button:hover{ border-color:var(--sage-ink); background:rgba(130,192,154,.16); }

.field textarea{
    width:100%; font:inherit; font-size:14px; padding:10px 12px; border:1px solid var(--line);
    border-radius:10px; background:#fff; resize:vertical; min-height:70px;
}
.field textarea:focus{ outline:none; border-color:var(--sage); box-shadow:0 0 0 3px rgba(130,192,154,.25); }
.field .hint{ font-size:12px; color:var(--gray); margin-top:4px; }
.field input[type=range]{ padding:0; accent-color:var(--sage-ink); }

.emo-pick{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:14px; }
.emo-pick button{
    border:1px solid var(--line); background:#fff; border-radius:12px; padding:10px 4px; cursor:pointer;
    font:inherit; display:flex; flex-direction:column; align-items:center; gap:2px; font-size:12px; font-weight:600;
}
.emo-pick button span.f{ font-size:24px; }
.emo-pick button[aria-pressed="true"]{ border-color:var(--sage-ink); background:rgba(130,192,154,.16); }

.entry{ display:flex; align-items:flex-start; gap:12px; padding:10px 0; border-bottom:1px solid var(--line); font-size:14px; }
.entry .dot2{ width:14px; height:14px; border-radius:50%; margin-top:4px; flex-shrink:0; }
.entry .meta{ flex:1; }
.entry .meta small{ color:var(--gray); display:block; font-family:var(--mono); font-size:11px; }
.entry button{ border:none; background:none; color:var(--gray); cursor:pointer; font-size:14px; }

.result-card{ margin-top:16px; padding:16px; border-radius:14px; background:var(--paper); border:1px solid var(--line); line-height:1.7; font-size:14px; }
.result-card pre{ white-space:pre-wrap; font:inherit; }
.tips{ margin:12px 0 0 18px; font-size:13px; color:var(--gray); line-height:1.7; }
.plan-sum{ margin-top:16px; padding:14px 16px; border-radius:14px; border:1px solid var(--line); background:var(--paper); font-size:13px; line-height:1.7; }
.plan-sum h3{ font-size:14px; margin-bottom:6px; }
.plan-sum dt{ font-weight:700; margin-top:6px; }
.plan-sum dd{ color:var(--gray); white-space:pre-wrap; }

@media (max-width:900px){
    .strip{ grid-template-columns:repeat(7,1fr); }
}
