/* Геометрия ленты канала и сопутствующих экранов. */ .channel-feed { gap: 0; min-width: 0; } .channels-screen .channel-unread-line { display: flex; align-items: center; justify-content: center; padding: 8px 0; border: 0; border-radius: 0; background: transparent; color: var(--accent); font-size: .75rem; } .channel-head-meta, .channel-note { color: var(--text-secondary); font-size: .8125rem; line-height: 1.5; } .channel-message-target-preview { display: grid; gap: 4px; padding: 12px; border-left: 2px solid var(--accent); background: var(--surface); font-size: .8125rem; overflow-wrap: anywhere; } .channels-screen .channel-message-card.is-focus-flash { background: var(--surface-selected); } .channel-system-event-card { padding: 8px; margin: 8px auto; width: fit-content; max-width: 100%; color: var(--text-secondary); font-size: .75rem; text-align: center; } .channel-meta-details-grid { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 8px; overflow-wrap: anywhere; } .channel-profile-avatar { width: 96px; height: 96px; border-radius: 50%; overflow: hidden; } .channel-profile-avatar img { width: 100%; height: 100%; object-fit: cover; } .channel-profile-modal-head { display: flex; gap: 12px; align-items: center; } .channel-main-action { min-height: 44px; border-radius: 12px; padding: 10px 16px; color: var(--on-accent); background: var(--accent); } .channel-back-btn { min-height: 44px; color: var(--accent); } .entrypoint-history-list { display: grid; gap: 8px; max-height: 58vh; overflow: auto; } .entrypoint-history-item { display: grid; gap: 8px; text-align: left; padding: 12px; border-radius: 12px; background: var(--surface); color: var(--text-primary); } .entrypoint-history-item p { white-space: pre-wrap; overflow-wrap: anywhere; } .entrypoint-history-item span { font-size: .75rem; color: var(--text-secondary); } .channels-screen--channel-about { padding-bottom: calc(24px + env(safe-area-inset-bottom)); } .channel-about-card { padding: 0; border: 0; border-radius: 0; background: transparent; } .channel-about-content { gap: 16px; } .channel-about-hero { display: grid; justify-items: center; gap: 4px; padding: 8px 16px 0; text-align: center; } .channel-about-avatar-slot { margin-bottom: 8px; } .channel-about-avatar.avatar { width: 88px; height: 88px; min-width: 88px; min-height: 88px; font-size: 32px; } .channel-about-title { margin: 0; color: var(--text-primary); font-size: 1.375rem; line-height: 1.75rem; font-weight: 600; overflow-wrap: anywhere; } .channel-about-subline { color: var(--text-secondary); font-size: .875rem; line-height: 1.25rem; overflow-wrap: anywhere; } .channel-about-tiles { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; } .channel-about-tile { min-height: 64px; padding: 10px 4px 8px; display: grid; justify-items: center; align-content: center; gap: 4px; border: 1px solid var(--border-subtle); border-radius: 14px; color: var(--accent); background: var(--surface); font: inherit; font-size: .75rem; line-height: 1rem; cursor: pointer; transition: background-color 160ms ease; } .channel-about-tile svg { width: 22px; height: 22px; } .channel-about-tile span { color: var(--text-primary); } .channel-about-tile:hover, .channel-about-tile:active { background: var(--surface-selected); } .channel-about-tile.is-active { background: var(--surface-selected); } .channel-about-tile:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; } .channel-about-tile:disabled { opacity: .6; cursor: wait; } .channel-about-list { display: grid; border: 1px solid var(--border-subtle); border-radius: 14px; background: var(--surface); overflow: hidden; } .channel-about-row { width: 100%; min-height: 56px; padding: 10px 14px; display: flex; align-items: center; gap: 12px; border: 0; border-bottom: 1px solid var(--border-subtle); color: var(--text-primary); background: transparent; font: inherit; text-align: left; cursor: pointer; } .channel-about-row--static { display: grid; gap: 4px; cursor: default; } .channel-about-row:not(.channel-about-row--static):hover { background: var(--surface-selected); } .channel-about-row:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: -2px; } .channel-about-row-main { display: grid; gap: 2px; min-width: 0; flex: 1; } .channel-about-row-main strong { font-size: .9375rem; line-height: 1.375rem; font-weight: 600; overflow-wrap: anywhere; } .channel-about-row-label { color: var(--text-secondary); font-size: .75rem; line-height: 1.125rem; } .channel-about-row-chevron { color: var(--text-secondary); display: inline-flex; } .channel-about-row-chevron svg { width: 18px; height: 18px; } .channel-about-owner-avatar .avatar { width: 40px; height: 40px; min-width: 40px; min-height: 40px; font-size: 16px; } .channel-about-description { margin: 0; font-size: .9375rem; line-height: 1.375rem; white-space: pre-wrap; overflow-wrap: anywhere; } .channel-about-link { color: var(--accent); font-size: .875rem; line-height: 1.25rem; overflow-wrap: anywhere; } .channel-about-technical { padding: 10px 14px; color: var(--text-secondary); font-size: .75rem; line-height: 1.125rem; overflow-wrap: anywhere; } /* ===== Channel unsubscribe confirmation ===== */ #channel-unsubscribe-confirm-modal { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); } #channel-unsubscribe-confirm-modal .channel-unsubscribe-confirm-card { width: min(100%, 390px); gap: 14px; padding: 20px; } .channel-unsubscribe-confirm-card .modal-title { margin: 0; } .channel-unsubscribe-confirm-text { margin: 0; line-height: 1.5; } .channel-unsubscribe-confirm-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; } .channel-unsubscribe-confirm-actions button { min-height: 44px; } .channel-unsubscribe-confirm-yes { border: 1px solid var(--border-subtle); background: var(--surface); color: var(--text-primary); } .channel-unsubscribe-confirm-yes:hover, .channel-unsubscribe-confirm-yes:focus-visible { background: var(--surface); } /* ===== Channel support transfer ===== */ #channel-support-modal { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); } #channel-support-modal .channel-support-modal-card { width: min(100%, 430px); max-height: min(88vh, 720px); overflow-y: auto; gap: 9px; padding: 20px; } .channel-support-modal-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: start; margin-bottom: 4px; } .channel-support-modal-head .modal-title { margin: 0 0 3px; } .channel-support-subtitle { margin: 0; overflow-wrap: anywhere; } .channel-support-close { width: 38px; min-width: 38px; height: 38px; min-height: 38px; padding: 0; display: inline-grid; place-items: center; font-size: 24px; line-height: 1; } .channel-support-address { min-height: 36px; padding: 8px 10px; border-radius: 10px; background: var(--surface); color: var(--text-secondary); font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; word-break: break-all; } .channel-support-balance-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; min-height: 44px; } .channel-support-balance-row strong { color: var(--text-primary); text-align: right; } .channel-support-refresh { min-height: 36px; padding-block: 6px; } .channel-support-amount-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; } .channel-support-amount-row span { color: var(--text-primary); font-weight: 700; } .channel-support-status { min-height: 18px; margin: 2px 0 0; color: var(--text-secondary); } .channel-support-status.is-error { color: var(--danger); } .channel-support-result { display: grid; gap: 5px; padding: 10px 12px; border: 1px solid var(--border-subtle); border-radius: 12px; background: var(--surface); } .channel-support-result[hidden] { display: none; } .channel-support-result strong { color: var(--text-primary); } .channel-support-result span, .channel-support-result code { color: var(--text-secondary); font-size: 12px; overflow-wrap: anywhere; word-break: break-all; } .channel-support-submit { min-height: 48px; margin-top: 4px; } @media (max-width: 420px) { .channel-support-balance-row { grid-template-columns: 1fr auto; } .channel-support-balance-row .meta-muted { grid-column: 1 / -1; } } /* ===== Channel donation view ===== */ .channels-screen--channel-donate { padding-bottom: calc(24px + env(safe-area-inset-bottom)); } .channel-donate-card { width: min(100%, 680px); margin-inline: auto; padding: 0; overflow: hidden; } .channel-donate-content { gap: 0; } .channel-donate-hero { display: grid; justify-items: center; gap: 5px; padding: 28px 20px 24px; text-align: center; } .channel-donate-hero h2 { margin: 0 0 4px; color: var(--text-primary); font-size: 1.5rem; line-height: 1.875rem; font-weight: 600; } .channel-donate-hero strong { color: var(--text-primary); font-size: 17px; overflow-wrap: anywhere; } .channel-donate-hero span { color: var(--text-secondary); font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; } .channel-donate-section { display: grid; gap: 9px; padding: 18px 20px; border-top: 1px solid var(--border-subtle); } .channel-donate-address { min-height: 38px; padding: 9px 10px; border-radius: 10px; background: var(--surface); color: var(--text-secondary); font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; word-break: break-all; } .channel-donate-balance-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; min-height: 44px; margin-top: 3px; } .channel-donate-balance-row strong { color: var(--text-primary); text-align: right; } .channel-donate-refresh { min-height: 36px; padding-block: 6px; } .channel-donate-amount-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; } .channel-donate-amount-row span { color: var(--text-primary); font-weight: 700; } .channel-donate-status { min-height: 18px; margin: 14px 20px 0; color: var(--text-secondary); } .channel-donate-status.is-error { color: var(--danger); } .channel-donate-result { display: grid; gap: 6px; margin: 12px 20px 0; padding: 12px 14px; border: 1px solid var(--border-subtle); border-radius: 12px; background: var(--surface); } .channel-donate-result[hidden] { display: none; } .channel-donate-result strong { color: var(--text-primary); } .channel-donate-result span, .channel-donate-result code { color: var(--text-secondary); font-size: 12px; overflow-wrap: anywhere; word-break: break-all; } .channel-donate-submit { min-height: 50px; margin: 16px 20px 22px; } @media (max-width: 420px) { .channel-donate-section { padding-inline: 16px; } .channel-donate-status, .channel-donate-result, .channel-donate-submit { margin-inline: 16px; } .channel-donate-balance-row { grid-template-columns: 1fr auto; } .channel-donate-balance-row .meta-muted { grid-column: 1 / -1; } }