/* Геометрия ленты канала и сопутствующих экранов. */ .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(22px + env(safe-area-inset-bottom)); } .channel-about-card { padding: 0; overflow: hidden; } .channel-about-content { gap: 0; } .channel-about-hero { display: grid; justify-items: center; gap: 6px; padding: 26px 20px 22px; text-align: center; } .channel-about-avatar-slot { margin-bottom: 8px; } .channel-about-avatar.channel-profile-avatar { box-shadow: none; } .channel-about-title { margin: 0; color: var(--text-secondary); font-size: clamp(24px, 7vw, 32px); line-height: 1.12; font-weight: 760; overflow-wrap: anywhere; } .channel-about-technical { color: rgba(196, 210, 238, 0.72); font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; } .channel-about-subscribers { color: rgba(170, 190, 226, 0.68); font-size: 14px; line-height: 1.35; } .channel-about-section { display: grid; gap: 10px; padding: 20px; border-top: 1px solid var(--text-secondary); } .channel-about-section h3 { margin: 0; color: rgba(255, 218, 135, 0.92); font-size: 14px; font-weight: 700; } .channel-about-description { margin: 0; color: rgba(235, 241, 255, 0.92); font-size: 16px; line-height: 1.58; white-space: pre-wrap; overflow-wrap: anywhere; } .channel-about-owner-link { display: grid; gap: 3px; justify-items: start; width: 100%; padding: 0; border: 0; background: var(--surface); color: inherit; text-align: left; cursor: pointer; } .channel-about-owner-link strong { color: var(--text-secondary); font-size: 16px; line-height: 1.3; } .channel-about-owner-link span { color: rgba(176, 198, 234, 0.72); font-size: 13px; line-height: 1.3; } .channel-about-owner-link:hover strong, .channel-about-owner-link:focus-visible strong { color: var(--text-primary); } .channel-about-owner-link:focus-visible { outline: 2px solid rgba(244, 220, 166, 0.52); outline-offset: 5px; border-radius: 8px; } .channel-about-support-btn { width: 100%; min-height: 44px; margin-top: 2px; } .channel-about-link-box { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; min-height: 48px; padding: 10px 10px 10px 12px; border: 1px solid var(--border-subtle); border-radius: 12px; background: var(--surface); } .channel-about-link-box a, .channel-about-link-box span { color: rgba(169, 215, 255, 0.95); font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; word-break: break-word; } .channel-about-copy-btn { width: 38px; min-width: 38px; height: 38px; min-height: 38px; padding: 0; display: inline-grid; place-items: center; font-size: 19px; } .channel-about-open-btn, .channel-about-subscription-btn { margin: 18px 20px 0; min-height: 48px; } .channel-about-subscription-btn { margin-top: 12px; margin-bottom: 20px; } .channel-about-subscription-btn.is-unsubscribe { border: 1px solid var(--border-subtle); background: var(--surface); color: var(--text-primary); } .channel-about-subscription-btn.is-unsubscribe:hover, .channel-about-subscription-btn.is-unsubscribe:focus-visible { background: var(--surface); } .channel-about-open-btn:last-child { margin-bottom: 20px; } /* ===== 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: rgba(186, 215, 255, 0.8); 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-secondary); 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: rgba(232, 239, 255, 0.82); font-weight: 700; } .channel-support-status { min-height: 18px; margin: 2px 0 0; color: rgba(192, 207, 236, 0.76); } .channel-support-status.is-error { color: var(--text-primary); } .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: rgba(220, 236, 255, 0.82); font-size: 12px; overflow-wrap: anywhere; word-break: break-all; } .channel-support-submit { min-height: 48px; margin-top: 4px; } @media (max-width: 420px) { .channel-about-section { padding-inline: 16px; } .channel-about-open-btn, .channel-about-subscription-btn { margin-inline: 16px; } .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-secondary); font-size: clamp(24px, 7vw, 31px); line-height: 1.12; font-weight: 760; } .channel-donate-hero strong { color: rgba(255, 230, 169, 0.94); font-size: 17px; overflow-wrap: anywhere; } .channel-donate-hero span { color: rgba(176, 198, 234, 0.72); 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(--text-secondary); } .channel-donate-address { min-height: 38px; padding: 9px 10px; border-radius: 10px; background: var(--surface); color: rgba(186, 215, 255, 0.82); 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-secondary); 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: rgba(232, 239, 255, 0.82); font-weight: 700; } .channel-donate-status { min-height: 18px; margin: 14px 20px 0; color: rgba(192, 207, 236, 0.76); } .channel-donate-status.is-error { color: var(--text-primary); } .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: rgba(220, 236, 255, 0.82); 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; } }