/* R07 full-frame stream. Own layout; standard browser scroll-snap interaction. */
html,body{height:100%;overscroll-behavior:none}
.app-viewport{height:calc(100vh - 36px);height:calc(100dvh - 36px)}
.shell{padding-top:16px;padding-bottom:16px}
.workspace{min-width:0;min-height:0}
.topbar{height:54px}
.feed{scroll-snap-type:y mandatory;scroll-padding:0;overscroll-behavior-y:contain;overflow-x:hidden;touch-action:pan-y pinch-zoom;overflow-anchor:none;-webkit-overflow-scrolling:touch}
.scene-wrap,.app-stage[data-layout="mobile"] .scene-wrap{width:100%;max-width:var(--scene-w,450px);height:var(--card-h);min-height:var(--card-h);margin:0 auto;scroll-snap-align:start;scroll-snap-stop:always;scroll-margin:0}
.scene,.app-stage[data-layout="mobile"] .scene{height:100%;min-height:0;border-radius:18px}
.scene-media{object-fit:cover;object-position:center center}
.scene.contain .scene-media{object-fit:contain}
.scene-shade{background:linear-gradient(180deg,rgba(0,0,0,.45),transparent 18%,transparent 78%,rgba(0,0,0,.42) 93%,rgba(0,0,0,.66))}
.scene-top,.app-stage[data-layout="mobile"] .scene-top{top:12px;left:12px;right:8px;gap:6px;align-items:center}
.scene-owner{margin:0;gap:6px;min-width:0;max-width:calc(100% - 90px);font-size:12px}
.mini-avatar{height:26px;width:26px;border-radius:50%;flex-shrink:0;background:#27393055;backdrop-filter:blur(5px)}
.owner-name{font-size:12px;font-weight:650;text-shadow:0 1px 6px #0008;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:8px 0;min-width:0;display:block;text-align:left}
.owner-name svg{width:12px;height:12px;margin-left:2px}
.privacy-badge svg{width:14px;height:14px}
.media-tools{gap:0;flex-shrink:0}
.media-tools .icon-btn{width:40px;height:40px;background:transparent;backdrop-filter:none;text-shadow:0 1px 5px #0008}
.media-tools svg{width:20px;height:20px;filter:drop-shadow(0 1px 3px #0008)}
.context-back.icon-btn{height:32px;width:26px;padding:0}
.context-back.icon-btn svg{width:19px;height:19px}
.scene-caption,.app-stage[data-layout="mobile"] .scene-caption{left:16px;right:72px;bottom:16px;text-shadow:0 1px 6px #0007}
.caption-open{padding:0;text-align:left;display:block;max-width:100%;width:100%}
.scene-caption h2,.app-stage[data-layout="mobile"] .scene-caption h2{font-size:15px;line-height:1.45;font-weight:650;letter-spacing:-.35px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 3px}
.caption-text{font-size:11px;line-height:1.5;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f2f2edb9;font-weight:400}
.caption-meta{display:flex;align-items:center;gap:16px;margin-top:2px}
.caption-meta button{font-size:10px;color:#ffffffad;padding:6px 0;min-height:28px;text-shadow:0 1px 5px #000a}
.source-link{text-decoration:underline;text-underline-offset:3px}
.action-stack{bottom:24px;right:8px;gap:4px}
.action-button{min-width:44px;min-height:44px;gap:0;padding:0;justify-content:center;position:relative}
.action-circle{width:42px;height:42px;border:0;background:#12221918;backdrop-filter:none}
.action-circle svg{height:27px;width:27px;filter:drop-shadow(0 1px 3px #0009)}
.action-button small.actual-count{font-size:9px;padding-bottom:3px}
.scene-progress{height:2px;background:#ffffff16}
.scene-progress span{background:#ddbd9a}
.play-center{height:50px;width:50px;top:50%;background:#17271e55}
.media-status{inset:30% 22% 30%;font-size:11px;z-index:2}
.media-status .retry{font-size:10px;min-height:36px;padding:8px 10px;background:#142a1ba0}
.feed-transport{position:absolute;right:-11px;top:50%;display:grid;gap:10px;transform:translateX(100%);z-index:15}
.feed-transport[hidden]{display:none}
.feed-transport button{width:38px;height:38px;display:grid;place-items:center;border:1px solid #d3dcd0;background:#ffffff99;border-radius:50%}
.feed-transport button:first-child svg{transform:rotate(180deg)}
.feed-transport svg{width:19px;height:19px}
.feed-end,.stream-tail{height:var(--card-h);min-height:var(--card-h);scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:20px;margin:0;font-size:12px;background:var(--paper)}
.feed-end button{margin:0}
.world-stream,.app-stage[data-layout="mobile"] .world-stream{border:0;padding:0;margin:0 auto;max-width:var(--scene-w,450px);background:transparent}
.world-stream-items{padding:0;margin:0}
.stream-tail h3{font-size:17px}
.fit-setting{padding:5px 0 12px;border-bottom:1px solid var(--line)}
.fit-setting>.label,.viewmode-setting>.label{font-size:12px;font-weight:650}
.fit-options{display:flex;gap:6px;margin-top:10px;background:#e9eee4;border-radius:14px;padding:4px}
.fit-options button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:11px;min-height:44px;font-size:12px;font-weight:550;color:#6b7967;padding:7px 8px}
.fit-options svg{width:18px;height:18px}
.fit-options button.active{background:var(--sage);color:white;box-shadow:0 2px 5px #16261612}
.fit-hint{color:#819078;font-size:10px;line-height:1.6;margin-top:9px}
.viewmode-setting{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);gap:12px}
.mini-modes{display:flex;border-radius:30px;padding:3px;background:#ecf0e8;gap:2px}
.mini-modes button{min-height:30px;padding:6px 17px;border-radius:30px;font-size:11px}
.mini-modes button.active{background:#546c51;color:white}
.setting-row{padding:10px 0;min-height:50px}
.setting-row .label{font-size:12px}.setting-row .detail{font-size:10px}
.detail-title{font-size:17px;line-height:1.55;margin:8px 0 14px;overflow-wrap:anywhere}
.detail-copy{font-size:13px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:22px}
.panel-layer[data-kind="caption"] .panel{max-height:60%}
.app-stage[data-layout="mobile"] .shell{height:calc(100% - 52px - env(safe-area-inset-bottom,0px));padding:0}
.app-stage[data-layout="mobile"] .scene{border-radius:0}
.app-stage[data-layout="mobile"] .feed-transport{display:none}
.app-stage[data-layout="mobile"][data-page="today"] .topbar{height:48px;padding:0 14px;background:linear-gradient(#07160cb5,#0f1e1355,transparent)}
.app-stage[data-layout="mobile"][data-page="today"] .feed-tabs{gap:16px}
.app-stage[data-layout="mobile"][data-page="today"] .feed-tabs .wp-mini{font-size:16px}
.app-stage[data-layout="mobile"][data-page="today"] .feed-tabs .wp-mini svg{height:19px;width:19px}
.app-stage[data-layout="mobile"] .scene-top{top:53px}
.app-stage[data-layout="mobile"] .bottom-nav{height:calc(52px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px)}
.app-stage[data-layout="mobile"] .bottom-nav button{height:48px}
.app-stage[data-layout="mobile"][data-page="today"] .bottom-nav{background:#101a14;color:#d3dccf;border-color:#ffffff10}
.app-stage[data-layout="mobile"][data-page="today"] .bottom-nav button{color:#acb8a8}
.app-stage[data-layout="mobile"][data-page="today"] .bottom-nav button.active{color:#f0c9ac}
.app-stage[data-layout="mobile"][data-page="today"] .bottom-nav .nav-add{height:34px;border-color:#ffffff2b}
.app-stage[data-layout="mobile"] .panel-layer{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}
.app-stage[data-layout="mobile"] .panel-layer[data-kind="settings"]{padding-top:52px;padding-bottom:calc(60px + env(safe-area-inset-bottom,0px));align-items:flex-start}
.app-stage[data-layout="mobile"] .panel-layer[data-kind="settings"] .panel{max-height:100%;width:360px;margin-left:auto}
.app-stage[data-layout="mobile"] .panel-layer[data-kind="comments"]{padding-bottom:calc(54px + env(safe-area-inset-bottom,0px))}
.app-stage[data-layout="tablet"] .feed-transport{right:0;transform:none}
@media(max-width:699px){.preview-toolbar{display:none}.app-viewport{height:100vh;height:100dvh}.app-stage{box-shadow:none}}
@media(prefers-reduced-motion:reduce){.feed{scroll-behavior:auto}}
/* Keep mouse transport beside the media, never over the right-hand editorial rail. */
.app-stage:not([data-layout="mobile"]) .feed-transport{left:calc(50% + var(--scene-w,450px) / 2 + 12px);right:auto;transform:none}
.app-stage[data-layout="tablet"] .feed-transport{left:auto;right:4px}
