/* Centered decisions, restrained fluid motion, and gallery controls. */
.mask-bg { animation:veil-in .18s ease both; }
.dialog { animation:dialog-in .26s cubic-bezier(.2,.8,.2,1) both; }
.confirm-modal { backdrop-filter:blur(12px) saturate(.8); }
.confirm-modal .dialog { padding:30px;border-radius:26px;background:var(--glass);backdrop-filter:blur(30px);box-shadow:0 35px 110px #00000026,inset 0 1px 0 #ffffff35; }
.confirm-modal h3 { font-size:20px;letter-spacing:-.5px;margin-bottom:20px; }
.confirm-symbol { width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#d0524412;color:#cf5043;font-size:22px;font-weight:500;margin-bottom:16px; }
.confirm-message { color:var(--text-2);line-height:1.9;font-size:13px;overflow-wrap:anywhere;margin:0; }
.confirm-error { color:var(--bad);font-size:12px;line-height:1.7;margin-top:10px; }
.confirm-actions { display:flex;justify-content:flex-end;gap:10px;margin-top:28px; }
.confirm-actions .btn { min-width:92px;height:40px;border-radius:12px; }
.btn.destructive { background:#c94538;border-color:#c94538;color:white; }
.btn.destructive:hover { background:#b5382d; }
@keyframes veil-in { from { opacity:0; } }
@keyframes dialog-in { from { opacity:0;transform:translateY(12px) scale(.97); } }
#empty-hint { isolation:isolate;--hero-x:0px;--hero-y:0px; }
.eh-fluid { position:absolute;inset:-100px -180px;z-index:-1;pointer-events:none;overflow:visible; }
.eh-fluid>i { position:absolute;left:50%;top:48%;width:540px;height:320px;margin:-160px -270px;border:1px solid color-mix(in srgb,var(--text-3) 10%,transparent);border-radius:46% 54% 55% 45% / 44% 43% 57% 56%;animation:fluid-orbit 16s ease-in-out infinite; }
.eh-fluid>i:nth-child(2) { animation-delay:-5s;width:620px;height:370px;margin:-185px -310px;opacity:.55; }
.eh-fluid>i:nth-child(3) { animation-delay:-10s;opacity:.35;filter:blur(1px); }
#empty-hint .eh-icon { animation:hero-float 7s ease-in-out infinite;translate:var(--hero-x) var(--hero-y);transition:translate 1s cubic-bezier(.2,.8,.2,1); }
.eh-title>span { display:inline-block;animation:letter-wave 6s ease-in-out infinite;animation-delay:calc(var(--letter) * -.24s); }
.eh-eyebrow { animation:eyebrow-breathe 7s ease-in-out infinite; }
.eh-sub,.eh-actions,.eh-tips { animation:hero-arrive .8s cubic-bezier(.2,.8,.2,1) both; }
.eh-actions { animation-delay:.1s; }.eh-tips { animation-delay:.2s; }
.eh-actions .btn { transition:transform .25s,box-shadow .25s,background .2s; }
.eh-actions .btn:hover { transform:translateY(-3px);box-shadow:0 9px 24px #00000015; }
.hero-ripple { position:absolute;width:30px;height:30px;margin:-15px;border:1px solid var(--line-2);border-radius:50%;animation:hero-ripple 1.3s ease-out forwards; }
@keyframes fluid-orbit { 0%,100% { transform:translate(calc(var(--hero-x) * -1),calc(var(--hero-y) * -1)) rotate(-12deg) scale(.96); } 50% { transform:translate(var(--hero-x),var(--hero-y)) rotate(12deg) scale(1.08);border-radius:55% 45% 42% 58% / 58% 54% 46% 42%; } }
@keyframes hero-float { 0%,100% { transform:translateY(0) rotate(-7deg); } 50% { transform:translateY(-9px) rotate(3deg); } }
@keyframes letter-wave { 0%,70%,100% { transform:translateY(0); } 35% { transform:translateY(-2px); } }
@keyframes eyebrow-breathe { 0%,100% { opacity:.6; } 50% { opacity:1; } }
@keyframes hero-arrive { from { opacity:0;transform:translateY(10px); } }
@keyframes hero-ripple { to { transform:scale(18);opacity:0; } }
.lightbox { background:#101114e8;backdrop-filter:blur(20px);animation:veil-in .2s; }
.lightbox .lb-bar { top:20px;right:20px;padding:6px;border:1px solid #ffffff20;border-radius:17px;background:#29292dbc;backdrop-filter:blur(20px); }
.lightbox .lb-bar .btn { color:#f5f5f7;border:0;background:transparent;border-radius:11px; }
.lightbox .lb-bar .btn:hover { background:#ffffff15; }
.lightbox .lb-info { padding:7px 14px;border:1px solid #ffffff18;background:#29292da0;border-radius:20px;max-width:calc(100vw - 24px);width:max-content;white-space:normal;text-align:center;line-height:1.6;overflow-wrap:anywhere; }
.lightbox>img { transition:transform .2s ease;box-shadow:0 20px 90px #00000030;touch-action:none; }
.lightbox>.lb-animation-frame { max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 20px 90px #00000030; }
.lightbox>img[hidden],.lightbox>.lb-animation-frame[hidden] { display:none; }
@media(max-width:600px) { .eh-fluid { inset:-50px -30px;overflow:hidden; }.eh-fluid>i { width:300px;height:300px;margin:-150px; }.confirm-modal .dialog { padding:24px; }.lightbox .lb-bar { left:12px;right:12px;justify-content:center;gap:1px;flex-wrap:wrap; }.lightbox .lb-bar .btn { padding:6px 9px; } }
@media(prefers-reduced-motion:reduce) { .mask-bg,.dialog,#empty-hint *, .lightbox { animation:none!important;transition:none!important; }.eh-fluid { display:none; }.lightbox>img { transition:none; } }
@media(prefers-reduced-transparency:reduce) { .confirm-modal .dialog { background:var(--panel);backdrop-filter:none; } }
