:root{--short-bg:#07121d;--short-card:#101820;--short-accent:#7a55ff;--short-pink:#d543d7;--short-text:#fff;--short-muted:#c5ccd3}
*{box-sizing:border-box}
html,body{height:100%}
body.shorts-page{margin:0;overflow:hidden;background:radial-gradient(circle at 50% 25%,#25374c 0,#0b1723 42%,#050b11 100%);color:var(--short-text);font-family:"DM Sans",sans-serif}
.shorts-page .skip-link{position:fixed;top:-60px;left:16px;z-index:30;background:#fff;color:#111820;padding:10px 14px;border-radius:8px}.shorts-page .skip-link:focus{top:10px}
.shorts-topbar{position:fixed;inset:0 0 auto;z-index:20;height:64px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 22px;background:rgba(5,11,17,.9);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px)}
.shorts-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;width:max-content}.shorts-brand>span{display:grid;place-items:center;width:33px;height:33px;background:#fff;color:#111820;font-size:11px;font-weight:800}.shorts-brand b{font-size:13px;letter-spacing:-.02em}.shorts-brand em{color:#ff6072;font-style:normal}.shorts-topbar>div{text-align:center}.shorts-topbar>div h1,.shorts-topbar>div small{display:block}.shorts-topbar>div h1{font-size:17px;line-height:1.1;margin:0}.shorts-topbar>div small{font-size:10px;color:#aeb8c2;margin-top:1px}.shorts-close{justify-self:end;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:#fff;text-decoration:none;font-size:25px;line-height:1}
.short-filters{position:fixed;z-index:19;top:64px;left:0;right:0;display:flex;justify-content:center;gap:8px;overflow-x:auto;padding:10px 18px;background:rgba(5,11,17,.76);scrollbar-width:none}.short-filters::-webkit-scrollbar{display:none}.short-filters button{flex:0 0 auto;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:transparent;color:#d8dee4;padding:7px 13px;font:600 11px "DM Sans",sans-serif;cursor:pointer}.short-filters button.active{border-color:transparent;background:linear-gradient(100deg,var(--short-accent),var(--short-pink));color:#fff}.short-filters button:focus-visible,.shorts-close:focus-visible,.short-actions a:focus-visible,.short-actions button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.shorts-stage{height:100dvh;padding:109px 0 38px}.shorts-feed{height:100%;width:min(760px,100%);margin:auto;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;scrollbar-width:none;background:#101820;box-shadow:0 24px 80px rgba(0,0,0,.5)}.shorts-feed::-webkit-scrollbar{display:none}
.short-card{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:100%;padding:clamp(24px,5vw,48px);overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;background:var(--short-card)}.short-card[hidden]{display:none}.short-card:focus{outline:none}.short-card:focus-visible{outline:3px solid #fff;outline-offset:-6px}
.short-media,.short-shade{position:absolute;inset:0}.short-media{z-index:-2}.short-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}.short-shade{background:linear-gradient(180deg,rgba(5,10,16,.06) 10%,rgba(5,10,16,.34) 48%,rgba(5,10,16,.97) 91%),linear-gradient(90deg,rgba(5,10,16,.3),transparent 65%)}
.short-copy{width:100%;text-shadow:0 2px 18px rgba(0,0,0,.45)}.short-meta{display:flex;align-items:center;gap:10px;margin-bottom:13px;font-size:11px}.short-meta span{border-radius:999px;background:linear-gradient(100deg,var(--short-accent),var(--short-pink));padding:6px 11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.short-meta time{color:var(--short-muted)}.short-copy h2{max-width:680px;margin:0;font:800 clamp(29px,5vw,48px)/1.02 "Libre Franklin",sans-serif;letter-spacing:-.045em}.short-copy>p{max-width:650px;margin:16px 0 12px;color:#f0f3f5;font-size:clamp(15px,2.2vw,19px);line-height:1.5}.short-byline{display:block;color:var(--short-muted);font-size:11px}.short-actions{display:flex;align-items:center;gap:10px;margin-top:22px;text-shadow:none}.short-actions a,.short-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border-radius:999px;font:700 11px "DM Sans",sans-serif;cursor:pointer;text-decoration:none}.short-read{padding:0 17px;background:#fff;color:#111820}.short-actions button{min-width:74px;padding:0 13px;border:1px solid rgba(255,255,255,.34);background:rgba(8,16,24,.48);color:#fff;backdrop-filter:blur(8px)}.short-actions button[aria-pressed="true"]{background:#fff;color:#111820}.short-actions button span{font-size:17px}.short-actions button b{font-weight:700}
.shorts-status{position:fixed;z-index:20;left:50%;bottom:9px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;width:min(720px,calc(100% - 32px));color:#c9d0d6;font-size:10px}.shorts-status-line{flex:1;height:3px;border-radius:9px;background:rgba(255,255,255,.2);overflow:hidden}.shorts-status-line i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--short-accent),var(--short-pink));transition:width .2s ease}.shorts-hint{white-space:nowrap}.shorts-empty{display:grid;place-items:center;align-content:center;min-height:100%;text-align:center;padding:30px}.shorts-empty h2{font-size:35px;margin:0}.shorts-empty p{color:var(--short-muted)}.shorts-empty a{color:#fff}.shorts-page .toast{position:fixed;z-index:40;left:50%;bottom:45px;transform:translate(-50%,20px);opacity:0;background:#fff;color:#111820;padding:10px 15px;border-radius:999px;font-size:12px;font-weight:700;pointer-events:none;transition:.2s ease}.shorts-page .toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:700px){.shorts-topbar{height:58px;padding:0 14px}.shorts-brand b{display:none}.shorts-topbar>div small{display:none}.short-filters{top:58px;justify-content:flex-start;padding:9px 12px}.shorts-stage{padding-top:101px}.short-card{padding:24px 20px 29px}.short-copy h2{font-size:clamp(27px,8.5vw,39px)}.short-copy>p{font-size:15px;line-height:1.45}.short-actions{gap:8px}.short-actions button{min-width:43px;width:43px;padding:0}.short-actions button b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.shorts-hint{display:none}.shorts-status{bottom:8px}}
@media(min-width:900px){.shorts-feed{border-left:1px solid rgba(255,255,255,.12);border-right:1px solid rgba(255,255,255,.12)}}
@media(prefers-reduced-motion:reduce){.shorts-feed{scroll-behavior:auto}.shorts-status-line i,.shorts-page .toast{transition:none}}
