/* MODALS */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(8px);z-index:500;display:flex;align-items:center;justify-content:center;padding:14px;opacity:0;pointer-events:none;transition:opacity .25s;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal-box{background:var(--white);border-radius:var(--r-xl);padding:19px 16px;max-width:500px;width:100%;max-height:92vh;overflow-y:auto;box-shadow:var(--shadow-lg);transform:scale(.88);transition:transform .25s;}
.modal-overlay.open .modal-box{transform:scale(1);}
.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.modal-title{font-size:16px;font-weight:800;}
.modal-x{width:26px;height:26px;border-radius:50%;border:2px solid var(--border);background:none;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;}
.modal-x:hover{background:var(--bg);}
.info-content{background:var(--bg);border-radius:var(--r);padding:12px;margin-bottom:11px;line-height:1.7;font-size:12px;font-weight:600;white-space:pre-line;}

/* EMOTION GAME */
.emo-game-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:10px;}
.egb{padding:9px 3px;border-radius:12px;border:2.5px solid var(--border);background:var(--bg);cursor:pointer;text-align:center;transition:transform .15s;}
.egb:hover{transform:scale(1.07);}
.egb.sel{box-shadow:0 0 0 3px var(--ocean);border-color:var(--ocean);background:var(--ocean-pale);}
.emo-big{font-size:24px;display:block;margin-bottom:2px;}
.emo-lbl{font-size:9px;font-weight:800;color:var(--text-soft);}
.int-row{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px;}
.int-chip{padding:5px 10px;border-radius:16px;border:2.5px solid var(--border);background:var(--bg);cursor:pointer;font:700 10px 'Nunito',sans-serif;color:var(--text-soft);transition:all .15s;}
.int-chip.sel{background:var(--violet);color:var(--white);border-color:var(--violet);}
.emo-result{background:var(--violet-pale);border-radius:var(--r);padding:11px;margin-bottom:9px;display:none;}
.emo-result.show{display:block;animation:fadeUp .3s;}
.emo-result-label{font-size:9px;font-weight:800;color:var(--violet);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px;}
.emo-result-text{font-size:13px;font-weight:700;line-height:1.5;}


/* ─── PECS personalizzate ─── */
.pecs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:4px 0 14px;}
.pecs-card{position:relative;background:var(--white);border-radius:16px;border:3px solid rgba(0,0,0,.06);box-shadow:0 3px 10px rgba(0,0,0,.08);cursor:pointer;overflow:hidden;display:flex;flex-direction:column;transition:transform .12s;}
.pecs-card:active{transform:scale(.95);}
.pecs-card-img{width:100%;aspect-ratio:1/1;background:var(--bg);}
.pecs-card-img img{width:100%;height:100%;object-fit:cover;display:block;}
.pecs-card-label{padding:7px 4px;font:900 12px 'Arial Black',sans-serif;color:#1e293b;text-align:center;text-transform:uppercase;letter-spacing:.3px;line-height:1.15;}
.pecs-card-edit{position:absolute;top:5px;right:5px;width:26px;height:26px;border-radius:50%;border:none;background:rgba(255,255,255,.9);color:#1e293b;font-size:13px;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;}
.pecs-card-add{border:3px dashed var(--border);background:var(--bg);align-items:center;justify-content:center;min-height:120px;}
.pecs-add-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-soft);height:100%;padding:14px 4px;}
