@font-face{font-family:'Bebas Neue';src:url('assets/fonts/bebas-neue.ttf') format('truetype');font-weight:400;font-display:swap}
:root{color-scheme:dark;--red:#e1251b;--font:Inter,system-ui,Arial,sans-serif;--title:'Bebas Neue',Impact,sans-serif}
*{box-sizing:border-box}
html,body{width:100%;height:100%;padding:0;margin:0;background:#050505;color:#fff;font:14px var(--font);overflow:hidden;overscroll-behavior:none;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0;background:none;color:inherit;padding:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,.feed:focus-visible{outline:2px solid var(--red);outline-offset:-3px}svg{width:24px;height:24px;display:block;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.pocket{position:relative;max-width:520px;width:100%;height:100dvh;min-height:0;margin:0 auto;overflow:hidden;isolation:isolate;background:#0a0a0a}
.feed-screen{position:absolute;inset:0;z-index:1}
.feed{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scroll-snap-type:y mandatory;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;touch-action:pan-y;outline:none}
.feed.is-feed-dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing;user-select:none}
.feed::-webkit-scrollbar{display:none}
.post{position:relative;height:100%;height:100dvh;min-height:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;isolation:isolate;background:#090909}
.post-media,.post-shade{position:absolute;inset:0;pointer-events:none}
.post-media{z-index:-2;background:#151515}
.post-image{width:100%;height:100%;object-fit:cover;object-position:center center;position:absolute;inset:0;opacity:0;transition:opacity .4s ease;user-select:none}
.post-image.show{opacity:1}
.post-shade{z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.06) 19%,rgba(0,0,0,0) 35%,rgba(0,0,0,.15) 48%,rgba(0,0,0,.67) 70%,rgba(0,0,0,.9) 100%)}
.chrome-head{position:absolute;z-index:10;top:0;left:0;right:0;padding:calc(10px + env(safe-area-inset-top)) 14px 24px;pointer-events:none;background:linear-gradient(#0008,transparent)}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;pointer-events:auto}
.brand{height:42px;width:128px;position:relative;overflow:hidden;flex:none}
.brand img{position:absolute;left:-20px;top:-60px;width:178px;height:178px;max-width:none;object-fit:contain}
.feed-tab{font-size:12px;font-weight:700;letter-spacing:.005em;text-shadow:0 1px 4px #000;white-space:nowrap;margin-left:-14px}
.language-switch{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:10px;font-weight:700;letter-spacing:.03em;text-shadow:0 1px 4px #000}
.language-switch span{opacity:.35}.language-switch button{min-width:26px;min-height:32px;color:#ffffffad}.language-switch button.active{color:#fff;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:5px;text-decoration-thickness:2px}
.chrome-nav{position:absolute;left:0;right:0;bottom:0;z-index:10;display:flex;align-items:stretch;justify-content:space-around;min-height:calc(64px + env(safe-area-inset-bottom));padding:6px 18px calc(9px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,#050505a6 24%,#050505e8);pointer-events:auto}
.nav-item{min-height:48px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;font-weight:600;color:#eee}.nav-item svg{width:22px;height:22px}.nav-item:not(.current){color:#b6b6b6}
.post-meta{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:.04em;color:#eee;text-transform:uppercase;text-shadow:0 1px 6px #000}.post-kind{color:#fff;background:var(--red);padding:5px 7px;font-size:9px;letter-spacing:.07em}.separator{height:3px;width:3px;background:#fff9;border-radius:50%}
.post-copy{position:absolute;bottom:calc(103px + env(safe-area-inset-bottom));left:18px;right:85px;z-index:2;max-width:390px;text-shadow:0 2px 13px #000b}
.post-title{font:normal clamp(34px,9vw,52px)/.96 var(--title);letter-spacing:.01em;text-transform:uppercase;margin:13px 0 9px;text-wrap:balance;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
.post-title.long{font-size:clamp(30px,8.3vw,44px)}
.post-lead{margin:0 0 15px;font-size:11px;line-height:1.55;color:#e5e5e5;max-width:320px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.post-links{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.post-cta{display:flex;align-items:center;justify-content:center;gap:10px;max-width:100%;min-height:39px;padding:0 12px;background:#fff;color:#080808;border-radius:3px;font-size:10px;font-weight:700;line-height:1.3;text-shadow:none;box-shadow:0 3px 14px #0004}
.post-cta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-cta svg{width:16px;height:16px;flex:none}
.post-secondary{font-size:10px;color:#fff;text-decoration:underline;text-underline-offset:3px;font-weight:600;line-height:1.6}
.post-rail{position:absolute;bottom:calc(144px + env(safe-area-inset-bottom));right:10px;z-index:4;display:flex;flex-direction:column;align-items:center;gap:20px}
.rail-action{width:61px;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-shadow:0 2px 8px #000;font-size:10px}.rail-action svg{width:25px;height:25px;filter:drop-shadow(0 1px 4px #000)}.rail-action small{font-size:9px;font-weight:600;max-width:65px;text-align:center;overflow:hidden;text-overflow:ellipsis}
.end-post{display:grid;place-items:center;background:#101010}.end-content{padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;margin-bottom:60px}.end-content img{width:176px;height:120px;object-fit:contain}.end-content h2{font:normal 45px/1 var(--title);text-transform:uppercase;margin:0}.end-content button{display:flex;align-items:center;gap:8px;padding:12px 18px;background:#fff;color:#000;font-size:12px;font-weight:700;border-radius:3px}.end-content button svg{width:15px;height:15px}
.toast{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom));z-index:30;left:50%;transform:translate(-50%,10px);border-radius:4px;background:white;color:#111;box-shadow:0 4px 22px #0007;font-size:12px;font-weight:600;padding:12px 16px;white-space:nowrap;max-width:90vw;pointer-events:none;opacity:0;transition:.2s}.toast.visible{transform:translate(-50%,0);opacity:1}
@media(min-width:560px){.pocket{height:100dvh;margin:0 auto;border:0;border-radius:0}.post{height:100%;height:100dvh}.post-title{font-size:51px}.post-title.long{font-size:45px}}
@media(max-width:374px){.brand{width:104px}.brand img{width:156px;height:156px;top:-51px}.feed-tab{font-size:11px}.post-title{font-size:31px}.post-title.long{font-size:28px}.post-lead{font-size:10px}.post-copy{right:69px;left:15px}.post-rail{right:3px}}
@media(max-height:690px){.post-copy{bottom:calc(82px + env(safe-area-inset-bottom))}.post-title{font-size:35px;margin:10px 0 7px}.post-title.long{font-size:31px}.post-lead{-webkit-line-clamp:2;margin-bottom:10px}.post-rail{bottom:calc(120px + env(safe-area-inset-bottom));gap:7px}.chrome-nav{min-height:calc(55px + env(safe-area-inset-bottom))}.nav-item{min-height:40px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


/* Preview: preserve existing Home layout, enable source-backed article galleries. */
.post-copy{bottom:120px}.post-title{font-size:clamp(33px,8vw,45px);line-height:1.02}.post-title.long{font-size:clamp(29px,7.5vw,39px)}
.post-lead{-webkit-line-clamp:2}.post-lead:empty{display:none}.credit{font-size:9px;color:#d0d0d0;margin:0 0 13px}.post-meta:has(span:last-child:empty) .separator{display:none}
.post-media{z-index:-2}.post-image{object-position:center 28%}.post-shade{background:linear-gradient(180deg,#0007,transparent 28%,#0001 43%,#000b 70%,#000f 100%)}
@media(max-height:690px){.post-title,.post-title.long{font-size:30px}.post-lead{display:none}.post-copy{bottom:110px}.credit{margin-bottom:8px}}

/* Source image framing for imported news; galleries retain their own photos. */
.post-image[style]{object-position:var(--post-position,50% 50%)}
@media(max-width:600px){.post-image[style]{object-position:var(--post-position-mobile,var(--post-position,50% 50%))}}

/* Real horizontal photo track; native vertical feed remains unchanged. */
.post-media{display:flex;background:#090909}
.post-media{transform:translate3d(calc(var(--home-slide,0) * -100% + var(--home-drag,0px)),0,0);transition:transform var(--duration-settle,200ms) var(--ease-out,cubic-bezier(.2,0,0,1))}
.post-slide{position:relative;flex:0 0 100%;width:100%;min-width:100%;height:100%;overflow:hidden}
.post-image{position:absolute;inset:0;width:100%;height:100%;opacity:1;transition:none;pointer-events:none}
.post.is-photo-dragging .post-media{transition:none;will-change:transform}
.post-open-surface{position:absolute;inset:0;z-index:0;touch-action:pan-y pinch-zoom;-webkit-user-drag:none}
.post-title-link,.post-lead-link{display:block;color:inherit;text-decoration:none;touch-action:pan-y pinch-zoom;-webkit-user-drag:none}
.post-copy{user-select:none;-webkit-user-select:none}
.post-image.is-artwork{object-fit:cover;padding:0}
@media(prefers-reduced-motion:reduce){.post-media{transition:none}}

/* A finite current feed leads into the archive, without adding older posts. */
.end-content{max-width:380px;width:100%;gap:24px}
.end-destinations{display:grid;gap:10px;width:100%}
.end-destinations a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:13px 17px;color:#f5f5f5;text-decoration:none;background:#ffffff08;border:1px solid #ffffff20;border-radius:16px;font-size:13px;font-weight:500;line-height:1.4}
.end-destinations svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
.end-content #replay{background:transparent;color:#b5b5b5;min-height:44px;font-size:12px;font-weight:400;border-radius:12px}
.end-destinations a:focus-visible,.end-content #replay:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(hover:hover){.end-destinations a:hover{background:#ffffff14}.end-content #replay:hover{color:#fff}}

/* Home covers fill the media surface; full artwork remains in the reader. */
body[data-app-page="home"] :is(.full-frame,.artwork-slide) .post-image {
  inset:0;width:100%;height:100%;object-fit:cover;
}

/* A first-visit gesture cue leaves the gallery free of pagination controls. */
.gallery-hint {
  position:absolute;z-index:2;left:var(--app-gutter,20px);
  top:calc(var(--app-header-height,56px) + 3px + env(safe-area-inset-top,0px));
  padding:3px 6px;border-radius:4px;background:#101012a8;color:#fff;
  font:400 11px/1.3 var(--font-ui,system-ui);pointer-events:none;
}
.gallery-learned .gallery-hint,.gallery-hint[hidden] { display:none; }

/* Offscreen posts retain their measured snap geometry without painting children. */
.post{content-visibility:auto;contain-intrinsic-size:auto 100dvh}
