.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg) 76%,transparent);backdrop-filter:blur(3px)}.modal-box{width:520px;max-width:92vw;max-height:82vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:0 0 0 1px #0009,0 24px 70px -18px #000000e6,0 0 70px -30px var(--mark-glow);color:var(--text)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:.7rem .9rem;border-bottom:1px solid var(--border)}.modal-head span{font-family:var(--font-display);font-size:.92rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-bright)}.modal-head button{background:none;border:none;color:var(--text-mute);font-size:1rem;cursor:pointer;padding:.1rem .4rem}.modal-head button:hover{color:var(--text-bright);background:none}.save-list{overflow-y:auto;padding:.4rem .9rem .6rem;flex:1}.save-empty{color:var(--text-mute);font-size:.85rem;padding:1.4rem .2rem;text-align:center}.save-group{font-size:.64rem;text-transform:uppercase;letter-spacing:.17em;color:var(--text-mute);margin:.8rem 0 .3rem}.save-row{display:flex;align-items:center;gap:.3rem}.save-name{flex:1;text-align:left;background:none;border:1px solid transparent;color:var(--text);font-family:var(--font-ui);font-size:.85rem;cursor:pointer;padding:.3rem .45rem;border-radius:var(--radius);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-name:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent-line);color:var(--text-bright)}.save-icon{background:var(--raised);border:1px solid var(--border-strong);color:var(--text-dim);font-size:.78rem;cursor:pointer;padding:.2rem .45rem;border-radius:var(--radius)}.save-icon:hover{border-color:var(--accent-line);color:var(--text-bright)}.modal-foot{border-top:1px solid var(--border);padding:.7rem .9rem;display:flex;flex-direction:column;gap:.5rem}.save-newrow{display:flex;gap:.4rem}.save-newrow input{flex:1;font-size:.85rem;padding:.3rem .5rem}.modal-foot button{font-size:.85rem;padding:.3rem .8rem}
