/* feed-ux u1 (11 Nov 2026): shared feed polish. Black, grey, faint brushed gold. */
.fux-lock,.fux-lock body{overflow:hidden}
@keyframes fuxpop{0%{transform:scale(1)}35%{transform:scale(1.22)}70%{transform:scale(.94)}100%{transform:scale(1)}}
.fux-pop svg,.vt.fux-pop b,.fux-pop>span{animation:fuxpop .34s cubic-bezier(.2,.9,.3,1.3)}
.vt.fux-pop .up.on,.vt.fux-pop .dn.on{animation:fuxpop .34s cubic-bezier(.2,.9,.3,1.3)}
/* toast fallback (pages without NC) */
.fux-toasts{position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:2147483000;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.fux-toast{background:#141412;color:#efe9da;border:1px solid #2c2820;border-radius:99px;padding:10px 18px;font:600 13.5px/1.2 system-ui,sans-serif;box-shadow:0 12px 32px -10px #000;animation:fuxin .22s ease-out}
.fux-toast.out{opacity:0;transform:translateY(6px);transition:.24s}
@keyframes fuxin{from{opacity:0;transform:translateY(8px)}}
/* image viewer */
.fux-lb{position:fixed;inset:0;z-index:2147482000;display:grid;place-items:center;touch-action:none;--fux-a:1;opacity:0;transition:opacity .18s}
.fux-lb.on{opacity:1}
.fux-lb[hidden]{display:none}
.fux-lb-bg{position:absolute;inset:0;background:rgba(0,0,0,calc(.96 * var(--fux-a)))}
.fux-lb-img{position:relative;max-width:100vw;max-height:100svh;max-height:100dvh;object-fit:contain;user-select:none;-webkit-user-drag:none;transform-origin:center;will-change:transform;transition:transform .22s cubic-bezier(.2,.8,.2,1);cursor:zoom-in}
.fux-lb.drag .fux-lb-img{transition:none}
.fux-lb-bar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 12px 10px 16px;background:linear-gradient(#000c,#0000)}
.fux-lb-open{color:#e9dfc8;font:600 14px/1 system-ui,sans-serif;text-decoration:none;padding:14px 4px}
.fux-lb-open[hidden]{visibility:hidden}
.fux-lb-x{all:unset;cursor:pointer;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(20,20,22,.7);border:1px solid rgba(255,255,255,.14)}
.fux-lb-x svg{width:20px;height:20px}
.fux-lb-x:focus-visible,.fux-lb-open:focus-visible{outline:2px solid #cdbb8e;outline-offset:2px}
.fux-lb-hint{position:absolute;bottom:calc(16px + env(safe-area-inset-bottom));left:0;right:0;margin:0;text-align:center;color:#8f8f95;font:12.5px/1.3 system-ui,sans-serif;pointer-events:none;animation:fuxfade 2.6s 1.2s forwards}
@keyframes fuxfade{to{opacity:0}}
.hfd-img,.pc-img{cursor:zoom-in}
/* back to top */
.fux-top{all:unset;position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:60;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#efe9da;background:rgba(14,14,13,.86);border:1px solid #2c2820;box-shadow:0 10px 28px -10px #000;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:fuxin .2s ease-out}
.fux-top[hidden]{display:none}
.fux-top svg{width:20px;height:20px}
.fux-top:focus-visible{outline:2px solid #cdbb8e;outline-offset:2px}
body.pg .fux-top{bottom:calc(150px + env(safe-area-inset-bottom))}
@media(min-width:900px){.fux-top,body.pg .fux-top{right:28px;bottom:28px}}
/* keyboard focus on cards */
.hfd-card:focus-visible,.hfd-nat:focus-visible,#fl>article.pc:focus-visible,.fux-cur:focus{outline:2px solid rgba(205,187,142,.55);outline-offset:3px}
.fux-cur:focus:not(:focus-visible){outline-color:rgba(205,187,142,.35)}
/* offline */
.fux-off{position:fixed;left:50%;top:calc(10px + env(safe-area-inset-top));transform:translateX(-50%);z-index:2147481000;background:#141412;color:#d8d2c2;border:1px solid #2c2820;border-radius:99px;padding:9px 16px;font:13px/1.3 system-ui,sans-serif;box-shadow:0 10px 28px -12px #000}
/* pull to refresh */
.fux-ptr-on,.fux-ptr-on body{overscroll-behavior-y:contain}
.fux-ptr{position:fixed;top:calc(8px + env(safe-area-inset-top));left:50%;z-index:70;width:34px;height:34px;margin-top:-44px;border-radius:50%;background:#121211;border:1px solid #2c2820;opacity:0;transform:translate3d(-50%,0,0);pointer-events:none;display:grid;place-items:center;transition:opacity .15s}
.fux-ptr i{width:16px;height:16px;border-radius:50%;border:2px solid #6f6d67;border-top-color:#d8c79e}
.fux-ptr.arm i{border-color:#cdbb8e;border-top-color:#fff}
.fux-ptr.spin{opacity:1!important;transform:translate3d(-50%,60px,0)!important;transition:transform .2s}
.fux-ptr.spin i{animation:fuxspin .7s linear infinite}
@keyframes fuxspin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.fux-lb,.fux-lb-img,.fux-toast,.fux-top,.fux-ptr{transition:none!important;animation:none!important}.fux-pop svg,.vt.fux-pop b,.fux-pop>span{animation:none!important}}
