/* Full-flow additions. Approved tokens and the core layout stylesheet are kept byte-for-byte. */
#app{position:fixed;top:var(--viewport-offset,0px);left:0;right:0}
.skip-link{position:absolute;left:16px;top:8px;transform:translateY(-180%);z-index:5;background:var(--yon-action-bg);color:var(--yon-action-fg);padding:10px 16px;border-radius:var(--yon-radius-pill);min-height:44px}
.skip-link:focus{transform:none}
.login-state{display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;min-height:22px;margin-top:4px}
.login-state:empty{display:none}
.login-state .state-dot[data-kind=error]{background:var(--yon-danger-accent)}
.login-state .state-dot[data-kind=working]{background:var(--yon-text)}
.network-strip{width:min(calc(100% - 72px),760px);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;font-size:13px}
.network-strip:not(:empty){padding:0 0 10px}
.network-strip .yon-button{--face-h:30px;font-size:12px}
.card-text{max-height:none;overflow:visible}
.card-text--long{max-height:12em;overflow:hidden}
.content-card>.yon-button--quiet{font-size:13px;text-decoration:underline;text-underline-offset:3px}
.card-status{flex-wrap:wrap;gap:7px;max-width:100%;overflow-wrap:anywhere}
.card-status .yon-button{font-size:12px;--face-h:30px;flex:none}
.card-status[data-kind=warning] .state-dot,.composer-status[data-kind=warning] .state-dot{background:var(--yon-warning-accent)}
.composer-bottom{align-items:flex-start;flex-wrap:wrap;row-gap:3px}
.composer-status{white-space:normal;line-height:18px;max-width:100%}
.composer textarea{overflow:auto}
.draft-files{max-height:94px;overflow:auto}
.draft-attachment .yon-button{min-width:44px;min-height:44px}
.draft-thumb{width:44px;min-width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;border-radius:8px}
.sheet{overscroll-behavior:contain;scrollbar-gutter:stable}
.sheet-header h2{overflow-wrap:anywhere;min-width:0}
.sheet-header .yon-button{flex:none}
.sheet-actions{flex-wrap:wrap}
.sheet-actions .yon-button{flex:1 0 auto}
.preview-actions .yon-button{font-size:13px}
.preview-source{font-size:12px;color:var(--yon-text-secondary);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;overflow-wrap:anywhere}
.sheet[data-kind=preview]{width:min(850px,calc(100% - 32px))}
.sheet[data-kind=preview] .sheet-body{gap:14px}
.image-tools{display:flex;gap:4px;justify-content:flex-end;flex-wrap:wrap}
.image-tools .yon-button{--face-h:30px;font-size:12px}
.image-stage{overflow:auto;max-height:52dvh;min-height:80px;background:var(--yon-surface-secondary);border-radius:16px;overscroll-behavior:contain;position:relative}
.image-stage img{width:100%;height:auto;max-width:none;user-select:none}
.preview-text{max-height:52dvh;overscroll-behavior:contain;user-select:text;tab-size:2}
.expired-content{padding:36px 4px;text-align:center}
.image-error{display:flex;align-items:center;justify-content:center;min-height:120px;font-size:14px;color:var(--yon-text)}
.form-error[role=status]{overflow-wrap:anywhere}
.member-list{max-height:min(320px,40dvh)}
.topbar-secondary button{min-height:44px}
.topbar-secondary button::after{display:none}
.space-control{min-height:44px}
.search-wrap{min-height:44px}.search-wrap input{height:42px}
@media(max-width:1000px){.network-strip{width:calc(100% - 48px)}}
@media(max-width:600px){
 .network-strip{width:calc(100% - 24px);font-size:12px}
 .space-control{min-height:44px}
 .topbar-secondary{gap:16px;margin:0}
 .topbar-secondary button{min-height:44px;font-size:11px}
 .sheet[data-kind=preview]{inset:auto 8px max(8px,env(safe-area-inset-bottom));width:calc(100% - 16px);max-height:calc(var(--viewport-height,100dvh) - 16px);padding:18px}
 .sheet[data-kind=preview] .sheet-header h2{font-size:17px;line-height:24px}
 .sheet .preview-actions{gap:4px}
 .preview-actions .yon-button{font-size:12px}
 .preview-actions .yon-button__face{padding-inline:10px}
 .image-tools{justify-content:center}
 .image-stage,.preview-text{max-height:calc(var(--viewport-height,100dvh)*.46)}
 .notice{bottom:auto;top:calc(var(--viewport-offset,0px) + 12px)}
}
@media(max-height:560px){
 .topbar{min-height:60px;padding-block:8px}
 .composer-dock{padding-top:6px;padding-bottom:6px}
 .composer{padding-top:8px;padding-bottom:4px}
 .composer textarea{max-height:64px!important}
 .draft-files{max-height:58px}
 .feed-empty{min-height:130px}
 .login-page{overflow:auto}.login-box{gap:20px}.login-logo{max-width:180px}
 .login-tools{top:6px;right:8px}.login-bottom{display:none}
 .sheet{max-height:calc(var(--viewport-height,100dvh) - 12px);padding:16px}
}
html[data-keyboard=true] .topbar{padding-block:6px;min-height:60px}
html[data-keyboard=true] .composer-dock{padding-top:4px;padding-bottom:6px}
html[data-keyboard=true] .composer textarea{max-height:64px!important}
html[data-keyboard=true] .draft-files{max-height:58px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:600px){.search-wrap input{font-size:16px}}

.topbar-secondary button{min-width:44px;text-align:left}

/* New-content indication overlays the feed without changing its reading anchor. */
.updates-strip{position:absolute;left:50%;transform:translateX(-50%);display:flex;justify-content:center;z-index:3;pointer-events:none}
.updates-strip .yon-button{width:auto;pointer-events:auto}
.updates-strip .yon-button__face{background:var(--yon-action-bg);color:var(--yon-action-fg);border-color:var(--yon-action-bg)}
