/* Optional Apple-inspired presentation. Classic keeps the established styles.
   Design reference reviewed: feimacode/open-design-agent-kit, Apple design system.
   Original app-specific styling; no third-party scripts or bundled font downloads. */
html[data-interface-style=apple]{--apple-canvas:#f5f5f7;--apple-panel:#fff;--apple-ink:#1d1d1f;--apple-muted:#626268;--apple-line:#dcdce1;--apple-blue:#0066cc;--apple-button:#0071e3;--apple-tint:#edf4ff;--apple-glass:#ffffffeb;--blue:#0066cc;--navy:#1d1d1f;--line:#dcdce1;background:var(--apple-canvas);color:var(--apple-ink);font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif}
html[data-interface-style=apple][data-theme=dark]{--apple-canvas:#000;--apple-panel:#1c1c1e;--apple-ink:#f5f5f7;--apple-muted:#b3b3bb;--apple-line:#38383b;--apple-blue:#9ac8ff;--apple-button:#0866d5;--apple-tint:#253348;--apple-glass:#1c1c1eeb;--blue:#9ac8ff;--navy:#f5f5f7;--line:#38383b}
html[data-interface-style=apple] body{background:var(--apple-canvas);color:var(--apple-ink);font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif}
html[data-interface-style=apple] :is(h1,h2,h3,.brand,.panel>summary,.score){font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;letter-spacing:-.025em;font-weight:600}
html[data-interface-style=apple] :is(.panel,.announcement,.event,.gallery-card,.file-row,.member-row,.match-card,.settings-card,dialog,.file-viewer-bar,.file-viewer-actions){background:var(--apple-panel);color:var(--apple-ink);border-color:var(--apple-line);border-radius:20px;box-shadow:0 3px 18px #00000006}
html[data-interface-style=apple] :is(button.primary,button.secondary,button.subtle,a.primary,a.secondary,.button-primary,.button-secondary){border-radius:999px;font-weight:500;letter-spacing:0;border-color:transparent}
html[data-interface-style=apple] :is(.primary,.button-primary){background:var(--apple-button);color:#fff;box-shadow:inset 0 1px 0 #ffffff24,0 2px 5px #0000000c}
html[data-interface-style=apple] :is(.secondary,.button-secondary){background:var(--apple-tint);color:var(--apple-blue)}
html[data-interface-style=apple] :is(.subtle,.text-button){color:var(--apple-blue)}
html[data-interface-style=apple] #view-more :is(button.primary,button.secondary,button.subtle,a.primary,a.secondary){background:var(--apple-button);color:#fff;border-color:transparent;border-radius:999px;box-shadow:inset 0 1px 0 #ffffff24,0 2px 5px #0000000c}
html[data-interface-style=apple] #view-more button.native-gallery-options{background:var(--apple-tint);color:var(--apple-blue);box-shadow:none}
html[data-interface-style=apple] #view-more button:is([data-gallery-delete],[data-roster-delete],[data-remove-file],[data-remove-member],[data-phone-action="remove"],[data-phone-action="reset"]),html[data-interface-style=apple] .danger{background:#b42318;color:#fff;border-color:transparent}
html[data-interface-style=apple] :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),textarea,select){background:var(--apple-panel);color:var(--apple-ink);border:1px solid var(--apple-line);border-radius:13px;box-shadow:none}
html[data-interface-style=apple] :is(.hint,.meta,.gallery-description small,.file-viewer-bar p){color:var(--apple-muted)}
html[data-interface-style=apple] :is(.topbar,.site-header,.bottom-nav,.native-page-navigation){background:var(--apple-glass);color:var(--apple-ink);border-color:var(--apple-line);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%)}
html[data-interface-style=apple] .bottom-nav{box-shadow:0 -1px 16px #00000006;border-radius:22px 22px 0 0}
html[data-interface-style=apple] .bottom-nav button{color:var(--apple-muted)}
html[data-interface-style=apple] .bottom-nav button.active{color:var(--apple-blue)}
html[data-interface-style=apple] #view-chat{--chat-canvas:var(--apple-canvas);--chat-input:var(--apple-panel);--chat-received:var(--apple-tint);--chat-received-ink:var(--apple-ink);--chat-muted:var(--apple-muted);--chat-line:var(--apple-line);--chat-sent:var(--apple-button);--chat-link:var(--apple-blue)}
html[data-interface-style=apple] #view-chat .chat-compose{background:var(--apple-canvas)}
html[data-interface-style=apple] :is(.native-gallery-sheet,.photo-caption-editor,.photo-options-sheet){border-radius:26px;background:var(--apple-glass);-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%)}
html[data-interface-style=apple] .storage-setup-dialog{--surface:var(--apple-panel);--ink:var(--apple-ink);--muted:var(--apple-muted);--bg:var(--apple-canvas);--line:var(--apple-line);background:var(--apple-panel);color:var(--apple-ink);border-radius:0}
html[data-interface-style=apple] .native-page-navigation button{color:var(--apple-blue)}
#interface-style-choice{width:100%;max-width:340px;min-height:44px;margin-bottom:8px}#interface-style-description{font-size:13px;margin:0 0 20px}
.chat-photo-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-photo-actions>.reaction-bar{flex:1;min-width:0}.chat-photo-actions>[data-photo-options]{min-width:44px;min-height:44px;font-size:20px;letter-spacing:2px}.photo-caption-editor{width:calc(100% - 28px);max-width:440px;box-sizing:border-box}.photo-caption-editor label{display:grid;gap:8px}.photo-caption-editor textarea{width:100%;box-sizing:border-box;font-size:16px;min-height:110px}.photo-caption-editor p{font-size:13px;line-height:1.6}.photo-caption-editor .actions{justify-content:flex-end;gap:10px}.photo-caption-editor::backdrop,.photo-options-sheet::backdrop{background:#0007}
@media(prefers-reduced-transparency:reduce){html[data-interface-style=apple] :is(.topbar,.site-header,.bottom-nav,.native-page-navigation,.native-gallery-sheet,.photo-options-sheet){background:var(--apple-panel);-webkit-backdrop-filter:none;backdrop-filter:none}}
.interface-style-buttons{display:flex;gap:8px;max-width:340px;margin:8px 0 12px}#view-more #appearance-panel .interface-style-buttons button{flex:1;min-height:46px;padding:10px 14px;border:1px solid var(--line,#dce3ed);border-radius:13px;background:#eef3fa;color:#164d91;font-weight:600;box-shadow:none}#view-more #appearance-panel .interface-style-buttons button[aria-pressed=true]{background:#0866d5;color:#fff;border-color:#0866d5}html[data-theme=dark] #view-more #appearance-panel .interface-style-buttons button{background:#24364e;color:#dbe8fa;border-color:#465b76}html[data-theme=dark] #view-more #appearance-panel .interface-style-buttons button[aria-pressed=true]{background:#2867bb;color:#fff;border-color:#82b7ff}html[data-interface-style=apple] #view-more #appearance-panel .interface-style-buttons button{border-radius:999px}
.photo-options-sheet button.danger{background:#b42318;color:#fff;border-color:#b42318}
.photo-options-sheet button{display:block;width:100%;min-height:46px;margin:8px 0 0;border-radius:12px}.photo-options-sheet{overflow-y:auto;overscroll-behavior:contain}
/* One compact row per photo; its menu already includes the message actions. */
#view-chat .chat-photo-actions{justify-content:flex-end;gap:0}#view-chat .chat-photo-actions>.reaction-bar{flex:0 1 auto;min-width:0}#view-chat .chat-photo-actions>[data-photo-options]{flex:0 0 40px;min-width:40px;min-height:44px;padding:0}#view-chat .chat-photo-actions .react-button{min-width:40px;min-height:44px;display:inline-grid;place-items:center;padding:7px}#view-chat .message-footer:empty{display:none}.reaction-trigger-icon{display:inline-flex;align-items:center;justify-content:center}.team-action-icon{display:block;width:24px;height:24px;flex:none}html[data-theme=dark] .team-action-icon{--reaction-plus-ink:#172131}
/* Compact action sheet: icon shortcuts first, smaller consistent text rows. */
dialog.photo-options-sheet{width:calc(100% - 24px);max-width:360px;padding:10px 14px 14px;border-radius:24px;overflow-y:auto;max-height:85dvh}.photo-options-title{position:absolute!important;width:1px;height:1px;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.photo-sheet-handle{width:34px;height:4px;border-radius:4px;background:#9aa6b4;margin:0 auto 10px;opacity:.7;touch-action:none}.photo-sheet-quick-actions{display:flex;align-items:center;gap:8px;margin-bottom:8px;touch-action:none}.photo-options-sheet .photo-sheet-quick-actions .photo-sheet-icon{display:inline-grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;flex:0 0 44px;padding:9px;margin:0;border-radius:50%;color:var(--blue,#1262cd)}.photo-options-sheet button:not(.photo-sheet-icon){display:block;width:100%;min-height:44px;margin:6px 0 0;padding:10px 14px;border-radius:16px;font-size:15px;text-align:left;font-weight:500}html[data-interface-style=apple] .photo-options-sheet button:not(.photo-sheet-icon){border-radius:999px}html[data-interface-style=apple] .photo-options-sheet button.danger,html[data-theme=dark] .photo-options-sheet button.danger,.photo-options-sheet button.danger{background:#b42318;color:#fff;border-radius:16px;border-color:transparent}html[data-interface-style=apple] .photo-options-sheet button.danger{border-radius:999px}
/* Shared iOS/PWA photo action rail. Keep equal touch targets and no caption-text styles. */
#view-chat .chat-photo-actions{position:relative;min-height:44px}
#view-chat .photo-rail-open>.reaction-bar{visibility:hidden}
#view-chat .photo-action-rail{position:absolute;right:40px;top:0;z-index:3;display:flex;flex-direction:row-reverse;gap:2px;padding:0 2px;background:var(--chat-canvas,#f4f6fa);border-radius:24px;isolation:isolate}
#view-chat .photo-action-rail .photo-rail-action{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;min-width:44px;margin:0;padding:10px;border:0;border-radius:50%;color:var(--chat-link,#1262cd);background:var(--chat-input,#fff);box-shadow:inset 0 0 0 1px var(--chat-line,#dce3ed);opacity:0;transform:translateX(calc(var(--rail-step) * 46px)) scale(.72);transition:transform 230ms cubic-bezier(.2,1.3,.35,1),opacity 150ms ease;transition-delay:0ms}
#view-chat .photo-action-rail.is-open .photo-rail-action{opacity:1;transform:translateX(0) scale(1);transition-delay:calc(var(--rail-step) * 24ms)}
#view-chat .photo-action-rail .photo-rail-danger{color:var(--danger,#c52a24);background:color-mix(in srgb,var(--danger,#c52a24) 10%,var(--chat-canvas,#fff));box-shadow:none}
#view-chat .photo-rail-open>[data-photo-options]{position:relative;z-index:4;letter-spacing:0;font-size:26px;color:var(--chat-link);border-radius:50%;background:var(--chat-input)}
@media(max-width:350px){#view-chat .photo-action-rail{gap:0;padding:0}#view-chat .photo-action-rail .photo-rail-action{flex-basis:40px;width:40px;min-width:40px;padding:8px}}
@media(prefers-reduced-motion:reduce){#view-chat .photo-action-rail .photo-rail-action{transition:none;transform:none}}

#view-chat .photo-action-rail:not(.is-open){pointer-events:none}
