:root{--bg:#14131a;--paper:#f4efe6;--ink:#1b1a22;--lav:#c9bcff;--pin:#e60023;--mute:#8d8a99}
html,body{background:var(--bg);color:var(--paper);font-family:'IBM Plex Mono',monospace;margin:0}
body{background-image:radial-gradient(circle at 15% 10%,rgba(201,188,255,.12),transparent 40%),radial-gradient(circle at 85% 80%,rgba(230,0,35,.07),transparent 45%),repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0 1px,transparent 1px 80px);min-height:100vh}
.serif{font-family:'Instrument Serif',serif}
.card{background:rgba(244,239,230,.04);border:1px solid rgba(244,239,230,.12);border-radius:20px}
.chip{border:1px solid rgba(244,239,230,.2);border-radius:999px;padding:4px 12px;font-size:12px;cursor:pointer;transition:.2s}
.chip.on{background:var(--lav);color:var(--ink);border-color:var(--lav)}
.btn{border-radius:999px;padding:10px 18px;font-weight:700;font-size:13px;transition:transform .2s,box-shadow .2s;cursor:pointer}
.btn:hover{transform:translateY(-2px)}
.btn-main{background:var(--paper);color:var(--ink)}
.btn-main:hover{box-shadow:0 10px 30px rgba(201,188,255,.35)}
.btn-ghost{border:1px solid rgba(244,239,230,.25)}
.btn-pin{background:var(--pin);color:#fff}
.drop{border:2px dashed rgba(201,188,255,.35);border-radius:28px;transition:.2s}
.drop.over{border-color:var(--lav);background:rgba(201,188,255,.08)}
input,select{background:rgba(0,0,0,.3);border:1px solid rgba(244,239,230,.15);border-radius:12px;padding:10px 12px;color:var(--paper);outline:none;font-family:inherit;font-size:13px}
input:focus{border-color:var(--lav)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.float{animation:float 3.2s ease-in-out infinite}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.rise{animation:rise .6s both}
@keyframes fade{0%,100%{opacity:.3}50%{opacity:1}}
.pulse{animation:fade 1.6s infinite}
.masonry{columns:4 220px;column-gap:16px}
.masonry>*{break-inside:avoid;margin-bottom:16px}
.ba{position:relative;overflow:hidden;border-radius:16px;user-select:none;touch-action:none}
.ba img{display:block;width:100%}
.ba .top{position:absolute;inset:0;overflow:hidden}
.ba .top img{height:100%;object-fit:cover}
.ba .bar{position:absolute;top:0;bottom:0;width:2px;background:var(--lav)}