/* Shared prototype UI: toast + mobile drawer (no plain white) */
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:#0F2347;color:#E8ECF2;padding:12px 18px;border-radius:12px;font:600 14px/1.4 'Plus Jakarta Sans',system-ui,sans-serif;box-shadow:0 14px 40px rgba(5,12,28,.35);opacity:0;pointer-events:none;transition:.25s;z-index:90;max-width:calc(100vw - 36px);display:flex;gap:10px;align-items:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast::before{content:"";width:8px;height:8px;border-radius:50%;background:#FF6B57;flex:none}
.drawer-bg{position:fixed;inset:0;background:rgba(15,35,71,.55);z-index:70;opacity:0;pointer-events:none;transition:.25s}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(86vw,340px);background:#F2F4F7;z-index:71;transform:translateX(102%);transition:transform .28s ease,visibility .28s;display:flex;flex-direction:column;visibility:hidden;font-family:'Plus Jakarta Sans',system-ui,sans-serif}
body.drawer-open .drawer{transform:none;visibility:visible;box-shadow:-20px 0 50px rgba(5,12,28,.3)}
body.drawer-open .drawer-bg{opacity:1;pointer-events:auto}
body.drawer-open{overflow:hidden}
.drawer .dh{background:#0F2347;color:#E8ECF2;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;font-weight:800;letter-spacing:.06em}
.drawer .dh button{background:rgba(232,236,242,.1);border:0;color:#E8ECF2;width:38px;height:38px;border-radius:10px;cursor:pointer;font-size:20px;line-height:1}
.drawer nav{overflow-y:auto;padding:10px 10px 24px}
.drawer h6{margin:14px 10px 6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#5B6B82}
.drawer a{display:flex;align-items:center;gap:12px;padding:11px 10px;border-radius:10px;color:#0F2347;font-weight:600;font-size:15px;text-decoration:none}
.drawer a:hover,.drawer a.on{background:#E4E8EE}
.drawer a svg{width:20px;height:20px;fill:none;stroke:#2A4373;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.drawer .cta{display:grid;gap:8px;padding:10px}
.drawer .cta a{justify-content:center;background:#FF6B57;font-weight:700}
.drawer .cta a.alt{background:#E4E8EE}

/* ---------- Shorts (shared: index, just-listed, shorts) ---------- */
.srail-head{margin-bottom:18px}
.srail-nav{display:flex;gap:8px;align-items:center}
.srail-nav .btn{padding:10px 12px}
.srail-nav [data-rail="-1"] svg{transform:rotate(180deg)}
.srail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 10px;scroll-behavior:smooth}
.srail::-webkit-scrollbar{display:none}
.short{position:relative;flex:none;width:188px;aspect-ratio:9/16;border-radius:16px;overflow:hidden;display:block;color:#E8ECF2;scroll-snap-align:start;box-shadow:0 1px 2px rgba(15,35,71,.06),0 8px 24px rgba(15,35,71,.12);transition:transform .2s;isolation:isolate}
.short:hover{transform:translateY(-3px)}
.short .sv{position:absolute;inset:0;background-size:240% 240% !important;animation:svpan 8s ease-in-out infinite alternate;z-index:-2}
.short .sglow{position:absolute;width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(242,244,247,.22),transparent);top:12%;left:-20%;animation:glowmv 6s ease-in-out infinite alternate;z-index:-1}
.short>svg.i{position:absolute;left:50%;top:40%;width:42%;height:auto;transform:translate(-50%,-50%);color:rgba(232,236,242,.85);stroke-width:1.1;animation:bob 3s ease-in-out infinite}
.short::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,35,71,.35) 0,transparent 20%,transparent 50%,rgba(15,35,71,.9) 100%);z-index:0}
.short .stop,.short .sbot,.short .sprog{position:absolute;z-index:1}
.short .stop{top:14px;left:10px;right:10px;display:flex;justify-content:space-between;align-items:center;font-size:11.5px;font-weight:700}
.short .sbadge,.short .sviews{display:inline-flex;align-items:center;gap:4px;background:rgba(15,35,71,.55);border-radius:999px;padding:3px 8px}
.short .sbadge svg,.short .sviews svg{width:12px;height:12px}
.short .sbadge svg{fill:#E8ECF2}
.short .sprog{top:6px;left:10px;right:10px;height:3px;border-radius:9px;background:rgba(232,236,242,.25);overflow:hidden}
.short .sprog i{display:block;height:100%;width:0;background:#E8ECF2;animation:fprog 9s linear infinite}
.short .sbot{left:10px;right:10px;bottom:10px;display:grid;gap:6px}
.short .sbot b{font-size:14px;line-height:1.25}
.short .sseller{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#AEB9CB;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.short .sseller .av{width:20px;height:20px;font-size:8px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#E8ECF2;flex:none}
.slab{justify-self:start;display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;border-radius:7px;padding:4px 8px;letter-spacing:.01em}
.slab svg{width:12px;height:12px}
.slab.auc{background:#D93036;color:#F6E9EA}
.slab.fix{background:#FF6B57;color:#0F2347}
.livebadge{display:inline-flex;align-items:center;gap:6px;background:#D93036;color:#F6E9EA;font-size:11px;font-weight:800;letter-spacing:.08em;border-radius:6px;padding:3px 8px}
.livebadge i{width:7px;height:7px;border-radius:50%;background:#F6E9EA;animation:lbblink 1.2s infinite}
@keyframes lbblink{50%{opacity:.25}}
@keyframes svpan{0%{background-position:0% 0%}100%{background-position:100% 100%}}
@keyframes glowmv{from{transform:translate(0,0)}to{transform:translate(60%,40%)}}
@keyframes bob{0%,100%{transform:translate(-50%,-50%) rotate(-3deg)}50%{transform:translate(-50%,-56%) rotate(3deg)}}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes fprog{to{width:100%}}
.srail-sec{padding-top:10px}
@media (max-width:640px){.short{width:150px}.srail-nav .btn-line{display:none}.srail-head{flex-direction:column;align-items:flex-start}}
@media (prefers-reduced-motion:reduce){.short .sv,.short .sglow,.short>svg.i,.short .sprog i{animation:none}}
