.personasPage{width:100%;height:calc(100vh - 48px);position:relative;display:flex;flex-direction:column;flex:100 1;overflow:hidden;background:var(--bg)}.personasPage-content{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-6);background:var(--bg)}.personas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:var(--space-4);gap:var(--space-4);align-items:stretch}.persona-card{display:flex;flex-direction:column;background:var(--surface-flat);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.persona-card:hover{border-color:var(--accent-tint-border);box-shadow:0 6px 18px rgba(0,0,0,.06);transform:translateY(-1px)}.persona-card.is-active{border-color:var(--accent-tint-border);background:linear-gradient(180deg,var(--accent-tint) 0,transparent 42%),var(--surface-flat)}.persona-card--skeleton{align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4)}.persona-card__body{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4) var(--space-4);background:none;border:none;cursor:pointer;text-align:center;color:inherit;font:inherit}.persona-card__name{margin:var(--space-2) 0 0;font-size:var(--text-base);font-weight:600;color:var(--text-ink);line-height:1.2}.persona-card__job{margin:0;font-size:14px;color:var(--text-muted);line-height:1.3}.persona-card__traits{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.persona-card__trait{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-full);padding:2px 8px;opacity:.65}.persona-card__trait.is-on{color:var(--accent);background:var(--accent-tint);border-color:var(--accent-tint-border);opacity:1}.persona-card__foot{display:flex;justify-content:center;align-items:center;min-height:44px;padding:var(--space-2) var(--space-4) var(--space-4)}.persona-card__badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--accent);background:var(--accent-tint);border:1px solid var(--accent-tint-border);border-radius:var(--radius-full);padding:4px 10px}.persona-detail__overlay{position:fixed;inset:0;z-index:940;background:rgba(20,14,10,.38);display:flex;justify-content:flex-end;animation:personaOverlayIn .14s ease}@keyframes personaOverlayIn{0%{opacity:0}to{opacity:1}}.persona-detail{width:min(560px,100%);height:100%;display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--border);box-shadow:-18px 0 48px rgba(0,0,0,.16);animation:personaDrawerIn .18s ease}@keyframes personaDrawerIn{0%{transform:translateX(24px);opacity:.4}to{transform:translateX(0);opacity:1}}@media (prefers-reduced-motion:reduce){.persona-detail,.persona-detail__overlay{animation:none}}.persona-detail__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:1px solid var(--border)}.persona-detail__head-titles h2{margin:0;font-size:18px;font-weight:700;color:var(--text-ink);line-height:1.2}.persona-detail__head-titles span{display:block;margin-top:2px;font-size:14px;color:var(--text-muted)}.persona-detail__close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-flat);color:var(--text-muted);cursor:pointer}.persona-detail__close:hover{color:var(--text-ink);border-color:var(--accent-tint-border)}.persona-detail__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-5) var(--space-6) var(--space-8);display:flex;flex-direction:column;gap:var(--space-5)}.persona-detail__section{background:var(--surface-flat);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-5)}.persona-detail__section-title{margin:0;font-size:var(--text-base);font-weight:700;color:var(--text-ink)}.persona-detail__section-hint{margin:4px 0 var(--space-4);font-size:14px;color:var(--text-muted);line-height:1.4}.persona-detail__create-note{margin:0;font-size:14px;color:var(--text-muted);text-align:center;padding:var(--space-2) var(--space-4)}.persona-detail__photo{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.persona-detail__photo-actions{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1)}.persona-detail__photo-hint{font-size:12px;color:var(--text-muted);line-height:1.35;max-width:320px}.persona-detail__fields{display:flex;flex-direction:column;gap:var(--space-3)}.persona-detail__field{display:flex;flex-direction:column;gap:6px}.persona-detail__field>span{font-size:14px;font-weight:600;color:var(--text-ink)}.persona-detail__field input,.persona-detail__field textarea{width:100%;font:inherit;font-size:15px;line-height:1.5;color:var(--text-ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:10px 12px;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.persona-detail__field textarea{resize:none;overflow:hidden;min-height:78px}.persona-detail__field input:focus,.persona-detail__field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.persona-detail__field input:disabled,.persona-detail__field textarea:disabled{opacity:.6;cursor:not-allowed}.persona-detail__section-actions{display:flex;justify-content:flex-end;margin-top:var(--space-4)}.persona-detail__current{gap:var(--space-3);padding:var(--space-3);background:var(--surface-sunken);border:1px solid var(--border)}.persona-detail__current,.persona-detail__current-thumb{display:flex;align-items:center;border-radius:var(--radius-lg)}.persona-detail__current-thumb{flex:0 0 auto;width:56px;height:56px;overflow:hidden;justify-content:center;background:var(--surface-flat);color:var(--text-muted);border:1px solid var(--border)}.persona-detail__current-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.persona-detail__current-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.persona-detail__current-info strong{font-size:14px;color:var(--text-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.persona-detail__current-info span{font-size:12px;color:var(--text-muted)}.persona-detail__current-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1)}.persona-detail__voice-play{flex:0 0 auto;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:1px solid var(--accent-tint-border);background:var(--accent-tint);color:var(--accent);cursor:pointer}.persona-detail__voice-play:disabled{opacity:.5;cursor:not-allowed}.persona-detail__voice-play.is-playing{background:var(--accent);color:var(--accent-on)}.persona-detail__empty-trait{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px dashed var(--border);border-radius:var(--radius-lg);font-size:14px;color:var(--text-muted)}.persona-detail__adv{margin-top:var(--space-3);border-top:1px solid var(--border);padding-top:var(--space-2)}.persona-detail__adv-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:var(--space-2) 0;cursor:pointer;font-size:14px;font-weight:600;color:var(--text-muted)}.persona-detail__adv-toggle:hover{color:var(--text-ink)}.persona-detail__adv-toggle svg{transition:transform .14s ease}.persona-detail__adv.is-open .persona-detail__adv-toggle svg{transform:rotate(180deg)}.persona-detail__adv-body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-2) 0 var(--space-1)}.persona-detail__adv-field{display:flex;flex-direction:column;gap:6px}.persona-detail__adv-field--row{flex-direction:row;align-items:center;justify-content:space-between}.persona-detail__adv-label{font-size:14px;color:var(--text-ink)}.persona-detail__adv-slider{display:flex;align-items:center;gap:var(--space-3)}.persona-detail__adv-slider>div{flex:1 1 auto}.persona-detail__adv-value{flex:0 0 42px;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-muted);text-align:right}.persona-detail__adv-actions{display:flex;justify-content:flex-end}@media (max-width:640px){.persona-detail{width:100%;border-left:none}.personasPage-content{padding:var(--space-4)}}