/* ════════════════════════════════════════════════════════════════
   profile.css — Profile modal + story stack + rating stars
   ════════════════════════════════════════════════════════════════
   Extracted from dashboard.css in C-port turn 7. Holds .profile-*,
   .story-*, and .star/.stars rules.
   ════════════════════════════════════════════════════════════════ */


    .profile-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:150;opacity:0;pointer-events:none;transition:opacity .2s;}

    .profile-overlay.open{opacity:1;pointer-events:all;}

    .profile-panel{position:fixed;top:0;right:-420px;width:420px;height:100vh;background:#fff;box-shadow:-4px 0 24px rgba(0,0,0,.12);z-index:151;display:flex;flex-direction:column;transition:right .25s ease;overflow-y:auto;}

    .profile-panel.open{right:0;}

    .profile-header{padding:20px 24px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}

    .profile-header h2{font-size:17px;font-weight:700;}

    .profile-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--muted);padding:2px 6px;border-radius:4px;}

    .profile-body{padding:24px;display:flex;flex-direction:column;gap:18px;flex:1;}

    .profile-avatar-row{display:flex;align-items:center;gap:16px;}

    .profile-avatar{width:72px;height:72px;border-radius:50%;background:var(--accent-light);color:var(--accent);font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;border:3px solid var(--border);transition:border-color .15s;overflow:hidden;flex-shrink:0;}

    .profile-avatar:hover{border-color:var(--accent);}

    .profile-avatar img{width:100%;height:100%;object-fit:cover;}

    .profile-avatar-hint strong{display:block;font-size:15px;font-weight:600;color:var(--text);margin-bottom:2px;}

    .profile-avatar-hint{font-size:12px;color:var(--muted);}

    .profile-section{display:flex;flex-direction:column;gap:6px;}

    .profile-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}

    .profile-input{padding:9px 12px;border:1px solid var(--border);border-radius:7px;font-family:inherit;font-size:13px;outline:none;transition:border-color .15s;width:100%;}

    .profile-input:focus{border-color:var(--accent);}

    .profile-chips{display:flex;flex-wrap:wrap;gap:6px;}

    .profile-chip{padding:5px 12px;border-radius:999px;border:1px solid var(--border);font-size:12px;cursor:pointer;background:#fff;transition:all .12s;}

    .profile-chip.on{border-color:var(--accent);background:var(--accent-light);color:var(--accent);font-weight:600;}

    .profile-save{width:100%;padding:11px;background:var(--accent);color:white;border:none;border-radius:8px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s;}

    .profile-save:hover{background:var(--accent-dark);}

    .stars{display:flex;gap:8px;margin-bottom:18px;}

    .star{font-size:30px;cursor:pointer;opacity:.25;transition:opacity .1s,transform .1s;}

    .star.on{opacity:1;}

    .star:hover{transform:scale(1.15);}

    .story-section{margin-top:4px;}

    .story-card{border:0.5px solid var(--border);border-radius:10px;padding:14px;margin-bottom:10px;background:#fff;transition:border-color .15s;}

    .story-card:hover{border-color:var(--accent);}

    .story-card-top{display:flex;align-items:center;gap:10px;margin-bottom:8px;}

    .story-card-icon{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0;}

    .story-card-icon img{width:100%;height:100%;object-fit:cover;}

    .story-card-name{font-size:14px;font-weight:700;color:var(--accent);}

    .story-card-sub{font-size:10px;color:var(--muted);margin-top:1px;}

    .story-card-month{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px;}

    .story-card-text{font-size:12px;color:var(--text);line-height:1.7;}

    .story-card-goal{font-size:11px;color:var(--muted);margin-top:6px;font-style:italic;}

    .story-empty{font-size:12px;color:var(--muted);padding:12px 0;font-style:italic;}