.card{background:#fff;border:1px solid #e4e4e7;border-radius:1rem}
.icon-chip{width:2.25rem;height:2.25rem;border-radius:.65rem;background:#eef2ff;color:#4f46e5;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.input{width:100%;height:2.75rem;padding:0 .9rem;border:1px solid #e4e4e7;border-radius:.7rem;background:#fff;font-size:.9rem;outline:none;transition:border-color .15s}
.input:focus{border-color:#6366f1;outline:3px solid #e0e7ff}
.input::placeholder{text-transform:none;letter-spacing:normal;font-family:Inter,system-ui,sans-serif;color:#a1a1aa}
.btn-primary,.btn-outline,.btn-ghost{display:inline-flex;align-items:center;gap:.45rem;height:2.5rem;padding:0 1rem;border-radius:.7rem;font-size:.875rem;font-weight:500;transition:background .15s,border-color .15s;white-space:nowrap}
.btn-primary{background:#4f46e5;color:#fff}
.btn-primary:hover{background:#4338ca}
.btn-primary:disabled{opacity:.6;cursor:not-allowed}
form .btn-primary{height:2.75rem}
.btn-outline{background:#fff;border:1px solid #e4e4e7;color:#27272a}
.btn-outline:hover{border-color:#d4d4d8;background:#fafafa}
.btn-ghost{color:#52525b}
.btn-ghost:hover{background:#f4f4f5}
.icon-btn{width:2.5rem;height:2.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.7rem;color:#71717a}
.icon-btn:hover{background:#f4f4f5;color:#18181b}
.menu-item{display:flex;width:100%;align-items:center;gap:.5rem;padding:.55rem .7rem;border-radius:.5rem;font-size:.875rem}
.menu-item:hover{background:#fef2f2}
.seg{display:inline-flex;background:#f4f4f5;border-radius:.7rem;padding:3px}
.seg-btn{display:inline-flex;align-items:center;gap:.35rem;height:2rem;padding:0 .8rem;border-radius:.55rem;font-size:.8rem;font-weight:500;color:#71717a}
.seg-btn.active{background:#fff;color:#18181b;border:1px solid #e4e4e7}
.seg-count{font-size:.7rem;color:#a1a1aa}
.tile{position:relative;aspect-ratio:1/1;border-radius:.8rem;overflow:hidden;background:#e4e4e7;cursor:pointer}
.tile img,.tile video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.tile:hover img,.tile:hover video{transform:scale(1.03)}
.tile .badge{position:absolute;left:.5rem;bottom:.5rem;display:flex;align-items:center;gap:.25rem;background:rgba(0,0,0,.6);color:#fff;font-size:.7rem;padding:.15rem .45rem;border-radius:.4rem}
.tile .del{position:absolute;right:.5rem;top:.5rem;width:2rem;height:2rem;border-radius:.5rem;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}
.tile:hover .del{opacity:1}
@media (hover:none){.tile .del{opacity:1}}
.lb-btn{width:2.5rem;height:2.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.6rem;color:rgba(255,255,255,.8)}
.lb-btn:hover{background:rgba(255,255,255,.1);color:#fff}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:2.75rem;height:2.75rem;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;z-index:2}
.lb-nav:hover{background:rgba(255,255,255,.2)}
#lbStage img,#lbStage video{max-width:100%;max-height:100%;object-fit:contain;border-radius:.4rem}
.bar{height:4px;background:#f4f4f5;border-radius:99px;overflow:hidden}
.bar>div{height:100%;background:#4f46e5;transition:width .2s}
