:root{--text-secondary:#75695f;--text-disabled:#9b9189;--touch-target:44px}
.page-heading p,.gallery-top p,.admin-section>p,.timeline-copy time,.timeline-copy>span,.profile-copy small,.brand-sub,.ui-status,.upload-status{color:var(--text-secondary)}
.nav-item,.mobile-add,.ui-dialog-close,.ui-toast button,.lightbox-close,.lightbox-arrow,.media-action-menu>summary,.comment-action-menu>summary,[data-ui-action-menu]>summary{min-width:var(--touch-target);min-height:var(--touch-target)}
.nav-icon{display:grid;place-items:center}.app-icon,.nav-icon .app-icon{width:24px;height:24px;display:block}.mobile-add .app-icon,.add-memory .app-icon{width:26px;height:26px}
.media-action-menu>summary,.comment-action-menu>summary,[data-ui-action-menu]>summary{display:grid;place-items:center;box-sizing:border-box}
.action-popover,.admin-member-popover,[data-ui-popover]{padding:6px}.action-popover button,.admin-member-popover button,[data-ui-popover] button{min-height:40px;text-align:left}.action-popover .danger,.admin-member-popover .danger,[data-ui-popover] .danger{margin-top:4px;border-top:1px solid var(--line)}
button:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(124,143,122,.5);outline-offset:2px}
button[aria-busy="true"]{cursor:progress;opacity:.78}
.push-state-card{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin:0 0 14px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink)}.push-state-card>span:last-child{display:grid;gap:3px}.push-state-card strong{font-size:14px}.push-state-card small{font-size:12px;line-height:1.45;color:var(--text-secondary)}.push-state-dot{width:10px;height:10px;border-radius:50%;background:var(--text-disabled);margin-top:5px;flex:none}.push-state-active .push-state-dot{background:var(--sage)}.push-state-blocked .push-state-dot{background:#a8523f}.push-state-inactive .push-state-dot{background:var(--terracotta)}
.offline-status,.load-error-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 18px;border-bottom:1px solid var(--line);color:var(--ink);font-size:13px}.offline-status{background:var(--beige)}.load-error-status{background:#f6e8e3}.offline-status span,.load-error-status span{color:var(--text-secondary)}.load-error-status button{margin-left:auto}
.ui-empty,.empty-state{color:var(--text-secondary)}.ui-empty h2,.empty-state h2{color:var(--ink)}
@media(max-width:639px){
  .offline-status,.load-error-status{padding:10px 16px}.load-error-status button{width:100%;margin-left:0}.nav-item{min-width:0}.mobile-nav .nav-item,.mobile-nav .mobile-add{min-height:56px}.action-popover button,.admin-member-popover button,[data-ui-popover] button{min-height:44px}
  /* The add glyph is deliberately drawn by CSS instead of relying on the full-width Unicode ＋ glyph. This gives Android/PWA a geometrically centred mark regardless of system font metrics. */
  .mobile-add>span:first-child{position:relative!important;width:34px!important;height:34px!important;display:block!important;overflow:visible!important;font-size:0!important;line-height:0!important}
  .mobile-add>span:first-child::before,.mobile-add>span:first-child::after{content:"";position:absolute;left:50%;top:50%;display:block;background:currentColor;border-radius:2px;transform:translate(-50%,-50%);pointer-events:none}
  .mobile-add>span:first-child::before{width:24px;height:2px}.mobile-add>span:first-child::after{width:2px;height:24px}
  .mobile-add>span:first-child .app-icon{display:none!important}
  .gallery-enhanced{padding-top:20px}.gallery-compact-head{margin-bottom:6px}.gallery-toolbar{margin-top:0;margin-bottom:12px}
  .crop-editor-v2 .crop-editor-top .crop-save-button{width:44px!important;height:44px!important;font-size:23px!important;display:grid!important;place-items:center!important;font-weight:500!important}
}
