/* FridayPosts mobile-app / PWA experience v12 */
:root{--fp-app-accent:#941b2b;--fp-app-safe-bottom:env(safe-area-inset-bottom,0px)}
@view-transition{navigation:auto}
::view-transition-old(root){animation:fp-app-fade-out .12s ease both}
::view-transition-new(root){animation:fp-app-fade-in .16s ease both}
@keyframes fp-app-fade-out{to{opacity:.86}}
@keyframes fp-app-fade-in{from{opacity:.86}}
.fp-app-progress{position:fixed;z-index:2147483500;top:0;left:0;width:0;height:3px;background:#d71920;box-shadow:0 0 10px rgba(215,25,32,.45);opacity:0;pointer-events:none;transition:width .18s ease,opacity .18s ease}
.fp-app-progress.is-active{opacity:1;width:72%}.fp-app-progress.is-done{width:100%;opacity:0}
.fp-app-loader{position:fixed;z-index:2147483400;inset:0;background:rgba(255,255,255,.72);backdrop-filter:blur(2px);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.16s ease;pointer-events:none}.fp-app-loader.is-active{opacity:1;visibility:visible}.fp-app-loader__mark{width:58px;height:58px;border-radius:16px;background:#fff;display:grid;place-items:center;box-shadow:0 15px 45px rgba(0,0,0,.16);overflow:hidden}.fp-app-loader__mark img{width:100%;height:100%;object-fit:contain;padding:7px;box-sizing:border-box}.fp-app-loader__mark:after{content:"";position:absolute;width:76px;height:76px;border:3px solid rgba(148,27,43,.13);border-top-color:#941b2b;border-radius:50%;animation:fp-app-spin .72s linear infinite}@keyframes fp-app-spin{to{transform:rotate(360deg)}}
.fp-app-install{position:fixed;z-index:2147483200;left:16px;right:16px;bottom:calc(16px + var(--fp-app-safe-bottom));margin:auto;max-width:620px;background:#111;color:#fff;border-radius:22px;padding:14px;box-shadow:0 24px 70px rgba(0,0,0,.34);display:none;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center}.fp-app-install.is-visible{display:grid;animation:fp-app-up .24s ease both}@keyframes fp-app-up{from{transform:translateY(24px);opacity:0}}.fp-app-install__icon{width:54px;height:54px;border-radius:14px;background:#fff;overflow:hidden;display:grid;place-items:center}.fp-app-install__icon img{width:100%;height:100%;object-fit:contain}.fp-app-install__copy{min-width:0}.fp-app-install__copy strong{display:block;font:800 16px/1.15 Arial,sans-serif}.fp-app-install__copy span{display:block;margin-top:5px;color:#c8c8c8;font:500 12px/1.4 Arial,sans-serif}.fp-app-install__actions{display:flex;align-items:center;gap:8px}.fp-app-install__button{border:0;border-radius:999px;background:#d71920;color:#fff;padding:11px 16px;font:800 12px/1 Arial,sans-serif;white-space:nowrap}.fp-app-install__close{border:0;background:transparent;color:#aaa;font-size:24px;line-height:1;padding:6px;cursor:pointer}.fp-app-install__close:hover{color:#fff}
.fp-app-ios-sheet{position:fixed;z-index:2147483600;inset:0;background:rgba(0,0,0,.56);display:none;align-items:flex-end;justify-content:center;padding:14px}.fp-app-ios-sheet.is-visible{display:flex}.fp-app-ios-sheet__card{width:min(520px,100%);background:#fff;border-radius:24px;padding:22px 20px calc(22px + var(--fp-app-safe-bottom));box-shadow:0 24px 80px rgba(0,0,0,.3)}.fp-app-ios-sheet h3{font:800 23px/1.15 Georgia,serif;margin:0 0 8px}.fp-app-ios-sheet p{font:500 15px/1.55 Arial,sans-serif;color:#555;margin:0 0 15px}.fp-app-ios-sheet ol{margin:0 0 18px;padding-left:22px;color:#222;font:600 14px/1.6 Arial,sans-serif}.fp-app-ios-sheet button{width:100%;border:0;border-radius:999px;background:#111;color:#fff;padding:13px;font-weight:800}
.fp-app-network{position:fixed;z-index:2147483300;top:calc(12px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%,-30px);background:#111;color:#fff;border-radius:999px;padding:9px 14px;font:800 11px/1 Arial,sans-serif;opacity:0;pointer-events:none;transition:.2s ease}.fp-app-network.is-visible{opacity:1;transform:translate(-50%,0)}.fp-app-network.is-online{background:#166534}
.fp-app-bottom-nav{display:none}
@media(max-width:900px){.fp-app-install{grid-template-columns:48px minmax(0,1fr);padding:13px}.fp-app-install__icon{width:48px;height:48px}.fp-app-install__actions{grid-column:1/-1;justify-content:flex-end;margin-top:2px}.fp-app-install__button{flex:1}.fp-app-loader{background:rgba(255,255,255,.63)}}
@media(display-mode:standalone){html{overscroll-behavior-y:none}body.fp-app-standalone{padding-bottom:calc(67px + var(--fp-app-safe-bottom))}.fp-app-bottom-nav{position:fixed;z-index:2147483000;left:10px;right:10px;bottom:calc(9px + var(--fp-app-safe-bottom));height:58px;border-radius:18px;background:rgba(17,17,17,.96);box-shadow:0 12px 35px rgba(0,0,0,.28);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;backdrop-filter:blur(12px)}.fp-app-bottom-nav a{color:#ccc;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:700 10px/1 Arial,sans-serif}.fp-app-bottom-nav a span:first-child{font-size:18px;line-height:1}.fp-app-bottom-nav a.is-active{color:#fff;background:rgba(255,255,255,.08)}.fp-app-install{bottom:calc(78px + var(--fp-app-safe-bottom))}}
@media(prefers-reduced-motion:reduce){.fp-app-loader,.fp-app-progress,.fp-app-install,.fp-app-network{transition:none!important;animation:none!important}.fp-app-loader__mark:after{animation-duration:1.8s}}
