/* Qortal Web Builder — simple Mobirise-style UI, system fonts only */ :root { --qwb-sans: system-ui, -apple-system, 'Segoe UI', Roboto, Ubuntu, sans-serif; --qwb-mono: ui-monospace, 'SFMono-Regular', Menlo, Monaco, Consolas, monospace; } /* Smooth interpolations for folded side rails (panels use these on `.qwb-work`). */ @property --qwb-lib-w { syntax: ''; inherits: false; initial-value: 0px; } @property --qwb-lib-gap { syntax: ''; inherits: false; initial-value: 0px; } @property --qwb-ins-w { syntax: ''; inherits: false; initial-value: 0px; } @property --qwb-ins-gap { syntax: ''; inherits: false; initial-value: 0px; } * { box-sizing: border-box; } html, body { margin: 0; height: 100%; min-height: 100%; font-family: var(--qwb-sans); font-size: 15px; line-height: 1.5; -webkit-font-smoothing: antialiased; } body { background: var(--qwb-bg, #0f1210); color: var(--qwb-fg, #e8e6e0); } #root { min-height: 100%; height: auto; } a { color: var(--qwb-a, #7cb88c); text-underline-offset: 2px; } a:hover { color: #a5d4b0; } button { font: inherit; cursor: pointer; border: 0; background: transparent; color: inherit; } /* Toast (ToastContext) */ .sn-mono { font-family: var(--qwb-mono); font-size: 0.85em; } .sn-toast-stack { position: fixed; right: 16px; bottom: 16px; display: flex; flex-direction: column; gap: 8px; max-width: min(420px, 92vw); pointer-events: none; } .sn-toast { pointer-events: auto; padding: 10px 14px; border-radius: 8px; background: #1a1f1c; border: 1px solid #2a3330; font-size: 13px; line-height: 1.4; white-space: pre-line; /* multiline toasts: preview pop-up help, etc. */ } .sn-toast--multiline { max-width: min(480px, 92vw); max-height: min(70vh, 420px); overflow-y: auto; text-align: left; font-size: 12px; } .sn-toast-ok { border-color: #2d4a38; background: #152018; } .sn-toast-warn { border-color: #5a4a2a; background: #1a180f; } .sn-toast-err { border-color: #5a2a2a; background: #1a0f0f; } /* Root layout */ .qwb-root { height: 100vh; min-height: 100vh; display: flex; flex-direction: column; overflow: hidden; background: var(--qwb-bg, #0f1210); color: var(--qwb-fg, #e8e6e0); } .qwb-top { display: grid; /** 3-column layout: brand on the left (auto-sized to text), the name + page switchers * centered in the middle column, and the actions tail on the right. The middle column * grows to absorb the remaining space so its content stays visually centred regardless * of how wide the brand or actions are. */ grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; column-gap: clamp(18px, 2vw, 32px); row-gap: 12px; padding: 10px clamp(16px, 2vw, 24px); border-bottom: 1px solid var(--qwb-line, #2a3330); background: #121615; position: sticky; top: 0; z-index: 20; } .qwb-top__left { grid-column: 1; min-width: 0; justify-self: start; max-width: 100%; width: 100%; display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px 14px; /* Air between “You are working on” / brand and the Theme column (grid gap + inner padding) */ padding-right: 8px; box-sizing: border-box; } .qwb-top__qwbmark { flex: 0 0 auto; line-height: 0; } /* QWB name avatar (QDN THUMBNAIL) or “QWB” monogram on load failure */ .qwb-top__qwb-av { display: block; width: 40px; height: 40px; object-fit: cover; object-position: center; border-radius: 50%; background: rgba(0, 0, 0, 0.25); border: 1px solid rgba(255, 255, 255, 0.12); filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35)); } .qwb-top__qwb-av-fallback { display: flex; align-items: center; justify-content: center; border-radius: 50%; background: linear-gradient(155deg, #2a4a38 0%, #1a2a1e 100%); color: #d8e8dc; font-weight: 700; letter-spacing: 0.04em; line-height: 1; box-sizing: border-box; border: 1px solid rgba(255, 255, 255, 0.12); filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35)); user-select: none; } [data-site-theme='paper'] .qwb-top__qwb-av, [data-site-theme='paper'] .qwb-top__qwb-av-fallback { filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.12)); } [data-site-theme='paper'] .qwb-top__qwb-av { background: rgba(60, 55, 40, 0.12); border-color: rgba(100, 90, 60, 0.22); } [data-site-theme='paper'] .qwb-top__qwb-av-fallback { background: linear-gradient(155deg, #c8d8c4 0%, #a8b8a0 100%); color: #1a2a1e; border-color: rgba(80, 90, 70, 0.25); } /** Title + meta (version, Changelog, name) fills space next to the logo. */ .qwb-top__left > .qwb-top__brand { flex: 1 1 auto; min-width: 0; } .qwb-top__center { grid-column: 2; justify-self: center; align-self: center; display: flex; align-items: center; gap: 10px 18px; flex-wrap: wrap; min-width: 0; max-width: 100%; } .qwb-top__name-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; } .qwb-top__tail { grid-column: 3; min-width: 0; max-width: 100%; justify-self: end; display: flex; flex-wrap: nowrap; align-items: center; gap: 10px 12px; margin-left: 0; padding-left: 10px; box-sizing: border-box; overflow: hidden; } /** * Top-bar brand block: title on its own row, version + Changelog button stacked beneath. Old * layout had everything on one inline row which got noisy as more menus and selectors moved * into the top bar. Stacking keeps the title prominent and the meta line subordinate. */ .qwb-top__brand { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; min-width: 0; max-width: 100%; } .qwb-top__brand-txt { min-width: 0; display: flex; flex-direction: column; gap: 2px; } .qwb-top__brand-row { display: flex; align-items: baseline; gap: 6px; min-width: 0; } .qwb-top__brand-meta { display: flex; align-items: baseline; gap: 10px; min-width: 0; font-size: 11px; line-height: 1.2; opacity: 0.9; } /* Keep “QWB v… · Changelog · You are working on” on one row; scroll horizontally on narrow viewports. */ .qwb-top__meta { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px 12px; font-size: 12px; min-width: 0; max-width: 100%; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; scrollbar-gutter: stable; } .qwb-top__meta::-webkit-scrollbar { height: 4px; } .qwb-top__meta::-webkit-scrollbar-thumb { background: #2a3a32; border-radius: 4px; } .qwb-top__ver { color: #7a8a80; font-weight: 500; font-variant-numeric: tabular-nums; white-space: nowrap; flex-shrink: 0; } .qwb-top__changelog { border: 0; background: none; padding: 0; font: inherit; font-size: 12px; color: #7cb88c; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; white-space: nowrap; flex-shrink: 0; } .qwb-top__changelog:hover { color: #9ad4a8; } [data-site-theme='paper'] .qwb-top__ver { color: #5a6050; } [data-site-theme='paper'] .qwb-top__changelog { color: #3a6a48; } [data-site-theme='paper'] .qwb-top__changelog:hover { color: #2a5a38; } .qwb-top__mark { font-size: 1.4rem; line-height: 1; opacity: 0.9; } .qwb-top__avatar { width: 34px; height: 34px; border-radius: 50%; overflow: hidden; background: linear-gradient(135deg, #1f2f28 0%, #13211c 100%); border: 1px solid #2a3d35; display: grid; place-items: center; flex: 0 0 auto; box-shadow: 0 0 0 1px rgba(124, 184, 140, 0.2) inset, 0 2px 8px rgba(0, 0, 0, 0.25); } .qwb-top__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; } .qwb-top__avatar-i { font-size: 12px; font-weight: 700; letter-spacing: 0.04em; color: #a5d4b0; } .qwb-top__name { font-weight: 600; letter-spacing: 0.02em; font-size: 15px; } .qwb-top__doc { font-size: 12px; color: #8a9d94; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: min(32ch, 100%); } /* Floating top-center status banner (Save as Draft / Load from QDN notifications). */ .qwb-status-banner__spinner { width: 16px; height: 16px; flex-shrink: 0; border: 2px solid rgba(180, 210, 190, 0.35); border-top-color: rgba(120, 200, 150, 0.95); border-radius: 50%; animation: qwb-status-spin 0.7s linear infinite; } @keyframes qwb-status-spin { to { transform: rotate(360deg); } } .qwb-status-banner { position: fixed; top: 12px; left: 50%; transform: translateX(-50%); z-index: 200; display: inline-flex; align-items: center; gap: 10px; padding: 8px 10px 8px 14px; border-radius: 999px; max-width: min(92vw, 540px); font-size: 13px; letter-spacing: 0.01em; background: #121615; border: 1px solid #2a3a32; color: #d8e8dc; box-shadow: 0 12px 34px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.02) inset; animation: qwb-status-pop 140ms ease-out; } @keyframes qwb-status-pop { from { transform: translate(-50%, -6px); opacity: 0; } to { transform: translate(-50%, 0); opacity: 1; } } .qwb-status-banner--ok { border-color: #3a6a48; color: #d8efdd; } .qwb-status-banner--err { border-color: #8a3a3a; color: #ffd6d6; background: #2a1616; } .qwb-status-banner--busy { border-color: #3a6a8a; color: #d8e8f4; } .qwb-status-banner__msg { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; } .qwb-status-banner__x { border: 0; background: transparent; color: currentColor; font-size: 18px; line-height: 1; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; cursor: pointer; opacity: 0.7; } .qwb-status-banner__x:hover { background: rgba(255, 255, 255, 0.08); opacity: 1; } [data-site-theme='paper'] .qwb-status-banner { background: #fbf7eb; color: #2a3028; border-color: #c8c4b8; box-shadow: 0 10px 28px rgba(80, 70, 40, 0.2); } [data-site-theme='paper'] .qwb-status-banner--ok { border-color: #5a8a6a; color: #1e3a28; } [data-site-theme='paper'] .qwb-status-banner--err { border-color: #b0524a; color: #6a1a1a; background: #fce8e4; } [data-site-theme='paper'] .qwb-status-banner--busy { border-color: #6a8ab0; color: #1a2a48; } .qwb-top__actions { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; min-width: 0; max-width: 100%; justify-content: flex-end; flex: 1 1 auto; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; scrollbar-gutter: stable; } .qwb-top__actions::-webkit-scrollbar { height: 4px; } .qwb-top__actions::-webkit-scrollbar-thumb { background: #2a3a32; border-radius: 4px; } .qwb-top__act-main { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; flex: 0 0 auto; } .qwb-top__act-draft { margin-left: auto; display: flex; align-items: center; flex: 0 0 auto; } .qwb-top__act-publish { margin-left: auto; display: flex; align-items: center; flex: 0 0 auto; } .qwb-top__act-draft-inline { display: flex; align-items: center; flex: 0 0 auto; } .qwb-top__user { font-size: 12px; color: #9aafa4; padding: 0 4px; } /* Sits to the right of Changelog (same row as QWB v·Changelog in .qwb-top__meta). */ .qwb-top__rname, .qwb-top__pages { position: relative; display: inline-flex; flex-wrap: nowrap; flex: 0 0 auto; width: auto; box-sizing: border-box; align-items: center; gap: 6px; } .qwb-top__pages select.qwb-input { min-width: 8rem; max-width: 14rem; font-size: 13px; padding: 4px 10px; } .qwb-top__rname { justify-content: flex-start; gap: 6px 8px; max-width: 100%; min-width: 0; flex-shrink: 1; } .qwb-top__rname-l { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; color: #6a7a6e; white-space: nowrap; } /* Off-screen: same font metrics as the select; width = offsetWidth in JS. */ .qwb-top__rname-measure { position: absolute; left: -10000px; top: 0; white-space: nowrap; font-size: 13px; padding: 4px 8px; font-family: inherit; line-height: 1.4; font-weight: 500; pointer-events: none; box-sizing: border-box; visibility: hidden; } .qwb-top__rname-sel { min-width: 0; max-width: 100%; width: 5rem; /* short fallback until layout measures the displayed name */ box-sizing: border-box; font-size: 13px; padding: 4px 10px; text-align: center; text-align-last: center; overflow: visible; /* width set in JS to fit the current selection (see RegisteredNameSwitch). */ } .qwb-top__rname-sel option { text-align: left; } /* “You are working on:” — optgroup headers for published vs not */ .qwb-top__rname-sel optgroup { font-weight: 600; font-size: 11px; color: #6ab890; font-style: normal; } [data-site-theme='paper'] .qwb-top__rname-sel optgroup { color: #2a6a4a; } .qwb-top__rname-sel--grouped { border-color: color-mix(in srgb, #4a7c5e 35%, #2a3330); } .qwb-top__rname-mute--qdn { font-size: 11px; color: #5a7a6a; font-style: italic; white-space: nowrap; } .qwb-top__rname-mute { font-size: 12px; white-space: nowrap; } .qwb-top__rname-busy { font-size: 13px; font-weight: 500; padding: 4px 10px; color: #c4d4cc; border: 1px solid color-mix(in srgb, #4a7c5e 45%, #2a3330); border-radius: 6px; background: color-mix(in srgb, #0c0f0d 88%, #1a221c); white-space: nowrap; max-width: min(100%, 22rem); overflow: hidden; text-overflow: ellipsis; } [data-site-theme='paper'] .qwb-top__rname-busy { color: #1a2820; border-color: #c8dcd0; background: #f6faf7; } .qwb-work { /* Defaults; BuilderApp overrides all four via inline style for open state. */ --qwb-lib-w: 0px; --qwb-lib-gap: 0px; --qwb-ins-w: 0px; --qwb-ins-gap: 0px; position: relative; flex: 1; display: grid; /* Stable order: Blocks rail · divider · canvas · divider · Options rail — never remap when rails fold. */ grid-template-columns: minmax(0, var(--qwb-lib-w)) minmax(0, var(--qwb-lib-gap)) minmax(260px, 1fr) minmax(0, var(--qwb-ins-gap)) minmax(0, var(--qwb-ins-w)); grid-template-rows: minmax(0, 1fr); min-height: 0; align-items: stretch; overflow: hidden; transition: --qwb-lib-w 0.52s cubic-bezier(0.32, 0.72, 0, 1), --qwb-lib-gap 0.52s cubic-bezier(0.32, 0.72, 0, 1), --qwb-ins-w 0.52s cubic-bezier(0.32, 0.72, 0, 1), --qwb-ins-gap 0.52s cubic-bezier(0.32, 0.72, 0, 1); } @media (prefers-reduced-motion: reduce) { .qwb-work { transition: none; } } .qwb-lib-rail { grid-column: 1; grid-row: 1; min-width: 0; min-height: 0; overflow: hidden; height: 100%; } .qwb-resizer--lib { grid-column: 2; grid-row: 1; } .qwb-resizer--ins { grid-column: 4; grid-row: 1; } .qwb-insp-rail { grid-column: 5; grid-row: 1; min-width: 0; min-height: 0; overflow: hidden; height: 100%; } .qwb-work--lib-collapsed .qwb-resizer--lib { visibility: hidden; pointer-events: none; } .qwb-work--ins-collapsed .qwb-resizer--ins { visibility: hidden; pointer-events: none; } .qwb-resizer { width: 6px; cursor: ew-resize; background: linear-gradient(180deg, transparent 0%, #223027 50%, transparent 100%); border-left: 1px solid #22302b; border-right: 1px solid #22302b; position: relative; opacity: 0.5; transition: opacity 120ms ease, background 120ms ease; } .qwb-resizer::after { content: ''; position: absolute; left: 1px; top: 50%; transform: translateY(-50%); width: 2px; height: 32px; border-radius: 2px; background: #5a7a68; opacity: 0.6; } .qwb-resizer:hover, .qwb-resizer:focus-visible { opacity: 1; background: linear-gradient(180deg, transparent 0%, #2d4437 50%, transparent 100%); } [data-site-theme='paper'] .qwb-resizer { background: linear-gradient(180deg, transparent 0%, #d4cfbb 50%, transparent 100%); border-color: #c8c4b8; } [data-site-theme='paper'] .qwb-resizer::after { background: #8a8066; } @keyframes qwb-edge-tab-slide-l { from { opacity: 0; transform: translateY(-50%) translateX(-14px); } to { opacity: 1; transform: translateY(-50%) translateX(0); } } @keyframes qwb-edge-tab-slide-r { from { opacity: 0; transform: translateY(-50%) translateX(14px); } to { opacity: 1; transform: translateY(-50%) translateX(0); } } /* Floating edge tabs — reopen folded Blocks / Options panels */ .qwb-edge-tab { position: absolute; z-index: 46; top: 50%; transform: translateY(-50%); margin: 0; padding: 14px 0; width: clamp(26px, 2.85vw, 34px); min-height: 112px; max-height: min(320px, 52vh); display: flex; align-items: center; justify-content: center; border-style: solid; border-width: 1px; border-color: rgba(120, 130, 140, 0.45); cursor: pointer; font-family: inherit; font-weight: 800; font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(248, 250, 248, 0.96); background: linear-gradient( 165deg, color-mix(in srgb, var(--qwb-accent, #6a9e7c) 32%, #121816) 0%, #0e1210 100% ); box-shadow: 0 4px 18px rgba(0, 0, 0, 0.45), 0 1px 0 rgba(255, 255, 255, 0.06) inset; transition: filter 140ms ease, border-color 140ms ease; writing-mode: vertical-rl; text-orientation: upright; } .qwb-edge-tab:hover { filter: brightness(1.1); } .qwb-edge-tab:focus-visible { outline: 2px solid var(--qwb-accent, #6b9cff); outline-offset: 2px; } .qwb-edge-tab--left { left: 0; border-radius: 0 12px 12px 0; border-left: none; padding-inline: 0; animation: qwb-edge-tab-slide-l 0.48s cubic-bezier(0.32, 0.72, 0, 1) both; } .qwb-edge-tab--right { right: 0; border-radius: 12px 0 0 12px; border-right: none; animation: qwb-edge-tab-slide-r 0.48s cubic-bezier(0.32, 0.72, 0, 1) both; } @media (prefers-reduced-motion: reduce) { .qwb-edge-tab--left, .qwb-edge-tab--right { animation: none; } } .qwb-edge-tab__text { display: block; line-height: 1; white-space: nowrap; } [data-site-theme='paper'] .qwb-edge-tab { color: #1b2018; border-color: rgba(170, 160, 130, 0.55); background: linear-gradient( 175deg, color-mix(in srgb, var(--qwb-accent, #8a9070) 28%, #f4f2ea) 0%, #e4dfd4 100% ); box-shadow: 0 4px 16px rgba(80, 70, 50, 0.18), 0 1px 0 rgba(255, 255, 255, 0.55) inset; } .qwb-main { grid-column: 3; grid-row: 1; min-width: 0; min-height: 0; height: 100%; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; background: #0c0f0d; padding: 0; transition: box-shadow 0.48s cubic-bezier(0.32, 0.72, 0, 1); box-shadow: inset 0 0 0 1px transparent, inset 0 0 40px transparent; } .qwb-work--lib-collapsed .qwb-main, .qwb-work--ins-collapsed .qwb-main { box-shadow: inset 0 0 0 1px rgba(90, 115, 96, 0.12), inset 0 0 48px rgba(0, 0, 0, 0.14); } [data-site-theme='paper'] .qwb-work--lib-collapsed .qwb-main, [data-site-theme='paper'] .qwb-work--ins-collapsed .qwb-main { box-shadow: inset 0 0 0 1px rgba(90, 82, 62, 0.1), inset 0 0 40px rgba(80, 72, 52, 0.08); } @media (prefers-reduced-motion: reduce) { .qwb-main { transition: none; } } /* Block library (left) */ .qwb-lib { border-right: 1px solid #2a3330; background: #101412; padding: 12px 12px 24px; height: 100%; min-height: 0; overflow-y: auto; overscroll-behavior: contain; } .qwb-lib__head { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: #6a7d72; margin-bottom: 6px; } .qwb-lib__head--2 { margin-top: 18px; } .qwb-lib__hint, .qwb-lib__p { font-size: 12px; color: #8a9d94; margin: 0 0 10px; line-height: 1.45; } .qwb-lib__warn { color: #c9a24a; font-size: 12px; margin: 0 0 8px; } .qwb-lib__mono { font-family: var(--qwb-mono); font-size: 10px; color: #6a7a70; word-break: break-all; margin: 0 0 8px; } /* Q-Shop block: its own call-to-action, separate from the generic “Add blocks” grid. */ .qwb-lib__qshop { margin: 12px 0 16px; padding: 12px 12px 14px; border-radius: 12px; border: 1px solid color-mix(in srgb, #7cb88c 48%, #2a3330); background: linear-gradient(168deg, rgba(28, 48, 38, 0.55) 0%, rgba(12, 16, 14, 0.96) 100%); box-shadow: 0 0 0 1px rgba(124, 184, 140, 0.1) inset; } .qwb-lib__qshop-head { font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; color: #8ab89a; font-weight: 700; margin: 0 0 8px; } .qwb-lib__qshop-desc { font-size: 12px; color: #8a9d94; line-height: 1.5; margin: 0 0 12px; } .qwb-lib__qshop-add { --qshop-accent: #7cb88c; width: 100%; text-align: left; margin: 0; padding: 12px 12px 12px 14px; border-radius: 10px; background: linear-gradient(155deg, #1c2822 0%, #131a17 100%); border: 1px solid color-mix(in srgb, var(--qshop-accent) 35%, #2a3330); display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: center; color: var(--qwb-fg, #e8e6e0); transition: transform 120ms ease, border-color 120ms ease, box-shadow 180ms ease, background 180ms ease; position: relative; cursor: pointer; overflow: hidden; } .qwb-lib__qshop-add::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--qshop-accent); opacity: 0.9; } .qwb-lib__qshop-add:hover { border-color: color-mix(in srgb, var(--qshop-accent) 55%, #2a3330); background: linear-gradient(155deg, #24342c 0%, #1a2220 100%); box-shadow: 0 6px 22px rgba(0, 0, 0, 0.3), 0 0 0 1px color-mix(in srgb, var(--qshop-accent) 38%, transparent) inset; transform: translateY(-1px); } .qwb-lib__qshop-add:active { transform: translateY(0); } .qwb-lib__qshop-add-ico { width: 36px; height: 36px; border-radius: 8px; display: grid; place-items: center; font-size: 19px; line-height: 1; color: var(--qshop-accent); background: color-mix(in srgb, var(--qshop-accent) 16%, #0e1211); border: 1px solid color-mix(in srgb, var(--qshop-accent) 32%, #2a3330); box-shadow: 0 0 12px color-mix(in srgb, var(--qshop-accent) 22%, transparent) inset; } .qwb-lib__qshop-add-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; } .qwb-lib__qshop-add-l { font-size: 14px; font-weight: 650; line-height: 1.2; font-family: var(--qwb-sans); } .qwb-lib__qshop-add-d { font-size: 11px; line-height: 1.3; color: #7a8a80; font-weight: 500; } .qwb-lib__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; } .qwb-lib__tile { --tile-accent: #7cb88c; text-align: left; padding: 12px 12px 12px 14px; border-radius: 10px; background: linear-gradient(155deg, #1c2420 0%, #151b18 55%, #11161a 100%); border: 1px solid #2a3330; box-shadow: 0 1px 0 rgba(255, 255, 255, 0.02) inset, 0 0 0 1px transparent; display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: center; color: var(--qwb-fg, #e8e6e0); transition: transform 120ms ease, border-color 120ms ease, box-shadow 180ms ease, background 180ms ease; position: relative; overflow: hidden; } .qwb-lib__tile::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--tile-accent); opacity: 0.85; } .qwb-lib__tile:hover { border-color: color-mix(in srgb, var(--tile-accent) 50%, #2a3330); background: linear-gradient(155deg, #222a26 0%, #1a221c 55%, #141a18 100%); box-shadow: 0 6px 22px rgba(0, 0, 0, 0.3), 0 0 0 1px color-mix(in srgb, var(--tile-accent) 35%, transparent) inset; transform: translateY(-1px); } .qwb-lib__tile:active { transform: translateY(0); } .qwb-lib__tile-ico { width: 34px; height: 34px; border-radius: 8px; display: grid; place-items: center; font-size: 17px; line-height: 1; color: var(--tile-accent); background: color-mix(in srgb, var(--tile-accent) 14%, #0e1211); border: 1px solid color-mix(in srgb, var(--tile-accent) 28%, #2a3330); box-shadow: 0 0 12px color-mix(in srgb, var(--tile-accent) 20%, transparent) inset; } .qwb-lib__tile-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; } .qwb-lib__tile-l { font-weight: 650; font-size: 13.5px; letter-spacing: 0.01em; } .qwb-lib__tile-d { font-size: 11.5px; color: #8fa0a4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .qwb-lib__plugs { display: grid; gap: 6px; } .qwb-lib__plughost { display: flex; flex-direction: row; align-items: stretch; gap: 0; min-width: 0; } .qwb-lib__plughost .qwb-lib__plug { flex: 1 1 auto; min-width: 0; border-radius: 9px 0 0 9px; } .qwb-lib__plughost .qwb-lib__plug-rm { flex: 0 0 36px; width: 36px; border: 1px solid #2a3330; border-left: none; border-radius: 0 9px 9px 0; background: linear-gradient(180deg, #1a1815 0%, #131210 100%); color: #9a8a7a; font-size: 18px; line-height: 1; cursor: pointer; padding: 0; transition: background 0.15s, color 0.15s; } .qwb-lib__plughost .qwb-lib__plug-rm:hover { background: #2a2220; color: #e8b0a0; } [data-site-theme='paper'] .qwb-lib__plughost .qwb-lib__plug-rm { border-color: #c4c0b4; background: #f0ebe0; color: #6a5a50; } [data-site-theme='paper'] .qwb-lib__plughost .qwb-lib__plug-rm:hover { background: #e8e0d4; color: #8a3a2a; } .qwb-lib__qbarfoot { margin: 8px 0 0; } .qwb-lib__plug { --plug-accent: #7cb88c; display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: center; padding: 9px 12px 9px 10px; border-radius: 9px; border: 1px solid #2a3330; background: linear-gradient(180deg, #171d1a 0%, #131816 100%); text-align: left; color: var(--qwb-fg, #e8e6e0); font-size: 13px; transition: background 160ms ease, border-color 160ms ease, box-shadow 200ms ease, transform 120ms ease; position: relative; overflow: hidden; } .qwb-lib__plug::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--plug-accent); opacity: 0.8; } .qwb-lib__plug:hover:enabled { background: linear-gradient(180deg, #1e2622 0%, #17201c 100%); border-color: color-mix(in srgb, var(--plug-accent) 45%, #2a3330); box-shadow: 0 0 0 1px color-mix(in srgb, var(--plug-accent) 30%, transparent) inset; transform: translateY(-1px); } .qwb-lib__plug:disabled { opacity: 0.5; cursor: not-allowed; } .qwb-lib__plug-ico { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 6px; color: var(--plug-accent); background: color-mix(in srgb, var(--plug-accent) 14%, #0e1211); border: 1px solid color-mix(in srgb, var(--plug-accent) 28%, #2a3330); font-size: 14px; } .qwb-lib__plug-mid { display: flex; flex-direction: column; gap: 2px; min-width: 0; } .qwb-lib__plug-t { font-weight: 600; font-size: 12.5px; letter-spacing: 0.01em; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .qwb-lib__plug-h { font-size: 10.5px; color: #8fa0a4; font-family: var(--qwb-mono); letter-spacing: 0.02em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } /* Fold blocks panel (BLOCKS tab on edge reopens) */ .qwb-lib__collapse { flex: 0 0 auto; width: 28px; height: 34px; margin: 0; padding: 0; display: grid; place-items: center; align-self: center; border-radius: 8px; border: 1px solid #2a3d32; background: linear-gradient(165deg, #1a2822 0%, #101814 100%); color: #9ac4a6; font-size: 16px; line-height: 1; cursor: pointer; transition: color 120ms ease, border-color 120ms ease, background 120ms ease; } .qwb-lib__collapse:hover { color: #d0f0dc; border-color: #4a6a52; } [data-site-theme='paper'] .qwb-lib__collapse { border-color: #b8b4a4; background: #e8e4d8; color: #3a5240; } /* Publisher row — (avatar + text) on the left, settings on the right */ .qwb-lib__pub { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 10px 10px 12px; margin: -12px -12px 14px -12px; border-bottom: 1px solid #22302b; background: linear-gradient(180deg, #14201b 0%, #0f1512 100%); } .qwb-lib__pub-main { display: flex; flex-direction: row; align-items: center; gap: 8px 10px; min-width: 0; flex: 1 1 auto; } /** Publisher row is now a button — match it visually to the surrounding card while keeping the * native button click target for keyboard / accessibility. Hover gives a subtle indication that * clicking opens the Site & publish settings. */ .qwb-lib__pub-main--btn { border: 0; background: transparent; padding: 0; text-align: left; color: inherit; cursor: pointer; font: inherit; border-radius: 8px; } .qwb-lib__pub-main--btn:hover { background: color-mix(in srgb, var(--qwb-fg2) 8%, transparent); } .qwb-lib__pub-main--btn:focus-visible { outline: 2px solid var(--qwb-accent); outline-offset: 2px; } .qwb-lib__pub-n--placeholder { color: #7a8a7e; font-weight: 500; font-size: 13px; font-style: italic; } .qwb-lib__gear { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border-radius: 9px; border: 1px solid #2a3d32; background: linear-gradient(165deg, #1a2a24 0%, #101814 100%); color: #9ac4a6; cursor: pointer; flex: 0 0 auto; align-self: center; transition: color 0.12s ease, border-color 0.12s ease, background 0.12s ease; box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset; } .qwb-lib__gear:hover { color: #c8e8d4; border-color: #4a6a52; background: linear-gradient(165deg, #1e3228 0%, #121c18 100%); } .qwb-lib__gear:active { transform: scale(0.98); } .qwb-lib__gear-ico { display: block; pointer-events: none; } [data-site-theme='paper'] .qwb-lib__gear { background: #e8e4d8; border-color: #b8b4a4; color: #3a5a40; box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset; } [data-site-theme='paper'] .qwb-lib__gear:hover { background: #f0ebe0; border-color: #9a9a8a; color: #1a3a2a; } .qwb-lib__av { width: 40px; height: 40px; border-radius: 50%; overflow: hidden; background: linear-gradient(135deg, #1f2f28 0%, #13211c 100%); border: 1px solid #2a3d35; display: grid; place-items: center; flex: 0 0 auto; box-shadow: 0 0 0 1px rgba(124, 184, 140, 0.2) inset, 0 4px 14px rgba(0, 0, 0, 0.3); } .qwb-lib__av img { width: 100%; height: 100%; object-fit: cover; display: block; } .qwb-lib__av--ph { background: linear-gradient(135deg, #233530 0%, #16221e 100%); } .qwb-lib__av-i { font-size: 14px; font-weight: 700; letter-spacing: 0.06em; color: #a5d4b0; font-family: var(--qwb-sans); } .qwb-lib__pub-txt { min-width: 0; display: flex; flex-direction: column; } .qwb-lib__pub-l { font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; color: #7a9a82; margin-bottom: 1px; } .qwb-lib__pub-n { font-weight: 650; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #e6eee7; } .qwb-lib__pub-addr { font-size: 10.5px; color: #8a9a8e; margin-top: 2px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; } .qwb-lib__sub { font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.1em; color: #7a8a7e; margin: 14px 0 6px; padding-top: 10px; border-top: 1px dashed rgba(124, 184, 140, 0.2); } .qwb-lib__custom { display: grid; gap: 6px; padding: 10px; border-radius: 9px; border: 1px solid #2a3330; background: linear-gradient(180deg, #161c18 0%, #11161a 100%); margin-bottom: 4px; } [data-site-theme='paper'] .qwb-lib__sub { color: #6a6040; border-top-color: rgba(124, 104, 40, 0.25); } [data-site-theme='paper'] .qwb-lib__custom { background: linear-gradient(180deg, #f5efdf 0%, #ebe4d1 100%); border-color: #d1c8a8; } .qwb-lib__row2 { display: flex; flex-direction: column; gap: 6px; margin-bottom: 8px; } /* Canvas */ .qwb-canvas { min-height: calc(100vh - 52px); padding: 24px 16px 48px; background: var(--qwb-cbg, #0a0c0a); } /* Retain SPA: scroll length = active sub-page only (not max of all logical pages). */ .qwb-canvas--retain.qwb-canvas--public { min-height: 0; } /* Published multi-page SPA: only the active sub-page is mounted (`VisitorRetainCanvasStack`). */ .qwb-canvas--retain .qwb-canvas-retain-stack { width: 100%; } .qwb-canvas--retain .qwb-canvas-retain-pane { min-width: 0; } .qwb-canvas__inner { max-width: 1100px; margin: 0 auto; display: flex; flex-direction: column; gap: 0; } /** * Site & publish → "Page width on published site" → "Full width" mode. The OPTIONS panel sets * `data-qwb-page-width="full"` on the visitor root (`.qwb-visitor`) and on the editor canvas * preview. CSS scopes the unbounded width to the inner container so blocks inside the grid * automatically span the full viewport. */ [data-qwb-page-width='full'] .qwb-canvas__inner, .qwb-canvas--public[data-qwb-page-width='full'] .qwb-canvas__inner, .qwb-visitor[data-qwb-page-width='full'] .qwb-canvas__inner { max-width: none; } /* 12-column dense grid so blocks can span 3/4/6/8/12 columns and auto-fill gaps. * align-items: start — blocks in the same row keep independent heights (e.g. one tall + two short); * the grid default stretch would force every cell to the row’s tallest height. */ .qwb-canvas__list { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-flow: row dense; align-items: start; gap: 14px; min-width: 0; } @media (max-width: 720px) { .qwb-canvas__list { grid-template-columns: 1fr; } .qwb-canvas__list > .qwb-block { grid-column: 1 / -1 !important; grid-row: auto !important; } } [data-qwb-theme='paper'] { --qwb-cbg: #f2f0e8; --qwb-fg2: #1a1c1a; --qwb-line2: #d4d0c4; --qwb-card: #ffffff; --qwb-glow: rgba(60, 100, 80, 0.12); } [data-qwb-theme='slate'] { --qwb-cbg: #12161a; --qwb-fg2: #e4e6ea; --qwb-line2: #2a3340; --qwb-card: #1a1f25; --qwb-glow: rgba(100, 140, 200, 0.08); } [data-qwb-theme='forest'] { --qwb-cbg: #0e1510; --qwb-fg2: #e0ebe4; --qwb-line2: #2a3d32; --qwb-card: #121c16; --qwb-glow: rgba(80, 160, 100, 0.1); } /* Theme overrides on inner preview */ .qwb-canvas__inner { color: var(--qwb-fg2); font-family: var(--qwb-sans); } .qwb-block { position: relative; border: 1px solid transparent; border-radius: 6px; margin-bottom: 0; grid-column: span 12; min-width: 0; display: flex; flex-direction: column; transition: border-color 0.15s, box-shadow 0.15s; } .qwb-block--sel { border-color: #4a7c5e; box-shadow: 0 0 0 1px #4a7c5e; } .qwb-block--resizing { border-color: #7cb88c; box-shadow: 0 0 0 1px #7cb88c, 0 10px 28px rgba(124, 184, 140, 0.15); } /* Resize handle (bottom-right) — drag to set width snapped to 3/4/6/8/12 cols and min-height. */ .qwb-block__resize { position: absolute; right: 2px; bottom: 2px; width: 18px; height: 18px; display: grid; place-items: center; color: #7a9a82; cursor: nwse-resize; border-radius: 4px; background: rgba(0, 0, 0, 0.25); opacity: 0; transition: opacity 0.12s, color 0.12s, background 0.12s; z-index: 3; user-select: none; } .qwb-block:hover .qwb-block__resize, .qwb-block--sel .qwb-block__resize, .qwb-block--resizing .qwb-block__resize { opacity: 1; } .qwb-block__resize:hover { color: #a5d4b0; background: rgba(30, 60, 40, 0.45); } [data-site-theme='paper'] .qwb-block__resize { color: #6a7a66; background: rgba(255, 255, 255, 0.4); } [data-site-theme='paper'] .qwb-block__resize:hover { color: #2d4a35; background: rgba(140, 170, 150, 0.4); } /* Published Q-Apps block: visitor can drag bottom-right to set height (saved in localStorage). */ .qwb-block--public-qapp { position: relative; } .qwb-block--public-qapp .qwb-block__resize--visitor { cursor: ns-resize; opacity: 0.5; touch-action: none; } .qwb-block--public-qapp:hover .qwb-block__resize--visitor, .qwb-block--public-qapp.qwb-block--resizing .qwb-block__resize--visitor { opacity: 1; } .qwb-block__resize-grip { display: none; } .qwb-block__resize-hint { display: none; } .qwb-block__resize-icon { display: block; } /* Published Q-Apps on phones: full-width bottom drag bar (touch-friendly). */ @media (max-width: 768px), (pointer: coarse) { html.qwb-pub .qwb-block--public-qapp .qwb-block__resize--visitor { left: 0; right: 0; bottom: 0; width: auto; height: 40px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border-radius: 0 0 10px 10px; background: linear-gradient(180deg, rgba(12, 18, 14, 0.55) 0%, rgba(12, 18, 14, 0.92) 100%); opacity: 0.92; z-index: 4; } html.qwb-pub .qwb-block--public-qapp.qwb-block--resizing .qwb-block__resize--visitor { background: rgba(30, 60, 40, 0.95); } html.qwb-pub .qwb-block__resize-grip { display: block; width: 36px; height: 4px; border-radius: 999px; background: rgba(168, 200, 188, 0.75); box-shadow: 0 6px 0 rgba(168, 200, 188, 0.45); } html.qwb-pub .qwb-block__resize-hint { display: block; font-size: 10px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: #a8c2b5; line-height: 1; pointer-events: none; user-select: none; } html.qwb-pub .qwb-block__resize-icon { display: none; } } [data-site-theme='paper'] html.qwb-pub .qwb-block--public-qapp .qwb-block__resize--visitor { background: linear-gradient(180deg, rgba(252, 250, 244, 0.72) 0%, rgba(244, 240, 230, 0.96) 100%); } [data-site-theme='paper'] html.qwb-pub .qwb-block__resize-grip { background: rgba(90, 74, 36, 0.45); box-shadow: 0 6px 0 rgba(90, 74, 36, 0.28); } [data-site-theme='paper'] html.qwb-pub .qwb-block__resize-hint { color: #5a4a24; } /* Inner content should fill the block when a min-height is enforced. */ .qwb-block__body { flex: 1; min-height: 0; display: flex; flex-direction: column; } .qwb-block__body > * { flex: 1; } /* Let the site header keep its content height; `flex:1` on a sticky element’s box breaks `position:sticky` */ .qwb-block__body > .qwb-sitehdr { flex: 0 0 auto; width: 100%; min-width: 0; } .qwb-block__bar { display: flex; align-items: center; justify-content: space-between; padding: 4px 8px; font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; color: #6a7a70; background: linear-gradient(180deg, rgba(0, 0, 0, 0.2), transparent); opacity: 0; transition: opacity 0.12s; } .qwb-block:hover .qwb-block__bar, .qwb-block--sel .qwb-block__bar { opacity: 1; } .qwb-block__bar-l { font-weight: 600; } .qwb-block__bar-a { display: flex; gap: 2px; } .qwb-ico { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; border-radius: 4px; background: #1a201c; border: 1px solid #2a3330; /* Explicit icon color: inspector inherits dark body text, which was invisible on this dark background. */ color: #d0d8d4; font-size: 14px; line-height: 1; } .qwb-ico:hover:enabled { background: #222a25; border-color: #3a4a40; } .qwb-ico:disabled { opacity: 0.35; cursor: not-allowed; } .qwb-ico--danger:hover { border-color: #8a4a3a; color: #e8a090; } /* Note: .qwb-block__body also defined above with flex rules. Keep styles in sync if edited. */ /* * Per-block shell (Inspector → Block appearance): glassy / transparent background, optional no frame. * Targets the direct child of .qwb-block__body (each block type’s root). */ .qwb-block--chrome-glass .qwb-block__body > :is( .qwb-announce, .qwb-sitehdr, .qwb-hero, .qwb-prose, .qwb-qapp, .qwb-links, .qwb-btns, .qwb-photo-sec, .qwb-video-sec, .qwb-music-outer, .qwb-albums, .qwb-foot, .qwb-com, .qwb-forum, .qwb-poll, .qwb-qshop, .qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown ) { background: color-mix(in srgb, var(--qwb-card) 38%, rgba(0, 0, 0, 0.06)) !important; -webkit-backdrop-filter: blur(20px) saturate(160%); backdrop-filter: blur(20px) saturate(160%); border-color: color-mix(in srgb, var(--qwb-line2) 85%, transparent) !important; box-shadow: 0 4px 28px color-mix(in srgb, var(--qwb-fg2) 7%, transparent) !important; } [data-site-theme='paper'] .qwb-block--chrome-glass .qwb-block__body > :is( .qwb-announce, .qwb-sitehdr, .qwb-hero, .qwb-prose, .qwb-qapp, .qwb-links, .qwb-btns, .qwb-photo-sec, .qwb-video-sec, .qwb-music-outer, .qwb-albums, .qwb-foot, .qwb-com, .qwb-forum, .qwb-poll, .qwb-qshop, .qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown ) { background: color-mix(in srgb, var(--qwb-card) 45%, rgba(255, 255, 255, 0.5)) !important; box-shadow: 0 4px 24px color-mix(in srgb, var(--qwb-fg2) 5%, transparent) !important; } /* Blocks that ship without a full card: give them a clear panel for glass. */ .qwb-block--chrome-glass .qwb-block__body > :is(.qwb-btns, .qwb-photo-sec, .qwb-video-sec) { padding: 16px 18px; border: 1px solid color-mix(in srgb, var(--qwb-line2) 88%, transparent); border-radius: 12px; } .qwb-block--chrome-glass .qwb-block__body > :is(.qwb-com, .qwb-forum, .qwb-poll) { margin-bottom: 2px; padding: 16px 18px 20px; border-radius: 12px; border: 1px solid color-mix(in srgb, var(--qwb-line2) 70%, transparent); } .qwb-block--chrome-glass .qwb-block__body > .qwb-albums { padding: 14px; border-radius: 12px; border: 1px solid color-mix(in srgb, var(--qwb-line2) 75%, transparent); } .qwb-block--chrome-glass .qwb-block__body > :is(.qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown) { padding: 16px 18px; border-radius: 12px; border: 1px solid color-mix(in srgb, var(--qwb-line2) 75%, transparent); } /* Transparent: no card fill; optional border when frame is on (see :not(…-noframe) below) */ .qwb-block--chrome-transparent .qwb-block__body > :is( .qwb-announce, .qwb-sitehdr, .qwb-hero, .qwb-prose, .qwb-qapp, .qwb-links, .qwb-btns, .qwb-photo-sec, .qwb-video-sec, .qwb-music-outer, .qwb-albums, .qwb-foot, .qwb-com, .qwb-forum, .qwb-poll, .qwb-qshop, .qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown ) { background: transparent !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; box-shadow: none !important; } .qwb-block--chrome-transparent:not(.qwb-block--chrome-noframe) .qwb-block__body > :is( .qwb-announce, .qwb-sitehdr, .qwb-hero, .qwb-prose, .qwb-qapp, .qwb-links, .qwb-btns, .qwb-foot, .qwb-music-outer, .qwb-qshop, .qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown ) { border: 1px solid var(--qwb-line2) !important; } /* Flat sections: only an outline so “transparent + frame” is visible */ .qwb-block--chrome-transparent:not(.qwb-block--chrome-noframe) .qwb-block__body > :is(.qwb-btns, .qwb-photo-sec, .qwb-video-sec) { border: 1px solid var(--qwb-line2) !important; border-radius: 12px; padding: 16px 18px; } .qwb-block--chrome-transparent:not(.qwb-block--chrome-noframe) .qwb-block__body > :is(.qwb-com, .qwb-forum, .qwb-poll) { border: 1px solid var(--qwb-line2) !important; border-radius: 12px; padding: 12px 16px 18px; } .qwb-block--chrome-transparent:not(.qwb-block--chrome-noframe) .qwb-block__body > .qwb-albums { border: 1px solid var(--qwb-line2) !important; border-radius: 12px; padding: 12px; } .qwb-block--chrome-transparent:not(.qwb-block--chrome-noframe) .qwb-block__body > :is(.qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown) { border: 1px solid var(--qwb-line2) !important; border-radius: 12px; padding: 16px 18px; } /* No outer frame: strip border and shadow (glass keeps blur) */ .qwb-block--chrome-noframe .qwb-block__body > :is( .qwb-announce, .qwb-sitehdr, .qwb-hero, .qwb-prose, .qwb-qapp, .qwb-links, .qwb-btns, .qwb-photo-sec, .qwb-video-sec, .qwb-music-outer, .qwb-albums, .qwb-foot, .qwb-com, .qwb-forum, .qwb-poll, .qwb-qshop, .qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown ) { border: none !important; box-shadow: none !important; } .qwb-block--chrome-glass.qwb-block--chrome-noframe .qwb-block__body > :is( .qwb-btns, .qwb-photo-sec, .qwb-video-sec, .qwb-com, .qwb-forum, .qwb-poll, .qwb-albums, .qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown ) { border: none !important; } /* ────────────────────────────────────────────────────────────────────────── * Extra block backgrounds (Inspector → Block appearance): * soft – lighter/softer card with subtle border * tinted – accent-coloured wash * gradient – diagonal accent gradient * dark – deep contrast panel (looks great on the paper theme) * pop – bold accent panel with a thin border * * Selectors mirror the existing glass/transparent blocks so each block type's * root surface is targeted (announce, hero, prose, music, qshop, etc.). * ───────────────────────────────────────────────────────────────────────── */ .qwb-block--chrome-soft .qwb-block__body > :is( .qwb-announce, .qwb-sitehdr, .qwb-hero, .qwb-prose, .qwb-qapp, .qwb-links, .qwb-btns, .qwb-photo-sec, .qwb-video-sec, .qwb-music-outer, .qwb-albums, .qwb-foot, .qwb-com, .qwb-forum, .qwb-poll, .qwb-qshop, .qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown ) { background: color-mix(in srgb, var(--qwb-card) 88%, var(--qwb-fg2) 6%) !important; border-color: color-mix(in srgb, var(--qwb-line2) 70%, transparent) !important; box-shadow: 0 2px 14px color-mix(in srgb, var(--qwb-fg2) 4%, transparent) !important; } .qwb-block--chrome-tinted .qwb-block__body > :is( .qwb-announce, .qwb-sitehdr, .qwb-hero, .qwb-prose, .qwb-qapp, .qwb-links, .qwb-btns, .qwb-photo-sec, .qwb-video-sec, .qwb-music-outer, .qwb-albums, .qwb-foot, .qwb-com, .qwb-forum, .qwb-poll, .qwb-qshop, .qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown ) { background: color-mix(in srgb, var(--qwb-accent) 14%, var(--qwb-card) 86%) !important; border-color: color-mix(in srgb, var(--qwb-accent) 35%, var(--qwb-line2) 65%) !important; } .qwb-block--chrome-gradient .qwb-block__body > :is( .qwb-announce, .qwb-sitehdr, .qwb-hero, .qwb-prose, .qwb-qapp, .qwb-links, .qwb-btns, .qwb-photo-sec, .qwb-video-sec, .qwb-music-outer, .qwb-albums, .qwb-foot, .qwb-com, .qwb-forum, .qwb-poll, .qwb-qshop, .qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown ) { background: linear-gradient( 135deg, color-mix(in srgb, var(--qwb-accent) 18%, var(--qwb-card) 82%) 0%, color-mix(in srgb, var(--qwb-card) 92%, transparent) 100% ) !important; border-color: color-mix(in srgb, var(--qwb-accent) 35%, var(--qwb-line2) 65%) !important; box-shadow: 0 4px 24px color-mix(in srgb, var(--qwb-accent) 12%, transparent) !important; } .qwb-block--chrome-dark .qwb-block__body > :is( .qwb-announce, .qwb-sitehdr, .qwb-hero, .qwb-prose, .qwb-qapp, .qwb-links, .qwb-btns, .qwb-photo-sec, .qwb-video-sec, .qwb-music-outer, .qwb-albums, .qwb-foot, .qwb-com, .qwb-forum, .qwb-poll, .qwb-qshop, .qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown ) { background: color-mix(in srgb, #0d1612 88%, var(--qwb-fg2) 12%) !important; color: #e8eee9 !important; border-color: color-mix(in srgb, #0d4f23 50%, #1a3a25 50%) !important; box-shadow: 0 6px 28px rgba(0, 0, 0, 0.32) !important; } .qwb-block--chrome-dark .qwb-block__body > * :is(.qwb-muted, h1, h2, h3, h4, p, label, span) { color: inherit; } .qwb-block--chrome-pop .qwb-block__body > :is( .qwb-announce, .qwb-sitehdr, .qwb-hero, .qwb-prose, .qwb-qapp, .qwb-links, .qwb-btns, .qwb-photo-sec, .qwb-video-sec, .qwb-music-outer, .qwb-albums, .qwb-foot, .qwb-com, .qwb-forum, .qwb-poll, .qwb-qshop, .qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown ) { background: color-mix(in srgb, var(--qwb-accent) 26%, var(--qwb-card) 74%) !important; border: 2px solid color-mix(in srgb, var(--qwb-accent) 60%, var(--qwb-line2) 40%) !important; box-shadow: 0 8px 30px color-mix(in srgb, var(--qwb-accent) 20%, transparent) !important; } /* === Additional block backgrounds (more variety for the Inspector picker) ============ */ .qwb-block--chrome-outline .qwb-block__body > :is( .qwb-announce, .qwb-sitehdr, .qwb-hero, .qwb-prose, .qwb-qapp, .qwb-links, .qwb-btns, .qwb-photo-sec, .qwb-video-sec, .qwb-music-outer, .qwb-albums, .qwb-foot, .qwb-com, .qwb-forum, .qwb-poll, .qwb-qshop, .qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown ) { background: transparent !important; border: 2px solid color-mix(in srgb, var(--qwb-accent) 70%, var(--qwb-line2) 30%) !important; box-shadow: none !important; } .qwb-block--chrome-paper .qwb-block__body > :is( .qwb-announce, .qwb-sitehdr, .qwb-hero, .qwb-prose, .qwb-qapp, .qwb-links, .qwb-btns, .qwb-photo-sec, .qwb-video-sec, .qwb-music-outer, .qwb-albums, .qwb-foot, .qwb-com, .qwb-forum, .qwb-poll, .qwb-qshop, .qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown ) { background: linear-gradient(180deg, #fbf6e7 0%, #f0e8c9 100%) !important; color: #2b2410 !important; border: 1px solid rgba(122, 96, 32, 0.45) !important; box-shadow: 0 6px 24px rgba(80, 60, 20, 0.18) !important; } .qwb-block--chrome-paper .qwb-block__body > * :is(.qwb-muted, h1, h2, h3, h4, p, label, span, li) { color: inherit; } .qwb-block--chrome-sunset .qwb-block__body > :is( .qwb-announce, .qwb-sitehdr, .qwb-hero, .qwb-prose, .qwb-qapp, .qwb-links, .qwb-btns, .qwb-photo-sec, .qwb-video-sec, .qwb-music-outer, .qwb-albums, .qwb-foot, .qwb-com, .qwb-forum, .qwb-poll, .qwb-qshop, .qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown ) { background: linear-gradient(135deg, #ff7b54 0%, #ffa552 50%, #ffd06b 100%) !important; color: #2a1502 !important; border: 1px solid rgba(140, 60, 0, 0.55) !important; box-shadow: 0 8px 28px rgba(180, 80, 0, 0.32) !important; } .qwb-block--chrome-sunset .qwb-block__body > * :is(.qwb-muted, h1, h2, h3, h4, p, label, span, li) { color: inherit; } .qwb-block--chrome-forest .qwb-block__body > :is( .qwb-announce, .qwb-sitehdr, .qwb-hero, .qwb-prose, .qwb-qapp, .qwb-links, .qwb-btns, .qwb-photo-sec, .qwb-video-sec, .qwb-music-outer, .qwb-albums, .qwb-foot, .qwb-com, .qwb-forum, .qwb-poll, .qwb-qshop, .qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown ) { background: linear-gradient(135deg, #1f4a2c 0%, #2a6a3c 60%, #3d8e52 100%) !important; color: #eef4e6 !important; border: 1px solid rgba(40, 90, 40, 0.7) !important; box-shadow: 0 8px 28px rgba(0, 60, 20, 0.4) !important; } .qwb-block--chrome-forest .qwb-block__body > * :is(.qwb-muted, h1, h2, h3, h4, p, label, span, li) { color: inherit; } .qwb-block--chrome-ocean .qwb-block__body > :is( .qwb-announce, .qwb-sitehdr, .qwb-hero, .qwb-prose, .qwb-qapp, .qwb-links, .qwb-btns, .qwb-photo-sec, .qwb-video-sec, .qwb-music-outer, .qwb-albums, .qwb-foot, .qwb-com, .qwb-forum, .qwb-poll, .qwb-qshop, .qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown ) { background: linear-gradient(135deg, #0d3b66 0%, #155f8a 55%, #1f7fb5 100%) !important; color: #e6f1fb !important; border: 1px solid rgba(20, 95, 138, 0.7) !important; box-shadow: 0 8px 28px rgba(0, 50, 90, 0.35) !important; } .qwb-block--chrome-ocean .qwb-block__body > * :is(.qwb-muted, h1, h2, h3, h4, p, label, span, li) { color: inherit; } .qwb-block--chrome-neon .qwb-block__body > :is( .qwb-announce, .qwb-sitehdr, .qwb-hero, .qwb-prose, .qwb-qapp, .qwb-links, .qwb-btns, .qwb-photo-sec, .qwb-video-sec, .qwb-music-outer, .qwb-albums, .qwb-foot, .qwb-com, .qwb-forum, .qwb-poll, .qwb-qshop, .qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown ) { background: #0c1014 !important; color: #e8ffe8 !important; border: 1px solid color-mix(in srgb, var(--qwb-accent) 80%, #00ff9c 20%) !important; box-shadow: 0 0 0 1px color-mix(in srgb, var(--qwb-accent) 50%, transparent) inset, 0 0 22px color-mix(in srgb, var(--qwb-accent) 60%, transparent) !important; } .qwb-block--chrome-neon .qwb-block__body > * :is(.qwb-muted, h1, h2, h3, h4, p, label, span, li) { color: inherit; } .qwb-block--chrome-mono .qwb-block__body > :is( .qwb-announce, .qwb-sitehdr, .qwb-hero, .qwb-prose, .qwb-qapp, .qwb-links, .qwb-btns, .qwb-photo-sec, .qwb-video-sec, .qwb-music-outer, .qwb-albums, .qwb-foot, .qwb-com, .qwb-forum, .qwb-poll, .qwb-qshop, .qwb-newsletter, .qwb-multicol, .qwb-groups, .qwb-contact, .qwb-mappins, .qwb-countdown ) { background: linear-gradient(180deg, #f5f5f5 0%, #d8d8d8 100%) !important; color: #181818 !important; border: 2px solid #2a2a2a !important; box-shadow: 6px 6px 0 0 #181818 !important; } .qwb-block--chrome-mono .qwb-block__body > * :is(.qwb-muted, h1, h2, h3, h4, p, label, span, li) { color: inherit; } /* ── Countdown block (inner panel + timer visuals) ─────────────────────────── */ .qwb-visitor .qwb-block--countdown-held, .qwb-canvas--public .qwb-block--countdown-held { display: none !important; } .qwb-insp__radiocol { display: flex; flex-direction: column; gap: 6px; margin-top: 4px; } .qwb-insp__countdown-units { display: flex; flex-direction: column; gap: 8px; } .qwb-insp__countdown-unitrow { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; } .qwb-insp__countdown-reveal { max-height: 240px; overflow: auto; display: flex; flex-direction: column; gap: 2px; } .qwb-countdown { width: 100%; min-width: 0; } .qwb-countdown--hidden { display: none !important; } .qwb-countdown--ac { text-align: center; } .qwb-countdown--al { text-align: left; } .qwb-countdown--ar { text-align: right; } .qwb-countdown__panel { padding: 1.1rem 1.2rem; border-radius: 12px; border: 1px solid color-mix(in srgb, var(--qwb-line2) 72%, transparent); background: color-mix(in srgb, var(--qwb-card) 94%, transparent); box-sizing: border-box; } .qwb-countdown__panel--ds-compact { padding: 0.55rem 0.75rem; } .qwb-countdown__panel--ds-circle { padding: 1rem 1.1rem; } .qwb-countdown__panel--ds-large { padding: 1.2rem 1.35rem; } .qwb-countdown__title { margin: 0 0 0.35rem; font-size: 1.35rem; font-weight: 700; } .qwb-countdown__sub { margin: 0 0 0.85rem; font-size: 0.92rem; opacity: 0.92; line-height: 1.45; } .qwb-countdown__sub p:first-child { margin-top: 0; } .qwb-countdown__units { display: flex; flex-wrap: wrap; gap: 10px 16px; justify-content: center; align-items: flex-start; } .qwb-countdown--al .qwb-countdown__units { justify-content: flex-start; } .qwb-countdown--ar .qwb-countdown__units { justify-content: flex-end; } .qwb-countdown__units--large { margin-top: 0.35rem; } .qwb-countdown__unit { display: flex; flex-direction: column; align-items: center; min-width: 3rem; } .qwb-countdown--al .qwb-countdown__unit { align-items: flex-start; } .qwb-countdown--ar .qwb-countdown__unit { align-items: flex-end; } .qwb-countdown__digit { font-variant-numeric: tabular-nums; font-weight: 800; font-size: clamp(1.65rem, 4vw, 2.35rem); letter-spacing: 0.03em; line-height: 1.05; } .qwb-countdown__panel--ds-compact .qwb-countdown__digit { font-size: 1.15rem; } .qwb-countdown__lbl { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.06em; opacity: 0.82; margin-top: 0.25rem; } .qwb-countdown__compact { margin-top: 0.65rem; font-variant-numeric: tabular-nums; font-weight: 650; font-size: 0.98rem; letter-spacing: 0.02em; } .qwb-countdown__units--circle { flex-direction: column; align-items: center; gap: 10px; } .qwb-countdown__units-row { display: flex; flex-wrap: wrap; gap: 8px 14px; justify-content: center; } .qwb-countdown__ring { position: relative; width: 112px; height: 112px; } .qwb-countdown__ring-svg { width: 100%; height: 100%; } .qwb-countdown__ring-track { stroke: color-mix(in srgb, var(--qwb-line2) 80%, transparent); } .qwb-countdown__ring-fill { stroke: var(--qwb-accent, #43a047); stroke-linecap: round; } .qwb-countdown__ring-meta { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-weight: 800; font-variant-numeric: tabular-nums; font-size: 1.05rem; } .qwb-countdown__warn { margin: 0 0 0.5rem; font-size: 0.82rem; color: color-mix(in srgb, #ff8866 80%, var(--qwb-fg2) 20%); } .qwb-countdown__devhint { margin: 0.75rem 0 0; font-size: 0.78rem; opacity: 0.82; } .qwb-countdown__done-msg, .qwb-countdown__hint { margin: 0; } .qwb-countdown__done-cta { margin-top: 0.35rem; } /* Inner countdown panel when “Match block chrome” — echoes Block chrome presets */ .qwb-countdown__panel--theme.qwb-countdown__panel--t-soft { background: color-mix(in srgb, var(--qwb-card) 88%, var(--qwb-fg2) 6%) !important; border-color: color-mix(in srgb, var(--qwb-line2) 70%, transparent) !important; } .qwb-countdown__panel--theme.qwb-countdown__panel--t-tinted { background: color-mix(in srgb, var(--qwb-accent) 14%, var(--qwb-card) 86%) !important; border-color: color-mix(in srgb, var(--qwb-accent) 35%, var(--qwb-line2) 65%) !important; } .qwb-countdown__panel--theme.qwb-countdown__panel--t-gradient { background: linear-gradient( 135deg, color-mix(in srgb, var(--qwb-accent) 18%, var(--qwb-card) 82%) 0%, color-mix(in srgb, var(--qwb-card) 92%, transparent) 100% ) !important; border-color: color-mix(in srgb, var(--qwb-accent) 35%, var(--qwb-line2) 65%) !important; } .qwb-countdown__panel--theme.qwb-countdown__panel--t-dark { background: color-mix(in srgb, #0d1612 88%, var(--qwb-fg2) 12%) !important; color: #e8eee9 !important; border-color: color-mix(in srgb, #0d4f23 50%, #1a3a25 50%) !important; } .qwb-countdown__panel--theme.qwb-countdown__panel--t-pop { background: color-mix(in srgb, var(--qwb-accent) 26%, var(--qwb-card) 74%) !important; border: 2px solid color-mix(in srgb, var(--qwb-accent) 60%, var(--qwb-line2) 40%) !important; } .qwb-countdown__panel--theme.qwb-countdown__panel--t-outline { background: transparent !important; border: 2px solid color-mix(in srgb, var(--qwb-accent) 70%, var(--qwb-line2) 30%) !important; } .qwb-countdown__panel--theme.qwb-countdown__panel--t-paper { background: linear-gradient(180deg, #fbf6e7 0%, #f0e8c9 100%) !important; color: #2b2410 !important; border-color: rgba(122, 96, 32, 0.45) !important; } .qwb-countdown__panel--theme.qwb-countdown__panel--t-sunset { background: linear-gradient(135deg, #ff7b54 0%, #ffa552 50%, #ffd06b 100%) !important; color: #2a1502 !important; } .qwb-countdown__panel--theme.qwb-countdown__panel--t-forest { background: linear-gradient(135deg, #1f4a2c 0%, #2a6a3c 60%, #3d8e52 100%) !important; color: #eef4e6 !important; } .qwb-countdown__panel--theme.qwb-countdown__panel--t-ocean { background: linear-gradient(135deg, #0d3b66 0%, #155f8a 55%, #1f7fb5 100%) !important; color: #e6f1fb !important; } .qwb-countdown__panel--theme.qwb-countdown__panel--t-neon { background: #0c1014 !important; color: #e8ffe8 !important; border-color: color-mix(in srgb, var(--qwb-accent) 80%, #00ff9c 20%) !important; } .qwb-countdown__panel--theme.qwb-countdown__panel--t-mono { background: linear-gradient(180deg, #f5f5f5 0%, #d8d8d8 100%) !important; color: #181818 !important; border: 2px solid #2a2a2a !important; } .qwb-countdown__panel--theme.qwb-countdown__panel--t-glass { background: color-mix(in srgb, var(--qwb-card) 38%, rgba(0, 0, 0, 0.06)) !important; border-color: color-mix(in srgb, var(--qwb-line2) 85%, transparent) !important; -webkit-backdrop-filter: blur(12px) saturate(150%); backdrop-filter: blur(12px) saturate(150%); } [data-site-theme='paper'] .qwb-countdown__panel--theme.qwb-countdown__panel--t-glass { background: color-mix(in srgb, var(--qwb-card) 45%, rgba(255, 255, 255, 0.5)) !important; } .qwb-countdown__panel--theme.qwb-countdown__panel--t-transparent { background: transparent !important; border-color: transparent !important; box-shadow: none !important; } /* No-frame variants for the new bgs: drop border + shadow. */ .qwb-block--chrome-noframe.qwb-block--chrome-soft .qwb-block__body > *, .qwb-block--chrome-noframe.qwb-block--chrome-tinted .qwb-block__body > *, .qwb-block--chrome-noframe.qwb-block--chrome-gradient .qwb-block__body > *, .qwb-block--chrome-noframe.qwb-block--chrome-dark .qwb-block__body > *, .qwb-block--chrome-noframe.qwb-block--chrome-pop .qwb-block__body > *, .qwb-block--chrome-noframe.qwb-block--chrome-outline .qwb-block__body > *, .qwb-block--chrome-noframe.qwb-block--chrome-paper .qwb-block__body > *, .qwb-block--chrome-noframe.qwb-block--chrome-sunset .qwb-block__body > *, .qwb-block--chrome-noframe.qwb-block--chrome-forest .qwb-block__body > *, .qwb-block--chrome-noframe.qwb-block--chrome-ocean .qwb-block__body > *, .qwb-block--chrome-noframe.qwb-block--chrome-neon .qwb-block__body > *, .qwb-block--chrome-noframe.qwb-block--chrome-mono .qwb-block__body > * { border: none !important; box-shadow: none !important; } /* === Per-block visibility (Inspector → Block appearance) =========================== */ /** * `Hide on mobile` — applied at runtime when the viewport ≤ 768 px (real device or browser * resize), AND when the editor is in Mobile View preview (`.qwb-viewport--mobile` wrapper). */ @media (max-width: 768px) { .qwb-block--hide-on-mobile { display: none !important; } } .qwb-viewport--mobile .qwb-block--hide-on-mobile { display: none !important; } /** * `Hide on desktop` — applied when the viewport > 768 px AND the editor is NOT in mobile preview. * That way the editor itself can still find / select the block (we only hide it on the live page * and the dedicated mobile preview). */ @media (min-width: 769px) { .qwb-canvas--public .qwb-block--hide-on-desktop { display: none !important; } } /* === Generic interactive-block mobile polish ======================================== */ @media (max-width: 768px) { /* Q-Shop catalog grid → 1 column on phones (overrides the per-shop `productGridColumns`). */ .qwb-qshop__products, .qwb-qshop-store__cards { grid-template-columns: 1fr !important; } /* Q-Shop product detail → buy panel below image instead of beside it. */ .qwb-qshop-detail__top { flex-direction: column !important; grid-template-columns: 1fr !important; } .qwb-qshop-detail__gal-col, .qwb-qshop-detail__info { width: 100% !important; min-width: 0 !important; } /* Q-Shop tabs scroll horizontally instead of wrapping awkwardly. */ .qwb-qshop-store__nav-tabs, .qwb-qshop-tabs { overflow-x: auto; flex-wrap: nowrap; } /* Q-Shop cart line: stack media + meta vertically on narrow screens. */ .qwb-qshop-cartline { flex-direction: column; align-items: stretch; gap: 8px; } /* Newsletter: centered field + subscribe, minimal gap on phones. */ .qwb-newsletter__inner { margin-left: auto; margin-right: auto; width: 100%; max-width: min(520px, 100%); } .qwb-newsletter__form { flex-direction: column; align-items: center; gap: 8px; width: 100%; } .qwb-newsletter__lab { flex: 1 1 auto; width: 100%; max-width: 320px; align-items: center; text-align: center; gap: 6px; } .qwb-newsletter__lab-t { width: 100%; text-align: center; } .qwb-newsletter__form .qwb-input { width: 100%; box-sizing: border-box; text-align: center; } .qwb-newsletter__form .qwb-btn { width: 100%; max-width: 320px; margin-top: 0; } .qwb-newsletter__unsub-line { text-align: center; width: 100%; } /* Contact form: stack labels + inputs. */ .qwb-contact__form { width: 100%; } .qwb-contact__form .qwb-btn { width: 100%; } /* Forum / comments: tighter padding so messages fit phone width. */ .qwb-forum__topic-row, .qwb-com__item { padding: 10px; } /* Storefront header gets less padding so the catalog area is visible without scrolling. */ .qwb-qshop { padding: 14px; } /* Settings dialog Pages list: stack actions below page info. */ .qwb-settings__page-row { flex-direction: column; align-items: stretch; } .qwb-settings__page-actions { justify-content: flex-end; } } /* === Published website mobile optimization (visitor / html.qwb-pub) =========== */ @media (max-width: 768px) { html.qwb-pub .qwb-canvas--public .qwb-canvas__inner { padding-left: 12px; padding-right: 12px; box-sizing: border-box; } html.qwb-pub .qwb-canvas--public .qwb-block--public { min-width: 0; } html.qwb-pub .qwb-canvas--public .qwb-block__body { min-width: 0; overflow-x: clip; } /* Hero */ html.qwb-pub .qwb-hero { padding: 28px 14px 24px; margin-bottom: 12px; } html.qwb-pub .qwb-hero__h { font-size: clamp(1.35rem, 5.5vw, 2.1rem); line-height: 1.2; } html.qwb-pub .qwb-hero__sub { font-size: clamp(0.92rem, 3.6vw, 1.05rem); } html.qwb-pub .qwb-hero__av { width: 72px; height: 72px; } /* Text / prose */ html.qwb-pub .qwb-prose { padding-left: 2px; padding-right: 2px; overflow-wrap: anywhere; word-break: break-word; } html.qwb-pub .qwb-prose img, html.qwb-pub .qwb-prose video, html.qwb-pub .qwb-prose iframe { max-width: 100%; height: auto; } html.qwb-pub .qwb-prose table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } /* Buttons block */ html.qwb-pub .qwb-btns { padding: 14px 10px; } html.qwb-pub .qwb-btns__row { flex-direction: column; align-items: stretch; gap: 10px; } html.qwb-pub .qwb-btns__row .qwb-btn, html.qwb-pub .qwb-btns__row a.qwb-btn { width: 100%; justify-content: center; box-sizing: border-box; } /* Links block */ html.qwb-pub .qwb-links { padding: 12px 8px; } html.qwb-pub .qwb-links__rowa { padding: 10px 8px; } /* Multi-column: stack on phones unless author chose horizontal swipe */ html.qwb-pub .qwb-multicol:not(.qwb-multicol--swipe) .qwb-multicol__track { display: flex !important; flex-direction: column !important; gap: 20px !important; grid-template-columns: 1fr !important; } html.qwb-pub .qwb-multicol:not(.qwb-multicol--swipe) .qwb-multicol__col { width: 100% !important; min-width: 0 !important; } /* Q-App tab row: wrap labels so every app button is reachable on phones */ html.qwb-pub .qwb-qapp__tabs-row { flex-direction: column; align-items: stretch; gap: 8px; } html.qwb-pub .qwb-qapp__tabs { flex-wrap: wrap; justify-content: center; overflow-x: visible; gap: 6px; width: 100%; max-width: 100%; } html.qwb-pub .qwb-qapp__tab { flex: 0 1 auto; max-width: 100%; white-space: normal; text-align: center; line-height: 1.25; padding: 8px 10px; font-size: 11px; } /* Q-Apps grid */ html.qwb-pub .qwb-qapp__grid { grid-template-columns: 1fr !important; gap: 10px; } /* Photo / video / albums */ html.qwb-pub .qwb-photo, html.qwb-pub .qwb-video, html.qwb-pub .qwb-albums { padding: 8px 4px; } html.qwb-pub .qwb-photo__frame img, html.qwb-pub .qwb-albums__img { max-width: 100%; height: auto; } /* Countdown */ html.qwb-pub .qwb-countdown { padding: 12px 8px; } html.qwb-pub .qwb-countdown__units { flex-wrap: wrap; justify-content: center; gap: 10px; } html.qwb-pub .qwb-countdown__units--circle .qwb-countdown__units-row { flex-wrap: wrap; justify-content: center; } /* Footer */ html.qwb-pub .qwb-foot__row { flex-direction: column; align-items: center; text-align: center; gap: 8px; } html.qwb-pub .qwb-foot__links { justify-content: center; flex-wrap: wrap; gap: 8px 12px; } html.qwb-pub .qwb-foot { padding: 16px 12px; } /* Banner / announcement */ html.qwb-pub .qwb-announce__inner { padding: 10px 12px; font-size: 0.92rem; } /* Poll / forum / comments — full width actions */ html.qwb-pub .qwb-poll__options { gap: 8px; } html.qwb-pub .qwb-poll__opt { padding: 12px 14px; } html.qwb-pub .qwb-forum__toolbar, html.qwb-pub .qwb-com__form { flex-direction: column; align-items: stretch; } html.qwb-pub .qwb-forum__toolbar .qwb-btn, html.qwb-pub .qwb-com__form .qwb-btn { width: 100%; } /* Share folders */ html.qwb-pub .qwb-sf__layout { flex-direction: column; } html.qwb-pub .qwb-sf__sidebar { width: 100% !important; max-width: none !important; } /* Map block */ html.qwb-pub .qwb-map__frame { min-height: 240px; } /* Music block */ html.qwb-pub .qwb-music__tracklist { overflow-x: auto; } } /* In-editor "Mobile View" preview mirrors key published mobile rules. */ .qwb-viewport--mobile .qwb-btns__row { flex-direction: column; align-items: stretch; gap: 10px; } .qwb-viewport--mobile .qwb-btns__row .qwb-btn, .qwb-viewport--mobile .qwb-btns__row a.qwb-btn { width: 100%; } .qwb-viewport--mobile .qwb-multicol:not(.qwb-multicol--swipe) .qwb-multicol__track { display: flex !important; flex-direction: column !important; gap: 20px !important; } .qwb-viewport--mobile .qwb-qapp__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } /* In-editor "Mobile View" preview matches the same overrides as the real <=768px viewport. */ .qwb-viewport--mobile .qwb-qshop__products, .qwb-viewport--mobile .qwb-qshop-store__cards { grid-template-columns: 1fr !important; } .qwb-viewport--mobile .qwb-qshop-detail__top { flex-direction: column !important; grid-template-columns: 1fr !important; } .qwb-viewport--mobile .qwb-qshop-detail__gal-col, .qwb-viewport--mobile .qwb-qshop-detail__info { width: 100% !important; min-width: 0 !important; } .qwb-viewport--mobile .qwb-newsletter__inner { margin-left: auto; margin-right: auto; width: 100%; max-width: min(520px, 100%); } .qwb-viewport--mobile .qwb-newsletter__form { flex-direction: column; align-items: center; gap: 8px; width: 100%; } .qwb-viewport--mobile .qwb-newsletter__lab { flex: 1 1 auto; width: 100%; max-width: 320px; align-items: center; text-align: center; gap: 6px; } .qwb-viewport--mobile .qwb-newsletter__lab-t { width: 100%; text-align: center; } .qwb-viewport--mobile .qwb-newsletter__form .qwb-input { width: 100%; box-sizing: border-box; text-align: center; } .qwb-viewport--mobile .qwb-newsletter__form .qwb-btn { width: 100%; max-width: 320px; } .qwb-viewport--mobile .qwb-newsletter__unsub-line { text-align: center; width: 100%; } .qwb-viewport--mobile .qwb-contact__form { flex-direction: column; align-items: stretch; } .qwb-viewport--mobile .qwb-contact__form .qwb-btn { width: 100%; } .qwb-viewport--mobile .qwb-qshop-cartline { flex-direction: column; align-items: stretch; gap: 8px; } .qwb-viewport--mobile .qwb-qshop-store__nav-tabs, .qwb-viewport--mobile .qwb-qshop-tabs { overflow-x: auto; flex-wrap: nowrap; } .qwb-viewport--mobile .qwb-qshop-store__topbar { flex-direction: column; align-items: stretch; } .qwb-viewport--mobile .qwb-qshop-store__topbar .qwb-qshop-store__nav-tabs { flex-wrap: nowrap; } .qwb-viewport--mobile .qwb-qshop-view-qshops { justify-content: center; } /* Rotating announcement bar (add as first block for top-of-site placement) */ .qwb-announce { width: 100%; background: linear-gradient(95deg, color-mix(in srgb, var(--qwb-accent) 25%, var(--qwb-card)) 0%, var(--qwb-card) 70%); border: 1px solid var(--qwb-line2); border-radius: 8px; color: var(--qwb-fg2); box-sizing: border-box; overflow: hidden; } .qwb-announce--public { border-radius: 0; border-left: none; border-right: none; } .qwb-announce__inner { min-height: 2.75rem; display: flex; align-items: center; justify-content: center; padding: 8px 16px; animation: qwb-announce-fade 0.45s ease; } @keyframes qwb-announce-fade { from { opacity: 0; } to { opacity: 1; } } .qwb-announce__t { margin: 0; text-align: center; font-size: 0.95rem; line-height: 1.4; font-weight: 500; } /* Optional inner frame around the banner message (see Block → Banner: Text look) */ .qwb-announce__t--frame { display: inline-block; max-width: 100%; box-sizing: border-box; color: var(--qwb-ann-txt, inherit); } .qwb-announce__t--line { padding: 0.35em 0.95em; border: 2px solid var(--qwb-ann-frame, var(--qwb-accent, #6a9e7c)); border-radius: 8px; background: var(--qwb-ann-fill, transparent); } .qwb-announce__t--double { padding: 0.35em 0.95em; border: 3px double var(--qwb-ann-frame, var(--qwb-accent, #6a9e7c)); border-radius: 8px; background: var(--qwb-ann-fill, transparent); } .qwb-announce__t--fill { padding: 0.4em 1em; border: 1px solid var(--qwb-ann-frame, var(--qwb-accent, #6a9e7c)); border-radius: 8px; background: var( --qwb-ann-fill, color-mix(in srgb, var(--qwb-ann-frame, var(--qwb-accent, #6a9e7c)) 22%, var(--qwb-card, #1e2422)) ); } .qwb-announce__t--pill { padding: 0.45em 1.25em; border: 2px solid var(--qwb-ann-frame, var(--qwb-accent, #6a9e7c)); border-radius: 999px; background: var(--qwb-ann-fill, color-mix(in srgb, var(--qwb-card, #1e2422) 88%, var(--qwb-ann-frame, #6a9e7c) 12%)); } .qwb-announce__t--glow { padding: 0.4em 1em; border: 2px solid var(--qwb-ann-frame, var(--qwb-accent, #6a9e7c)); border-radius: 10px; background: var(--qwb-ann-fill, color-mix(in srgb, var(--qwb-card, #1e2422) 92%, var(--qwb-ann-frame, #6a9e7c) 8%)); box-shadow: 0 0 0 1px color-mix(in srgb, var(--qwb-ann-frame, var(--qwb-accent, #6a9e7c)) 35%, transparent), 0 4px 22px color-mix(in srgb, var(--qwb-ann-frame, var(--qwb-accent, #6a9e7c)) 40%, transparent); } [data-site-theme='paper'] .qwb-announce__t--glow { box-shadow: 0 0 0 1px color-mix(in srgb, var(--qwb-ann-frame, #5a7d62) 40%, transparent), 0 3px 16px color-mix(in srgb, var(--qwb-ann-frame, #5a7d62) 28%, transparent); } [data-site-theme='paper'] .qwb-announce__t--fill { background: var( --qwb-ann-fill, color-mix(in srgb, var(--qwb-ann-frame, #5a7d62) 15%, var(--qwb-card, #f4eeda)) ); } [data-site-theme='paper'] .qwb-announce__t--pill { background: var(--qwb-ann-fill, color-mix(in srgb, var(--qwb-card, #f4eeda) 94%, var(--qwb-ann-frame, #5a7d62) 6%)); } /* Site header: logo + main menu (intended under the banner) */ .qwb-sitehdr { width: 100%; background: var(--qwb-bg2, var(--qwb-card)); border: 1px solid var(--qwb-line2); border-radius: 10px; color: var(--qwb-fg2); box-sizing: border-box; } /** * Editor: sticky uses `position: sticky` inside the canvas scrollport. Visitor mode publishes with * a single scroll container (`.qwb-visitor`): sticky pinning must be relative to that element, not * the viewport-wide `fixed` bar — otherwise the header drifts/overlaps the scrollbar and content lane. */ .qwb-sitehdr--sticky { position: -webkit-sticky; position: sticky; top: 0; z-index: 50; box-shadow: 0 2px 12px var(--qwb-glow); } /* Published visitor (`publicSiteEntry`): one vertical scrollport so the sticky header can pin to the top. */ html.qwb-pub, html.qwb-pub body { height: 100%; margin: 0; overflow: hidden; } html.qwb-pub #root { height: 100%; overflow: hidden; } html.qwb-pub .qwb-visitor { height: 100%; min-height: 0; max-height: 100%; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; box-sizing: border-box; } /** * Visitor: pin to the `.qwb-visitor` scrollport (same semantics as sticky; announcement offset via --qwb-pub-sticky-header-top). */ html.qwb-pub .qwb-sitehdr--sticky { position: -webkit-sticky; position: sticky; top: var(--qwb-pub-sticky-header-top, 0px); left: auto; right: auto; width: auto; z-index: 1000; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35); } html.qwb-pub .qwb-block--has-sticky-header { /* Former `fixed`-header spacer — not needed when the header participates in sticky flow inside `.qwb-visitor`. */ min-height: 0 !important; } @media (max-width: 640px) { html.qwb-pub .qwb-sitehdr--sticky.qwb-sitehdr--pub-mobile-compact .qwb-sitehdr__inner { padding: 6px 12px; gap: 6px 12px; } html.qwb-pub .qwb-sitehdr--sticky.qwb-sitehdr--pub-mobile-compact .qwb-sitehdr__brand { min-height: 32px; } html.qwb-pub .qwb-sitehdr--sticky.qwb-sitehdr--pub-mobile-compact .qwb-sitehdr__title { font-size: 1.05rem; letter-spacing: 0.015em; } } .qwb-sitehdr__inner { max-width: 1200px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 10px 16px; } .qwb-sitehdr--logo-center-left .qwb-sitehdr__inner { padding-left: max(12px, min(6vw, 100px)); } .qwb-sitehdr--logo-left .qwb-sitehdr__inner { padding-left: 12px; } .qwb-sitehdr--logo-center .qwb-sitehdr__inner { flex-direction: column; align-items: center; text-align: center; } .qwb-sitehdr--logo-center .qwb-sitehdr__end { width: 100%; justify-content: center; } .qwb-sitehdr--logo-right .qwb-sitehdr__inner { flex-direction: row-reverse; justify-content: space-between; } .qwb-sitehdr--logo-right .qwb-sitehdr__end { justify-content: flex-start; } .qwb-sitehdr__logo { width: auto; max-width: min(200px, 100%); max-height: 200px; object-fit: contain; display: block; border-radius: 4px; } .qwb-sitehdr__logo-btn { display: inline-flex; align-items: center; margin: 0; padding: 0; border: none; background: none; cursor: pointer; border-radius: 6px; line-height: 0; } .qwb-sitehdr__logo-btn:focus-visible { outline: 2px solid color-mix(in srgb, var(--qwb-accent, #6a9ec8) 70%, transparent); outline-offset: 2px; } .qwb-sitehdr__titlelink { margin: 0; padding: 0; border: none; background: none; cursor: pointer; font: inherit; text-align: inherit; } .qwb-sitehdr__titlelink .qwb-sitehdr__title { text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--qwb-fg) 35%, transparent); text-underline-offset: 3px; } .qwb-sitehdr__title { font-weight: 700; font-size: 1.15rem; letter-spacing: 0.02em; color: var(--qwb-fg, var(--qwb-fg2)); } .qwb-sitehdr__brand { display: flex; align-items: center; min-height: 40px; } .qwb-sitehdr__end { display: flex; flex: 1 1 auto; min-width: 0; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px 12px; } .qwb-sitehdr__nav { display: flex; align-items: center; flex: 0 1 auto; justify-content: flex-end; min-width: 0; } .qwb-sitehdr__theme { flex: 0 0 auto; display: flex; align-items: center; } .qwb-sitehdr__ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; justify-content: flex-end; } .qwb-sitehdr__li { margin: 0; } .qwb-sitehdr__a { display: inline-block; background: none; border: none; color: inherit; font: inherit; font-weight: 500; cursor: pointer; text-decoration: none; padding: 8px 12px; border-radius: 6px; line-height: 1.2; white-space: nowrap; } a.qwb-sitehdr__a, button.qwb-sitehdr__a { text-align: center; font-family: inherit; } .qwb-sitehdr__a:hover { background: color-mix(in srgb, var(--qwb-fg2) 10%, transparent); } .qwb-sitehdr__a:focus-visible { outline: 2px solid var(--qwb-line2, #666); outline-offset: 2px; } /* Auto “current page” styling: inactive items stay plain text (see Block Inspector → Style) */ .qwb-sitehdr--nav-auto-pill .qwb-sitehdr__li:not(.qwb-sitehdr__li--active) > a.qwb-sitehdr__a:where(:not([class*='qwb-sitehdr__a--'])), .qwb-sitehdr--nav-auto-pill .qwb-sitehdr__li:not(.qwb-sitehdr__li--active) > button.qwb-sitehdr__a:where(:not([class*='qwb-sitehdr__a--'])) { font-weight: 400; opacity: 0.88; } .qwb-sitehdr--nav-auto-pill .qwb-sitehdr__li--active > .qwb-sitehdr__a { font-weight: 600; } .qwb-sitehdr--menu-dropdown.qwb-sitehdr--nav-auto-pill .qwb-sitehdr__li--active, .qwb-sitehdr--menu-hamburger.qwb-sitehdr--nav-auto-pill .qwb-sitehdr__li--active { background: color-mix(in srgb, var(--qwb-fg2) 10%, transparent); border-radius: 8px; } /* Main menu item as CTA to another qortal:// website (Options: “Qortal site (button)”) */ .qwb-sitehdr__a--qortal-btn { background: color-mix(in srgb, var(--qwb-fg2) 14%, transparent); border: 1px solid color-mix(in srgb, var(--qwb-fg2) 22%, transparent); font-weight: 600; padding: 7px 14px; } .qwb-sitehdr__a--qortal-btn:hover { background: color-mix(in srgb, var(--qwb-fg2) 22%, transparent); } /* Header menu variants (Block Inspector → Style) */ .qwb-sitehdr__a--primary { background: color-mix(in srgb, var(--qwb-fg2) 20%, #1a221c); border: 1px solid color-mix(in srgb, var(--qwb-fg2) 38%, transparent); color: color-mix(in srgb, var(--qwb-fg2) 96%, #f4faf6); font-weight: 600; padding: 7px 14px; } .qwb-sitehdr__a--primary:hover { background: color-mix(in srgb, var(--qwb-fg2) 32%, #1a221c); border-color: color-mix(in srgb, var(--qwb-fg2) 45%, transparent); } .qwb-sitehdr__a--ghost { background: transparent; border: 1px solid color-mix(in srgb, var(--qwb-fg2) 24%, transparent); color: color-mix(in srgb, var(--qwb-fg2) 75%, #c8d4cc); font-weight: 500; padding: 7px 12px; } .qwb-sitehdr__a--ghost:hover { background: color-mix(in srgb, var(--qwb-fg2) 10%, transparent); border-color: color-mix(in srgb, var(--qwb-fg2) 32%, transparent); } .qwb-sitehdr__a--outline { background: transparent; border: 1px solid color-mix(in srgb, var(--qwb-fg2) 40%, transparent); font-weight: 600; padding: 7px 14px; } .qwb-sitehdr__a--outline:hover { background: color-mix(in srgb, var(--qwb-fg2) 12%, transparent); border-color: color-mix(in srgb, var(--qwb-fg2) 50%, transparent); } .qwb-sitehdr__a--link { padding: 4px 8px; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; background: none; border: none; font-weight: 500; } .qwb-sitehdr__a--link:hover { background: color-mix(in srgb, var(--qwb-fg2) 10%, transparent); } .qwb-sitehdr__a--accent { background: color-mix(in srgb, #c9a86a 22%, #1a1814); border: 1px solid color-mix(in srgb, #d4b87a 35%, #3a3020); color: color-mix(in srgb, #f5ecd8 90%, #1a1408); font-weight: 600; padding: 7px 14px; } .qwb-sitehdr__a--accent:hover { background: color-mix(in srgb, #d4b87a 30%, #221e18); } [data-site-theme='paper'] .qwb-sitehdr__a--primary { background: color-mix(in srgb, #2a4a36 20%, #e8e4d4); border-color: color-mix(in srgb, #2a4a36 40%, #a8a898); color: #0f1f14; } [data-site-theme='paper'] .qwb-sitehdr__a--primary:hover { background: color-mix(in srgb, #2a4a36 12%, #f0ece0); } [data-site-theme='paper'] .qwb-sitehdr__a--ghost { border-color: color-mix(in srgb, #2a2a1a 28%, #c8c4b0); color: #3a3a2a; } [data-site-theme='paper'] .qwb-sitehdr__a--ghost:hover { background: color-mix(in srgb, #1a1a0a 6%, transparent); } [data-site-theme='paper'] .qwb-sitehdr__a--outline { border-color: color-mix(in srgb, #1a1a0a 35%, #b8b4a0); } [data-site-theme='paper'] .qwb-sitehdr__a--accent { background: color-mix(in srgb, #a07828 18%, #f2ead8); border-color: color-mix(in srgb, #806020 40%, #c0b8a0); color: #2a1e08; } .qwb-sitehdr__edit { min-width: 100px; max-width: 200px; } @media (max-width: 640px) { .qwb-sitehdr--mob-center .qwb-sitehdr__inner { flex-direction: column; align-items: center; text-align: center; } .qwb-sitehdr--mob-center .qwb-sitehdr__end { justify-content: center; } .qwb-sitehdr--mob-left .qwb-sitehdr__inner { flex-direction: row; flex-wrap: wrap; } .qwb-sitehdr--mob-left .qwb-sitehdr__end { justify-content: flex-start; width: 100%; } } /* Section styles inside canvas */ .qwb-hero { text-align: center; padding: 48px 20px 40px; background: var(--qwb-card); border: 1px solid var(--qwb-line2); border-radius: 12px; box-shadow: 0 4px 24px var(--qwb-glow); margin-bottom: 16px; } .qwb-hero--with-theme { position: relative; } .qwb-hero__theme { position: absolute; top: 12px; right: 12px; z-index: 2; } .qwb-hero__theme .qwb-btns__theme { margin-left: 0; padding: 0; } /* No opaque fill — PNG/WebP avatars with alpha should show the hero card behind transparent pixels. */ .qwb-hero__av { border-radius: 50%; border: 2px solid var(--qwb-line2); margin: 0 auto 16px; object-fit: cover; display: block; background: transparent; } .qwb-hero__h { font-size: clamp(1.5rem, 4vw, 2rem); font-weight: 700; margin: 0 0 12px; line-height: 1.2; color: var(--qwb-fg2); } .qwb-hero__sub { max-width: 36em; margin: 0 auto 20px; color: #6a7a6e; font-size: 1.02rem; } .qwb-hero__sub em { color: #5a8a6a; font-style: italic; } .qwb-hero__btn { display: inline-flex; align-items: center; gap: 10px; padding: 10px 20px; border-radius: 8px; background: #2a4a3a; color: #e8f0e8 !important; text-decoration: none; font-weight: 600; font-size: 14px; border: 1px solid #3a6a52; } .qwb-hero__btn:hover { background: #345a45; color: #fff !important; } .qwb-prose { padding: 20px 20px 28px; background: var(--qwb-card); border: 1px solid var(--qwb-line2); border-radius: 8px; margin-bottom: 16px; color: #5a6a5e; max-width: none; line-height: 1.65; } .qwb-sec-eyebrow { font-size: 10px; text-transform: uppercase; letter-spacing: 0.12em; color: #6a7a70; margin: 0 0 6px; } .qwb-sec-h { font-size: 1.35rem; margin: 0 0 8px; color: var(--qwb-fg2); } .qwb-sec-sub { margin: 0 0 16px; color: #6a7a6e; font-size: 0.95rem; } .qwb-qapp { padding: 20px 16px 24px; background: var(--qwb-card); border: 1px solid var(--qwb-line2); border-radius: 8px; margin-bottom: 16px; } .qwb-qapp__tabs-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 10px; margin-bottom: 10px; } .qwb-qapp__tabs-row .qwb-qapp__tabs { flex: 1 1 auto; min-width: 0; margin-bottom: 0; } .qwb-qapp__tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; } .qwb-qapp__tab { padding: 6px 12px; border-radius: 6px; background: #181e1a; border: 1px solid #2a3330; font-size: 12px; color: #a0b0a4; cursor: pointer; } .qwb-qapp__tab--on { background: #223428; border-color: #3a5a45; color: #d8e8dc; } .qwb-qapp__stack { margin-top: 6px; } /* Tab mode (published site): stack every panel on the same grid cell so inactive Q-Apps stay mounted and keep iframe state while another tab is selected. */ .qwb-qapp__tab-panels { display: grid; grid-template-rows: auto; } .qwb-qapp__tab-panels > .qwb-qapp__tile--solo { grid-area: 1 / 1; } .qwb-qapp__tile--tab-inactive { visibility: hidden; pointer-events: none; z-index: 0; opacity: 0; } .qwb-qapp__tile--tab-active { visibility: visible; pointer-events: auto; z-index: 1; opacity: 1; } .qwb-qapp__tab-panels .qwb-qapp__tile--tab-inactive iframe, .qwb-qapp__tab-panels .qwb-qapp__tile--tab-inactive .qwb-qapp__if-mount > iframe, .qwb-qapp__tab-panels .qwb-qapp__tile--tab-inactive .qwb-qapp__if-mount > .qwb-qapp__if { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; } .qwb-qapp__stack .qwb-qapp__frame { min-height: 320px; } .qwb-qapp__tile--solo { min-width: 0; } .qwb-qapp__thead-name--open { cursor: pointer; text-decoration: underline; text-decoration-color: rgba(168, 200, 188, 0.45); text-underline-offset: 2px; } .qwb-qapp__thead-name--open:hover { text-decoration-color: #a8c2b5; } [data-site-theme='paper'] .qwb-qapp__thead-name--open { text-decoration-color: rgba(90, 74, 36, 0.35); } [data-site-theme='paper'] .qwb-qapp__thead-name--open:hover { text-decoration-color: #5a4a24; } /* Q-App block: responsive grid of labelled embed tiles. */ .qwb-qapp__grid { --qwb-qapp-cols: 1; display: grid; grid-template-columns: repeat(var(--qwb-qapp-cols), minmax(0, 1fr)); gap: 14px; margin-top: 6px; } @media (max-width: 960px) { .qwb-qapp__grid { grid-template-columns: repeat(min(var(--qwb-qapp-cols), 3), minmax(0, 1fr)); } } @media (max-width: 640px) { .qwb-qapp__grid { grid-template-columns: repeat(min(var(--qwb-qapp-cols), 2), minmax(0, 1fr)); } } .qwb-qapp__tile { display: flex; flex-direction: column; min-width: 0; border: 1px solid #2a3330; border-radius: 10px; background: #0e1211; overflow: hidden; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18); } .qwb-qapp__thead { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 12px; border-bottom: 1px solid #222a26; background: linear-gradient(180deg, #17201c 0%, #121815 100%); } .qwb-qapp__thead-name { background: transparent; border: 0; color: #d8e8dc; font-weight: 650; font-size: 13.5px; letter-spacing: 0.01em; padding: 2px 4px; border-radius: 4px; cursor: text; max-width: 60%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: left; } .qwb-qapp__thead-name:hover { background: rgba(255, 255, 255, 0.04); } .qwb-qapp__thead-edit { font-size: 13px; padding: 4px 6px; max-width: 60%; } .qwb-qapp__thead-href { font-size: 10.5px; color: #7a8a82; letter-spacing: 0.02em; max-width: 55%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .qwb-qapp__frame { position: relative; min-height: 180px; background: #080a09; overflow: hidden; border: 0; display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; } .qwb-qapp__embed-toolbar, .qwb-qapp__zoom-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 4px; flex: 0 0 auto; padding: 4px 6px; border-radius: 8px; background: rgba(8, 12, 10, 0.9); border: 1px solid rgba(168, 200, 188, 0.22); box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35); backdrop-filter: blur(6px); } .qwb-qapp__embed-toolbar--tabs, .qwb-qapp__zoom-bar--tabs { align-self: center; max-width: min(100%, 320px); } .qwb-qapp__embed-toolbar--thead, .qwb-qapp__zoom-bar--thead { flex-shrink: 0; margin-left: auto; } .qwb-qapp__embed-toolbar__sep { width: 1px; align-self: stretch; min-height: 22px; margin: 2px 2px; background: rgba(168, 200, 188, 0.28); } .qwb-qapp__refresh-btn { padding: 0; min-width: 28px; } .qwb-qapp__refresh-icon { display: inline-block; font-size: 17px; line-height: 1; transform-origin: 50% 52%; } .qwb-qapp__refresh-btn:active .qwb-qapp__refresh-icon { transform: rotate(-200deg); transition: transform 0.35s ease; } .qwb-qapp__thead { flex-wrap: wrap; } .qwb-qapp__zoom-btn { min-width: 28px; min-height: 28px; padding: 0 8px; border-radius: 6px; border: 1px solid rgba(168, 200, 188, 0.25); background: rgba(24, 32, 28, 0.95); color: #d8e8dc; font-size: 14px; line-height: 1; cursor: pointer; } .qwb-qapp__zoom-btn:hover:not(:disabled) { background: rgba(40, 56, 48, 0.98); border-color: rgba(168, 200, 188, 0.45); } .qwb-qapp__zoom-btn:disabled { opacity: 0.4; cursor: not-allowed; } .qwb-qapp__zoom-btn--reset { font-size: 11px; font-weight: 600; letter-spacing: 0.02em; padding: 0 10px; } .qwb-qapp__zoom-pct { min-width: 42px; text-align: center; font-size: 11px; font-weight: 600; color: #a8c2b5; font-variant-numeric: tabular-nums; } .qwb-qapp__zoom-shell { flex: 1 1 auto; min-height: inherit; display: flex; flex-direction: column; width: 100%; box-sizing: border-box; } .qwb-qapp__zoom-shell--on { overflow: auto; } .qwb-qapp__zoom-shell--fit { flex: 0 1 auto; min-height: 0; overflow: hidden; } /* Published: CSS `zoom` on the stage shrinks layout — frame/tile follow instead of a black band. */ .qwb-canvas--public .qwb-qapp__frame--zoomed { flex: 0 1 auto !important; min-height: 0 !important; height: auto; } .qwb-canvas--public .qwb-block--public-qapp .qwb-qapp__frame--zoomed, .qwb-canvas--public .qwb-block--public-qapp .qwb-qapp__stack .qwb-qapp__frame--zoomed, .qwb-canvas--public .qwb-block--public-qapp .qwb-qapp__grid .qwb-qapp__frame--zoomed { min-height: 0 !important; } .qwb-canvas--public .qwb-qapp__frame--zoomed .qwb-qapp__zoom-shell--fit, .qwb-canvas--public .qwb-qapp__frame--zoomed .qwb-qapp__zoom-stage, .qwb-canvas--public .qwb-qapp__frame--zoomed .qwb-qapp__if-mount { flex: 0 1 auto; min-height: 0; } .qwb-canvas--public .qwb-qapp__tile:has(.qwb-qapp__frame--zoomed) { flex: 0 1 auto; } .qwb-qapp__zoom-stage { flex: 1 1 auto; min-height: inherit; display: flex; flex-direction: column; } [data-site-theme='paper'] .qwb-qapp__embed-toolbar, [data-site-theme='paper'] .qwb-qapp__zoom-bar { background: rgba(252, 250, 244, 0.94); border-color: rgba(90, 74, 36, 0.2); box-shadow: 0 2px 10px rgba(60, 48, 24, 0.12); } [data-site-theme='paper'] .qwb-qapp__embed-toolbar__sep { background: rgba(90, 74, 36, 0.22); } [data-site-theme='paper'] .qwb-qapp__zoom-btn { background: #f4f0e6; border-color: rgba(90, 74, 36, 0.25); color: #3d3420; } [data-site-theme='paper'] .qwb-qapp__zoom-btn:hover:not(:disabled) { background: #ebe4d4; } [data-site-theme='paper'] .qwb-qapp__zoom-pct { color: #5a4a24; } /* Denser grids should use shorter iframes to fit more per screen. */ .qwb-qapp__grid[style*='--qwb-qapp-cols: 1'] .qwb-qapp__frame { min-height: 320px; } .qwb-qapp__grid[style*='--qwb-qapp-cols: 2'] .qwb-qapp__frame { min-height: 280px; } .qwb-qapp__grid[style*='--qwb-qapp-cols: 3'] .qwb-qapp__frame { min-height: 240px; } .qwb-qapp__grid[style*='--qwb-qapp-cols: 4'] .qwb-qapp__frame { min-height: 210px; } .qwb-qapp__grid[style*='--qwb-qapp-cols: 6'] .qwb-qapp__frame { min-height: 170px; } .qwb-qapp__grid[style*='--qwb-qapp-cols: 8'] .qwb-qapp__frame { min-height: 150px; } .qwb-qapp__grid[style*='--qwb-qapp-cols: 12'] .qwb-qapp__frame { min-height: 130px; } .qwb-qapp__if { width: 100%; height: 100%; min-height: inherit; border: 0; display: block; } /* Published: stretch Q-App embed area to the block / tile (no fixed iframe pixel height). */ .qwb-canvas--public .qwb-block__body > .qwb-qapp { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; height: 100%; box-sizing: border-box; } .qwb-canvas--public .qwb-qapp__grid, .qwb-canvas--public .qwb-qapp__stack { flex: 1 1 auto; min-height: 0; } /* Published visitor: single Q-App column on narrow viewports from first paint (not only after html.qwb-pub). */ @media (max-width: 768px) { .qwb-canvas--public .qwb-qapp__grid { grid-template-columns: 1fr !important; } } .qwb-canvas--public .qwb-qapp__stack { display: flex; flex-direction: column; } .qwb-canvas--public .qwb-block--public-qapp:not([style*='min-height']) { min-height: 520px; } .qwb-canvas--public .qwb-block--public-qapp .qwb-qapp__stack .qwb-qapp__frame, .qwb-canvas--public .qwb-block--public-qapp .qwb-qapp__grid .qwb-qapp__frame { min-height: 420px; } .qwb-canvas--public .qwb-qapp__stack .qwb-qapp__tab-panels { flex: 1 1 auto; min-height: 420px; } .qwb-canvas--public .qwb-qapp__tile { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; } .qwb-canvas--public .qwb-qapp__frame { flex: 1 1 auto; min-height: 0; } .qwb-canvas--public .qwb-qapp__stack .qwb-qapp__frame { flex: 1 1 auto; min-height: 280px; display: flex; flex-direction: column; } .qwb-canvas--public .qwb-qapp__zoom-shell { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; } .qwb-canvas--public .qwb-qapp__zoom-stage { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; } .qwb-canvas--public .qwb-qapp__if-mount { flex: 1 1 auto; min-height: 0; position: relative; width: 100%; } .qwb-canvas--public .qwb-qapp__if-mount > iframe, .qwb-canvas--public .qwb-qapp__if-mount > .qwb-qapp__if { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; min-height: 0 !important; flex: none !important; border: 0; display: block; } /* Imperative iframe mount (published visitor SPA — keep-alive across sub-pages). */ .qwb-qapp__frame:has(> .qwb-qapp__if-mount), .qwb-qapp__frame:has(> .qwb-qapp__zoom-shell) { display: flex; flex-direction: column; min-height: inherit; } .qwb-qapp__if-mount { flex: 1 1 auto; min-height: inherit; width: 100%; box-sizing: border-box; position: relative; } .qwb-qapp__if-mount > .qwb-qapp__if, .qwb-qapp__if-mount > iframe { position: absolute; left: 0; top: 0; right: 0; bottom: 0; width: 100%; height: 100%; min-height: 0; border: 0; display: block; } .qwb-qapp__zoom-shell .qwb-qapp__if-mount { flex: 1 1 auto; min-height: 0; align-self: stretch; } .qwb-qapp__zoom-stage .qwb-qapp__if-mount { flex: 1 1 auto; min-height: 0; } .qwb-qapp__ph { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: inherit; color: #5a6a5e; font-size: 12.5px; padding: 14px; text-align: center; } .qwb-qapp__ph--overlay { position: absolute; inset: 0; z-index: 3; background: color-mix(in srgb, var(--qwb-card, #141a18) 88%, transparent); backdrop-filter: blur(2px); min-height: 200px; } .qwb-qapp__ph-spinner { width: 28px; height: 28px; border: 3px solid rgba(120, 160, 130, 0.25); border-top-color: #7ab890; border-radius: 50%; animation: qwb-qapp-spin 0.75s linear infinite; flex-shrink: 0; } .qwb-qapp__ph-msg { max-width: 260px; line-height: 1.4; } @keyframes qwb-qapp-spin { to { transform: rotate(360deg); } } .qwb-qapp__ph--loading { font-style: normal; animation: none; color: #8aa898; } .qwb-qapp__ph--err { color: #c87878; } @keyframes qwb-qapp-ph-pulse { 0%, 100% { opacity: 0.65; } 50% { opacity: 1; } } .qwb-qapp__frame--private { border: 1px dashed rgba(120, 150, 130, 0.55); } .qwb-qapp__lock { font-size: 0.9em; } .qwb-qapp__embed-hint { margin: 8px 0 0; padding: 8px 10px; font-size: 12px; line-height: 1.45; color: #7a8a7e; background: rgba(0, 0, 0, 0.2); border-radius: 6px; } [data-site-theme='paper'] .qwb-qapp__embed-hint { color: #5a6558; background: rgba(0, 0, 0, 0.06); } [data-site-theme='paper'] .qwb-qapp__tile { background: #fbf7eb; border-color: #d1c8a8; box-shadow: 0 2px 8px rgba(90, 74, 36, 0.08); } [data-site-theme='paper'] .qwb-qapp__thead { background: linear-gradient(180deg, #efe7d1 0%, #e7dfc8 100%); border-bottom-color: #d1c8a8; } [data-site-theme='paper'] .qwb-qapp__thead-name { color: #1a1c18; } [data-site-theme='paper'] .qwb-qapp__thead-href { color: #7a6a3c; } [data-site-theme='paper'] .qwb-qapp__frame, [data-site-theme='paper'] .qwb-qapp__ph { background: #f5efdf; color: #6a6040; } /* Q-Apps: when the block has a custom min-height (bottom-right resize / layout.minH), the embed area grows so the iframe always fills the cell (height + full width in the grid). */ .qwb-block[style*='min-height'] .qwb-block__body > .qwb-qapp { display: flex; flex-direction: column; min-height: 0; flex: 1 1 auto; height: 100%; box-sizing: border-box; } .qwb-block[style*='min-height'] .qwb-qapp > :not(.qwb-qapp__grid):not(.qwb-qapp__stack) { flex: 0 0 auto; } .qwb-block[style*='min-height'] .qwb-qapp__grid, .qwb-block[style*='min-height'] .qwb-qapp__stack { flex: 1 1 auto; min-height: 0; margin-top: 6px; } .qwb-block[style*='min-height'] .qwb-qapp__grid { align-content: stretch; align-items: stretch; grid-auto-rows: minmax(0, 1fr); } .qwb-block[style*='min-height'] .qwb-qapp__stack { display: flex; flex-direction: column; gap: 0; } .qwb-block[style*='min-height'] .qwb-qapp__tabs { flex: 0 0 auto; } .qwb-block[style*='min-height'] .qwb-qapp__stack .qwb-qapp__tab-panels { flex: 1 1 auto; min-height: 0; align-self: stretch; grid-template-rows: minmax(0, 1fr); } .qwb-block[style*='min-height'] .qwb-qapp__stack .qwb-qapp__tile--solo, .qwb-block[style*='min-height'] .qwb-qapp__tile { min-height: 0; flex: 1 1 auto; } .qwb-block[style*='min-height'] .qwb-qapp__tile { min-height: 0; display: flex; flex-direction: column; } .qwb-block[style*='min-height'] .qwb-qapp__stack .qwb-qapp__frame, .qwb-block[style*='min-height'] .qwb-qapp__grid .qwb-qapp__frame { min-height: 0 !important; flex: 1 1 auto; position: relative; } .qwb-block[style*='min-height'] .qwb-qapp__zoom-shell, .qwb-block[style*='min-height'] .qwb-qapp__zoom-stage { flex: 1 1 auto; min-height: 0; position: relative; } .qwb-block[style*='min-height'] .qwb-qapp__zoom-stage { display: flex; flex-direction: column; } .qwb-block[style*='min-height'] .qwb-qapp__if-mount { flex: 1 1 auto; min-height: 0; position: relative; } .qwb-block[style*='min-height'] .qwb-qapp__if, .qwb-block[style*='min-height'] .qwb-qapp__ph { position: absolute; left: 0; top: 0; right: 0; bottom: 0; width: 100%; height: 100%; min-height: 0; } .qwb-block[style*='min-height'] .qwb-qapp__ph { box-sizing: border-box; padding: 14px; } /* Visitor drag-resized Q-App block: definite height so embeds fill extra space (no dark band). */ .qwb-canvas--public .qwb-block--visitor-sized { box-sizing: border-box; } .qwb-canvas--public .qwb-block--visitor-sized .qwb-block__body { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; } .qwb-canvas--public .qwb-block--visitor-sized .qwb-block__body > .qwb-qapp { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; height: 100%; box-sizing: border-box; } .qwb-canvas--public .qwb-block--visitor-sized .qwb-qapp__grid, .qwb-canvas--public .qwb-block--visitor-sized .qwb-qapp__stack { flex: 1 1 auto; min-height: 0; } .qwb-canvas--public .qwb-block--visitor-sized .qwb-qapp__stack .qwb-qapp__tab-panels { flex: 1 1 auto; min-height: 0 !important; } .qwb-canvas--public .qwb-block--visitor-sized .qwb-qapp__tile { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; } .qwb-canvas--public .qwb-block--visitor-sized .qwb-qapp__frame { flex: 1 1 auto !important; min-height: 0 !important; } .qwb-canvas--public .qwb-block--visitor-sized .qwb-qapp__frame--zoomed { flex: 1 1 auto !important; min-height: 0 !important; height: auto; } .qwb-canvas--public .qwb-block--visitor-sized .qwb-qapp__frame--zoomed .qwb-qapp__zoom-shell--fit, .qwb-canvas--public .qwb-block--visitor-sized .qwb-qapp__frame--zoomed .qwb-qapp__zoom-shell, .qwb-canvas--public .qwb-block--visitor-sized .qwb-qapp__frame--zoomed .qwb-qapp__zoom-stage, .qwb-canvas--public .qwb-block--visitor-sized .qwb-qapp__frame--zoomed .qwb-qapp__if-mount { flex: 1 1 auto !important; min-height: 0 !important; } .qwb-canvas--public .qwb-block--visitor-sized .qwb-qapp__zoom-shell, .qwb-canvas--public .qwb-block--visitor-sized .qwb-qapp__zoom-stage, .qwb-canvas--public .qwb-block--visitor-sized .qwb-qapp__if-mount { flex: 1 1 auto; min-height: 0; } @media (max-width: 768px), (pointer: coarse) { html.qwb-pub .qwb-block--visitor-sized .qwb-block__body { padding-bottom: 40px; box-sizing: border-box; } } .qwb-muted { color: #6a7a6e; font-size: 14px; } .qwb-links { padding: 20px 20px 24px; background: var(--qwb-card); border: 1px solid var(--qwb-line2); border-radius: 8px; margin-bottom: 16px; } .qwb-links__h { margin: 0 0 6px; font-size: 1.1rem; color: var(--qwb-fg2); } .qwb-links__s { margin: 0 0 12px; color: #6a7a6e; font-size: 0.9rem; } .qwb-links__ul { margin: 0; padding: 0; list-style: none; } .qwb-links__ul li { margin-bottom: 6px; } .qwb-links__a { color: #5a9a6a; text-decoration: underline; text-underline-offset: 2px; font-size: 14px; } .qwb-foot { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: 8px; padding: 20px 16px; font-size: 12px; color: #6a7a6e; border-top: 1px solid var(--qwb-line2); margin-top: 8px; background: var(--qwb-card); border-radius: 6px; border: 1px solid var(--qwb-line2); } .qwb-foot__line, .qwb-foot__r { display: inline-block; min-width: 2rem; } .qwb-foot__r { opacity: 0.7; } .qwb-foot--credit { flex-direction: column; align-items: stretch; } .qwb-foot--legacy.qwb-foot--between .qwb-foot__row { display: flex; width: 100%; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; } .qwb-foot--legacy.qwb-foot--center .qwb-foot__row { display: flex; width: 100%; justify-content: center; text-align: center; } .qwb-foot--legacy.qwb-foot--left .qwb-foot__row { display: flex; width: 100%; justify-content: flex-start; gap: 12px; flex-wrap: wrap; } .qwb-foot__row--between { display: flex; width: 100%; align-items: center; flex-wrap: wrap; gap: 8px 16px; } .qwb-foot__row--pair { justify-content: space-between; } .qwb-foot__row--between:not(.qwb-foot__row--pair) { justify-content: space-between; } .qwb-foot__cell--mid { flex: 1 1 120px; text-align: center; min-width: 0; } .qwb-foot__row--pair .qwb-foot__cell--end { margin-left: auto; } .qwb-foot__row--left { width: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; justify-content: flex-start; } .qwb-foot__stack--c { display: flex; flex-direction: column; align-items: center; text-align: center; width: 100%; gap: 6px; } .qwb-foot__creditline--c { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 4px 6px; } .qwb-foot__pre { white-space: pre-wrap; } .qwb-foot__suf { opacity: 0.9; } .qwb-foot__mid-inline, .qwb-foot__right-inline { opacity: 0.88; } /* Site settings (gear in top bar) */ .qwb-settings-backdrop { position: fixed; inset: 0; z-index: 400; display: flex; align-items: center; justify-content: center; padding: 20px 16px; background: rgba(6, 10, 8, 0.72); backdrop-filter: blur(3px); } .qwb-settings { width: 100%; max-width: 440px; max-height: min(90vh, 720px); overflow: auto; border-radius: 12px; border: 1px solid #2a3a32; background: #121a16; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(124, 184, 140, 0.08) inset; } .qwb-settings__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-bottom: 1px solid #2a3330; background: linear-gradient(180deg, #18221c 0%, #111714 100%); } .qwb-settings__h { margin: 0; font-size: 1rem; font-weight: 650; letter-spacing: 0.04em; text-transform: uppercase; color: #b8d4c4; } .qwb-settings__x { width: 32px; height: 32px; display: grid; place-items: center; border: 0; border-radius: 6px; background: transparent; color: #8a9a8e; font-size: 1.4rem; line-height: 1; cursor: pointer; } .qwb-settings__x:hover { color: #e0ebe4; background: rgba(255, 255, 255, 0.06); } .qwb-settings__body { padding: 14px 14px 18px; display: flex; flex-direction: column; gap: 12px; } .qwb-settings__sec { display: flex; flex-direction: column; gap: 8px; padding-bottom: 4px; border-bottom: 1px solid #2a3330; margin-bottom: 4px; } /* === Pages list inside Site & publish ============================================== */ .qwb-settings__page-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 10px; border: 1px solid color-mix(in srgb, var(--qwb-line2) 70%, transparent); border-radius: 8px; background: color-mix(in srgb, var(--qwb-fg2) 3%, transparent); } .qwb-settings__page-row--active { border-color: color-mix(in srgb, var(--qwb-accent) 65%, var(--qwb-line2) 35%); box-shadow: 0 0 0 1px color-mix(in srgb, var(--qwb-accent) 30%, transparent) inset; } .qwb-settings__page-row--add { border-style: dashed; } .qwb-settings__page-main { flex: 1 1 220px; min-width: 0; display: flex; flex-direction: column; gap: 4px; } .qwb-settings__page-main strong { font-size: 14px; } .qwb-settings__page-url { font-size: 11.5px; opacity: 0.78; word-break: break-all; } .qwb-settings__page-actions { display: flex; gap: 6px; flex-wrap: wrap; flex: 0 0 auto; align-items: center; } .qwb-settings__subh { margin: 0; font-size: 0.8rem; font-weight: 650; letter-spacing: 0.12em; text-transform: uppercase; color: #8a9a8c; } .qwb-settings__hint { margin: 0; font-size: 12px; line-height: 1.45; color: #7a8a7e; } .qwb-settings__hint--preview { margin-top: 8px; padding: 8px 10px; border-radius: 6px; background: rgba(0, 0, 0, 0.2); border: 1px solid #2a3330; font-size: 11px; } .qwb-settings__hint--preview .qwb-settings__origin { word-break: break-all; font-size: 0.95em; } [data-site-theme='paper'] .qwb-settings__hint--preview { background: #f0ebe0; border-color: #c8c4b8; } .qwb-settings__act { display: flex; flex-direction: column; gap: 8px; } .qwb-settings__act--twocol { flex-direction: row; flex-wrap: wrap; } .qwb-settings__act--twocol .qwb-settings__act-btn { flex: 1 1 calc(50% - 4px); min-width: min(100%, 168px); } .qwb-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } .qwb-settings__act-btn { width: 100%; justify-content: center; } [data-site-theme='paper'] .qwb-settings { background: #fbf7eb; border-color: #c8c4b8; box-shadow: 0 24px 48px rgba(50, 40, 20, 0.18); } [data-site-theme='paper'] .qwb-settings__head { background: #f0ebe0; border-bottom-color: #c8c4b8; } [data-site-theme='paper'] .qwb-settings__h { color: #2a3a2e; } [data-site-theme='paper'] .qwb-settings__x { color: #5a5a4e; } [data-site-theme='paper'] .qwb-settings__x:hover { color: #1a1c18; background: rgba(0, 0, 0, 0.05); } [data-site-theme='paper'] .qwb-settings__sec { border-bottom-color: #c8c4b8; } [data-site-theme='paper'] .qwb-settings__subh { color: #6a6a5e; } [data-site-theme='paper'] .qwb-settings__hint { color: #5a5a4e; } /* Inspector */ .qwb-insp { border-left: 1px solid #2a3330; background: #0e110f; padding: 12px 12px 32px; height: 100%; min-height: 0; overflow-y: auto; overscroll-behavior: contain; font-size: 13px; } .qwb-insp__headrow { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin-bottom: 10px; } .qwb-insp__collapse { flex: 0 0 auto; width: 30px; height: 30px; margin: 0; padding: 0; display: grid; place-items: center; border-radius: 8px; border: 1px solid #2a3830; background: linear-gradient(165deg, #151c18 0%, #0c100e 100%); color: #8ab896; font-size: 16px; line-height: 1; cursor: pointer; transition: color 120ms ease, border-color 120ms ease, background 120ms ease, transform 100ms ease; } .qwb-insp__collapse:hover { color: #c8ebd4; border-color: #3d5248; } .qwb-insp__collapse:active { transform: scale(0.96); } [data-site-theme='paper'] .qwb-insp__collapse { border-color: #c4c2b8; background: linear-gradient(165deg, #f6f4ef 0%, #e8e4da 100%); color: #2a4836; } .qwb-insp__head { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: #6a7d72; margin: 0; } .qwb-insp__qdn { flex-shrink: 0; } .qwb-insp__sec { margin-bottom: 20px; } /* Inspector → Pages section (mirrors `.qwb-settings__page-row` styling). */ .qwb-insp__page-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px; margin-top: 8px; border: 1px solid color-mix(in srgb, var(--qwb-line2) 70%, transparent); border-radius: 8px; background: color-mix(in srgb, var(--qwb-fg2) 3%, transparent); } .qwb-insp__page-row--active { border-color: color-mix(in srgb, var(--qwb-accent) 65%, var(--qwb-line2) 35%); box-shadow: 0 0 0 1px color-mix(in srgb, var(--qwb-accent) 30%, transparent) inset; } .qwb-insp__page-row--add { border-style: dashed; } .qwb-insp__page-admin-vis { margin-top: 16px; padding: 12px 10px; border: 1px solid color-mix(in srgb, var(--qwb-line2) 70%, transparent); border-radius: 8px; background: color-mix(in srgb, var(--qwb-fg2) 3%, transparent); } .qwb-insp__page-admin-vis .qwb-insp__h--sub { margin: 0 0 6px; } .qwb-insp__page-admin-vis .qwb-insp__tip { margin-bottom: 8px; } .qwb-insp__page-main { flex: 1 1 200px; min-width: 0; display: flex; flex-direction: column; gap: 4px; } .qwb-insp__page-main strong { font-size: 13px; } .qwb-insp__page-url { font-size: 11px; opacity: 0.78; word-break: break-all; } .qwb-insp__page-actions { display: flex; gap: 6px; flex-wrap: wrap; flex: 0 0 auto; align-items: center; } .qwb-insp__fold { border: 1px solid rgba(80, 100, 90, 0.35); border-radius: 8px; margin-bottom: 10px; background: rgba(10, 14, 12, 0.45); } .qwb-insp__fold-sum { list-style: none; cursor: pointer; padding: 10px 12px; font-weight: 600; font-size: 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #b0c4b8; } .qwb-insp__fold-sum::-webkit-details-marker { display: none; } .qwb-insp__fold[open] > .qwb-insp__fold-sum { border-bottom: 1px solid rgba(80, 100, 90, 0.28); } .qwb-insp__fold-body { padding: 12px; } .qwb-insp__fold-actions { display: inline-flex; flex-wrap: wrap; gap: 6px; flex-shrink: 0; } .qwb-insp__fold-actions .qwb-btn { margin: 0; } .qwb-qshop-cat-picker__pop { padding: 10px; margin-bottom: 8px; border-radius: 8px; border: 1px solid #2d3a32; background: rgba(0, 0, 0, 0.22); } .qwb-qshop-cat-picker__row { display: flex; gap: 8px; align-items: center; } .qwb-qshop-cat-picker__plus { flex-shrink: 0; min-width: 2.25rem; font-weight: 700; font-size: 1.1rem; line-height: 1; } .qwb-qshop-cat-picker__inp { flex: 1; min-width: 0; } .qwb-qshop-cat-picker__pop-act { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; } [data-site-theme='paper'] .qwb-qshop-cat-picker__pop { background: #faf8f2; border-color: #c4b8a0; } .qwb-insp__ship-preset { margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid rgba(255, 255, 255, 0.06); } [data-site-theme='paper'] .qwb-insp__ship-preset { border-bottom-color: rgba(0, 0, 0, 0.08); } .qwb-insp__ship-preset-fields { margin: 8px 0 0 24px; display: flex; flex-direction: column; gap: 8px; } .qwb-insp__ship-custom { margin: 12px 0; padding: 10px; border-radius: 8px; background: rgba(0, 0, 0, 0.15); display: flex; flex-direction: column; gap: 8px; } [data-site-theme='paper'] .qwb-insp__ship-custom { background: rgba(0, 0, 0, 0.04); } .qwb-qshop-ship-tab .qwb-qshop-ship-methods { display: flex; flex-direction: column; gap: 16px; gap: 14px; } /** Each shipping option is a clearly bounded card with a top divider so visitors can scan * multiple options without confusing where one ends and the next begins. */ .qwb-qshop-ship-tab .qwb-qshop-ship-methods > .qwb-qshop-ship-line { padding: 12px 14px; border-radius: 10px; background: color-mix(in srgb, var(--qwb-fg2) 4%, transparent); border: 1px solid color-mix(in srgb, var(--qwb-line2) 70%, transparent); } /** Visible accent divider between consecutive shipping options so visitors immediately see the * boundary between options when scrolling the Shipping tab. The divider is drawn as a `::before` * pseudo-element above the row to keep the option's own card border intact. */ .qwb-qshop-ship-tab .qwb-qshop-ship-methods > .qwb-qshop-ship-line + .qwb-qshop-ship-line { position: relative; margin-top: 8px; } .qwb-qshop-ship-tab .qwb-qshop-ship-methods > .qwb-qshop-ship-line + .qwb-qshop-ship-line::before { content: ''; display: block; position: absolute; left: 8%; right: 8%; top: -10px; height: 2px; border-radius: 2px; background: color-mix(in srgb, var(--qwb-accent) 70%, var(--qwb-line2) 30%); opacity: 0.85; } .qwb-qshop-ship-line__h { margin: 0 0 6px; font-size: 15px; font-weight: 600; } .qwb-qshop-ship-line__price { font-size: 12px; color: #8a9a90; margin: 0 0 6px; } [data-site-theme='paper'] .qwb-qshop-ship-line__price { color: #6a6058; } .qwb-qshop-ship-line__desc { margin: 0; font-size: 14px; line-height: 1.5; } .qwb-qshop-ship-line__exc { margin: 8px 0 0; font-size: 13px; line-height: 1.45; color: #b8c8be; } [data-site-theme='paper'] .qwb-qshop-ship-line__exc { color: #4a5048; } .qwb-qshop-ship-extra { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, 0.1); } [data-site-theme='paper'] .qwb-qshop-ship-extra { border-top-color: rgba(0, 0, 0, 0.1); } [data-site-theme='paper'] .qwb-insp__fold { background: rgba(255, 252, 246, 0.9); border-color: #c8c0b0; } [data-site-theme='paper'] .qwb-insp__fold-sum { color: #3a3830; } .qwb-insp__h { font-size: 12px; margin: 0 0 10px; color: #8a9d94; font-weight: 600; } .qwb-insp__h--sub { margin-top: 14px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; color: #7a8b82; } .qwb-insp__ancolors { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; } .qwb-insp__hexcolor { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; } .qwb-insp__hexcolor input[type='color'] { width: 44px; height: 32px; padding: 0; border: 1px solid #2a3330; border-radius: 6px; cursor: pointer; background: none; flex-shrink: 0; } .qwb-insp__hexcolor .qwb-input { flex: 1; min-width: 100px; } [data-site-theme='paper'] .qwb-insp__hexcolor input[type='color'] { border-color: #c4c0b4; } [data-site-theme='paper'] .qwb-insp__h--sub { color: #5a5a4e; } .qwb-insp__empty { color: #5a6a5e; font-size: 12px; line-height: 1.4; margin: 0; } .qwb-insp__charcount { font-weight: 400; color: #5a6a5e; font-size: 11px; } .qwb-insp__tags { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; } .qwb-insp__music-block-head { display: flex; flex-direction: column; gap: 2px; margin-bottom: 4px; } .qwb-insp__music-sec-h { margin: 0 0 8px; font-size: 12px; font-weight: 600; letter-spacing: 0.04em; color: #8a9a8e; text-transform: uppercase; } .qwb-insp__music-sec-h--tracks { margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(100, 120, 110, 0.2); } .qwb-insp__tip--inline { margin: 0 0 6px; font-size: 12px; color: #7a8a7e; } .qwb-insp__music-qimport { margin: 12px 0 10px; padding: 12px; border-radius: 10px; border: 1px solid rgba(80, 120, 100, 0.28); background: rgba(16, 28, 22, 0.4); } [data-site-theme='paper'] .qwb-insp__music-qimport { border-color: #c4b8a0; background: #faf6ec; } .qwb-insp__music-qimport-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 8px; } .qwb-insp__music-qimport-row .qwb-input { flex: 1 1 160px; min-width: 0; } .qwb-insp__music-album-sum { display: flex; align-items: flex-start; gap: 10px; list-style: none; cursor: pointer; padding: 10px 8px 10px 6px; border-radius: 10px; } .qwb-insp__music-album-sum::-webkit-details-marker, .qwb-insp__music-tr-sum::-webkit-details-marker { display: none; } .qwb-insp__music-album-dt > summary { list-style: none; } .qwb-insp__music-tr-dt > summary { list-style: none; } .qwb-insp__music-album-dt > summary::marker, .qwb-insp__music-tr-dt > summary::marker { content: ''; } .qwb-insp__music-album-reorder { display: inline-flex; flex-shrink: 0; gap: 4px; } .qwb-insp__music-album-reorder .qwb-btn { min-width: 2rem; padding: 2px 8px; } .qwb-insp__music-album-sum-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; } .qwb-insp__music-album-sum-title { font: 600 14px/1.25 var(--qwb-sans); color: var(--qwb-text-strong, #eaf2ec); } [data-site-theme='paper'] .qwb-insp__music-album-sum-title { color: #1f1a12; } .qwb-insp__music-album-sum-meta { display: flex; flex-wrap: wrap; gap: 6px 10px; font: 12px/1.3 var(--qwb-sans); color: #8a9a94; } [data-site-theme='paper'] .qwb-insp__music-album-sum-meta { color: #5c5648; } .qwb-insp__music-album-body { padding: 2px 8px 14px 14px; } .qwb-insp__music-album-dt:not([open]) .qwb-insp__music-album-sum:hover { background: rgba(100, 140, 120, 0.08); } [data-site-theme='paper'] .qwb-insp__music-album-dt:not([open]) .qwb-insp__music-album-sum:hover { background: rgba(200, 185, 140, 0.2); } .qwb-insp__music-tr-sum { display: flex; align-items: center; gap: 8px; list-style: none; cursor: pointer; padding: 8px 6px; border-radius: 8px; } .qwb-insp__music-tr-reorder--folded { display: inline-flex; flex-shrink: 0; gap: 4px; } .qwb-insp__music-tr-reorder--folded .qwb-btn { min-width: 2rem; padding: 2px 8px; } .qwb-insp__music-tr-sum-body { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .qwb-insp__music-tr-sum-title { font: 500 13px/1.3 var(--qwb-sans); color: var(--qwb-text-strong, #e8f0ea); } [data-site-theme='paper'] .qwb-insp__music-tr-sum-title { color: #2a2418; } .qwb-insp__music-tr-sum-dur { font: 600 11px/1 var(--qwb-sans); color: #7a8a7e; margin-left: auto; } .qwb-insp__music-tr-body { padding: 4px 8px 12px 42px; } .qwb-insp__music-tr-dt:not([open]) .qwb-insp__music-tr-sum:hover { background: rgba(90, 110, 100, 0.1); } [data-site-theme='paper'] .qwb-insp__music-tr-dt:not([open]) .qwb-insp__music-tr-sum:hover { background: rgba(210, 195, 155, 0.25); } .qwb-insp__music-tr-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; } .qwb-insp__music-tr-ix { font: 600 11px/1 var(--qwb-sans); color: #7a8a7e; letter-spacing: 0.06em; } .qwb-insp__music-tr-reorder { display: inline-flex; gap: 4px; } .qwb-insp__music-tr-reorder .qwb-btn { min-width: 2rem; padding: 2px 8px; } .qwb-insp__music-cta-pending { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; } .qwb-insp__music-cta-spin { width: 16px; height: 16px; border: 2px solid rgba(200, 230, 210, 0.35); border-top-color: rgba(100, 200, 140, 0.95); border-radius: 50%; animation: qwb-status-spin 0.7s linear infinite; } .qwb-insp__music-album-dt { margin: 12px 0; border: 1px solid #323c38; border-radius: 12px; background: var(--qwb-surface, rgba(20, 26, 24, 0.55)); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset; overflow: hidden; } [data-site-theme='paper'] .qwb-insp__music-album-dt { border-color: #d2c8a8; background: #fffef9; box-shadow: 0 1px 0 #fff inset; } .qwb-insp__music-tr { margin-bottom: 10px; padding-bottom: 0; border-bottom: none; } .qwb-insp__music-tr-dt { margin-bottom: 8px; border: 1px dashed rgba(100, 120, 110, 0.22); border-radius: 10px; padding: 0; background: rgba(0, 0, 0, 0.06); } [data-site-theme='paper'] .qwb-insp__music-tr-dt { border-color: rgba(160, 150, 120, 0.35); background: rgba(255, 252, 242, 0.6); } .qwb-insp__sec--music { background: transparent; } .qwb-insp__sec--albums .qwb-insp__sub { margin-top: 10px; } .qwb-insp__albums-opts { margin: 10px 0 14px; padding: 10px 10px 2px; border: 1px solid #2a3330; border-radius: 10px; background: rgba(16, 20, 18, 0.55); } [data-site-theme='paper'] .qwb-insp__albums-opts { border-color: #c4b896; background: rgba(255, 252, 240, 0.85); } .qwb-insp__albums-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; align-items: end; } .qwb-insp__albums-bulk { position: relative; margin: 12px 0 8px; padding: 10px; border: 1px dashed #3d5a48; border-radius: 10px; background: rgba(20, 32, 24, 0.35); } [data-site-theme='paper'] .qwb-insp__albums-bulk { border-color: #a89262; background: rgba(255, 248, 230, 0.6); } .qwb-insp__file-hidden { position: absolute; width: 0; height: 0; opacity: 0; pointer-events: none; } .qwb-insp__albums-item { margin: 12px 0; padding: 12px; border: 1px solid #2a3330; border-radius: 10px; background: rgba(18, 22, 20, 0.45); } [data-site-theme='paper'] .qwb-insp__albums-item { border-color: #c8bc9a; background: rgba(255, 255, 250, 0.95); } .qwb-insp__albums-item-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; gap: 8px; } .qwb-insp__albums-ix { font: 600 12px/1 var(--qwb-sans); color: #7a8a7e; letter-spacing: 0.04em; } .qwb-insp__sec--music .qwb-insp__tip--music-lead { margin-bottom: 10px; } .qwb-insp__sub--music { margin-top: 16px; font-weight: 600; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: #7a8a7e; } .qwb-insp__music-pub { margin: 14px 0 16px; padding: 14px 12px; border-radius: 12px; border: 1px solid #2a4034; background: linear-gradient(165deg, rgba(22, 32, 26, 0.9) 0%, rgba(14, 18, 16, 0.95) 100%); box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25); } [data-site-theme='paper'] .qwb-insp__music-pub { border-color: #c4b896; background: linear-gradient(165deg, #fffdf8 0%, #f5f0e4 100%); } .qwb-insp__music-pub > .qwb-insp__sub--music { margin-top: 0; margin-bottom: 8px; text-transform: none; letter-spacing: 0.02em; font-size: 13px; font-weight: 700; color: #c4ddd0; } [data-site-theme='paper'] .qwb-insp__music-pub > .qwb-insp__sub--music { color: #2a3328; } .qwb-insp__tip--music { margin-bottom: 12px; } .qwb-insp__music-imp { position: relative; margin-bottom: 12px; } .qwb-insp__music-imp-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; } @media (max-width: 420px) { .qwb-insp__music-imp-row { grid-template-columns: 1fr; } } .qwb-insp__music-imp-a { font-weight: 600; } .qwb-insp__music-cta { margin-top: 10px; font-weight: 600; letter-spacing: 0.02em; } .qwb-field--music-mode { margin-bottom: 8px; } .qwb-field--music-sync { margin-bottom: 4px; } .qwb-music__folderin { position: absolute; width: 0; height: 0; opacity: 0; pointer-events: none; } .qwb-insp__sub { font-size: 11px; color: #6a7a6e; margin: 0 0 6px; } .qwb-insp__row { display: flex; flex-direction: column; gap: 6px; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid #1e2622; } .qwb-insp__qarow { display: grid; grid-template-columns: 1fr 1fr auto; gap: 6px; padding: 8px; border: 1px solid #2a3330; border-radius: 8px; background: rgba(22, 28, 24, 0.5); margin-bottom: 8px; } .qwb-insp__qarow-ord { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin-bottom: 2px; } .qwb-insp__qarow-ord .qwb-ico { min-width: 28px; } .qwb-insp__qarow .qwb-input { min-width: 0; } .qwb-insp__qarow .qwb-input--mono { grid-column: 1 / -1; } .qwb-insp__qarow .qwb-btn--sm { grid-column: 1 / -1; padding: 4px 8px; font-size: 11px; } [data-site-theme='paper'] .qwb-insp__qarow { background: #f0e8d2; border-color: #c8c4b8; } .qwb-insp__qarow--stack { display: flex; flex-direction: column; gap: 8px; grid-template-columns: unset; } .qwb-insp__qarow--stack .qwb-input--mono, .qwb-insp__qarow--stack .qwb-btn--sm { grid-column: unset; } /* Header inspector: compact menu rows + folded logo section */ .qwb-insp__tip--hdr { font-size: 11px; line-height: 1.4; margin-bottom: 8px; } .qwb-insp__sub--tight { margin-top: 10px; margin-bottom: 4px; } .qwb-insp__muted { font-weight: 400; opacity: 0.8; } .qwb-insp__fold { margin-bottom: 10px; padding: 6px 8px; border: 1px solid #2a3330; border-radius: 8px; background: rgba(18, 22, 20, 0.35); } [data-site-theme='paper'] .qwb-insp__fold { background: #ebe4d4; border-color: #c8c4b8; } .qwb-insp__summary { cursor: pointer; font-size: 12px; font-weight: 600; color: #9aac9e; list-style: none; padding: 4px 0; } .qwb-insp__summary::-webkit-details-marker { display: none; } .qwb-insp__summary::before { content: '▸ '; opacity: 0.7; } details[open].qwb-insp__fold > .qwb-insp__summary::before { content: '▾ '; } .qwb-insp__fold .qwb-field:first-of-type { margin-top: 6px; } .qwb-insp__hdrnav { display: flex; flex-direction: column; gap: 6px; padding: 8px; border: 1px solid #2a3330; border-radius: 8px; background: rgba(22, 28, 24, 0.5); margin-bottom: 8px; } .qwb-insp__hdrnav__row1 { display: grid; grid-template-columns: 1fr minmax(90px, 32%) 44px 34px; gap: 4px 6px; align-items: stretch; } .qwb-insp__hdrnav__reorder { display: flex; flex-direction: column; justify-content: center; align-self: center; gap: 0; min-width: 0; } .qwb-insp__hdrnav__reorder .qwb-ico { padding: 1px 4px; font-size: 12px; line-height: 1.1; min-height: 20px; } .qwb-insp__hdrnav__mode { font-size: 11px; padding: 4px 6px; min-width: 0; } .qwb-insp__hdrnav__field--variant { margin-top: 2px; } .qwb-insp__hdrnav__variant { font-size: 11px; padding: 5px 8px; min-width: 0; } .qwb-insp__hdrnav__x { padding: 4px 6px; font-size: 16px; line-height: 1; min-width: 34px; } .qwb-insp__hdrnav__field { display: flex; flex-direction: column; gap: 2px; min-width: 0; } .qwb-insp__hdrnav__field--muted { opacity: 0.52; } .qwb-insp__hdrnav__tip { margin: -2px 0 4px; font-size: 10px; line-height: 1.35; } .qwb-insp__hdrnav__l { font-size: 10px; color: #6a7a6e; line-height: 1.2; } [data-site-theme='paper'] .qwb-insp__hdrnav { background: #f0e8d2; border-color: #c8c4b8; } .qwb-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; } .qwb-field--row { flex-direction: row; align-items: center; gap: 8px; } .qwb-field__l { font-size: 11px; color: #6a7a6e; } .qwb-input { width: 100%; padding: 7px 10px; border-radius: 6px; border: 1px solid #2a3330; background: #121816; color: #e0e4e0; font: inherit; font-size: 13px; } .qwb-input--mono { font-family: var(--qwb-mono); font-size: 12px; } .qwb-input--area { min-height: 80px; resize: vertical; font-family: var(--qwb-sans); } .qwb-input--area.qwb-input--mono { font-family: var(--qwb-mono); font-size: 12px; } /* Top-bar name: not full-width; width set in JS to fit the selected name. */ select.qwb-input.qwb-top__rname-sel { width: auto; min-width: 3rem; max-width: 100%; } /* Rich-text editor (inspector HTML fields: Bold / Italic / Underline / Link / Size). */ .qwb-rte { display: flex; flex-direction: column; border-radius: 6px; border: 1px solid #2a3330; background: #0e1211; overflow: hidden; } .qwb-rte:focus-within { border-color: #4a7c5e; box-shadow: 0 0 0 1px #4a7c5e; } .qwb-rte__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 5px 6px; background: #121818; border-bottom: 1px solid #202a26; } .qwb-rte__btn { min-width: 28px; height: 26px; padding: 0 7px; border-radius: 4px; border: 1px solid transparent; background: transparent; color: #d0dcd4; font-size: 12px; font-weight: 600; line-height: 1; cursor: pointer; } .qwb-rte__btn:hover { background: #1a221c; border-color: #2d3a32; } .qwb-rte__btn:active { background: #22302a; } .qwb-rte__btn--on, .qwb-rte__btn--on:hover { background: #1a3a28 !important; border-color: #4a7c5e !important; color: #c8e8d0; box-shadow: 0 0 0 1px rgba(74, 124, 94, 0.45); } [data-site-theme='paper'] .qwb-rte__btn--on, [data-site-theme='paper'] .qwb-rte__btn--on:hover { background: #c8e4c8 !important; border-color: #3a6a4a !important; color: #1a2a1a; box-shadow: 0 0 0 1px rgba(60, 100, 70, 0.35); } .qwb-rte__btn--bold { font-weight: 800; } .qwb-rte__btn--italic { font-style: italic; } .qwb-rte__btn--under { text-decoration: underline; } .qwb-rte__sep { width: 1px; height: 18px; background: #2a3530; margin: 0 2px; } .qwb-rte__imgbar { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 6px; width: 100%; flex-basis: 100%; padding-top: 4px; margin-top: 2px; border-top: 1px solid #202a26; } .qwb-rte__imgbar--float { width: auto; flex-basis: auto; margin-top: 0; padding: 8px 10px; border-top: none; border-radius: 10px; border: 1px solid #3a4a42; background: rgba(12, 18, 16, 0.94); box-shadow: 0 8px 28px rgba(0, 0, 0, 0.42); backdrop-filter: blur(6px); pointer-events: auto; } @media (max-width: 768px) { .qwb-rte__imgbar--float { gap: 6px 8px; padding: 10px 12px; } .qwb-rte__imgbar--float .qwb-rte__imgbar-btn { min-height: 36px; min-width: 36px; padding: 6px 10px; font-size: 12px; } .qwb-rte__imgbar--float .qwb-rte__imgbar-btn--w { min-width: 44px; } .qwb-rte__imgbar--float .qwb-rte__imgbar-in { min-height: 36px; font-size: 14px; } .qwb-rte__imgbar--float .qwb-rte__imgbar-btn--remove { min-width: 40px; font-size: 18px; } } [data-site-theme='paper'] .qwb-rte__imgbar--float { background: rgba(252, 250, 244, 0.96); border-color: rgba(90, 74, 36, 0.28); box-shadow: 0 8px 24px rgba(60, 50, 30, 0.16); } .qwb-rte__imgbar-lab { font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #6a7a6e; margin-right: 2px; } .qwb-rte__imgbar-sep { width: 1px; height: 16px; background: #2a3530; margin: 0 4px; } .qwb-rte__imgbar-btn { min-height: 24px; padding: 2px 8px; border-radius: 4px; border: 1px solid #2d3a32; background: #151a18; color: #c0d0c8; font-size: 11px; font-weight: 600; cursor: pointer; } .qwb-rte__imgbar-btn:hover { background: #1a221c; border-color: #4a7c5e; } .qwb-rte__imgbar-btn--w { min-width: 2.4rem; padding: 2px 6px; font-variant-numeric: tabular-nums; } .qwb-rte__imgbar-btn--remove { min-width: 1.75rem; padding: 2px 6px; font-size: 16px; line-height: 1; font-weight: 700; color: #e8a0a0; border-color: #5a3030; } .qwb-rte__imgbar-btn--remove:hover { background: #2a1818; border-color: #8a4040; color: #ffb0b0; } .qwb-rte__imgbar-in { width: 6.5rem; max-width: 100%; min-height: 24px; padding: 2px 6px; border-radius: 4px; border: 1px solid #2d3a32; background: #0f1311; color: #c0d0c8; font-size: 11px; } .qwb-rte__imgbar-in::placeholder { color: #5a6a62; } .qwb-rte__area img { cursor: grab; max-width: 100%; height: auto; } .qwb-rte__area img:active { cursor: grabbing; } .qwb-rte__area video { cursor: grab; max-width: 100%; height: auto; vertical-align: middle; } .qwb-rte__area video:active { cursor: grabbing; } .qwb-rte__area img.qwb-rte__peer-sel, .qwb-rte__area video.qwb-rte__peer-sel { outline: 2px solid #5a9e72; outline-offset: 2px; } [data-site-theme='paper'] .qwb-rte__area img.qwb-rte__peer-sel, [data-site-theme='paper'] .qwb-rte__area video.qwb-rte__peer-sel { outline-color: #2a6a4a; } [data-site-theme='paper'] .qwb-rte__imgbar { border-top-color: #c8c0a0; } [data-site-theme='paper'] .qwb-rte__imgbar-lab { color: #6a6050; } [data-site-theme='paper'] .qwb-rte__imgbar-btn { background: #faf8f2; border-color: #c4b8a0; color: #2a2820; } [data-site-theme='paper'] .qwb-rte__imgbar-btn--remove { color: #a03030; border-color: #c8a0a0; } [data-site-theme='paper'] .qwb-rte__imgbar-btn--remove:hover { background: #ffe8e8; border-color: #a04040; color: #801818; } [data-site-theme='paper'] .qwb-rte__imgbar-in { background: #fff; border-color: #c4b8a0; color: #2a2820; } [data-site-theme='paper'] .qwb-rte__imgbar-in::placeholder { color: #8a8070; } .qwb-rte__size { display: inline-flex; align-items: center; gap: 6px; margin-left: 2px; } .qwb-rte__size-readout { min-width: 3.4rem; font-size: 11px; font-weight: 600; letter-spacing: 0.02em; color: #9aaea3; text-align: right; user-select: none; } .qwb-rte__link-pop { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0 0 6px; padding: 8px 10px; border-radius: 6px; border: 1px solid #2a3330; background: #121712; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35); } .qwb-rte__link-pop__lab { flex: 0 0 100%; width: 100%; font-size: 11px; font-weight: 600; color: #9aaea3; margin: 0; } .qwb-rte__link-pop__in { flex: 1 1 180px; min-width: 0; height: 30px; padding: 0 10px; font-size: 13px; border-radius: 4px; border: 1px solid #2a3330; background: #161c18; color: #e8f0eb; } .qwb-rte__link-pop__in:focus { outline: 2px solid #3d5a4a; outline-offset: 0; border-color: #3d5a4a; } .qwb-rte__link-pop__err { flex: 0 0 100%; width: 100%; margin: 0; font-size: 12px; color: #e6a0a0; } .qwb-rte__link-pop__act { display: flex; flex-wrap: wrap; gap: 6px; width: 100%; margin-top: 2px; } .qwb-rte__link-pop__btn { height: 28px; padding: 0 12px; font-size: 12px; font-weight: 600; border-radius: 4px; border: 1px solid #2a3330; background: #1a221c; color: #d0dcd4; cursor: pointer; } .qwb-rte__link-pop__btn:hover { background: #232d27; } .qwb-rte__link-pop__btn--ok { border-color: #3d5a4a; background: #1c2e25; color: #b8d4c4; } .qwb-rte__link-pop__btn--ok:hover { background: #234032; } .qwb-rte__link-pop__btn--ghost { border-color: transparent; background: transparent; color: inherit; opacity: 0.78; } .qwb-rte__link-pop__btn--ghost:hover { opacity: 1; background: rgba(140, 160, 150, 0.14); } .qwb-rte__link-pop__media { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 6px; } .qwb-rte__link-pop__sub { margin: 0 0 8px; font-size: 11px; opacity: 0.78; word-break: break-all; } .qwb-rte__size-sel { min-width: 6.5rem; height: 24px; padding: 0 6px; font-size: 12px; border-radius: 4px; border: 1px solid #2a3330; background: #161c18; color: #d0dcd4; } .qwb-rte__align { display: inline-flex; align-items: center; gap: 2px; } .qwb-rte__btn--align { min-width: 32px; min-height: 28px; font-size: 0; font-weight: 600; padding: 2px 4px; display: inline-flex; align-items: center; justify-content: center; } /* Paragraph-line icons: same “lines” vocabulary as justify, different bar widths / alignment */ .qwb-rte__align-bars { display: flex; flex-direction: column; justify-content: space-between; width: 18px; height: 15px; color: inherit; } .qwb-rte__align-bars__ln { display: block; height: 2px; min-height: 2px; background: currentColor; border-radius: 1px; flex: 0 0 auto; } .qwb-rte__align-bars--left { align-items: flex-start; } .qwb-rte__align-bars--left .qwb-rte__align-bars__ln:nth-child(1) { width: 100%; } .qwb-rte__align-bars--left .qwb-rte__align-bars__ln:nth-child(2) { width: 70%; } .qwb-rte__align-bars--left .qwb-rte__align-bars__ln:nth-child(3) { width: 85%; } .qwb-rte__align-bars--center { align-items: center; } .qwb-rte__align-bars--center .qwb-rte__align-bars__ln { width: 78%; } .qwb-rte__align-bars--center .qwb-rte__align-bars__ln:nth-child(2) { width: 100%; } .qwb-rte__align-bars--center .qwb-rte__align-bars__ln:nth-child(3) { width: 66%; } .qwb-rte__align-bars--right { align-items: flex-end; } .qwb-rte__align-bars--right .qwb-rte__align-bars__ln:nth-child(1) { width: 100%; } .qwb-rte__align-bars--right .qwb-rte__align-bars__ln:nth-child(2) { width: 70%; } .qwb-rte__align-bars--right .qwb-rte__align-bars__ln:nth-child(3) { width: 85%; } .qwb-rte__align-bars--justify { justify-content: space-between; height: 16px; } .qwb-rte__align-bars--justify .qwb-rte__align-bars__ln { width: 100%; } .qwb-rte__area { padding: 8px 10px 10px; outline: none; color: #e8f0eb; font-size: 13.5px; line-height: 1.45; font-family: var(--qwb-sans); font-weight: 400; white-space: pre-wrap; word-wrap: break-word; } /* Inspector: pasted HTML often carries light-theme colors; keep body text readable in both themes. */ .qwb-insp .qwb-rte__area, .qwb-insp .qwb-rte__area *:not(a) { color: inherit; } .qwb-insp .qwb-rte__area { color: #e8f0eb; } /* Slate site: pasted inline colors in product description RTE must not win over theme. */ [data-site-theme='slate'] .qwb-insp .qwb-rte__area, [data-site-theme='slate'] .qwb-insp .qwb-rte__area *:not(a):not(img) { color: #e8f0eb !important; } [data-site-theme='slate'] .qwb-insp .qwb-rte__area a, [data-site-theme='slate'] .qwb-insp .qwb-rte__area a * { color: #6eb4ff !important; } /* * Paper site: builder RTE sits on light chrome — force dark body copy so pasted white/#eee inline * colors stay readable (canvas + inspector). Slate uses the mirror rule above. */ [data-site-theme='paper'] .qwb-rte__area, [data-site-theme='paper'] .qwb-rte__area *:not(a):not(img):not(video) { color: #1a1c18 !important; } [data-site-theme='paper'] .qwb-rte__area a, [data-site-theme='paper'] .qwb-rte__area a * { color: #0b57d0 !important; } [data-site-theme='paper'] .qwb-rte__area a:hover, [data-site-theme='paper'] .qwb-rte__area a:hover * { color: #0946ad !important; } .qwb-rte__area:empty::before { content: attr(data-placeholder); color: #5a6a60; pointer-events: none; } [data-site-theme='paper'] .qwb-rte__area:empty::before { color: #7a7568; } /* Double-click rich HTML on canvas: same pasted-inline issue as RTE. */ [data-site-theme='paper'] .qwb-editable--html, [data-site-theme='paper'] .qwb-editable--html *:not(a):not(img):not(video) { color: #3a4038 !important; } [data-site-theme='paper'] .qwb-editable--html a, [data-site-theme='paper'] .qwb-editable--html a * { color: #0b57d0 !important; } [data-site-theme='paper'] .qwb-editable--html a:hover, [data-site-theme='paper'] .qwb-editable--html a:hover * { color: #0946ad !important; } /* Slate: canvas EditableHtml — mirror RTE (light copy on dark chrome). */ [data-site-theme='slate'] .qwb-editable--html, [data-site-theme='slate'] .qwb-editable--html *:not(a):not(img):not(video) { color: #e8f0eb !important; } [data-site-theme='slate'] .qwb-editable--html a, [data-site-theme='slate'] .qwb-editable--html a * { color: #6eb4ff !important; } /* Rich text links: blue, emphasis, underlined; matches saved HTML in EditableHtml on canvas/export. */ .qwb-rte__area a, .qwb-rte__link, .qwb-editable--html a.qwb-rte__link, .qwb-editable--html a[href] { color: #6eb4ff; text-decoration: underline; text-underline-offset: 2px; font-weight: inherit; text-shadow: 0 0 1px rgba(255, 255, 255, 0.45), 0 1px 2px rgba(0, 0, 0, 0.35); cursor: pointer; transition: color 120ms ease, text-shadow 120ms ease; } .qwb-rte__area a:hover, .qwb-rte__link:hover, .qwb-editable--html a.qwb-rte__link:hover, .qwb-editable--html a[href]:hover { color: #9ed0ff; text-shadow: 0 0 2px rgba(255, 255, 255, 0.55), 0 1px 2px rgba(0, 0, 0, 0.4); } .qwb-canvas--public .qwb-editable--html a[href] { pointer-events: auto; } .qwb-rte__area strong { font-weight: 700; } .qwb-rte__area em { font-style: italic; } .qwb-rte__area u { text-decoration: underline; } /* Block alignment as produced by execCommand (styleWithCSS) in the rich-text area. */ /* Let text wrap beside floated images/videos in the rich-text editor. */ .qwb-rte__area p:has(img, video) { display: flow-root; } .qwb-rte__area p, .qwb-rte__area div { margin: 0.35em 0; } .qwb-rte__area p:first-child, .qwb-rte__area div:first-child { margin-top: 0; } [data-site-theme='paper'] .qwb-rte { background: #faf8f2; border-color: #c8c4b8; } [data-site-theme='paper'] .qwb-rte:focus-within { border-color: #5a8a6a; box-shadow: 0 0 0 1px #5a8a6a; } [data-site-theme='paper'] .qwb-rte__bar { background: #efe9d9; border-bottom-color: #d0cab8; } [data-site-theme='paper'] .qwb-rte__btn { color: #3a3a30; } [data-site-theme='paper'] .qwb-rte__btn:hover { background: #e4dec8; border-color: #c0bca8; } [data-site-theme='paper'] .qwb-rte__size-sel { background: #f4efde; border-color: #c8c4b8; color: #2a2a22; } [data-site-theme='paper'] .qwb-rte__size-readout { color: #5a5a4a; } [data-site-theme='paper'] .qwb-rte__link-pop { background: #f0ebd8; border-color: #c8c4b8; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); } [data-site-theme='paper'] .qwb-rte__link-pop__lab { color: #5a5a4a; } [data-site-theme='paper'] .qwb-rte__link-pop__in { background: #f9f5e6; border-color: #c8c4b8; color: #1a1a12; } [data-site-theme='paper'] .qwb-rte__link-pop__btn { background: #e8e2cc; border-color: #c0bca8; color: #2a2a22; } [data-site-theme='paper'] .qwb-rte__link-pop__btn:hover { background: #e0d9c0; } [data-site-theme='paper'] .qwb-rte__link-pop__btn--ok { border-color: #5a8a6a; background: #dde8d8; color: #1a3a2a; } [data-site-theme='paper'] .qwb-rte__link-pop__btn--ok:hover { background: #d0e0d0; } [data-site-theme='paper'] .qwb-rte__sep { background: #c8c4b8; } [data-site-theme='paper'] .qwb-rte__link, [data-site-theme='paper'] .qwb-editable--html a[href] { color: #0b57d0 !important; text-shadow: 0 0 1px rgba(255, 255, 255, 0.9); } [data-site-theme='paper'] .qwb-editable--html a[href]:hover { color: #0946ad !important; } /* Buttons */ .qwb-btn { padding: 7px 12px; border-radius: 6px; background: #1a221c; border: 1px solid #2a3330; color: #d0d8d4; font-size: 12px; font-weight: 500; white-space: nowrap; } .qwb-btn:hover:enabled { background: #222a25; border-color: #3a4a40; } .qwb-btn:disabled { opacity: 0.5; cursor: not-allowed; } .qwb-btn--primary { background: #2a3d32; border-color: #3a5a45; color: #e8f0e8; } .qwb-btn--primary:hover:enabled { background: #345240; } .qwb-btn--accent { background: #3a2a1a; border-color: #5a4a2a; color: #f0e8c8; } .qwb-btn--accent:hover:enabled { background: #4a3a24; } /* Continue Building — existing QWB project (green) */ .qwb-btn--continue { background: #1a3d28; border-color: #2a6a42; color: #e0f4e4; font-weight: 600; } .qwb-btn--continue:hover:enabled { background: #224a32; border-color: #348a56; color: #f0fff4; } [data-site-theme='paper'] .qwb-btn--continue { background: #d4edd8; border-color: #4a8a58; color: #0f2a16; } [data-site-theme='paper'] .qwb-btn--continue:hover:enabled { background: #e2f5e6; border-color: #2a6a3a; } .qwb-btn--ghost { background: transparent; border-color: #2a3a32; color: #9aafa4; } .qwb-btn--full { width: 100%; } .qwb-btn--sm { padding: 4px 8px; font-size: 11px; } .qwb-btn--ghost:disabled { opacity: 0.4; } .qwb-btn--on { background: #1f3a2a; border-color: #3a5a42; color: #d8e8dc; } [data-site-theme='paper'] .qwb-btn--on { background: #dbe9d8; border-color: #95b598; color: #23341f; } /* Canvas viewport — "Mobile View" frame around the block page. */ .qwb-viewport { padding: 24px 16px; display: flex; justify-content: center; min-height: 100%; } .qwb-viewport--mobile { background: repeating-linear-gradient( 45deg, rgba(255, 255, 255, 0.015) 0 8px, transparent 8px 16px ); } .qwb-viewport__frame { width: 100%; max-width: 390px; border: 1px solid #2a3330; border-radius: 28px; background: var(--qwb-bg, #0f1210); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45), 0 0 0 6px #0c0f0d; /* Inner scroll (not `overflow:hidden`) so a sticky site header works inside the mobile preview. */ overflow-x: hidden; overflow-y: auto; max-height: min(92dvh, 900px); min-height: 640px; position: relative; -webkit-overflow-scrolling: touch; } .qwb-viewport__frame::before { content: ''; position: absolute; top: 10px; left: 50%; transform: translateX(-50%); width: 80px; height: 5px; border-radius: 3px; background: #181e1b; z-index: 2; } .qwb-viewport__frame > * { width: 100%; } [data-site-theme='paper'] .qwb-viewport { background: repeating-linear-gradient( 45deg, rgba(60, 50, 20, 0.04) 0 8px, transparent 8px 16px ); } [data-site-theme='paper'] .qwb-viewport__frame { border-color: #c8c4b8; background: #faf8f2; box-shadow: 0 20px 48px rgba(80, 70, 40, 0.18), 0 0 0 6px #e6e1d0; } [data-site-theme='paper'] .qwb-viewport__frame::before { background: #c8bfa8; } /* QDN save — red when there are unpublished DOCUMENT changes */ .qwb-btn--qdn-danger { background: #3a1818; border-color: #9a3030; color: #ffd4d4; font-weight: 600; } .qwb-btn--qdn-danger:hover:enabled { background: #4a2020; border-color: #c04040; color: #fff; } .qwb-btn--qdn-sync { background: #1a241c; border-color: #2a4a38; color: #9ac4a4; } .qwb-btn--qdn-sync:hover:enabled { background: #203028; border-color: #3a5a48; color: #c0e8cc; } .qwb-btn--qdn-panel { font-size: 11px; padding: 6px 12px; max-width: 11rem; } [data-site-theme='paper'] .qwb-btn--qdn-danger { background: #f0d0d0; border-color: #c04040; color: #6a1010; } [data-site-theme='paper'] .qwb-btn--qdn-sync { background: #d8ece0; border-color: #5a9a70; color: #1a4a28; } .qwb-btn--qdn-danger:disabled, .qwb-btn--qdn-sync:disabled { opacity: 0.7; cursor: not-allowed; } .qwb-btn--qdn-danger:disabled { opacity: 0.8; } /* Site theme on shell (matches published feel) */ [data-site-theme='paper'] .qwb-main { background: #e8e4d8; } [data-site-theme='paper'] .qwb-top { background: #f4f1e8; border-bottom-color: #c8c4b8; color: #1a1c18; } [data-site-theme='paper'] .qwb-top__doc { color: #5a5c58; } [data-site-theme='paper'] .qwb-work { background: #ded8cc; } [data-site-theme='paper'] .qwb-lib, [data-site-theme='paper'] .qwb-insp { background: #ece8de; border-color: #c8c4b8; color: #1a1c18; } [data-site-theme='paper'] .qwb-lib__p, [data-site-theme='paper'] .qwb-insp__empty, [data-site-theme='paper'] .qwb-insp__tip { color: #4a5048; } [data-site-theme='paper'] .qwb-input { background: #faf8f2; color: #1a1c18; border-color: #b8b4a8; } [data-site-theme='paper'] .qwb-lib__head, [data-site-theme='paper'] .qwb-insp__h { color: #5a5a4e; } [data-site-theme='paper'] .qwb-lib__hint { color: #4a5048; } [data-site-theme='paper'] .qwb-lib__warn { color: #8a6a3a; } [data-site-theme='paper'] .qwb-lib__mono { color: #444; } [data-site-theme='paper'] .qwb-lib__qshop { border-color: color-mix(in srgb, #5a8a68 50%, #c8c4b8); background: linear-gradient(168deg, #eef5ee 0%, #e8e8dc 100%); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset; } [data-site-theme='paper'] .qwb-lib__qshop-head { color: #3a5a40; } [data-site-theme='paper'] .qwb-lib__qshop-desc { color: #4a5048; } [data-site-theme='paper'] .qwb-lib__qshop-add { background: linear-gradient(155deg, #f5f0e0 0%, #e8e4d4 100%); border-color: #b8b4a4; color: #1a1c18; box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset; } [data-site-theme='paper'] .qwb-lib__qshop-add:hover { background: linear-gradient(155deg, #fbf6e8 0%, #f0eada 100%); border-color: #6a8a6e; box-shadow: 0 6px 16px rgba(60, 80, 50, 0.12); } [data-site-theme='paper'] .qwb-lib__qshop-add-ico { background: color-mix(in srgb, #4a7a50 20%, #fbf6e8); border-color: #a8a898; color: #2a4a2e; } [data-site-theme='paper'] .qwb-lib__qshop-add-d { color: #5a5a4e; } [data-site-theme='paper'] .qwb-lib__tile { background: linear-gradient(155deg, #f7f2e4 0%, #ece7d7 55%, #e0dcc9 100%); border-color: #c8c4b8; color: #1a1c18; box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset; } [data-site-theme='paper'] .qwb-lib__tile:hover { background: linear-gradient(155deg, #fbf7eb 0%, #f1ecdd 55%, #e6e2cf 100%); border-color: color-mix(in srgb, var(--tile-accent) 55%, #c8c4b8); box-shadow: 0 6px 16px rgba(80, 70, 40, 0.12), 0 0 0 1px color-mix(in srgb, var(--tile-accent) 32%, transparent) inset; } [data-site-theme='paper'] .qwb-lib__tile-ico { background: color-mix(in srgb, var(--tile-accent) 18%, #fbf7eb); border-color: color-mix(in srgb, var(--tile-accent) 40%, #c8c4b8); color: color-mix(in srgb, var(--tile-accent) 72%, #3a3a30); box-shadow: 0 0 10px color-mix(in srgb, var(--tile-accent) 18%, transparent) inset; } [data-site-theme='paper'] .qwb-lib__tile-d { color: #5a6058; } [data-site-theme='paper'] .qwb-lib__plug { background: linear-gradient(180deg, #f5efdf 0%, #ebe4d1 100%); border-color: #c8c4b8; color: #1a1c18; } [data-site-theme='paper'] .qwb-lib__plug:hover:enabled { background: linear-gradient(180deg, #fbf5e5 0%, #f0ead7 100%); border-color: color-mix(in srgb, var(--plug-accent) 50%, #c8c4b8); box-shadow: 0 0 0 1px color-mix(in srgb, var(--plug-accent) 30%, transparent) inset; } [data-site-theme='paper'] .qwb-lib__plug-ico { background: color-mix(in srgb, var(--plug-accent) 18%, #fbf7eb); border-color: color-mix(in srgb, var(--plug-accent) 40%, #c8c4b8); color: color-mix(in srgb, var(--plug-accent) 72%, #3a3a30); } [data-site-theme='paper'] .qwb-lib__plug-h { color: #6a7066; } [data-site-theme='paper'] .qwb-lib__pub { background: linear-gradient(180deg, #efe7d1 0%, #e7dfc8 100%); border-bottom-color: #c8c4b8; } [data-site-theme='paper'] .qwb-lib__av { background: linear-gradient(135deg, #e2d9c0 0%, #d4cab0 100%); border-color: #c0b896; box-shadow: 0 0 0 1px rgba(124, 100, 40, 0.12) inset; } [data-site-theme='paper'] .qwb-lib__av-i { color: #5a4a20; } [data-site-theme='paper'] .qwb-lib__pub-l { color: #6a6040; } [data-site-theme='paper'] .qwb-lib__pub-n { color: #1a1c18; } [data-site-theme='paper'] .qwb-lib__pub-addr { color: #5a5040; } [data-site-theme='paper'] .qwb-lib__pub-n--placeholder { color: #7a7058; } [data-site-theme='slate'] .qwb-main { background: #0c1014; } [data-site-theme='forest'] .qwb-main { background: #0a100c; } .qwb-top__theme { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; } .qwb-top__theme-l { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; color: #6a7a6e; white-space: nowrap; } .qwb-top__theme-sel { width: auto; min-width: 7.25rem; max-width: 12.5rem; font-size: 13px; padding: 4px 8px; field-sizing: content; } @supports not (field-sizing: content) { .qwb-top__theme-sel { width: 11.5rem; } } [data-site-theme='paper'] .qwb-top__theme-l { color: #5a5a4a; } /* Changelog dialog (QWB top bar) */ .qwb-changelog-backdrop { position: fixed; inset: 0; z-index: 300; background: rgba(0, 0, 0, 0.55); display: flex; align-items: center; justify-content: center; padding: 20px; box-sizing: border-box; backdrop-filter: blur(2px); } .qwb-changelog { max-width: min(520px, 100%); max-height: min(85vh, 640px); display: flex; flex-direction: column; background: #121615; border: 1px solid #2a3a32; border-radius: 12px; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5); color: #e4ebe6; overflow: hidden; } .qwb-changelog__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-bottom: 1px solid #2a3330; background: #161b18; } .qwb-changelog__title { margin: 0; font-size: 1rem; font-weight: 650; line-height: 1.3; font-family: var(--qwb-sans); } .qwb-changelog__x { border: 0; background: transparent; color: #9aafa4; font-size: 1.4rem; line-height: 1; width: 36px; height: 36px; border-radius: 8px; cursor: pointer; flex: 0 0 auto; } .qwb-changelog__x:hover { background: rgba(255, 255, 255, 0.08); color: #e8f0e8; } .qwb-changelog__body { padding: 14px 16px 16px; overflow-y: auto; font-size: 13px; line-height: 1.55; color: #c8d4cc; } .qwb-changelog__p { margin: 0 0 10px; } .qwb-changelog__li { margin: 0 0 6px; padding-left: 0; } .qwb-changelog__foot { padding: 10px 16px 14px; border-top: 1px solid #2a3330; display: flex; justify-content: flex-end; } [data-site-theme='paper'] .qwb-changelog { background: #fbf7eb; border-color: #c8c4b8; color: #1a1c18; box-shadow: 0 20px 40px rgba(60, 50, 30, 0.2); } [data-site-theme='paper'] .qwb-changelog__head { background: #f2eee2; border-color: #c8c4b8; } [data-site-theme='paper'] .qwb-changelog__body { color: #3a4038; } [data-site-theme='paper'] .qwb-changelog__x { color: #5a5a4e; } [data-site-theme='paper'] .qwb-changelog__x:hover { background: rgba(0, 0, 0, 0.06); color: #1a1a18; } [data-site-theme='paper'] .qwb-changelog__foot { border-color: #c8c4b8; } @media (max-width: 960px) { .qwb-top { grid-template-columns: 1fr; row-gap: 16px; } .qwb-top__left, .qwb-top__tail { grid-column: 1; } .qwb-top__left { padding-right: 0; } .qwb-top__tail { justify-content: center; padding-left: 0; } .qwb-top__actions { justify-content: center; } .qwb-top__act-draft { margin-left: 0; } .qwb-top__act-publish { margin-left: 0; } .qwb-top__meta { max-width: 100%; } } @media (max-width: 600px) { .qwb-top__rname-sel { max-width: 100%; } } /* Visual canvas chrome */ .qwb-canvas__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px; padding: 8px 4px 14px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; color: #6a7a70; max-width: 800px; margin: 0 auto; } .qwb-canvas__hint { text-transform: none; letter-spacing: 0; font-size: 12px; color: #8a9a90; font-weight: 400; } .qwb-block__grip { cursor: grab; user-select: none; padding: 2px 6px; margin-right: 4px; font-size: 12px; line-height: 1; color: #6a7a6e; border-radius: 4px; } .qwb-block__grip:active { cursor: grabbing; } .qwb-block__grip:hover { background: rgba(80, 120, 90, 0.2); color: #a0c0a8; } .qwb-block__bar-left { display: flex; align-items: center; gap: 4px; min-width: 0; } .qwb-block__bar .qwb-block__bar-a { margin-left: auto; } .qwb-block--drop { box-shadow: inset 0 3px 0 0 #4a9a6a; border-radius: 4px 4px 0 0; } .qwb-block--source { opacity: 0.6; } .qwb-canvas__enddrop { min-height: 20px; margin: 4px 0 16px; border-radius: 4px; border: 2px dashed transparent; transition: border-color 0.12s, background 0.12s; } .qwb-canvas__enddrop--on { border-color: #4a9a6a; background: rgba(60, 140, 80, 0.12); } /* Inline editing (canvas) */ .qwb-editable { cursor: text; outline: none; border-radius: 4px; transition: box-shadow 0.12s; } .qwb-editable:hover { box-shadow: 0 0 0 1px rgba(80, 140, 100, 0.35); } .qwb-editable__ph { color: #8a9a8e; font-style: italic; } .qwb-editing-input { display: block; width: 100%; max-width: 100%; box-sizing: border-box; font: inherit; line-height: inherit; border-radius: 4px; border: 1px solid #4a7c5e; background: #0a0c0a; color: var(--qwb-fg2, #e8e6e0); padding: 4px 8px; margin: 0; } .qwb-editing-input--area { min-height: 120px; resize: vertical; font-family: var(--qwb-sans); line-height: 1.5; } [data-qwb-theme='paper'] .qwb-editing-input, [data-site-theme='paper'] .qwb-editing-input { background: #fffcf5; color: #1a1c18; } /* Rich text overlay on canvas (double-click HTML fields; Options = raw HTML). */ .qwb-editing-rich-outer { display: block; width: 100%; max-width: 100%; box-sizing: border-box; position: relative; z-index: 3; } .qwb-editing-rich { border-radius: 8px; border: 1px solid #4a7c5e; background: #0a100c; box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45); overflow: hidden; } .qwb-editing-rich .qwb-rte { border: none; border-radius: 0; } .qwb-editing-rich .qwb-rte:focus-within { box-shadow: none; } .qwb-editing-rich__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 8px 10px; background: #0e1612; border-top: 1px solid #1e2a22; } .qwb-editing-rich__hint { font-size: 11px; color: #6a7a6e; margin-left: auto; } [data-site-theme='paper'] .qwb-editing-rich { background: #fffcf5; border-color: #5a8a6a; box-shadow: 0 8px 24px rgba(40, 40, 30, 0.18); } [data-site-theme='paper'] .qwb-editing-rich__actions { background: #efe9d9; border-top-color: #d0cab8; } [data-site-theme='paper'] .qwb-editing-rich__hint { color: #5a5048; } .qwb-qapp__tabcell { display: inline-flex; } .qwb-qapp__tab--edit { min-width: 7rem; font: inherit; font-size: 12px; padding: 6px 10px; border-radius: 6px; border: 1px solid #4a7c5e; background: #0a120e; color: #e0e8e4; } .qwb-links__rowa { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; border-radius: 4px; } .qwb-links__rowa:hover { text-decoration: underline; } .qwb-links__av { width: 22px; height: 22px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; background: rgba(0, 0, 0, 0.2); border: 1px solid rgba(255, 255, 255, 0.08); } /* Inline avatar on link-style buttons (hero CTA, Q-Shop CTAs, etc.). */ .qwb-href-av { width: 20px; height: 20px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; background: rgba(0, 0, 0, 0.25); border: 1px solid rgba(255, 255, 255, 0.1); } .qwb-cta__av { margin-right: 0; } .qwb-cta__l { font-weight: 600; } .qwb-cta__arrow { opacity: 0.75; font-size: 0.9em; } [data-site-theme='paper'] .qwb-href-av, [data-site-theme='paper'] .qwb-links__av { background: rgba(80, 70, 40, 0.08); border-color: rgba(120, 100, 50, 0.2); } .qwb-insp__tip { font-size: 12px; line-height: 1.45; color: #6a7a6e; margin: 0 0 12px; } [data-site-theme='paper'] .qwb-insp__tip { color: #5a5a52; } /* Session gate (Hub: authenticate → pick name) */ .qwb-gate { flex: 1; min-height: 60vh; display: flex; align-items: center; justify-content: center; padding: 32px 20px; background: radial-gradient(ellipse 80% 60% at 50% 20%, rgba(60, 100, 70, 0.12), transparent 55%), var(--qwb-bg, #0f1210); } .qwb-gate__card { width: min(520px, 100%); padding: 28px 26px 24px; border-radius: 12px; border: 1px solid var(--qwb-line, #2a3330); background: #121615; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35); } .qwb-gate--auth { background: radial-gradient(ellipse 70% 55% at 50% 15%, rgba(80, 120, 95, 0.14), transparent 50%), var(--qwb-bg, #0f1210); } .qwb-gate__card--auth { border-color: rgba(90, 140, 105, 0.35); box-shadow: 0 14px 44px rgba(0, 0, 0, 0.38); } /* Step strip + Option blocks (Step 1 always visible) */ .qwb-gate__steps { list-style: none; margin: 0 0 22px; padding: 0; display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px 16px; border-bottom: 1px solid var(--qwb-line, #2a3330); padding-bottom: 16px; } .qwb-gate__step { display: flex; align-items: center; gap: 10px; font-size: 12px; color: #8a9a90; letter-spacing: 0.02em; } .qwb-gate__step--current { color: #b8d4c0; font-weight: 600; } .qwb-gate__step--current .qwb-gate__step-n { background: linear-gradient(145deg, #3d6a4e, #2d5038); color: #e8f4ea; border-color: #5a9070; } .qwb-gate__step--done { color: #7a9a82; } .qwb-gate__step--done .qwb-gate__step-n { background: #1e2a22; color: #9cd4a8; border-color: #3a5a45; font-size: 13px; line-height: 1; } .qwb-gate__step--pending { opacity: 0.75; } .qwb-gate__step--pending .qwb-gate__step-n { background: #141a17; color: #6a7a70; border-color: #2a3330; } .qwb-gate__step-n { flex: 0 0 auto; width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; border: 1px solid #2a4034; font-size: 12px; font-weight: 700; font-family: var(--qwb-sans, system-ui, sans-serif); } .qwb-gate__step-t { line-height: 1.3; max-width: 14rem; } .qwb-gate__opt { border-radius: 10px; padding: 16px 2px 4px; } .qwb-gate__opt--primary { border: 1px solid rgba(90, 140, 105, 0.28); background: rgba(20, 32, 26, 0.45); padding: 16px 14px 18px; margin-bottom: 4px; } .qwb-gate__opt--secondary { padding: 8px 2px 4px; } .qwb-gate__opt--inline { padding: 12px 14px 14px; border-radius: 10px; border: 1px dashed rgba(90, 120, 100, 0.35); background: rgba(12, 18, 15, 0.35); } .qwb-gate__opt-l { margin: 0 0 8px; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: #7a9a82; font-weight: 650; } .qwb-gate__name-list { list-style: none; margin: 0 0 8px; padding: 0; max-height: min(58vh, 640px); overflow-y: auto; display: flex; flex-direction: column; gap: 12px; } .qwb-gate__field--search { margin-bottom: 12px; } .qwb-gate__search-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; } .qwb-gate__search-wrap .qwb-input { flex: 1 1 180px; min-width: 0; } .qwb-gate__search-clear { flex: 0 0 auto; margin: 0; width: auto; padding: 6px 12px; } .qwb-gate__name-rail { list-style: none; margin: 0; padding: 4px 0 0; border: none; background: transparent; pointer-events: none; } .qwb-gate__name-rail__t { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: #6a8a72; font-weight: 650; } .qwb-gate__name-badges { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 6px 8px; max-width: 100%; } .qwb-gate__name-card { border: 1px solid var(--qwb-line, #2a3330); border-radius: 10px; padding: 12px 14px 14px; background: rgba(0, 0, 0, 0.2); } .qwb-gate__name-card-head { display: flex; flex-wrap: nowrap; align-items: flex-start; justify-content: flex-start; gap: 12px 14px; margin-bottom: 6px; } .qwb-gate__name-card-titles { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: stretch; gap: 6px; } .qwb-gate__name-av { width: 44px; height: 44px; border-radius: 50%; overflow: hidden; flex-shrink: 0; border: 1px solid rgba(100, 160, 120, 0.4); background: rgba(20, 32, 26, 0.6); display: grid; place-items: center; } .qwb-gate__name-av img { width: 100%; height: 100%; object-fit: cover; display: block; } .qwb-gate__name-av-ph { width: 18px; height: 18px; border-radius: 4px; background: linear-gradient(135deg, #3a5a45 0%, #2a3830 100%); opacity: 0.9; } .qwb-gate__hello { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; margin: 0 0 16px; } /* First registered name in the A–Z list — keep large so Step 2 is unmistakable. */ .qwb-gate__hello-av { width: 88px; height: 88px; border-radius: 50%; overflow: hidden; flex-shrink: 0; border: 2px solid rgba(120, 180, 140, 0.5); background: rgba(20, 32, 26, 0.65); display: grid; place-items: center; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25); } .qwb-gate__hello-av img, .qwb-gate__hello-av__img { width: 100%; height: 100%; object-fit: cover; display: block; } .qwb-gate__hello-av__img { transition: opacity 0.2s ease; } .qwb-gate__hello-av--img-pending .qwb-gate__hello-av__img { opacity: 0.4; } .qwb-gate__hello-av--loading { background: linear-gradient( 100deg, rgba(32, 48, 40, 0.35) 0%, rgba(52, 78, 62, 0.65) 40%, rgba(32, 48, 40, 0.35) 80% ); background-size: 200% 100%; animation: qwb-gate-av-shimmer 1.1s ease-in-out infinite; border-style: solid; } @keyframes qwb-gate-av-shimmer { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } } .qwb-gate__hello-av--ph, .qwb-gate__hello-av-ph { width: 36px; height: 36px; border-radius: 10px; background: linear-gradient(145deg, #4a6a52 0%, #2a3330 100%); opacity: 0.85; } .qwb-gate__hello-av--ph { display: grid; place-items: center; border: 2px dashed rgba(120, 160, 120, 0.35); background: rgba(20, 28, 24, 0.5); } .qwb-gate__hello-text { flex: 1 1 200px; min-width: 0; } .qwb-gate__h--hello { margin: 0 0 4px; font-size: 1.4rem; } .qwb-gate__hello-sub { margin: 0; font-size: 14px; line-height: 1.4; color: #9aac9e; } .qwb-gate__name-title { margin: 0; font-size: 1.05rem; font-weight: 650; line-height: 1.2; font-family: var(--qwb-sans, system-ui, sans-serif); color: #e0ebe4; word-break: break-word; } .qwb-gate__name-badge { flex: 0 0 auto; font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em; color: #8ab896; border: 1px solid rgba(100, 160, 120, 0.45); border-radius: 6px; padding: 3px 8px; background: rgba(40, 80, 55, 0.25); } .qwb-gate__name-badge--new { color: #a8a898; border-color: #4a5550; background: rgba(20, 24, 22, 0.5); } .qwb-gate__name-badge--recent { color: #a8c4e0; border-color: rgba(100, 140, 180, 0.55); background: rgba(30, 50, 70, 0.35); } .qwb-gate__name-badge--primary { color: #c8e8d0; border-color: rgba(120, 200, 150, 0.55); background: rgba(30, 80, 50, 0.4); } .qwb-gate__name-badge--qwb { color: #b8e8c8; border-color: rgba(80, 180, 120, 0.55); background: rgba(25, 70, 45, 0.45); font-weight: 650; } .qwb-gate__name-badge--warn { color: #f0d8a8; border-color: rgba(220, 170, 80, 0.55); background: rgba(90, 60, 20, 0.45); font-weight: 650; } .qwb-gate__template-pending { margin: 0 0 12px; } .qwb-gate__name-meta { margin: 0 0 10px; font-size: 12px; line-height: 1.4; color: #7a8a80; } .qwb-gate__field--tight { margin-bottom: 10px; } .qwb-gate__eyebrow { margin: 0 0 10px; font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; color: #6a8a72; } .qwb-gate__h { margin: 0 0 12px; font-size: 1.35rem; font-weight: 650; line-height: 1.25; } .qwb-gate__p { margin: 0 0 18px; color: #c4d0c8; font-size: 14px; line-height: 1.55; } .qwb-gate__muted { margin: 0 0 12px; font-size: 13px; color: #7a8a80; } .qwb-gate__field { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; } .qwb-gate__l { font-size: 12px; color: #9aa8a0; } .qwb-gate__btn { margin-top: 6px; width: 100%; } .qwb-gate__err { margin: 0 0 12px; font-size: 13px; color: #e8a0a0; } .qwb-gate__warn { margin: 0 0 14px; font-size: 13px; color: #d4c090; line-height: 1.45; } .qwb-gate__fine { margin: 18px 0 0; font-size: 11px; line-height: 1.45; color: #5a6a62; } /* Q-Shop storefront block (DTC / biohacker-style) */ .qwb-qshop { padding: 28px 22px 24px; border-radius: 12px; background: linear-gradient(165deg, #1a1e1a 0%, #121614 100%); border: 1px solid #2a3330; color: #e8e6e0; } .qwb-qshop__eyebrow { margin: 0 0 8px; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: #7a9a82; font-weight: 600; } .qwb-qshop__h { margin: 0 0 14px; font-size: 1.65rem; font-weight: 650; line-height: 1.2; font-family: Georgia, 'Times New Roman', serif; color: #f2efe8; letter-spacing: -0.02em; } .qwb-qshop__intro { font-size: 15px; line-height: 1.65; color: #c8d2cc; margin: 0 0 20px; } .qwb-qshop__intro p { margin: 0 0 0.5em; } .qwb-qshop__spot { margin: 0 0 22px; padding: 18px 18px 20px; border-radius: 10px; background: linear-gradient(135deg, rgba(50, 90, 60, 0.18) 0%, rgba(20, 28, 24, 0.9) 100%); border: 1px solid rgba(80, 130, 100, 0.35); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04); } .qwb-qshop__spot-eyebrow { margin: 0 0 8px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #a8c8b0; font-weight: 700; } .qwb-qshop__spot-body { font-size: 15px; line-height: 1.6; color: #d8e4dd; margin: 0; } .qwb-qshop__feats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px 18px; margin: 0 0 24px; } @media (max-width: 900px) { .qwb-qshop__feats { grid-template-columns: 1fr; } } .qwb-qshop__feat { padding: 12px 2px 0; border-top: 2px solid rgba(100, 140, 110, 0.45); } .qwb-qshop__feat-h { margin: 0 0 8px; font-size: 1rem; font-weight: 650; color: #b8c8b8; font-family: var(--qwb-sans); } .qwb-qshop__feat-b { font-size: 13px; line-height: 1.5; color: #9ca8a0; margin: 0; } .qwb-qshop__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin: 0 0 16px; } .qwb-qshop__btn { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 10px 20px; border-radius: 999px; font-size: 14px; font-weight: 600; background: #2a4a36 !important; border: 1px solid #3d6a4e !important; color: #e8f4ea !important; text-decoration: none !important; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25); } .qwb-qshop__btn:hover { filter: brightness(1.05); } .qwb-qshop__btn--secondary { background: #2a2f38 !important; border-color: #4a5568 !important; color: #d0dce8 !important; } .qwb-qshop__note { font-size: 12px; line-height: 1.55; color: #6a7a6e; margin: 0; } .qwb-qshop__note p { margin: 0.35em 0 0; } .qwb-qshop__note code, .qwb-insp__tip code { font-size: 0.85em; } [data-site-theme='paper'] .qwb-qshop { background: linear-gradient(175deg, #fbf8f0 0%, #f2ebe0 50%, #efe6d8 100%); border-color: #d4c8b4; color: #2a2620; } [data-site-theme='paper'] .qwb-qshop__h { color: #1a1a12; } [data-site-theme='paper'] .qwb-qshop__intro { color: #3d3830; } [data-site-theme='paper'] .qwb-qshop__spot { background: linear-gradient(135deg, #e8f2e4 0%, #d8e8dc 100%); border-color: #a8c4a8; box-shadow: 0 4px 20px rgba(40, 80, 50, 0.08); } [data-site-theme='paper'] .qwb-qshop__spot-body { color: #2d3228; } [data-site-theme='paper'] .qwb-qshop__spot-eyebrow { color: #2d5a3a; } [data-site-theme='paper'] .qwb-qshop__feat-h { color: #2a2820; } [data-site-theme='paper'] .qwb-qshop__feat-b { color: #4a4a40; } [data-site-theme='paper'] .qwb-qshop__intro *:not(a):not(img):not(video) { color: #3d3830 !important; } [data-site-theme='paper'] .qwb-qshop__intro a, [data-site-theme='paper'] .qwb-qshop__intro a * { color: #0b57d0 !important; } [data-site-theme='paper'] .qwb-qshop__spot-body *:not(a):not(img):not(video) { color: #2d3228 !important; } [data-site-theme='paper'] .qwb-qshop__spot-body a, [data-site-theme='paper'] .qwb-qshop__spot-body a * { color: #0b57d0 !important; } [data-site-theme='paper'] .qwb-qshop__feat-b *:not(a):not(img):not(video) { color: #4a4a40 !important; } [data-site-theme='paper'] .qwb-qshop__feat-b a, [data-site-theme='paper'] .qwb-qshop__feat-b a * { color: #0b57d0 !important; } [data-site-theme='paper'] .qwb-qshop__note { color: #5a5a4a; } [data-site-theme='paper'] .qwb-qshop__btn { background: #1f4a32 !important; border-color: #2a6a44 !important; color: #f4faf6 !important; } [data-site-theme='paper'] .qwb-qshop__btn--secondary { background: #3a3d42 !important; border-color: #5a5e68 !important; color: #f0f4f8 !important; } /* Q-Shop product grid (single-store catalog) */ .qwb-qshop-store { margin: 0 0 24px; } .qwb-qshop-store__name { margin: 0 0 6px; font-size: 13px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: #8a9a8e; } .qwb-qshop-store__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 14px; } .qwb-qshop-store__h { margin: 0; font-size: 1.15rem; font-weight: 650; color: #d8e4dc; font-family: var(--qwb-sans); } .qwb-qshop-store__badge { font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 999px; background: rgba(80, 140, 100, 0.25); color: #b8d8c0; border: 1px solid rgba(100, 160, 120, 0.35); } .qwb-qshop__grid { display: grid; gap: 16px 18px; margin: 0; padding: 0; list-style: none; } .qwb-qshop__grid > .qwb-qshop-grid__span { grid-column: 1 / -1; } .qwb-qshop-pillar-group { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px 18px; align-items: start; } .qwb-qshop-pillar-group .qwb-qshop__feat { min-width: 0; } .qwb-qshop__grid--cols-1 { grid-template-columns: 1fr; } .qwb-qshop__grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .qwb-qshop__grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .qwb-qshop__grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } @media (max-width: 1000px) { .qwb-qshop__grid--cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 600px) { .qwb-qshop__grid--cols-2, .qwb-qshop__grid--cols-3, .qwb-qshop__grid--cols-4 { grid-template-columns: 1fr; } } .qwb-qshop-card { position: relative; display: flex; flex-direction: column; border-radius: 10px; border: 1px solid #2f3a32; background: rgba(14, 18, 16, 0.85); /* Allow product image to scale slightly past the top edge on hover */ overflow: visible; min-height: 100%; z-index: 0; transition: z-index 0.15s step-end; isolation: isolate; } .qwb-qshop-card:hover { z-index: 2; transition: z-index 0s; } .qwb-qshop-card--feat { border-color: rgba(90, 150, 110, 0.55); box-shadow: 0 0 0 1px rgba(80, 140, 100, 0.15); } /** * Badge ribbons sit ABOVE the body section (not on top of the image) so they never cover product * artwork. We place them at the top of `.qwb-qshop-card__body` via a sibling row that overlays the * gap between media and body. The accent stays visible while the image stays clean. */ .qwb-qshop-card__ribbon { position: absolute; top: 8px; left: 8px; z-index: 3; font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 3px 8px; border-radius: 4px; background: rgba(42, 74, 56, 0.92); color: #c8e8d0; pointer-events: none; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25); } /** When a card has BOTH ribbons stack them vertically at the top-left and stay narrow. */ .qwb-qshop-card__ribbon + .qwb-qshop-card__ribbon { top: 32px; } /** Hide ribbons on hover so the image art shows fully, then bring them back when the cursor leaves. */ .qwb-qshop-card:hover .qwb-qshop-card__ribbon { opacity: 0; transform: translateY(-4px); transition: opacity 0.18s ease, transform 0.18s ease; } .qwb-qshop-card__ribbon { transition: opacity 0.18s ease, transform 0.18s ease; } .qwb-qshop-card__media { position: relative; /** Default to 1:1 (square). Overridden per-shop via the `--qwb-qshop-cover-aspect` CSS variable * set on `.qwb-qshop` based on `productCoverAspect` ("1:1" | "4:3" | "3:4" | "16:9" | "4:5"). * `aspect-ratio` keeps every card in the catalog grid visually uniform regardless of the * underlying image dimensions. */ aspect-ratio: var(--qwb-qshop-cover-aspect, 1 / 1); /* Transparent so PNG / WebP alpha shows the card background (not a solid fill behind the image). */ background: transparent; border-radius: 9px 9px 0 0; overflow: visible; z-index: 0; } /* Sold-out card visuals — dim the cover and stamp a strong red ribbon on it. */ .qwb-qshop-card__ribbon--soldout { background: linear-gradient(180deg, rgba(180, 60, 60, 0.96), rgba(140, 30, 30, 0.96)) !important; color: #ffe4e0 !important; letter-spacing: 0.1em; } .qwb-qshop-card--sold-out .qwb-qshop-card__img, .qwb-qshop-card--sold-out .qwb-qshop-card__ph { filter: grayscale(0.9) brightness(0.6); opacity: 0.85; } .qwb-qshop-card__img { width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; background: transparent; border-radius: 9px 9px 0 0; transform: translateZ(0); transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), filter 0.4s ease; will-change: transform; } /** * Hover: scale only the visible silhouette using `drop-shadow` (alpha-aware) instead of * `box-shadow` (rectangle-aware). For PNG / WebP with transparent backgrounds the shadow now * follows the actual artwork outline rather than a rectangle of card-coloured pixels. */ .qwb-qshop-card:hover .qwb-qshop-card__img { transform: scale(1.07) translateY(-5px); filter: drop-shadow(0 8px 14px rgba(0, 0, 0, 0.45)) drop-shadow(0 2px 5px rgba(0, 0, 0, 0.25)); } .qwb-qshop-card--clickable .qwb-qshop-card__media { cursor: pointer; } .qwb-qshop-card__ph { display: grid; place-items: center; width: 100%; height: 100%; font-size: 2rem; opacity: 0.25; color: #6a7a6e; /* No-image placeholder only: keeps a clear slot when the product has no photo URL. */ background: #0a0e0c; border-radius: 9px 9px 0 0; transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1); } .qwb-qshop-card:hover .qwb-qshop-card__ph { transform: scale(1.04) translateY(-3px); } .qwb-qshop-card__body { position: relative; z-index: 1; padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; border-radius: 0 0 9px 9px; background: rgba(14, 18, 16, 0.96); } @media (prefers-reduced-motion: reduce) { .qwb-qshop-card__img, .qwb-qshop-card__ph { transition: none; } .qwb-qshop-card:hover .qwb-qshop-card__img, .qwb-qshop-card:hover .qwb-qshop-card__ph { transform: none; filter: none; box-shadow: none; } } .qwb-qshop-card__title { margin: 0; font-size: 1.02rem; font-weight: 650; color: #e8eee8; line-height: 1.25; } .qwb-qshop-card__sub { margin: 0; font-size: 12px; color: #8a9a90; line-height: 1.35; } .qwb-qshop-card__desc { font-size: 13px; line-height: 1.45; color: #c8d8d0; flex: 1; } .qwb-qshop-card__desc p { margin: 0 0 0.4em; } .qwb-qshop-card__meta { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px; margin-top: 4px; } .qwb-qshop-card__price { font-size: 1.05rem; font-weight: 700; color: #a8d4b0; font-variant-numeric: tabular-nums; } .qwb-qshop-card__prices { display: flex; flex-direction: column; gap: 2px; align-items: flex-start; min-width: 0; } .qwb-qshop-card__price-alt { font-size: 0.88rem; font-weight: 600; color: #c8dcc8; font-variant-numeric: tabular-nums; } [data-site-theme='paper'] .qwb-qshop-card__price-alt { color: #3a5040; } .qwb-qshop-card__sku { font-size: 11px; color: #5a6a5e; font-family: var(--qwb-mono); } .qwb-qshop-card__act { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 8px; } .qwb-qshop-card__btn { min-height: 40px; font-size: 13px; padding: 8px 14px; } .qwb-qshop-card__qty { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 600; color: #c0d0c8; } .qwb-qshop-card__qty-b { width: 28px; height: 28px; border-radius: 6px; border: 1px solid #3a4a40; background: #141a16; color: #d0e0d8; cursor: pointer; font-size: 16px; line-height: 1; } .qwb-qshop-card__qty-b:hover:enabled { background: #1a221e; } .qwb-qshop-card__qty-b:disabled { opacity: 0.4; cursor: default; } .qwb-qshop-cart { margin: 20px 0 0; padding: 16px 18px 18px; border-radius: 10px; border: 1px solid #2f4a3a; background: rgba(20, 32, 26, 0.65); } .qwb-qshop-cart__h { margin: 0 0 10px; font-size: 14px; font-weight: 650; text-transform: uppercase; letter-spacing: 0.08em; color: #9ab8a0; } .qwb-qshop-cart__lines { margin: 0 0 12px; padding: 0; list-style: none; } .qwb-qshop-cart__line { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; color: #c8d4cc; margin-bottom: 6px; } .qwb-qshop-cart__n { min-width: 0; flex: 1; } .qwb-qshop-cart__p { flex: 0 0 auto; font-weight: 600; color: #a8d0b0; font-variant-numeric: tabular-nums; } .qwb-qshop-cart__actions { display: flex; flex-wrap: wrap; gap: 8px 10px; margin-bottom: 10px; } .qwb-qshop-cart__hint { margin: 0; font-size: 11px; line-height: 1.5; color: #6a7a6e; } .qwb-qshop__empty { margin: 12px 0 20px; padding: 20px 16px; border-radius: 10px; border: 1px dashed #3a4a40; background: rgba(0, 0, 0, 0.15); text-align: center; } .qwb-qshop__empty-t { margin: 0 0 6px; font-size: 15px; font-weight: 600; color: #9aafa2; } .qwb-qshop__empty-p { margin: 0; font-size: 13px; line-height: 1.5; color: #6a7a6e; } [data-site-theme='paper'] .qwb-qshop-store__name { color: #5a6050; } [data-site-theme='paper'] .qwb-qshop-store__h { color: #1a2018; } [data-site-theme='paper'] .qwb-qshop-card { background: #f8f4eb; border-color: #c8c4b8; } [data-site-theme='paper'] .qwb-qshop-card__body { background: #f8f4eb; } [data-site-theme='paper'] .qwb-qshop-card:hover .qwb-qshop-card__img { filter: drop-shadow(0 9px 18px rgba(50, 45, 30, 0.18)) drop-shadow(0 3px 7px rgba(80, 70, 40, 0.12)); } [data-site-theme='paper'] .qwb-qshop-card__title { color: #1a1c14; } [data-site-theme='paper'] .qwb-qshop-card__desc, [data-site-theme='paper'] .qwb-qshop-card__sub { color: #4a4a40; } [data-site-theme='paper'] .qwb-qshop-card__ph { background: #ece6d8; color: #8a8080; } [data-site-theme='paper'] .qwb-qshop-cart { background: #f0ebe0; border-color: #a8b898; } [data-site-theme='paper'] .qwb-qshop__empty { border-color: #b8b0a0; background: rgba(0, 0, 0, 0.03); } /* Q-Shop full storefront (catalog, cart, checkout, merchant) */ .qwb-qshop-store--full { display: flex; flex-direction: column; gap: 14px; } .qwb-qshop-store__topbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 4px; } .qwb-qshop-store__topbar .qwb-qshop-store__nav-tabs { margin-bottom: 0; flex: 1; min-width: 0; } .qwb-qshop-store--qshops-link { position: relative; } .qwb-qshop-view-qshops { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; font: 600 13px var(--qwb-sans); padding: 7px 12px; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--qwb-accent, #7cb88c) 45%, rgba(255, 255, 255, 0.12)); background: color-mix(in srgb, var(--qwb-accent, #7cb88c) 12%, rgba(0, 0, 0, 0.25)); color: #e2ede6; cursor: pointer; } .qwb-qshop-view-qshops:hover { border-color: color-mix(in srgb, var(--qwb-accent, #7cb88c) 70%, transparent); background: color-mix(in srgb, var(--qwb-accent, #7cb88c) 22%, rgba(0, 0, 0, 0.28)); } .qwb-qshop-view-qshops__logo { width: 22px; height: 22px; flex-shrink: 0; object-fit: cover; border-radius: 50%; } .qwb-qshop-view-qshops__logo-fallback { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; font: 600 9px var(--qwb-sans); letter-spacing: -0.04em; background: color-mix(in srgb, var(--qwb-accent, #7cb88c) 35%, rgba(0, 0, 0, 0.2)); color: inherit; } .qwb-qshop-view-qshops--floated { position: absolute; top: 0; right: 0; z-index: 3; } .qwb-qshop-store--qshops-link .qwb-qshop-store__gate { padding-top: 42px; } .qwb-qshop-empty-outer.qwb-qshop-store--qshops-link .qwb-qshop__empty { margin-top: 40px; } [data-site-theme='paper'] .qwb-qshop-view-qshops { border-color: #b8ccb8; background: #e8f0e6; color: #1e2a22; } [data-site-theme='paper'] .qwb-qshop-view-qshops:hover { border-color: #7cb88c; background: #dde8da; } .qwb-qshop-store__nav-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 4px; } .qwb-qshop-tab { font: 600 13px var(--qwb-sans); padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.12); background: rgba(0, 0, 0, 0.2); color: #c8d4cc; cursor: pointer; } .qwb-qshop-tab:disabled { opacity: 0.45; cursor: not-allowed; } .qwb-qshop-tab--on { border-color: color-mix(in srgb, var(--qwb-accent, #7cb88c) 55%, transparent); background: color-mix(in srgb, var(--qwb-accent, #7cb88c) 18%, #0e1211); color: #e8f0ea; } [data-site-theme='paper'] .qwb-qshop-tab { border-color: #c8d0c0; background: #f4f6f0; color: #2a3320; } [data-site-theme='paper'] .qwb-qshop-tab--on { background: #e2ebe0; border-color: #7cb88c; } .qwb-qshop-catalog { display: flex; flex-direction: column; gap: 16px; width: 100%; min-width: 0; } .qwb-qshop-catalog--editor { gap: 10px; } /* * Visual editor: saved product HTML often includes light-theme inline colors (e.g. from paste). * Force readable body copy on dark Q-Shop cards and detail tabs; paper theme overrides below. */ .qwb-qshop-store--editor .qwb-qshop-card__desc.qwb-editable--html, .qwb-qshop-store--editor .qwb-qshop-card__desc.qwb-editable--html *:not(a):not(.qwb-editable__ph) { color: #dce8e2 !important; } .qwb-qshop-store--editor .qwb-qshop-card__desc.qwb-editable--html a[href], .qwb-qshop-store--editor .qwb-qshop-card__desc.qwb-editable--html a[href] * { color: #7ec8ff !important; } .qwb-qshop-store--editor .qwb-qshop-card__desc.qwb-editable--html .qwb-editable__ph { color: #8a9f92 !important; } .qwb-qshop-store--editor .qwb-qshop-tabbody--desc, .qwb-qshop-store--editor .qwb-qshop-tabbody--desc *:not(a) { color: #d8e4dc !important; } .qwb-qshop-store--editor .qwb-qshop-tabbody--desc a[href], .qwb-qshop-store--editor .qwb-qshop-tabbody--desc a[href] * { color: #7ec8ff !important; } [data-site-theme='paper'] .qwb-qshop-store--editor .qwb-qshop-card__desc.qwb-editable--html, [data-site-theme='paper'] .qwb-qshop-store--editor .qwb-qshop-card__desc.qwb-editable--html *:not(a):not(.qwb-editable__ph) { color: #3a3830 !important; } [data-site-theme='paper'] .qwb-qshop-store--editor .qwb-qshop-card__desc.qwb-editable--html a[href], [data-site-theme='paper'] .qwb-qshop-store--editor .qwb-qshop-card__desc.qwb-editable--html a[href] * { color: #0b57d0 !important; } [data-site-theme='paper'] .qwb-qshop-store--editor .qwb-qshop-card__desc.qwb-editable--html .qwb-editable__ph { color: #8a8080 !important; } [data-site-theme='paper'] .qwb-qshop-store--editor .qwb-qshop-tabbody--desc, [data-site-theme='paper'] .qwb-qshop-store--editor .qwb-qshop-tabbody--desc *:not(a) { color: #2a2820 !important; } [data-site-theme='paper'] .qwb-qshop-store--editor .qwb-qshop-tabbody--desc a[href], [data-site-theme='paper'] .qwb-qshop-store--editor .qwb-qshop-tabbody--desc a[href] * { color: #0b57d0 !important; } /* Slate: visitor-facing product HTML (inline colors from paste) — match editor readability. */ [data-site-theme='slate'] .qwb-qshop-card__desc--clip, [data-site-theme='slate'] .qwb-qshop-card__desc--clip *:not(a) { color: #dce8e2 !important; } [data-site-theme='slate'] .qwb-qshop-card__desc--clip a, [data-site-theme='slate'] .qwb-qshop-card__desc--clip a * { color: #7ec8ff !important; } [data-site-theme='slate'] .qwb-qshop-tabbody--desc, [data-site-theme='slate'] .qwb-qshop-tabbody--desc *:not(a) { color: #d8e4dc !important; } [data-site-theme='slate'] .qwb-qshop-tabbody--desc a, [data-site-theme='slate'] .qwb-qshop-tabbody--desc a * { color: #7ec8ff !important; } /* Paper: visitor-facing Q-Shop product HTML on light surfaces — override pasted light-theme inline colors. */ [data-site-theme='paper'] .qwb-qshop-card__desc--clip, [data-site-theme='paper'] .qwb-qshop-card__desc--clip *:not(a) { color: #3a3830 !important; } [data-site-theme='paper'] .qwb-qshop-card__desc--clip a, [data-site-theme='paper'] .qwb-qshop-card__desc--clip a * { color: #0b57d0 !important; } .qwb-qshop-filters { padding: 12px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.1); background: rgba(0, 0, 0, 0.18); } .qwb-qshop-filters--full { width: 100%; box-sizing: border-box; } .qwb-qshop-filters__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px 14px; align-items: end; } .qwb-qshop-filters__tagsrow { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 12px; margin-bottom: 0; } .qwb-qshop-filters__tags-l { flex: 0 0 auto; font-size: 12px; font-weight: 600; color: #9aafa4; } [data-site-theme='paper'] .qwb-qshop-filters__tags-l { color: #4a5040; } [data-site-theme='paper'] .qwb-qshop-filters { border-color: #c8d0c0; background: #f8faf6; } .qwb-qshop-filters__h { margin: 0 0 10px; font-size: 14px; } .qwb-qshop-filters__fld { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; font-size: 12px; color: #9aafa4; } [data-site-theme='paper'] .qwb-qshop-filters__fld { color: #4a5040; } .qwb-qshop-filters__fld.qwb-qshop-filters__tagsrow { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px 12px; } .qwb-qshop-filters__tags { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; align-content: flex-start; gap: 4px 10px; flex: 1 1 120px; min-width: 0; max-height: none; } .qwb-qshop-tag-chk { display: inline-flex; flex-direction: row; align-items: center; gap: 6px; font-size: 12px; white-space: nowrap; } /* Q-Shop filters: compact toolbar in visual editor (canvas) */ .qwb-qshop-filters--editor { padding: 6px 8px 7px; border-radius: 8px; } .qwb-qshop-filters--editor .qwb-qshop-filters__h { margin: 0 0 5px; font-size: 10px; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: #7a8f82; } .qwb-qshop-filters--editor .qwb-qshop-filters__grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.72fr) minmax(0, 0.72fr) minmax(0, 1fr); gap: 4px 8px; align-items: center; } @media (max-width: 720px) { .qwb-qshop-filters--editor .qwb-qshop-filters__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 400px) { .qwb-qshop-filters--editor .qwb-qshop-filters__grid { grid-template-columns: 1fr; } } .qwb-qshop-filters--editor .qwb-qshop-filters__grid .qwb-qshop-filters__fld { flex-direction: row; align-items: center; flex-wrap: nowrap; gap: 5px; margin-bottom: 0; font-size: 10px; } .qwb-qshop-filters--editor .qwb-qshop-filters__grid .qwb-qshop-filters__fld > span { flex: 0 0 auto; white-space: nowrap; max-width: 42%; overflow: hidden; text-overflow: ellipsis; } .qwb-qshop-filters--editor .qwb-qshop-filters__grid .qwb-qshop-filters__fld .qwb-input { flex: 1 1 0; min-width: 0; min-height: 28px; padding: 3px 6px; font-size: 11px; } .qwb-qshop-filters--editor .qwb-qshop-filters__tagsrow { display: flex; flex-direction: row; flex-wrap: wrap; align-items: flex-start; gap: 4px 8px; margin-top: 5px; margin-bottom: 0; } .qwb-qshop-filters--editor .qwb-qshop-filters__tags-l { flex: 0 0 auto; padding-top: 3px; font-size: 10px; font-weight: 650; letter-spacing: 0.05em; text-transform: uppercase; color: #8a9f92; } .qwb-qshop-filters--editor .qwb-qshop-filters__tags { flex: 1 1 140px; flex-direction: row; flex-wrap: wrap; align-items: center; align-content: flex-start; gap: 1px 8px; max-height: 48px; overflow: auto; } .qwb-qshop-filters--editor .qwb-qshop-tag-chk { font-size: 10px; gap: 3px; line-height: 1.15; } [data-site-theme='paper'] .qwb-qshop-filters--editor .qwb-qshop-filters__h, [data-site-theme='paper'] .qwb-qshop-filters--editor .qwb-qshop-filters__tags-l { color: #5a6658; } .qwb-insp__qvarow { display: flex; flex-direction: column; gap: 8px; padding: 10px; margin-bottom: 10px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.08); background: rgba(0, 0, 0, 0.12); } .qwb-insp__qvarow-act { display: flex; flex-wrap: wrap; gap: 6px; } [data-site-theme='paper'] .qwb-insp__qvarow { border-color: #d0d4cc; background: #f4f6f0; } .qwb-qshop-sortbar { display: flex; align-items: center; gap: 8px; margin-left: auto; } .qwb-qshop-sortbar__l { font-size: 12px; color: #9aafa4; } .qwb-qshop-sortbar__sel { max-width: 160px; } .qwb-qshop-card__stock { font-size: 11px; color: #8ab89a; } [data-site-theme='paper'] .qwb-qshop-card__stock { color: #3d5a45; } .qwb-qshop-card__ribbon--bs { top: 32px; left: 8px; background: linear-gradient(135deg, #6a9bd8, #4a7ab8); color: #fff; } .qwb-qshop-card__ribbon--auc { top: 56px; left: 8px; background: linear-gradient(135deg, #c45c26, #a04018); color: #fff; } /** * Centered, prominent green CTA used for the order-confirm "Pay" actions. Same visual as the * accent button but bigger, full-width-ish, and centered in the parent confirm pane. */ .qwb-qshop-confirm-pay__cta { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 10px; margin: 14px auto 4px; } .qwb-qshop-pay-btn { background: linear-gradient(135deg, #2db867 0%, #1f8f3f 100%); color: #ffffff; border: 1px solid rgba(255, 255, 255, 0.18); font-weight: 700; font-size: 1rem; padding: 12px 24px; border-radius: 10px; letter-spacing: 0.02em; box-shadow: 0 6px 18px rgba(31, 143, 63, 0.35), 0 1px 2px rgba(0, 0, 0, 0.15); cursor: pointer; transition: transform 0.12s ease, filter 0.12s ease, box-shadow 0.18s ease; } .qwb-qshop-pay-btn:hover { transform: translateY(-1px); filter: brightness(1.06); box-shadow: 0 9px 22px rgba(31, 143, 63, 0.42), 0 2px 4px rgba(0, 0, 0, 0.2); } .qwb-qshop-pay-btn:active { transform: translateY(0); filter: brightness(0.97); } .qwb-qshop-pay-btn:disabled { opacity: 0.55; cursor: not-allowed; filter: grayscale(0.2); } .qwb-qshop-card__titlebtn { display: block; width: 100%; text-align: left; background: none; border: none; padding: 0; margin: 0; font: inherit; font-weight: 600; color: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; } .qwb-qshop-card__viewlink { font-size: 12px; margin: 4px 0; background: none; border: none; color: #8ec4a8; cursor: pointer; text-decoration: underline; padding: 0; } [data-site-theme='paper'] .qwb-qshop-card__viewlink { color: #2d6a4f; } .qwb-qshop-card__desc--clip { max-height: 4.5em; overflow: hidden; } .qwb-qshop-cartview { padding: 8px 0; } .qwb-qshop-cartview__h { margin-top: 0; } .qwb-qshop-cartview__empty { color: #9aafa4; } .qwb-qshop-cartview__lines { list-style: none; padding: 0; margin: 0 0 16px; display: flex; flex-direction: column; gap: 10px; } .qwb-qshop-cartline { display: grid; grid-template-columns: 56px 1fr auto auto; gap: 10px; align-items: center; padding: 10px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.08); background: rgba(0, 0, 0, 0.12); } [data-site-theme='paper'] .qwb-qshop-cartline { border-color: #d0d8cc; background: #f4f7f2; } .qwb-qshop-cartline__img { width: 56px; height: 56px; object-fit: cover; border-radius: 8px; } .qwb-qshop-cartline__ph { width: 56px; height: 56px; border-radius: 8px; display: grid; place-items: center; background: rgba(255, 255, 255, 0.06); } .qwb-qshop-cartline__n { font-weight: 600; display: block; } .qwb-qshop-cartline__v { font-size: 12px; color: #9aafa4; display: block; } .qwb-qshop-cartline__p { font-size: 13px; } .qwb-qshop-cartline__qty { display: flex; align-items: center; gap: 6px; } .qwb-qshop-cartline__rm { grid-column: 4; } .qwb-qshop-coupon { max-width: min(100%, 320px); } .qwb-qshop-coupon__row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 6px; } .qwb-qshop-coupon__row .qwb-input { flex: 1 1 auto; min-width: 0; width: 8rem; max-width: 200px; } .qwb-qshop-coupon__row .qwb-btn { flex: 0 0 auto; } .qwb-qshop-coupon__l { font-size: 12px; } .qwb-qshop-coupon__ok { color: #8ec4a8; font-size: 13px; } .qwb-qshop-summary { margin: 16px 0; padding: 12px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.1); max-width: 360px; } .qwb-qshop-summary__row { display: flex; justify-content: space-between; font-size: 14px; margin-bottom: 6px; } .qwb-qshop-summary__row--total { font-weight: 700; margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(255, 255, 255, 0.1); } .qwb-qshop-checkout-btn { margin-right: 10px; } .qwb-qshop-modal-back { position: fixed; inset: 0; z-index: 12000; background: rgba(0, 0, 0, 0.55); display: grid; place-items: center; padding: 16px; } /* Payment feedback (above other Q-Shop modals) */ .qwb-qshop-pay-result-back { z-index: 12100; } .qwb-qshop-pay-result .qwb-qshop-modal__h { margin-top: 0; } .qwb-qshop-pay-result__body { margin-top: 8px; } .qwb-qshop-pay-result__lead { margin: 0 0 14px; line-height: 1.45; color: rgba(228, 235, 230, 0.92); } [data-site-theme='paper'] .qwb-qshop-pay-result__lead { color: rgba(26, 28, 20, 0.88); } .qwb-qshop-pay-result__hint { margin: 12px 0 0; font-size: 12px; opacity: 0.85; } .qwb-qshop-pay-result__status { display: flex; align-items: center; gap: 10px; font-weight: 600; margin: 8px 0; } .qwb-qshop-pay-result__spinner { width: 22px; height: 22px; border-radius: 50%; border: 2px solid rgba(120, 200, 160, 0.35); border-top-color: #6cf0a8; animation: qwb-spin 0.75s linear infinite; flex-shrink: 0; } [data-site-theme='paper'] .qwb-qshop-pay-result__spinner { border-color: rgba(60, 120, 80, 0.35); border-top-color: #208050; } @keyframes qwb-spin { to { transform: rotate(360deg); } } .qwb-qshop-pay-result__pending { margin-top: 6px; } .qwb-qshop-pay-result__pending p { margin: 10px 0 0; line-height: 1.45; font-size: 13px; opacity: 0.92; } .qwb-qshop-pay-result__err { margin: 12px 0 0; padding: 10px 12px; border-radius: 8px; background: rgba(180, 40, 40, 0.2); border: 1px solid rgba(255, 100, 100, 0.35); color: #ffb0b0; line-height: 1.4; } [data-site-theme='paper'] .qwb-qshop-pay-result__err { background: rgba(200, 60, 60, 0.1); border-color: rgba(180, 60, 60, 0.35); color: #7a2020; } .qwb-qshop-tx-ref { margin-top: 4px; } .qwb-qshop-tx-ref__label { font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; opacity: 0.75; margin-bottom: 6px; } .qwb-qshop-tx-ref__frame { padding: 12px 14px; border-radius: 10px; background: rgba(0, 0, 0, 0.35); border: 1px solid rgba(120, 220, 170, 0.35); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06); word-break: break-all; } [data-site-theme='paper'] .qwb-qshop-tx-ref__frame { background: #f0f4f1; border-color: rgba(60, 120, 80, 0.35); } .qwb-qshop-tx-ref__code { font-family: ui-monospace, 'Cascadia Code', 'Segoe UI Mono', monospace; font-size: 12px; line-height: 1.5; color: #b8f5d0; } [data-site-theme='paper'] .qwb-qshop-tx-ref__code { color: #143d22; } .qwb-qshop-tx-ref__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; } .qwb-qshop-tx-ref__copy.qwb-qshop-tx-ref__copy--copied { background: #198038 !important; border-color: #146a2e !important; color: #fff !important; } [data-site-theme='paper'] .qwb-qshop-tx-ref__copy.qwb-qshop-tx-ref__copy--copied { background: #0d7a32 !important; border-color: #0a5c26 !important; color: #fff !important; } .qwb-qshop-pay-result__foot { margin-top: 18px; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, 0.08); } [data-site-theme='paper'] .qwb-qshop-pay-result__foot { border-top-color: rgba(0, 0, 0, 0.08); } .qwb-qshop-pay-result__qmail { margin-top: 16px; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, 0.08); } [data-site-theme='paper'] .qwb-qshop-pay-result__qmail { border-top-color: rgba(0, 0, 0, 0.08); } .qwb-qshop-pay-result__spinner--inline { display: inline-block; vertical-align: middle; margin-right: 8px; width: 18px; height: 18px; } .qwb-qshop-pay-result__qmail-ok { margin: 0; font-size: 13px; line-height: 1.45; color: #9ee0b8; } [data-site-theme='paper'] .qwb-qshop-pay-result__qmail-ok { color: #145a30; } .qwb-qshop-pay-result__qmail-warn { margin: 0; font-size: 13px; line-height: 1.45; color: #f0c090; } [data-site-theme='paper'] .qwb-qshop-pay-result__qmail-warn { color: #8a4500; } .qwb-qshop-modal { position: relative; width: min(520px, 100%); max-height: 90vh; overflow: auto; border-radius: 14px; padding: 20px; background: #121816; border: 1px solid rgba(255, 255, 255, 0.12); color: #e4ebe6; } .qwb-qshop-modal--wide { width: min(720px, 100%); } .qwb-qshop-modal--detail { width: min(900px, 100%); } [data-site-theme='paper'] .qwb-qshop-modal { background: #fafbf8; color: #1a1c14; border-color: #c8d0c0; } .qwb-qshop-modal__x { position: absolute; top: 10px; right: 12px; border: none; background: none; font-size: 24px; line-height: 1; cursor: pointer; color: inherit; opacity: 0.7; } .qwb-qshop-modal__h { margin: 0 0 14px; padding-right: 28px; } .qwb-qshop-step__tip { font-size: 13px; color: #9aafa4; margin: 0 0 12px; } .qwb-qshop-step__fld { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; } .qwb-qshop-step__fld--row { flex-direction: row; align-items: center; gap: 8px; } .qwb-qshop-step__mono { font-family: ui-monospace, monospace; font-size: 12px; word-break: break-all; } .qwb-qshop-step__warn { color: #e0b060; font-size: 13px; } .qwb-qshop-step__nav { display: flex; gap: 10px; margin-top: 12px; } .qwb-qshop-step--combined { max-height: min(85vh, 720px); overflow-y: auto; padding-right: 6px; } .qwb-qshop-checkout__sec { margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid rgba(255, 255, 255, 0.08); } .qwb-qshop-checkout__sec:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; } .qwb-qshop-checkout__sec-h { margin: 0 0 10px; font-size: 12px; font-weight: 650; text-transform: uppercase; letter-spacing: 0.07em; color: #8a9f92; } .qwb-qshop-checkout__place { margin-top: 12px; width: 100%; } .qwb-qshop-shipbox { margin-top: 4px; } .qwb-qshop-addr-fields { display: flex; flex-direction: column; gap: 10px; margin-top: 8px; } .qwb-qshop-addr-fields__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; } @media (max-width: 520px) { .qwb-qshop-addr-fields__row { grid-template-columns: 1fr; } } [data-site-theme='paper'] .qwb-qshop-checkout__sec { border-bottom-color: #d8d4cc; } [data-site-theme='paper'] .qwb-qshop-checkout__sec-h { color: #4a5850; } .qwb-qshop-review { margin: 0 0 12px; padding-left: 18px; } .qwb-qshop-mapbox { margin: 12px 0; } .qwb-qshop-map { width: 100%; height: 220px; border: 0; border-radius: 10px; } .qwb-qshop-dms { font-size: 14px; } .qwb-qshop-contact { margin-top: 12px; } .qwb-qshop-detail { display: grid; grid-template-columns: 1fr 1fr; grid-template-areas: 'gal info' 'panel panel'; gap: 18px; align-items: start; } @media (max-width: 720px) { .qwb-qshop-detail { grid-template-columns: 1fr; grid-template-areas: 'gal' 'info' 'panel'; } } .qwb-qshop-detail__gal-col { grid-area: gal; display: flex; flex-direction: column; gap: 10px; min-width: 0; } .qwb-qshop-detail__top { display: contents; } .qwb-qshop-detail__info { grid-area: info; min-width: 0; } .qwb-qshop-detail__panel { grid-area: panel; min-width: 0; padding-top: 4px; border-top: 1px solid rgba(255, 255, 255, 0.08); } [data-site-theme='paper'] .qwb-qshop-detail__panel { border-top-color: rgba(0, 0, 0, 0.08); } .qwb-qshop-detail__gal-wrap { position: relative; display: flex; align-items: center; gap: 4px; touch-action: pan-y; } .qwb-qshop-detail__gal-main { flex: 1; min-width: 0; border-radius: 10px; overflow: hidden; background: rgba(0, 0, 0, 0.2); cursor: zoom-in; } .qwb-qshop-detail__gal-nav { flex: 0 0 auto; width: 36px; height: 44px; padding: 0; border: none; border-radius: 8px; background: rgba(255, 255, 255, 0.08); color: #c8e0d0; font-size: 20px; line-height: 1; cursor: pointer; display: grid; place-items: center; } .qwb-qshop-detail__gal-nav:hover { background: rgba(255, 255, 255, 0.14); } .qwb-qshop-detail__gal-nav:disabled { opacity: 0.25; cursor: default; } [data-site-theme='paper'] .qwb-qshop-detail__gal-nav { background: rgba(0, 0, 0, 0.06); color: #2a2820; } .qwb-qshop-detail__thumbstrip { display: flex; flex-direction: row; gap: 8px; padding: 4px 2px 8px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: thin; } .qwb-qshop-detail__thumbstrip::-webkit-scrollbar { height: 6px; } .qwb-qshop-detail__thumbstrip::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.2); border-radius: 3px; } .qwb-qshop-detail__thumb { flex: 0 0 auto; width: 56px; height: 56px; padding: 0; border: 2px solid transparent; border-radius: 8px; overflow: hidden; cursor: pointer; scroll-snap-align: center; background: rgba(255, 255, 255, 0.06); } .qwb-qshop-detail__thumb--on { border-color: var(--qwb-accent, #7cb88c); } .qwb-qshop-detail__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; } .qwb-qshop-detail__tabs-below-gal { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; } .qwb-qshop-detail__desc-full img { cursor: zoom-in; max-width: 100%; height: auto; } .qwb-qshop-reviews__body { margin: 6px 0 0; font-size: 14px; line-height: 1.5; } .qwb-qshop-reviews__body img { cursor: zoom-in; max-width: 100%; height: auto; } .qwb-qshop-lightbox { position: fixed; inset: 0; z-index: 100002; display: flex; flex-direction: column; align-items: center; justify-content: center; background: rgba(4, 8, 6, 0.94); padding: 16px; box-sizing: border-box; } .qwb-qshop-lightbox__x { position: absolute; top: 12px; right: 12px; z-index: 2; width: 44px; height: 44px; border: none; border-radius: 10px; background: rgba(255, 255, 255, 0.12); color: #fff; font-size: 28px; line-height: 1; cursor: pointer; } .qwb-qshop-lightbox__x:hover { background: rgba(255, 255, 255, 0.2); } .qwb-qshop-lightbox__toolbar { position: absolute; top: 12px; left: 12px; z-index: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; } .qwb-qshop-lightbox__tool { min-width: 40px; min-height: 36px; padding: 0 10px; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 8px; background: rgba(0, 0, 0, 0.35); color: #e8f0ec; font-size: 16px; font-weight: 600; cursor: pointer; } .qwb-qshop-lightbox__tool--reset { font-size: 13px; font-weight: 500; } .qwb-qshop-lightbox__zoom-readout { font-size: 13px; color: #b8c8c0; min-width: 3.5rem; text-align: center; } .qwb-qshop-lightbox__stage { flex: 1; width: 100%; max-width: min(96vw, 1400px); max-height: calc(100vh - 100px); overflow: hidden; display: flex; align-items: center; justify-content: center; touch-action: none; } .qwb-qshop-lightbox__stage--pan { cursor: grab; } .qwb-qshop-lightbox__stage--pan:active { cursor: grabbing; } .qwb-qshop-lightbox__img { max-width: 100%; max-height: calc(100vh - 120px); width: auto; height: auto; object-fit: contain; transform-origin: center center; user-select: none; -webkit-user-drag: none; } .qwb-qshop-lightbox__hint { margin: 0; font-size: 12px; color: #7a8a82; text-align: center; } [data-site-theme='paper'] .qwb-qshop-lightbox { background: rgba(250, 248, 242, 0.97); } [data-site-theme='paper'] .qwb-qshop-lightbox__x { background: rgba(0, 0, 0, 0.08); color: #1a1814; } [data-site-theme='paper'] .qwb-qshop-lightbox__tool { background: #fff; border-color: #c4b8a0; color: #2a2820; } [data-site-theme='paper'] .qwb-qshop-lightbox__zoom-readout { color: #4a4538; } [data-site-theme='paper'] .qwb-qshop-lightbox__hint { color: #6a6050; } .qwb-qshop-detail__desc-full { width: 100%; min-width: 0; margin: 0; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, 0.1); color: #d8e4dc; } .qwb-qshop-detail__desc-full video { max-width: 100%; height: auto; border-radius: 10px; background: rgba(0, 0, 0, 0.25); } .qwb-qshop-detail__desc-full p:has(img, video), .qwb-qshop-tabbody--desc p:has(img, video) { display: flow-root; } .qwb-qshop-detail__desc-hint { margin: 0 0 10px; font-size: 12px; line-height: 1.45; color: #8a9a92; } [data-site-theme='paper'] .qwb-qshop-detail__desc-hint { color: #5a5048; } .qwb-qshop-detail__desc-full--edit { border-top-color: rgba(127, 184, 140, 0.35); } [data-site-theme='paper'] .qwb-qshop-detail__desc-full--edit { border-top-color: rgba(26, 90, 56, 0.25); } /* * Q-Shop product detail modal (visual editor): same issue as `.qwb-insp .qwb-rte` — pasted HTML often * carries light-theme inline colors; on slate they disappear on the dark RTE chrome. */ [data-site-theme='slate'] .qwb-qshop-modal--detail .qwb-rte__area, [data-site-theme='slate'] .qwb-qshop-modal--detail .qwb-rte__area *:not(a):not(img):not(video) { color: #e8f0eb !important; } [data-site-theme='slate'] .qwb-qshop-modal--detail .qwb-rte__area a, [data-site-theme='slate'] .qwb-qshop-modal--detail .qwb-rte__area a * { color: #6eb4ff !important; } [data-site-theme='slate'] .qwb-qshop-modal--detail .qwb-rte__area a:hover, [data-site-theme='slate'] .qwb-qshop-modal--detail .qwb-rte__area a:hover * { color: #8ec8ff !important; } [data-site-theme='slate'] .qwb-qshop-modal--detail .qwb-rte__area:empty::before { color: #7a8a82 !important; } .qwb-qshop-prose-editor { display: flex; flex-direction: column; gap: 8px; min-width: 0; } .qwb-qshop-prose-editor__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; } .qwb-qshop-prose-editor__file { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; } .qwb-qshop-prose-editor__rte.qwb-rte { min-height: 140px; } [data-site-theme='paper'] .qwb-qshop-detail__desc-full { border-top-color: rgba(0, 0, 0, 0.1); color: #2a2820; } .qwb-qshop-detail__more { min-width: 0; } .qwb-qshop-detail__fld--qty .qwb-qshop-detail__qty-stepper { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; } .qwb-qshop-detail__qty-in { width: 3rem; min-width: 2.75rem; max-width: 4rem; padding: 6px 4px; text-align: center; font-variant-numeric: tabular-nums; -moz-appearance: textfield; appearance: textfield; } .qwb-qshop-detail__qty-in::-webkit-outer-spin-button, .qwb-qshop-detail__qty-in::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } .qwb-qshop-detail__gal { min-width: 0; } .qwb-qshop-detail__img { display: block; width: 100%; /** Show the full picture in the detail gallery — never crop. The 320px cap was too short for * portrait shots, which appeared "cut off" along the bottom. We let the image grow with the * viewport (capped at ~70vh so it still fits the modal alongside the buy panel). */ max-height: min(70vh, 560px); height: auto; object-fit: contain; margin: 0 auto; } .qwb-qshop-detail__ph { height: 220px; border-radius: 10px; display: grid; place-items: center; background: rgba(255, 255, 255, 0.06); font-size: 40px; } .qwb-qshop-detail__dots { display: flex; gap: 6px; margin-top: 8px; } .qwb-qshop-dot { width: 10px; height: 10px; border-radius: 50%; border: none; background: #444; cursor: pointer; } [data-site-theme='paper'] .qwb-qshop-detail__auc-cartnote { color: #3d5248; } .qwb-qshop-auc { margin: 0 0 14px; padding: 14px 16px 16px; border-radius: 10px; border: 1px solid rgba(120, 170, 130, 0.35); background: linear-gradient(165deg, rgba(30, 42, 36, 0.95) 0%, rgba(16, 22, 20, 0.98) 100%); } [data-site-theme='paper'] .qwb-qshop-auc { border-color: #c8d4cc; background: linear-gradient(180deg, #fafcf9 0%, #eef4ef 100%); } .qwb-qshop-auc__head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 10px; } .qwb-qshop-auc__badge { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; background: rgba(200, 120, 60, 0.25); color: #f0c8a8; border: 1px solid rgba(220, 140, 80, 0.4); } [data-site-theme='paper'] .qwb-qshop-auc__badge { background: #fff4e8; color: #8a4020; border-color: #e8c8a8; } .qwb-qshop-auc__cur { font-size: 12px; color: #9ab8a8; } [data-site-theme='paper'] .qwb-qshop-auc__cur { color: #5a6860; } .qwb-qshop-auc__sealed-note, .qwb-qshop-auc__hint, .qwb-qshop-auc__warn { font-size: 12px; line-height: 1.45; margin: 0 0 10px; color: #a8c4b4; } [data-site-theme='paper'] .qwb-qshop-auc__sealed-note, [data-site-theme='paper'] .qwb-qshop-auc__hint, [data-site-theme='paper'] .qwb-qshop-auc__warn { color: #4a5a52; } .qwb-qshop-auc__warn { color: #f0b890 !important; } .qwb-qshop-auc__loading { display: flex; align-items: center; gap: 10px; font-size: 13px; line-height: 1.4; margin: 0 0 12px; color: #a8c4b4; } [data-site-theme='paper'] .qwb-qshop-auc__loading { color: #4a5a52; } .qwb-qshop-auc__spinner { width: 18px; height: 18px; box-sizing: border-box; border: 2px solid rgba(168, 196, 180, 0.35); border-top-color: #7fd9b8; border-radius: 50%; flex-shrink: 0; animation: qwb-qshop-auc-spin 0.75s linear infinite; } @keyframes qwb-qshop-auc-spin { to { transform: rotate(360deg); } } .qwb-qshop-auc__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 10px; } .qwb-qshop-auc__stats > div { display: flex; flex-direction: column; gap: 2px; } .qwb-qshop-auc__lab { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; color: #7a9a8a; } [data-site-theme='paper'] .qwb-qshop-auc__lab { color: #6a7a70; } .qwb-qshop-auc__stats strong { font-size: 15px; font-weight: 650; } .qwb-qshop-auc__lead { margin: 0 0 8px; font-size: 13px; } .qwb-qshop-auc__lead--bn { color: #7adb9a; font-weight: 600; } .qwb-qshop-auc__form { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin-top: 8px; } .qwb-qshop-auc__buynow { flex: 1 1 100%; width: 100%; margin-top: 4px; padding-top: 10px; border-top: 1px solid rgba(120, 160, 140, 0.22); } [data-site-theme='paper'] .qwb-qshop-auc__buynow { border-top-color: rgba(0, 0, 0, 0.08); } .qwb-qshop-auc__buynow-btn { width: 100%; } .qwb-qshop-auc__bid { flex: 1 1 160px; display: flex; flex-direction: column; gap: 4px; } .qwb-qshop-auc__bid span { font-size: 12px; color: #a0b8a8; } [data-site-theme='paper'] .qwb-qshop-auc__bid span { color: #4a584e; } .qwb-qshop-auc__dutch p { margin: 0 0 8px; font-size: 14px; } .qwb-qshop-auc__pay { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(120, 160, 140, 0.25); } .qwb-qshop-auc__hist { margin-top: 12px; font-size: 13px; } .qwb-qshop-auc__hist ul { list-style: none; margin: 8px 0 0; padding: 0; max-height: 220px; overflow: auto; } .qwb-qshop-auc__hist li { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; padding: 6px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.06); font-size: 12px; } [data-site-theme='paper'] .qwb-qshop-auc__hist li { border-bottom-color: rgba(0, 0, 0, 0.08); } .qwb-qshop-auc__bid-ts { font-size: 11px; opacity: 0.75; text-align: right; } .qwb-qshop-detail__buy { display: flex; flex-direction: column; align-items: stretch; gap: 10px; margin: 12px 0; } .qwb-qshop-detail__buy-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; } .qwb-qshop-detail__buy-row > .qwb-btn--accent { flex: 1 1 160px; } .qwb-qshop-detail__auc-cartnote { margin: 0; font-size: 13px; line-height: 1.45; color: #b8d4c4; } [data-site-theme='paper'] .qwb-qshop-detail__auc-cartnote { color: #3d5248; } .qwb-btn--qshop-checkout { flex: 1 1 120px; border: 1px solid #1e6b3d; background: linear-gradient(180deg, #34a866 0%, #2a8a52 100%); color: #f4fff8; font-weight: 600; } .qwb-btn--qshop-checkout:hover:enabled { filter: brightness(1.06); } .qwb-btn--qshop-checkout:disabled { opacity: 0.45; cursor: not-allowed; } [data-site-theme='paper'] .qwb-btn--qshop-checkout { border-color: #1a6b38; background: linear-gradient(180deg, #2f9e58 0%, #268a4a 100%); color: #fff; } .qwb-qshop-detail__stock { margin: 0; font-size: 12px; color: #8ab89a; } [data-site-theme='paper'] .qwb-qshop-detail__stock { color: #3d5a45; } .qwb-qshop-detail__varthumbs { display: flex; flex-wrap: wrap; gap: 8px; } .qwb-qshop-varthumb { width: 52px; height: 52px; padding: 0; border: 2px solid transparent; border-radius: 8px; overflow: hidden; cursor: pointer; background: rgba(255, 255, 255, 0.06); } .qwb-qshop-varthumb--on { border-color: var(--qwb-accent, #7cb88c); } .qwb-qshop-varthumb img { width: 100%; height: 100%; object-fit: cover; display: block; } .qwb-qshop-varthumb__ph { display: grid; place-items: center; width: 100%; height: 100%; font-size: 18px; } .qwb-qshop-ingredients__rich { margin-bottom: 14px; } .qwb-qshop-ingredients__pick { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; } .qwb-qshop-ingredients__pick-l { font-size: 12px; color: #9aafa4; } [data-site-theme='paper'] .qwb-qshop-ingredients__pick-l { color: #4a5040; } .qwb-qshop-ingredients__view { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; } .qwb-qshop-ingredients__img { max-width: 100%; max-height: 220px; object-fit: contain; border-radius: 10px; background: rgba(0, 0, 0, 0.15); } .qwb-qshop-ingredients__ph { min-height: 120px; width: 100%; max-width: 280px; border-radius: 10px; display: grid; place-items: center; background: rgba(255, 255, 255, 0.06); color: #9aafa4; } .qwb-qshop-ingredients__name { margin: 0; font-weight: 600; } .qwb-qshop-detail__fld { display: flex; flex-direction: column; gap: 4px; font-size: 12px; } .qwb-qshop-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 8px; } .qwb-qshop-tab-sm { font-size: 12px; padding: 6px 10px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.12); background: rgba(0, 0, 0, 0.15); color: inherit; cursor: pointer; } .qwb-qshop-tab-sm--on { border-color: var(--qwb-accent, #7cb88c); background: color-mix(in srgb, var(--qwb-accent, #7cb88c) 15%, transparent); } [data-site-theme='paper'] .qwb-qshop-tab-sm { border-color: #c8d0c0; background: #fff; } .qwb-qshop-tabbody { font-size: 14px; line-height: 1.5; } .qwb-qshop-tabbody--desc { color: #d8e4dc; } .qwb-qshop-tabbody--desc p { color: inherit; } .qwb-qshop-tabbody--desc a { color: #9ed4b0; } [data-site-theme='paper'] .qwb-qshop-tabbody--desc, [data-site-theme='paper'] .qwb-qshop-tabbody--desc *:not(a) { color: #2a2820 !important; } [data-site-theme='paper'] .qwb-qshop-tabbody--desc a, [data-site-theme='paper'] .qwb-qshop-tabbody--desc a * { color: #1a6a3a !important; } /* Shipping / fallback tab bodies use .qwb-qshop-tabbody without --desc */ [data-site-theme='slate'] .qwb-qshop-store .qwb-qshop-tabbody:not(.qwb-qshop-tabbody--desc), [data-site-theme='slate'] .qwb-qshop-store .qwb-qshop-tabbody:not(.qwb-qshop-tabbody--desc) *:not(a):not(img):not(video) { color: #d8e4dc !important; } [data-site-theme='slate'] .qwb-qshop-store .qwb-qshop-tabbody:not(.qwb-qshop-tabbody--desc) a, [data-site-theme='slate'] .qwb-qshop-store .qwb-qshop-tabbody:not(.qwb-qshop-tabbody--desc) a * { color: #7ec8ff !important; } [data-site-theme='paper'] .qwb-qshop-store .qwb-qshop-tabbody:not(.qwb-qshop-tabbody--desc), [data-site-theme='paper'] .qwb-qshop-store .qwb-qshop-tabbody:not(.qwb-qshop-tabbody--desc) *:not(a):not(img):not(video) { color: #2a2820 !important; } [data-site-theme='paper'] .qwb-qshop-store .qwb-qshop-tabbody:not(.qwb-qshop-tabbody--desc) a, [data-site-theme='paper'] .qwb-qshop-store .qwb-qshop-tabbody:not(.qwb-qshop-tabbody--desc) a * { color: #1a6a3a !important; } .qwb-qshop-ingredients__price { margin: 6px 0 0; font-size: 14px; font-weight: 600; color: #a8d4b0; font-variant-numeric: tabular-nums; } [data-site-theme='paper'] .qwb-qshop-ingredients__price { color: #1a5a38; } .qwb-qshop-related { margin-top: 16px; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, 0.1); } .qwb-qshop-related__h { margin: 0 0 8px; font-size: 14px; } .qwb-qshop-related__strip { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 6px; } .qwb-qshop-related__card { flex: 0 0 120px; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 10px; padding: 6px; background: rgba(0, 0, 0, 0.12); cursor: pointer; text-align: left; color: inherit; } .qwb-qshop-related__img { width: 100%; /** Never crop the related-product image — show the full picture in the card with letterbox if * needed. The visitor came here to see the product, not a tiny cropped thumbnail. */ height: auto; max-height: 120px; object-fit: contain; display: block; margin: 0 auto; border-radius: 6px; background: color-mix(in srgb, var(--qwb-fg2) 4%, transparent); } .qwb-qshop-related__ph { height: 72px; display: grid; place-items: center; border-radius: 6px; background: rgba(255, 255, 255, 0.06); } /* Per-variant / per-ingredient meta block, shown above the main detail description on the * product modal's Description tab. The block stacks: optional personalised description (rich * HTML), then a simple SKU + Stock list. */ .qwb-qshop-detail__variant-meta { margin: 0 0 16px; padding: 12px 14px; border-radius: 10px; background: color-mix(in srgb, var(--qwb-accent) 6%, var(--qwb-fg2) 4%); border: 1px solid color-mix(in srgb, var(--qwb-accent) 25%, var(--qwb-line2) 60%); } .qwb-qshop-detail__variant-desc { margin-bottom: 10px; } .qwb-qshop-detail__variant-desc-h { margin: 0 0 6px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; opacity: 0.8; } .qwb-qshop-detail__sku-list { display: flex; flex-wrap: wrap; gap: 12px 22px; list-style: none; margin: 0; padding: 0; font-size: 13px; } .qwb-qshop-detail__sku-list .qwb-qshop-detail__sku-l { margin-right: 6px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; font-size: 11px; opacity: 0.75; } .qwb-qshop-detail__sku-list .qwb-qshop-detail__sku-v { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; word-break: break-word; } .qwb-qshop-related__t { font-size: 11px; display: block; margin-top: 4px; } .qwb-qshop-myorders__list { list-style: none; padding: 0; } .qwb-qshop-myorders__item { margin-bottom: 10px; } .qwb-qshop-myorders__pay { margin: 10px 0 0; } .qwb-qshop-myorders__hint { margin: 8px 0 0; font-size: 13px; color: #9aafa4; } .qwb-qshop-digital-dl-stack { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 0; max-width: 100%; } .qwb-qshop-mobile-dl-panel { margin-top: 10px; padding: 10px 12px; border-radius: 8px; background: rgba(0, 0, 0, 0.18); border: 1px solid rgba(255, 255, 255, 0.08); max-width: min(100%, 28rem); } [data-site-theme='paper'] .qwb-qshop-mobile-dl-panel { background: rgba(0, 0, 0, 0.04); border-color: rgba(0, 0, 0, 0.08); } .qwb-qshop-mobile-dl-panel__hub, .qwb-qshop-mobile-dl-panel__tap { margin: 0 0 8px; font-size: 13px; line-height: 1.45; } .qwb-qshop-mobile-dl-panel__tap { margin-bottom: 6px; } .qwb-qshop-mobile-dl-panel__links { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; } .qwb-qshop-mobile-dl-panel__sep { opacity: 0.45; user-select: none; } .qwb-qshop-mobile-dl-panel__a { font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; color: var(--qwb-accent, #5cd88a); } [data-site-theme='paper'] .qwb-qshop-mobile-dl-panel__a { color: #1e7a3a; } [data-site-theme='paper'] .qwb-qshop-myorders__hint { color: #4a5040; } .qwb-qshop-myorders__confirmed { color: #5cd88a; font-weight: 600; } [data-site-theme='paper'] .qwb-qshop-myorders__confirmed { color: #1e7a3a; } .qwb-qshop-myorders__pending { color: #c8b88a; text-transform: capitalize; } [data-site-theme='paper'] .qwb-qshop-myorders__pending { color: #6a5a28; } .qwb-qshop-myorders__actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 0; } .qwb-qshop-confirmed-msg { color: #5cd88a; font-weight: 600; margin: 0 0 12px; } [data-site-theme='paper'] .qwb-qshop-confirmed-msg { color: #1e7a3a; } .qwb-qshop-confirm-paid__row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 12px; } .qwb-qshop-pay-result__foot { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; } .qwb-qshop-invoice-toolbar { display: flex; gap: 10px; margin-bottom: 14px; } .qwb-qshop-invoice { max-width: 720px; margin: 0 auto; font-size: 14px; line-height: 1.45; } .qwb-qshop-invoice__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid rgba(120, 140, 130, 0.35); margin-bottom: 16px; } .qwb-qshop-invoice__brand { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; min-width: 0; } .qwb-qshop-invoice__logo { max-width: min(320px, 100%); width: auto; height: auto; object-fit: contain; display: block; } [data-site-theme='paper'] .qwb-qshop-invoice__head { border-bottom-color: rgba(0, 0, 0, 0.12); } .qwb-qshop-invoice__title { margin: 0 0 6px; font-size: 1.35rem; } .qwb-qshop-invoice__addr { font-family: inherit; font-size: 13px; white-space: pre-wrap; margin: 0 0 8px; } .qwb-qshop-invoice__mono { font-family: var(--qwb-mono, ui-monospace, monospace); font-size: 12px; word-break: break-all; } .qwb-qshop-invoice__mono--wrap { display: block; margin-top: 4px; } .qwb-qshop-invoice__paidnote { font-size: 13px; color: #9aafa4; } .qwb-qshop-invoice__h { margin: 16px 0 8px; font-size: 15px; } .qwb-qshop-invoice__ul { margin: 0; padding-left: 18px; } .qwb-qshop-invoice__table { width: 100%; border-collapse: collapse; font-size: 13px; } .qwb-qshop-invoice__th, .qwb-qshop-invoice__td { border-bottom: 1px solid rgba(120, 140, 130, 0.25); padding: 8px 6px; text-align: left; vertical-align: middle; } [data-site-theme='paper'] .qwb-qshop-invoice__th, [data-site-theme='paper'] .qwb-qshop-invoice__td { border-bottom-color: rgba(0, 0, 0, 0.1); } .qwb-qshop-invoice__th--img { width: 56px; } .qwb-qshop-invoice__th--num { width: 48px; text-align: center; } .qwb-qshop-invoice__th--price { text-align: right; white-space: nowrap; } .qwb-qshop-invoice__td--num { text-align: center; } .qwb-qshop-invoice__td--price { text-align: right; white-space: nowrap; } .qwb-qshop-invoice__thumb { width: 48px; height: 48px; object-fit: contain; border-radius: 6px; background: rgba(120, 140, 130, 0.12); display: block; } .qwb-qshop-invoice__ph { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 6px; background: rgba(255, 255, 255, 0.06); font-size: 18px; } .qwb-qshop-invoice__var { font-size: 12px; margin-top: 2px; } .qwb-qshop-invoice__totalrow { margin-top: 8px; font-size: 16px; } .qwb-qshop-invoice__footer { margin-top: 20px; padding-top: 12px; border-top: 1px solid rgba(120, 140, 130, 0.25); font-size: 13px; } @media print { .qwb-qshop-invoice-print-hide, .qwb-qshop-modal__x { display: none !important; } .qwb-qshop-modal-back--invoice { position: static !important; inset: auto !important; background: #fff !important; padding: 0 !important; } .qwb-qshop-modal--invoice { box-shadow: none !important; border: none !important; max-width: none !important; margin: 0 !important; padding: 0 !important; } .qwb-qshop-invoice { color: #000; } } .qwb-qshop-merchant__sec { margin-bottom: 20px; } .qwb-qshop-merchant__tip { font-size: 13px; color: #9aafa4; } [data-site-theme='paper'] .qwb-qshop-merchant__tip { color: #4a5040; } .qwb-qshop-merchant__inv { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 8px; } .qwb-qshop-merchant__inv li { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; } .qwb-qshop-coup-ed__row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; } .qwb-input--sm { max-width: 100px; } /* ================================================================== * Buttons / Photo / Video blocks + fullscreen media lightbox * ================================================================== */ /* --- Buttons block ------------------------------------------------ */ .qwb-btns { display: flex; flex-direction: column; gap: 10px; padding: 14px 4px; } .qwb-btns--with-theme { position: relative; } .qwb-btns__top { display: flex; flex-direction: row; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 6px 14px; width: 100%; } .qwb-btns__top--only-toggle { justify-content: flex-end; } .qwb-btns__titles { flex: 1 1 0; min-width: 0; } .qwb-btns__h { margin: 0; font: 600 18px/1.3 var(--qwb-sans); color: #e8efe8; } [data-site-theme='paper'] .qwb-btns__h { color: #2a3320; } .qwb-btns__s { color: #9aafa4; font-size: 13.5px; line-height: 1.5; } [data-site-theme='paper'] .qwb-btns__s { color: #4a5040; } .qwb-btns__row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; } .qwb-btns--left .qwb-btns__row { justify-content: flex-start; } .qwb-btns--center .qwb-btns__row { justify-content: center; } .qwb-btns--right .qwb-btns__row { justify-content: flex-end; } .qwb-btns--center .qwb-btns__titles, .qwb-btns--center .qwb-btns__h, .qwb-btns--center .qwb-btns__s { text-align: center; } .qwb-btns--right .qwb-btns__titles, .qwb-btns--right .qwb-btns__h, .qwb-btns--right .qwb-btns__s { text-align: right; } /* Optional theme switch — top right of the block (set in block Options). */ .qwb-btns__theme { flex: 0 0 auto; display: flex; align-items: center; align-self: flex-start; margin-left: auto; padding: 0 0 0 4px; } .qwb-btns__top--only-toggle .qwb-btns__theme { margin-left: 0; } .qwb-btns__sw { display: inline-flex; flex-direction: row; align-items: center; gap: 6px; margin: 0; padding: 2px 0 2px 4px; border: 0; background: none; font: inherit; line-height: 1; cursor: pointer; color: #8a9a8e; -webkit-tap-highlight-color: transparent; border-radius: 8px; transition: color 0.3s ease; } .qwb-btns__sw:hover { color: #b8c4bc; } .qwb-btns__sw:focus { outline: none; } .qwb-btns__sw:focus-visible { outline: 2px solid #5a8a6a; outline-offset: 2px; } .qwb-btns__sw-track { order: 2; position: relative; flex: 0 0 auto; width: 44px; height: 24px; border-radius: 999px; background: #2f3834; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.4); transition: background 0.35s ease, box-shadow 0.35s ease; } .qwb-btns__sw[aria-checked='true'] .qwb-btns__sw-track { background: #7a9088; box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.15); } .qwb-btns__sw-knob { position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #f2f2ec; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35); transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), background 0.35s ease; } .qwb-btns__sw[aria-checked='false'] .qwb-btns__sw-knob { transform: translateX(20px); background: #1a1e1c; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); } .qwb-btns__sw-cues { display: contents; font-size: 9px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.2; user-select: none; } .qwb-btns__sw-cue--l { order: 1; transition: opacity 0.3s ease, color 0.3s ease; } .qwb-btns__sw-cue--d { order: 3; transition: opacity 0.3s ease, color 0.3s ease; } .qwb-btns__sw[aria-checked='true'] .qwb-btns__sw-cue--l { color: #b8d4c0; opacity: 1; } .qwb-btns__sw[aria-checked='true'] .qwb-btns__sw-cue--d { opacity: 0.4; } .qwb-btns__sw[aria-checked='false'] .qwb-btns__sw-cue--l { opacity: 0.4; } .qwb-btns__sw[aria-checked='false'] .qwb-btns__sw-cue--d { color: #a8b0a8; opacity: 1; } [data-site-theme='paper'] .qwb-btns__sw { color: #5a5a4e; } [data-site-theme='paper'] .qwb-btns__sw:hover { color: #3a3a2e; } [data-site-theme='paper'] .qwb-btns__sw[aria-checked='true'] .qwb-btns__sw-cue--l { color: #2a5a3a; } [data-site-theme='paper'] .qwb-btns__sw[aria-checked='false'] .qwb-btns__sw-cue--d { color: #4a4a40; } [data-site-theme='paper'] .qwb-btns__sw[aria-checked='true'] .qwb-btns__sw-track { background: #a8b8a0; } [data-site-theme='paper'] .qwb-btns__sw[aria-checked='false'] .qwb-btns__sw-track { background: #c8c4b8; } [data-site-theme='paper'] .qwb-btns__sw[aria-checked='false'] .qwb-btns__sw-knob { background: #2a2a24; } /* Individual button link. */ .qwb-btnl { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 999px; border: 1px solid #2f443a; background: #1a2a22; color: #e8efe8; text-decoration: none; font: 600 14px/1 var(--qwb-sans); cursor: pointer; transition: background 120ms ease, transform 120ms ease, border-color 120ms ease; white-space: nowrap; max-width: 100%; } .qwb-btnl:hover { background: #22352a; border-color: #3a5a45; } .qwb-btnl:active { transform: translateY(1px); } .qwb-btnl--sm { padding: 6px 10px; font-size: 12.5px; } .qwb-btnl--lg { padding: 14px 20px; font-size: 16px; } .qwb-btnl--primary { background: #2a3d32; border-color: #3d5a46; } .qwb-btnl--primary:hover { background: #345240; } .qwb-btnl--accent { background: #3a2a1a; border-color: #5a4a2a; color: #f0e8c8; } .qwb-btnl--accent:hover { background: #4a3a24; } .qwb-btnl--ghost { background: transparent; border-color: #3a4a42; color: #c0d0c8; } .qwb-btnl--ghost:hover { background: rgba(255,255,255,0.04); border-color: #5a7564; } .qwb-btnl--link { padding: 4px 2px; border-radius: 4px; border-color: transparent; background: transparent; color: #8ab8a0; text-decoration: underline; } .qwb-btnl--link:hover { color: #b8d4c2; background: transparent; } .qwb-btnl__emoji { font-size: 1.1em; line-height: 1; } .qwb-btnl__img { width: 22px; height: 22px; flex: 0 0 auto; border-radius: 50%; overflow: hidden; display: inline-block; background: #0f1814; border: 1px solid rgba(255,255,255,0.08); } .qwb-btnl--sm .qwb-btnl__img { width: 18px; height: 18px; } .qwb-btnl--lg .qwb-btnl__img { width: 26px; height: 26px; } .qwb-btnl__img img { width: 100%; height: 100%; object-fit: cover; display: block; } .qwb-btnl__l { overflow: hidden; text-overflow: ellipsis; max-width: 28ch; } .qwb-btnl__arrow { opacity: 0.55; font-size: 0.95em; } [data-site-theme='paper'] .qwb-btnl { background: #f5efd8; border-color: #b89f68; color: #2a3320; } [data-site-theme='paper'] .qwb-btnl:hover { background: #efe6c6; border-color: #8a7238; } [data-site-theme='paper'] .qwb-btnl--primary { background: #d8e4c8; border-color: #7f9a58; color: #2a3320; } [data-site-theme='paper'] .qwb-btnl--primary:hover { background: #c5d8b0; } [data-site-theme='paper'] .qwb-btnl--accent { background: #f2d8a8; border-color: #b58a40; color: #3a2a10; } [data-site-theme='paper'] .qwb-btnl--accent:hover { background: #e9c88a; } [data-site-theme='paper'] .qwb-btnl--ghost { background: transparent; border-color: #9a8a60; color: #4a4020; } [data-site-theme='paper'] .qwb-btnl--ghost:hover { background: rgba(80,60,20,0.06); } [data-site-theme='paper'] .qwb-btnl--link { color: #5a6a38; } /* --- Photo block -------------------------------------------------- */ .qwb-photo-sec { padding: 12px 4px; display: flex; flex-direction: column; gap: 10px; } .qwb-photo-sec__h { margin: 0; font: 600 18px/1.3 var(--qwb-sans); color: #e8efe8; } [data-site-theme='paper'] .qwb-photo-sec__h { color: #2a3320; } .qwb-photo-sec__cap { color: #9aafa4; font-size: 13.5px; line-height: 1.55; } [data-site-theme='paper'] .qwb-photo-sec__cap { color: #4a5040; } .qwb-photo { margin: 0; width: 100%; display: block; } .qwb-photo__frame { all: unset; display: block; cursor: zoom-in; border-radius: 10px; overflow: hidden; border: 1px solid rgba(255,255,255,0.08); background: #0f1814; width: 100%; } .qwb-photo__frame:disabled { cursor: default; } .qwb-photo__frame img { display: block; width: 100%; height: auto; } [data-site-theme='paper'] .qwb-photo__frame { background: #f5efd8; border-color: #b89f68; } .qwb-photo__ph, .qwb-video__ph { padding: 20px; border: 1px dashed #3a5a45; border-radius: 10px; color: #8ea69a; background: #0f1814; font-size: 13.5px; line-height: 1.5; } [data-site-theme='paper'] .qwb-photo__ph, [data-site-theme='paper'] .qwb-video__ph { background: #fffcf5; border-color: #a89262; color: #5a5038; } /* --- Music block (Spotify-style player) --------------------------- */ .qwb-music-sec { padding: 8px 4px 16px; display: flex; flex-direction: column; gap: 8px; } .qwb-music-sec__h { margin: 0; font: 700 22px/1.2 var(--qwb-sans); letter-spacing: -0.03em; color: #eef4f0; } [data-site-theme='paper'] .qwb-music-sec__h { color: #1a221c; } .qwb-music-sec__sub { margin: 0 0 4px; font-size: 14px; line-height: 1.45; color: #9aafa4; max-width: 48ch; } [data-site-theme='paper'] .qwb-music-sec__sub { color: #4d5548; } .qwb-music-outer { --qwb-music-accent: #1ed760; --qwb-music-bg0: #121212; --qwb-music-bg1: #181818; --qwb-music-bg2: #242424; --qwb-music-text: #f0f0f0; --qwb-music-muted: #a7a7a7; /* Size container: cover + playbar scale with block width (visual editor column resize). */ container-type: inline-size; container-name: qwb-music; width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; position: relative; display: flex; flex-direction: column; max-height: min(72vh, 680px); min-height: 0; border-radius: 12px; overflow: hidden; background: linear-gradient(180deg, #1e1e1e 0%, #121212 40%, #0b0b0b 100%); border: 1px solid rgba(255, 255, 255, 0.06); box-shadow: 0 8px 40px rgba(0, 0, 0, 0.45); } [data-site-theme='paper'] .qwb-music-outer { --qwb-music-accent: #14833b; --qwb-music-bg0: #f6f3ec; --qwb-music-bg1: #fffefb; --qwb-music-bg2: #ebe6dc; --qwb-music-text: #1a1a1a; --qwb-music-muted: #5a5648; background: linear-gradient(180deg, #faf8f3 0%, #f0ebe2 50%, #e8e2d6 100%); border-color: rgba(0, 0, 0, 0.08); box-shadow: 0 6px 28px rgba(40, 35, 20, 0.12); } /* Compact: tighter chrome for busy canvases / dense pages */ .qwb-music-outer[data-music-density='compact'] { max-height: min(52vh, 460px); } .qwb-music-outer[data-music-density='compact'] .qwb-music__al-strip { padding: 8px 10px; gap: 8px; } .qwb-music-outer[data-music-density='compact'] .qwb-music__al-pill { padding: 4px 10px 4px 4px; gap: 8px; font-size: 12px; } .qwb-music-outer[data-music-density='compact'] .qwb-music__al-pill__cover { width: 30px; height: 30px; } .qwb-music-outer[data-music-density='compact'] .qwb-music__hero { grid-template-columns: minmax(0, min(140px, 40cqw)) minmax(0, 1fr); gap: clamp(8px, 2.5cqw, 14px) clamp(10px, 3cqw, 14px); padding: clamp(10px, 2.5cqw, 14px) clamp(10px, 3cqw, 14px) 6px; } .qwb-music-outer[data-music-density='compact'] .qwb-music__bigcov { max-width: min(140px, 42cqw); border-radius: 6px; box-shadow: 0 10px 28px rgba(0, 0, 0, 0.42); } .qwb-music-outer[data-music-density='compact'] .qwb-music__bigcov-ov-ring { width: clamp(36px, 12cqw, 44px); height: clamp(36px, 12cqw, 44px); font-size: clamp(0.95rem, 4cqw, 1.1rem); } .qwb-music-outer[data-music-density='compact'] .qwb-music__eyebrow { font-size: 10px; } .qwb-music-outer[data-music-density='compact'] .qwb-music__albumname { font-size: 1.15rem; } .qwb-music-outer[data-music-density='compact'] .qwb-music__albumart, .qwb-music-outer[data-music-density='compact'] .qwb-music__albumyr, .qwb-music-outer[data-music-density='compact'] .qwb-music__albumn { font-size: 13px; } .qwb-music-outer[data-music-density='compact'] .qwb-music__bigplay { width: clamp(40px, 11cqw, 48px); height: clamp(40px, 11cqw, 48px); padding: 0; font-size: clamp(14px, 3.5cqw, 16px); } .qwb-music-outer[data-music-density='compact'] .qwb-music__tracks-dt { margin: 4px 10px 8px; } .qwb-music-outer[data-music-density='compact'] .qwb-music__playbar { padding: 8px 10px; gap: 8px; } .qwb-music-outer[data-music-density='compact'] .qwb-music__pb-mini { width: clamp(36px, 10cqw, 44px); height: clamp(36px, 10cqw, 44px); } /* Scrolls album strip + hero + metadata + collapsible list; play bar stays fixed at bottom. */ .qwb-music__scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; } .qwb-music__ph { text-align: center; padding: 36px 20px; color: var(--qwb-music-muted); } .qwb-music__ph-ico { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 12px; border-radius: 50%; font-size: 28px; background: var(--qwb-music-bg2); color: var(--qwb-music-muted); border: 1px solid rgba(255, 255, 255, 0.06); } [data-site-theme='paper'] .qwb-music__ph-ico { border-color: rgba(0, 0, 0, 0.08); } .qwb-music__ph-t { margin: 0 0 6px; font-size: 15px; font-weight: 600; color: var(--qwb-music-text); } .qwb-music__ph-hint { margin: 0; font-size: 13px; opacity: 0.85; max-width: 32em; margin-left: auto; margin-right: auto; } .qwb-music__al-strip { display: flex; flex-wrap: nowrap; gap: 10px; padding: 12px 14px 4px; overflow-x: auto; scrollbar-width: thin; border-bottom: 1px solid rgba(255, 255, 255, 0.06); position: sticky; top: 0; z-index: 2; background: linear-gradient(180deg, #1e1e1e 0%, #1a1a1a 100%); } [data-site-theme='paper'] .qwb-music__al-strip { border-bottom-color: rgba(0, 0, 0, 0.08); background: linear-gradient(180deg, #faf8f3 0%, #f5f0e8 100%); } .qwb-music__al-pill { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; padding: 6px 12px 6px 6px; border-radius: 999px; border: 1px solid transparent; background: var(--qwb-music-bg1); color: var(--qwb-music-text); cursor: pointer; font: 13px/1.2 var(--qwb-sans); transition: background 0.15s ease, border-color 0.15s ease, transform 0.12s ease; } .qwb-music__al-pill:hover { background: var(--qwb-music-bg2); } .qwb-music__al-pill--on { border-color: color-mix(in srgb, var(--qwb-music-accent) 55%, transparent); background: color-mix(in srgb, var(--qwb-music-accent) 14%, var(--qwb-music-bg1)); } .qwb-music__al-pill__cover { position: relative; width: 36px; height: 36px; border-radius: 50%; overflow: hidden; flex-shrink: 0; background: #000; } .qwb-music__al-pill__cover::after { content: ''; position: absolute; inset: 0; border-radius: inherit; opacity: 0; transition: opacity 0.2s ease; box-shadow: inset 0 0 0 2px var(--qwb-music-accent), 0 0 16px color-mix(in srgb, var(--qwb-music-accent) 35%, transparent); pointer-events: none; } .qwb-music__al-pill:hover .qwb-music__al-pill__cover::after { opacity: 1; } .qwb-music__al-pill__cover img { width: 100%; height: 100%; object-fit: cover; display: block; } .qwb-music__al-pill__ph { display: grid; place-items: center; width: 100%; height: 100%; font-size: 14px; opacity: 0.7; } .qwb-music__al-pill__txt { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; text-align: left; } .qwb-music__al-pill__title { font-weight: 600; max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .qwb-music__al-pill__yr { font-size: 11px; color: var(--qwb-music-muted); } .qwb-music { padding: 0 0 8px; } .qwb-music__hero-r { min-width: 0; } .qwb-music__tracks-dt { margin: 4px 12px 10px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.1); background: var(--qwb-music-bg1); overflow: hidden; } [data-site-theme='paper'] .qwb-music__tracks-dt { border-color: rgba(0, 0, 0, 0.1); } .qwb-music__tracks-sum { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px 10px 14px; margin: 0; cursor: pointer; font: 600 13px/1.3 var(--qwb-sans); color: var(--qwb-music-text); user-select: none; transition: background 0.12s ease; } .qwb-music__tracks-sum::-webkit-details-marker { display: none; } .qwb-music__tracks-sum::after { content: '▸'; flex: 0 0 auto; font-size: 11px; color: var(--qwb-music-muted); transition: transform 0.15s ease; } .qwb-music__tracks-dt[open] > .qwb-music__tracks-sum { border-bottom: 1px solid rgba(255, 255, 255, 0.08); background: color-mix(in srgb, var(--qwb-music-bg1) 90%, #000); } [data-site-theme='paper'] .qwb-music__tracks-dt[open] > .qwb-music__tracks-sum { border-bottom-color: rgba(0, 0, 0, 0.08); background: color-mix(in srgb, var(--qwb-music-bg1) 92%, #c4b896); } .qwb-music__tracks-dt[open] > .qwb-music__tracks-sum::after { transform: rotate(90deg); } .qwb-music__tracks-sum:hover { background: rgba(255, 255, 255, 0.04); } [data-site-theme='paper'] .qwb-music__tracks-sum:hover { background: rgba(0, 0, 0, 0.04); } .qwb-music__tracks-sum-t { min-width: 0; } .qwb-music__tracks-sum-n { color: var(--qwb-music-muted); font-weight: 500; font-size: 12px; } .qwb-music__notracks { margin: 0 20px 12px; padding: 12px 14px; font-size: 13px; line-height: 1.5; color: var(--qwb-music-muted); border: 1px dashed rgba(255, 255, 255, 0.12); border-radius: 8px; background: rgba(0, 0, 0, 0.2); } [data-site-theme='paper'] .qwb-music__notracks { border-color: rgba(0, 0, 0, 0.12); background: rgba(0, 0, 0, 0.03); } .qwb-music__hero { display: grid; grid-template-columns: minmax(0, min(220px, 52cqw)) minmax(0, 1fr); gap: clamp(12px, 4cqw, 20px) clamp(14px, 4.5cqw, 24px); padding: clamp(12px, 3.5cqw, 20px) clamp(12px, 3.5cqw, 20px) 8px; align-items: end; } /* Narrow block / editor column: stack cover + meta (viewport media is not enough). */ @container qwb-music (max-width: 440px) { .qwb-music__hero { grid-template-columns: 1fr; align-items: start; justify-items: center; gap: 14px; padding: clamp(12px, 3cqw, 16px) clamp(10px, 3cqw, 14px) 6px; } .qwb-music__hero-l { width: 100%; max-width: min(220px, 78cqw); justify-self: center; } .qwb-music__bigcov { max-width: min(220px, 78cqw); margin-inline: auto; } .qwb-music__hero-r { width: 100%; text-align: center; } .qwb-music__hero-cta { justify-content: center; } } @media (max-width: 640px) { /* Fallback when container queries are unavailable: stack on small viewports. */ .qwb-music__hero { grid-template-columns: 1fr; align-items: start; justify-items: center; padding: 12px 12px 6px; gap: 12px; } .qwb-music__hero-r { width: 100%; text-align: center; } .qwb-music__hero-cta { justify-content: center; } .qwb-music__tracks-dt { margin-inline: 10px; } .qwb-music__bigcov, .qwb-music__hero-l { max-width: min(200px, 78vw); } .qwb-music__playbar { flex-direction: column; align-items: stretch; gap: 10px; margin-inline: 10px; padding: 10px 12px; } .qwb-music__playbar-l, .qwb-music__playbar-c { flex: 1 1 auto; width: 100%; min-width: 0; } .qwb-music__albumname { line-height: 1.15; } } .qwb-music__bigcov { aspect-ratio: 1; max-width: min(220px, 52cqw); width: 100%; margin-inline: 0; border-radius: 8px; overflow: hidden; box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55); } .qwb-music__bigcov-btn { display: block; width: 100%; height: 100%; padding: 0; margin: 0; border: none; border-radius: inherit; cursor: pointer; position: relative; overflow: hidden; background: transparent; color: inherit; vertical-align: top; } .qwb-music__bigcov-btn:disabled { cursor: default; } .qwb-music__bigcov-btn:not(:disabled):focus-visible { outline: 2px solid var(--qwb-music-accent); outline-offset: 2px; } /** Published / read-only: cover is decorative — no play overlay on the artwork. */ .qwb-music__bigcov-med { display: block; width: 100%; height: 100%; margin: 0; padding: 0; border-radius: inherit; overflow: hidden; background: var(--qwb-music-bg2); } .qwb-music__bigcov-med img { width: 100%; height: 100%; object-fit: cover; display: block; vertical-align: top; } .qwb-music__bigcov-btn img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.28s ease; } .qwb-music__bigcov-btn:not(:disabled):hover img, .qwb-music__bigcov-btn:not(:disabled):focus-visible img { transform: scale(1.03); } .qwb-music__bigcov-ov { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: linear-gradient(185deg, transparent 0%, rgba(0, 0, 0, 0.08) 38%, rgba(0, 0, 0, 0.62) 100%); opacity: 0; transition: opacity 0.22s ease; pointer-events: none; } .qwb-music__bigcov-btn:not(:disabled):hover .qwb-music__bigcov-ov, .qwb-music__bigcov-btn:not(:disabled):focus-visible .qwb-music__bigcov-ov { opacity: 1; } .qwb-music__bigcov-ov-ring { width: clamp(40px, 15cqw, 56px); height: clamp(40px, 15cqw, 56px); border-radius: 50%; background: var(--qwb-music-accent); color: #0f0f0f; display: grid; place-items: center; font-size: clamp(1rem, 4.5cqw, 1.35rem); line-height: 1; box-shadow: 0 12px 32px color-mix(in srgb, var(--qwb-music-accent) 48%, transparent), 0 0 0 1px rgba(255, 255, 255, 0.12); transform: scale(0.9); transition: transform 0.22s ease; } [data-site-theme='paper'] .qwb-music__bigcov-ov-ring { color: #fff; } .qwb-music__bigcov-btn:not(:disabled):hover .qwb-music__bigcov-ov-ring, .qwb-music__bigcov-btn:not(:disabled):focus-visible .qwb-music__bigcov-ov-ring { transform: scale(1); } .qwb-music__bigcov-ov-ico { display: inline-block; translate: 2px 0; } @media (prefers-reduced-motion: reduce) { .qwb-music__bigcov-btn:not(:disabled):hover img, .qwb-music__bigcov-btn:not(:disabled):focus-visible img { transform: none; } } .qwb-music__bigcov-ph { width: 100%; height: 100%; min-height: clamp(72px, 22cqw, 140px); display: grid; place-items: center; font-size: clamp(26px, 9cqw, 48px); background: linear-gradient(145deg, #2a2a2a, #121212); color: #666; } [data-site-theme='paper'] .qwb-music__bigcov-ph { background: linear-gradient(145deg, #e4ddd0, #cfc4b0); color: #888; } .qwb-music__eyebrow { margin: 0 0 4px; font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--qwb-music-muted); } .qwb-music__albumname { margin: 0 0 6px; font: 800 clamp(1.05rem, 5cqw + 0.85rem, 2.25rem) / 1.1 var(--qwb-sans); color: var(--qwb-music-text); overflow-wrap: anywhere; word-break: break-word; } .qwb-music__albumart { margin: 0 0 4px; font-size: clamp(12px, 3cqw + 0.5rem, 15px); font-weight: 500; color: var(--qwb-music-text); opacity: 0.92; overflow-wrap: anywhere; word-break: break-word; } .qwb-music__albumyr { margin: 0 0 6px; font-size: clamp(11px, 2.5cqw + 0.35rem, 13px); color: var(--qwb-music-muted); } .qwb-music__albumn { margin: 0 0 14px; font-size: clamp(11px, 2.5cqw + 0.35rem, 13px); color: var(--qwb-music-muted); } .qwb-music__hero-cta { display: flex; align-items: center; gap: 12px; } .qwb-music__bigplay { width: clamp(44px, 13cqw, 56px); height: clamp(44px, 13cqw, 56px); border-radius: 50%; border: 0; background: var(--qwb-music-accent); color: #0a0a0a; font-size: clamp(16px, 4.5cqw, 22px); line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 6px 20px color-mix(in srgb, var(--qwb-music-accent) 40%, transparent); transition: transform 0.12s ease, filter 0.12s ease; } .qwb-music__bigplay:hover:not(:disabled) { transform: scale(1.04); filter: brightness(1.06); } .qwb-music__bigplay:disabled { opacity: 0.4; cursor: not-allowed; } [data-site-theme='paper'] .qwb-music__bigplay { color: #fff; } .qwb-music__bigplay-l { font-size: clamp(10px, 2.5cqw + 0.25rem, 12px); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--qwb-music-muted); } .qwb-music__listwrap { padding: 0 8px 8px; } .qwb-music__listhead { display: none; grid-template-columns: clamp(26px, 7cqw, 32px) 1fr 0.6fr clamp(44px, 12cqw, 52px); gap: clamp(4px, 1.5cqw, 8px); padding: 6px 12px 8px 8px; font-size: clamp(9px, 2.2cqw + 0.25rem, 11px); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--qwb-music-muted); border-bottom: 1px solid rgba(255, 255, 255, 0.08); } @container qwb-music (min-width: 520px) { .qwb-music__listhead { display: grid; } .qwb-music__li-art, .qwb-music__li-btn .qwb-music__li-art { display: block; } } @media (min-width: 720px) { /* Fallback when @container is unsupported */ @supports not (container-type: inline-size) { .qwb-music__listhead { display: grid; } .qwb-music__li-art, .qwb-music__li-btn .qwb-music__li-art { display: block; } } } .qwb-music__list { list-style: none; margin: 0; padding: 0; } .qwb-music__li { border-radius: 6px; margin: 2px 0; } .qwb-music__li--cur { background: color-mix(in srgb, var(--qwb-music-accent) 10%, var(--qwb-music-bg1)); } .qwb-music__li-btn { display: grid; grid-template-columns: clamp(26px, 7cqw, 32px) 1fr 0.6fr clamp(44px, 12cqw, 52px); gap: clamp(4px, 1.5cqw, 8px); width: 100%; padding: clamp(6px, 1.8cqw, 8px) clamp(8px, 2.2cqw, 10px) clamp(6px, 1.8cqw, 8px) 6px; border: 0; border-radius: 6px; background: transparent; color: var(--qwb-music-text); font: clamp(12px, 2.8cqw + 0.35rem, 14px) / 1.3 var(--qwb-sans); text-align: left; cursor: pointer; align-items: center; transition: background 0.12s ease; } .qwb-music__li-btn:hover { background: rgba(255, 255, 255, 0.06); } [data-site-theme='paper'] .qwb-music__li-btn:hover { background: rgba(0, 0, 0, 0.05); } @container qwb-music (max-width: 519px) { .qwb-music__li-btn { grid-template-columns: clamp(26px, 7cqw, 32px) 1fr clamp(44px, 12cqw, 52px); } .qwb-music__li-art { display: none; } } @media (max-width: 719px) { @supports not (container-type: inline-size) { .qwb-music__li-btn { grid-template-columns: 32px 1fr 52px; } .qwb-music__li-art { display: none; } } } .qwb-music__li-ix { position: relative; display: flex; align-items: center; justify-content: center; font-size: 14px; color: var(--qwb-music-muted); font-weight: 500; min-width: 28px; } .qwb-music__li-ix-hov { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0; color: #fff; font-size: 12px; text-shadow: 0 0 4px #000; pointer-events: none; transition: opacity 0.12s ease; } .qwb-music__li--cur .qwb-music__li-ix-num { color: var(--qwb-music-accent); font-weight: 700; } .qwb-music__li-btn:hover .qwb-music__li-ix-hov { opacity: 1; } .qwb-music__li-btn:hover .qwb-music__li-ix-num { opacity: 0; } [data-site-theme='paper'] .qwb-music__li-ix-hov { text-shadow: 0 0 2px #fff; color: #0a0a0a; } .qwb-music__li-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; } .qwb-music__li--cur .qwb-music__li-title { color: #fff; font-weight: 600; } [data-site-theme='paper'] .qwb-music__li--cur .qwb-music__li-title { color: #0a1a0f; } .qwb-music__li-art { font-size: 13px; color: var(--qwb-music-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .qwb-music__li-dur { text-align: right; font-size: 12px; color: var(--qwb-music-muted); font-variant-numeric: tabular-nums; } .qwb-music__playbar { flex-shrink: 0; display: flex; flex-wrap: wrap; align-items: center; gap: clamp(8px, 2.5cqw, 12px) clamp(10px, 3cqw, 16px); margin: 0 clamp(8px, 2.5cqw, 12px) clamp(8px, 2.5cqw, 12px); padding: clamp(8px, 2.5cqw, 12px) clamp(10px, 3cqw, 14px); border-radius: clamp(8px, 2cqw, 10px); background: #181818; border: 1px solid rgba(255, 255, 255, 0.08); } [data-site-theme='paper'] .qwb-music__playbar { background: #f2eee6; border-color: rgba(0, 0, 0, 0.08); } .qwb-music__playbar-l { display: flex; align-items: center; gap: clamp(6px, 2cqw, 10px); min-width: 0; flex: 1 1 min(160px, 38cqw); } .qwb-music__pb-mini { width: clamp(36px, 11cqw, 48px); height: clamp(36px, 11cqw, 48px); border-radius: clamp(4px, 1.2cqw, 6px); overflow: hidden; flex-shrink: 0; background: #000; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4); } .qwb-music__pb-mini img { width: 100%; height: 100%; object-fit: cover; display: block; } .qwb-music__pb-mini-ph { width: 100%; height: 100%; display: grid; place-items: center; font-size: clamp(13px, 4cqw, 18px); opacity: 0.5; } .qwb-music__pb-meta { min-width: 0; } .qwb-music__pb-t { font-size: clamp(11px, 2.8cqw + 0.35rem, 13px); font-weight: 600; color: var(--qwb-music-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; } .qwb-music__pb-a { font-size: clamp(10px, 2.5cqw + 0.3rem, 12px); color: var(--qwb-music-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; } .qwb-music__playbar-c { flex: 2 1 min(240px, 58cqw); display: flex; flex-direction: column; gap: clamp(4px, 1.2cqw, 6px); min-width: 0; align-items: center; } .qwb-music__pb-opts { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 10px; width: 100%; padding: 8px 10px; border-radius: 10px; background: linear-gradient(180deg, rgba(40, 44, 48, 0.95) 0%, rgba(24, 26, 28, 0.98) 100%); border: 1px solid rgba(255, 255, 255, 0.07); box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35); } [data-site-theme='paper'] .qwb-music__pb-opts { background: linear-gradient(180deg, #faf6ef 0%, #f0ebe3 100%); border-color: rgba(0, 0, 0, 0.08); box-shadow: 0 1px 8px rgba(40, 30, 20, 0.08); } .qwb-music__popt { width: clamp(30px, 9cqw, 36px); height: clamp(26px, 8cqw, 32px); border-radius: clamp(6px, 1.6cqw, 8px); background: linear-gradient(180deg, rgba(60, 70, 68, 0.9) 0%, rgba(32, 36, 34, 0.95) 100%); border: 1px solid rgba(120, 160, 140, 0.25); color: #e4eee8; font-size: clamp(12px, 3.5cqw, 15px); line-height: 1; box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: background 0.12s, border-color 0.12s, box-shadow 0.12s; } .qwb-music__popt:hover:not(:disabled) { background: linear-gradient(180deg, rgba(80, 90, 88, 0.95) 0%, rgba(45, 50, 48, 0.98) 100%); border-color: rgba(150, 190, 160, 0.45); } .qwb-music__popt:disabled { opacity: 0.35; cursor: not-allowed; } .qwb-music__popt.is-on { background: linear-gradient(180deg, rgba(80, 140, 100, 0.45) 0%, rgba(40, 90, 60, 0.55) 100%); border-color: #5a9a6e; color: #f0fff4; box-shadow: 0 0 0 1px rgba(100, 200, 130, 0.2) inset; } [data-site-theme='paper'] .qwb-music__popt { background: linear-gradient(180deg, #fff 0%, #e8e4dc 100%); border-color: #b8a898; color: #2a2820; } [data-site-theme='paper'] .qwb-music__popt.is-on { background: linear-gradient(180deg, #e4f2e6 0%, #c8e0ce 100%); border-color: #5a8a6a; color: #0f2818; } [data-site-theme='paper'] .qwb-music__popt:hover:not(:disabled) { background: linear-gradient(180deg, #fff 0%, #f2eee6 100%); border-color: #9a8868; } .qwb-music__rate { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--qwb-music-muted, #8a8a8a); } .qwb-music__rate-l { margin: 0; font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--qwb-music-muted, #7a7a7a); } .qwb-music__rate-sel { max-width: 100px; font: inherit; font-size: 12px; padding: 4px 6px; border-radius: 6px; border: 1px solid rgba(255, 255, 255, 0.12); background: #222; color: #e8e8e8; } [data-site-theme='paper'] .qwb-music__rate-sel { background: #fff; color: #222; border-color: rgba(0, 0, 0, 0.12); } .qwb-music__rate-num { width: 4.2rem; font: inherit; font-size: 12px; padding: 4px 6px; border-radius: 6px; border: 1px solid rgba(255, 255, 255, 0.12); background: #222; color: #e8e8e8; } [data-site-theme='paper'] .qwb-music__rate-num { background: #fff; color: #222; } .qwb-music__rate-sel, .qwb-music__rate-num { border-color: rgba(120, 150, 130, 0.35); } .qwb-music__pb-btns { display: flex; align-items: center; justify-content: center; gap: clamp(4px, 1.2cqw, 6px); } .qwb-music__pbtn { width: clamp(30px, 9cqw, 36px); height: clamp(30px, 9cqw, 36px); border-radius: 50%; border: 0; background: rgba(255, 255, 255, 0.08); color: #e8e8e8; font-size: clamp(12px, 3.5cqw, 15px); line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: background 0.12s ease, transform 0.1s ease; } .qwb-music__pbtn:hover { background: rgba(255, 255, 255, 0.14); transform: scale(1.05); } .qwb-music__pbtn:disabled { opacity: 0.35; cursor: not-allowed; transform: none; } .qwb-music__pbtn--play { width: clamp(36px, 11cqw, 44px); height: clamp(36px, 11cqw, 44px); background: #fff; color: #121212; font-size: clamp(14px, 4cqw, 18px); } [data-site-theme='paper'] .qwb-music__pbtn { background: rgba(0, 0, 0, 0.08); color: #1a1a1a; } [data-site-theme='paper'] .qwb-music__pbtn--play { background: #14833b; color: #fff; } .qwb-music__pb-scrub { width: 100%; max-width: min(400px, 100%); padding: 0 clamp(2px, 0.8cqw, 4px); } .qwb-music__range { width: 100%; height: 4px; -webkit-appearance: none; appearance: none; background: rgba(255, 255, 255, 0.18); border-radius: 2px; cursor: pointer; } .qwb-music__range::-webkit-slider-thumb { -webkit-appearance: none; width: 12px; height: 12px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3); margin-top: -4px; } .qwb-music__range::-moz-range-thumb { width: 12px; height: 12px; border: 0; border-radius: 50%; background: #fff; } .qwb-music__range::-webkit-slider-runnable-track { height: 4px; background: linear-gradient(90deg, var(--qwb-music-accent) 0%, var(--qwb-music-accent) var(--p, 0%), rgba(255, 255, 255, 0.2) 0%); border-radius: 2px; } /* progress tint via width from JS is optional; solid track is enough */ .qwb-music__pb-time { font-size: 11px; font-variant-numeric: tabular-nums; color: var(--qwb-music-muted); width: 100%; text-align: center; } .qwb-music__pb-time-sep { opacity: 0.5; margin: 0 2px; } .qwb-music__aud { position: absolute; width: 0; height: 0; opacity: 0; pointer-events: none; } /* --- Video block -------------------------------------------------- */ .qwb-video-sec { padding: 12px 4px; display: flex; flex-direction: column; gap: 10px; } .qwb-video-sec__h { margin: 0; font: 600 18px/1.3 var(--qwb-sans); color: #e8efe8; } [data-site-theme='paper'] .qwb-video-sec__h { color: #2a3320; } .qwb-video-sec__cap { color: #9aafa4; font-size: 13.5px; line-height: 1.55; } [data-site-theme='paper'] .qwb-video-sec__cap { color: #4a5040; } /* --- Photo Albums block ------------------------------------------- */ .qwb-albums-sec { padding: 12px 4px 16px; display: flex; flex-direction: column; gap: 12px; } .qwb-albums-sec__h { margin: 0; font: 600 19px/1.25 var(--qwb-sans); color: #e8efe8; letter-spacing: -0.02em; } [data-site-theme='paper'] .qwb-albums-sec__h { color: #1e2818; } .qwb-albums-sec__sub { margin: 0; font-size: 14px; line-height: 1.5; color: #9aafa4; max-width: 52ch; } [data-site-theme='paper'] .qwb-albums-sec__sub { color: #4d5548; } .qwb-albums { --qwb-albums-gap: 16px; width: 100%; } .qwb-albums__ph { padding: 22px 18px; border: 1px dashed #3a5a45; border-radius: 12px; color: #8ea69a; background: #0c1210; font-size: 14px; line-height: 1.55; text-align: center; } [data-site-theme='paper'] .qwb-albums__ph { background: #fffcf5; border-color: #a89262; color: #5a5038; } .qwb-albums__pl { min-height: 120px; display: flex; align-items: center; justify-content: center; background: linear-gradient(145deg, #0f1814, #0a100d); color: #5a6a5e; font-size: 13px; border-radius: inherit; border: 1px dashed #2a4034; } [data-site-theme='paper'] .qwb-albums__pl { background: linear-gradient(145deg, #f0ebe0, #e8e2d4); color: #6a5e48; border-color: #c4b896; } .qwb-albums__fig { margin: 0; display: flex; flex-direction: column; gap: 8px; min-width: 0; border-radius: 12px; overflow: hidden; background: #0a100d; border: 1px solid rgba(255, 255, 255, 0.06); transition: box-shadow 0.2s ease, border-color 0.2s ease; } [data-site-theme='paper'] .qwb-albums__fig { background: #f7f2e6; border-color: rgba(0, 0, 0, 0.08); } .qwb-albums__fig--lg { box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35); } .qwb-albums__fig--lb { cursor: default; } .qwb-albums__fig--lb:has(.qwb-albums__imgbtn:not(:disabled)) { cursor: pointer; } .qwb-albums__fig--r0 { border-radius: 0; } .qwb-albums__fig--rsm { border-radius: 6px; } .qwb-albums__fig--rmd { border-radius: 12px; } .qwb-albums__fig--rlg { border-radius: 16px; } .qwb-albums__imgbtn { position: relative; display: block; width: 100%; padding: 0; border: 0; background: #000; border-radius: inherit; overflow: hidden; cursor: pointer; } .qwb-albums__imgbtn:disabled { cursor: default; opacity: 0.85; } .qwb-albums__img { display: block; width: 100%; height: auto; vertical-align: middle; object-fit: cover; aspect-ratio: 4/3; } .qwb-albums__fig--lg .qwb-albums__img { aspect-ratio: 16/10; max-height: min(72vh, 560px); object-fit: cover; } .qwb-albums__imgshade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent 45%); opacity: 0; transition: opacity 0.2s ease; pointer-events: none; } .qwb-albums__fig--lb .qwb-albums__imgbtn:not(:disabled):hover .qwb-albums__imgshade { opacity: 0.5; } .qwb-albums__fc { padding: 0 10px 10px; font-size: 13.5px; line-height: 1.45; color: #c2d0c5; } [data-site-theme='paper'] .qwb-albums__fc { color: #3a4038; } .qwb-albums__t { font-weight: 600; margin-bottom: 2px; } .qwb-albums__d { color: #9aafa4; font-size: 13px; } [data-site-theme='paper'] .qwb-albums__d { color: #5a5e52; } /* Grid */ .qwb-albums--grid { display: grid; gap: var(--qwb-albums-gap); align-items: start; } .qwb-albums--g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .qwb-albums--g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .qwb-albums--g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } @media (max-width: 900px) { .qwb-albums--g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .qwb-albums--g3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 520px) { .qwb-albums--g2, .qwb-albums--g3, .qwb-albums--g4 { grid-template-columns: 1fr; } } .qwb-albums--grid .qwb-albums__img { aspect-ratio: 1; } /* Masonry */ .qwb-albums--masonry { column-gap: var(--qwb-albums-gap); } .qwb-albums--m2 { column-count: 2; } .qwb-albums--m3 { column-count: 3; } .qwb-albums--m4 { column-count: 4; } .qwb-albums--masonry .qwb-albums__fig { break-inside: avoid; margin-bottom: var(--qwb-albums-gap); display: inline-block; width: 100%; vertical-align: top; } .qwb-albums--masonry .qwb-albums__img { aspect-ratio: auto; } @media (max-width: 720px) { .qwb-albums--m4 { column-count: 2; } .qwb-albums--m3 { column-count: 2; } } @media (max-width: 420px) { .qwb-albums--m2 { column-count: 1; } } /* Hero */ .qwb-albums--hero { display: flex; flex-direction: column; gap: var(--qwb-albums-gap); } .qwb-albums__hero-top .qwb-albums__fig--lg { width: 100%; } .qwb-albums__hero-grid { display: grid; gap: var(--qwb-albums-gap); } .qwb-albums__hero-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .qwb-albums__hero-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .qwb-albums__hero-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } @media (max-width: 720px) { .qwb-albums__hero-grid--3, .qwb-albums__hero-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 480px) { .qwb-albums__hero-grid--2, .qwb-albums__hero-grid--3, .qwb-albums__hero-grid--4 { grid-template-columns: 1fr; } } /* Carousel — frame resizes to each image’s natural aspect; overlay arrows + dots */ .qwb-albums--carousel .qwb-albums__car { width: 100%; border-radius: 4px; } .qwb-albums__car:focus { outline: none; } .qwb-albums__car:focus-visible { outline: 2px solid rgba(124, 200, 140, 0.65); outline-offset: 3px; } [data-site-theme='paper'] .qwb-albums__car:focus-visible { outline-color: rgba(61, 122, 74, 0.75); } .qwb-albums__car-stage { position: relative; width: 100%; max-width: min(100%, 1100px); margin-left: auto; margin-right: auto; } .qwb-albums__car-vp { position: relative; width: 100%; min-height: 120px; /* aspect + max-height often set inline from loaded image size */ background: linear-gradient(165deg, #0a120f, #050807 55%); border-radius: 14px; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45); transition: aspect-ratio 0.35s ease, max-height 0.35s ease, width 0.35s ease; } .qwb-albums__car-vp.qwb-albums__car--r0 { border-radius: 0; } .qwb-albums__car-vp.qwb-albums__car--rsm { border-radius: 8px; } .qwb-albums__car-vp.qwb-albums__car--rmd { border-radius: 14px; } .qwb-albums__car-vp.qwb-albums__car--rlg { border-radius: 20px; } [data-site-theme='paper'] .qwb-albums__car-vp { background: linear-gradient(165deg, #f2ede4, #e8e2d4 55%); border-color: rgba(0, 0, 0, 0.1); box-shadow: 0 12px 36px rgba(0, 0, 0, 0.12); } .qwb-albums__car-slide { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0; transform: scale(0.97); transition: opacity 0.4s ease, transform 0.4s ease; pointer-events: none; z-index: 0; padding: 6px 12px 28px; /* room for in-frame dots on active slide */ } .qwb-albums__car-slide--on { opacity: 1; transform: scale(1); z-index: 1; pointer-events: auto; } .qwb-albums__car-imgbtn { width: 100%; height: 100%; min-width: 0; min-height: 0; display: flex; align-items: center; justify-content: center; background: transparent; border: 0; padding: 0; cursor: pointer; } .qwb-albums__car-imgbtn:disabled { cursor: default; } /* Override global album grid cover/square; carousel shows each image at natural aspect */ .qwb-albums--carousel .qwb-albums__img { display: block; width: auto; max-width: 100%; height: auto; max-height: 100%; min-height: 0; object-fit: contain; aspect-ratio: auto; } .qwb-albums__car-fab { position: absolute; z-index: 4; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; padding: 0; display: flex; align-items: center; justify-content: center; font: 600 24px/1 var(--qwb-sans); border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.2); background: rgba(8, 14, 12, 0.72); color: #e8f0e8; cursor: pointer; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35); transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease; } .qwb-albums__car-fab:hover { background: rgba(20, 32, 26, 0.88); border-color: rgba(124, 200, 140, 0.5); transform: translateY(-50%) scale(1.05); } .qwb-albums__car-fab--prev { left: 10px; } .qwb-albums__car-fab--next { right: 10px; } @media (max-width: 480px) { .qwb-albums__car-fab { width: 40px; height: 40px; font-size: 22px; } .qwb-albums__car-fab--prev { left: 6px; } .qwb-albums__car-fab--next { right: 6px; } } [data-site-theme='paper'] .qwb-albums__car-fab { background: rgba(255, 250, 240, 0.88); color: #2a3026; border-color: rgba(0, 0, 0, 0.12); box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1); } [data-site-theme='paper'] .qwb-albums__car-fab:hover { background: #fff; border-color: #3d7a4a; } .qwb-albums__car-dots { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; } .qwb-albums__car-dots--in { position: absolute; z-index: 3; left: 0; right: 0; bottom: 8px; margin: 0; padding: 8px 10px 6px; background: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent); border-radius: 0 0 12px 12px; pointer-events: auto; } [data-site-theme='paper'] .qwb-albums__car-dots--in { background: linear-gradient(to top, rgba(0, 0, 0, 0.12), transparent); } .qwb-albums__dot { width: 8px; height: 8px; border-radius: 50%; border: 0; padding: 0; background: rgba(200, 210, 200, 0.45); cursor: pointer; transition: transform 0.15s ease, background 0.15s ease, box-shadow 0.15s ease; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } .qwb-albums__dot:hover { transform: scale(1.15); } .qwb-albums__dot--on { background: #7cc88c; transform: scale(1.25); box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.25); } [data-site-theme='paper'] .qwb-albums__dot--on { background: #3d7a4a; } .qwb-albums__car-cap { margin-top: 10px; padding: 10px 12px; border-radius: 10px; background: rgba(20, 28, 24, 0.55); border: 1px solid rgba(255, 255, 255, 0.05); max-width: 720px; margin-left: auto; margin-right: auto; text-align: center; } [data-site-theme='paper'] .qwb-albums__car-cap { background: rgba(255, 250, 235, 0.9); border-color: rgba(0, 0, 0, 0.08); } .qwb-albums__car-cap .qwb-albums__t { font-size: 16px; } .qwb-albums__car-cap .qwb-albums__d { font-size: 13.5px; } /* Lightbox */ .qwb-albums-lb { position: fixed; inset: 0; z-index: 10000; background: rgba(0, 0, 0, 0.9); display: flex; align-items: center; justify-content: center; padding: 24px 16px; backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); animation: qwb-lightbox-in 160ms ease-out; } .qwb-albums-lb__x { position: absolute; top: 14px; right: 18px; font: 700 24px/1 var(--qwb-sans); width: 42px; height: 42px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.25); background: rgba(0, 0, 0, 0.55); color: #f0f0f0; cursor: pointer; z-index: 1; display: inline-flex; align-items: center; justify-content: center; line-height: 1; } .qwb-albums-lb__x:hover { background: rgba(255, 255, 255, 0.12); } .qwb-albums-lb__inner { max-width: min(96vw, 1200px); max-height: 92vh; display: flex; flex-direction: column; align-items: center; gap: 12px; } .qwb-albums-lb__img { max-width: 96vw; max-height: 78vh; object-fit: contain; border-radius: 8px; box-shadow: 0 16px 64px rgba(0, 0, 0, 0.75); display: block; } .qwb-albums-lb__cap { max-width: 56ch; text-align: center; color: #e0e8e4; font-size: 14px; line-height: 1.5; } .qwb-albums-lb__t { font-weight: 600; font-size: 16px; margin-bottom: 4px; } .qwb-albums-lb__d { color: #b0c0b4; } .qwb-video { position: relative; width: 100%; } .qwb-video__el { display: block; width: 100%; max-height: 72vh; border-radius: 10px; background: #000; outline: none; } .qwb-video__fs { position: absolute; right: 8px; bottom: 8px; padding: 5px 9px; font: 600 11px/1 var(--qwb-sans); background: rgba(0,0,0,0.55); color: #f0f4f0; border: 1px solid rgba(255,255,255,0.2); border-radius: 6px; cursor: pointer; } .qwb-video__fs:hover { background: rgba(0,0,0,0.75); } .qwb-video__embed { position: relative; width: 100%; padding-bottom: 56.25%; border-radius: 10px; overflow: hidden; background: #000; border: 1px solid rgba(255,255,255,0.08); } .qwb-video__embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; } /* --- Fullscreen lightbox (photos + videos) ------------------------ */ .qwb-lightbox { position: fixed; inset: 0; z-index: 9999; background: rgba(0, 0, 0, 0.92); display: flex; align-items: center; justify-content: center; padding: 32px; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); animation: qwb-lightbox-in 140ms ease-out; } @keyframes qwb-lightbox-in { from { opacity: 0; } to { opacity: 1; } } .qwb-lightbox__x { position: absolute; top: 14px; right: 18px; font: 700 26px/1 var(--qwb-sans); width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.25); background: rgba(0,0,0,0.6); color: #f0f0f0; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; } .qwb-lightbox__x:hover { background: rgba(255,255,255,0.12); } .qwb-lightbox__stage { max-width: min(96vw, 1400px); max-height: 92vh; display: flex; align-items: center; justify-content: center; } .qwb-lightbox__img, .qwb-lightbox__vid { max-width: 96vw; max-height: 92vh; object-fit: contain; display: block; border-radius: 6px; box-shadow: 0 12px 48px rgba(0,0,0,0.8); } .qwb-lightbox__vid { background: #000; } /* --- MediaUploader control (shared between Photo/Video inspectors) - */ .qwb-upload { display: flex; flex-direction: column; gap: 8px; padding: 8px; border: 1px dashed #2f443a; border-radius: 8px; background: rgba(255,255,255,0.02); } [data-site-theme='paper'] .qwb-upload { border-color: #b89f68; background: rgba(120,100,40,0.05); } .qwb-upload__row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; } .qwb-upload__fn, .qwb-upload__id { font-size: 11px; color: #8ea69a; word-break: break-all; max-width: 100%; } [data-site-theme='paper'] .qwb-upload__fn, [data-site-theme='paper'] .qwb-upload__id { color: #5a5038; } /* Inspector button-item editor card. */ .qwb-insp__btn { display: flex; flex-direction: column; gap: 6px; padding: 10px; margin: 0 0 10px; border: 1px solid #23322b; border-radius: 8px; background: rgba(255,255,255,0.02); } [data-site-theme='paper'] .qwb-insp__btn { background: #fffcf5; border-color: #cab78a; } .qwb-muted { color: #7a8a80; font-size: 13px; margin: 0; padding: 6px 0; } [data-site-theme='paper'] .qwb-muted { color: #6a6050; } /* Options: website access (global vs Qortal group) */ .qwb-fieldset-reset { border: 0; margin: 0; padding: 0; min-width: 0; } .qwb-group-access__modes { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; } /* Published visitor: group-only website gate */ .qwb-group-gate { position: fixed; inset: 0; z-index: 20000; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(10, 12, 11, 0.92); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); } .qwb-group-gate__card { max-width: 28rem; width: 100%; padding: 28px 24px; border-radius: 14px; border: 1px solid rgba(255, 255, 255, 0.12); background: linear-gradient(165deg, #1a2220, #121816); box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45); text-align: center; } .qwb-group-gate[data-site-theme='paper'] .qwb-group-gate__card { background: #fffcf7; border-color: #cab78a; color: #1a2520; } .qwb-group-gate__title { margin: 0 0 14px; font-size: 1.35rem; font-weight: 700; } .qwb-group-gate__body { margin: 0 0 18px; line-height: 1.55; color: #c4d0c8; } .qwb-group-gate[data-site-theme='paper'] .qwb-group-gate__body { color: #3a4540; } .qwb-group-gate__err { font-size: 13px; color: #e88870; margin: -8px 0 16px; } .qwb-group-gate__cta { min-width: 11rem; min-height: 44px; } /* Published visitor: Authenticate (interactive blocks) — always same viewport top-right; above site chrome. */ .qwb-visitor-auth { position: fixed; top: calc(10px + env(safe-area-inset-top, 0px)); right: max(24px, calc(16px + env(safe-area-inset-right, 0px))); z-index: 1200; max-width: min(92vw, 360px); display: flex; flex-direction: column; align-items: flex-end; gap: 8px; pointer-events: none; } /** * Portaled under a non-sticky `HeaderBlockView` — normal flow, full width, does not cover the header. */ .qwb-visitor-auth--in-flow { position: relative; top: auto; right: auto; z-index: 40; max-width: none; width: 100%; align-items: stretch; padding: 8px max(16px, env(safe-area-inset-right, 0px)) 10px max(16px, env(safe-area-inset-left, 0px)); box-sizing: border-box; pointer-events: auto; background: color-mix(in srgb, var(--qwb-bg2, var(--qwb-card)) 92%, transparent); border-bottom: 1px solid var(--qwb-line2, rgba(255, 255, 255, 0.1)); } .qwb-visitor-auth--in-flow .qwb-visitor-auth__top { justify-content: flex-end; } .qwb-visitor-auth--in-flow .qwb-visitor-auth__identity { max-width: min(92vw, 420px); margin-left: auto; } .qwb-block__body > .qwb-visitor-auth__anchor { flex: 0 0 auto; width: 100%; min-width: 0; } .qwb-visitor-auth__top, .qwb-visitor-auth__cart-pop { pointer-events: auto; } .qwb-visitor-auth__top { display: flex; justify-content: flex-end; align-items: center; gap: 8px; flex-wrap: wrap; } .qwb-visitor-auth__signout { flex-shrink: 0; font-size: 12px; padding: 4px 10px; } /** Screen-reader-only label when the bar is avatar-collapsed */ .qwb-visitor-auth__sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } /** Logged-in: after scrolling, show only the avatar (picker / identity stays clickable). */ .qwb-visitor-auth--compact .qwb-visitor-auth__name, .qwb-visitor-auth--compact .qwb-visitor-auth__badge, .qwb-visitor-auth--compact .qwb-visitor-auth__identity-chev { display: none; } .qwb-visitor-auth--compact .qwb-visitor-auth__user.qwb-visitor-auth__ok, .qwb-visitor-auth--compact .qwb-visitor-auth__identity-trigger { max-width: none; padding: 4px; border-radius: 999px; position: relative; } .qwb-visitor-auth--compact .qwb-visitor-auth__identity { max-width: none; } .qwb-visitor-auth--compact .qwb-visitor-auth__av { width: 32px; height: 32px; } .qwb-visitor-auth--compact .qwb-visitor-auth__btn { padding: 5px 10px; font-size: 11px; } .qwb-visitor-auth__btn { font: inherit; font-size: 12px; font-weight: 600; padding: 6px 12px; border-radius: 999px; border: 1px solid #3a5a4a; background: linear-gradient(180deg, #2a3d35, #1a2822); color: #e8f0ec; cursor: pointer; box-shadow: 0 1px 4px rgba(0,0,0,0.35); } .qwb-visitor-auth__btn:hover { filter: brightness(1.08); } .qwb-visitor-auth__ok { display: inline-block; font-size: 12px; padding: 6px 10px; border-radius: 8px; background: rgba(30,50,40,0.55); border: 1px solid #2a4a3a; color: #b8d4c4; } .qwb-visitor-auth__user.qwb-visitor-auth__ok { display: inline-flex; align-items: center; gap: 8px; max-width: min(88vw, 280px); padding-left: 5px; } .qwb-visitor-auth__av { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; flex-shrink: 0; border: 1px solid rgba(255, 255, 255, 0.12); background: rgba(0, 0, 0, 0.2); } .qwb-visitor-auth__name { font-weight: 600; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: inherit; } [data-site-theme='paper'] .qwb-visitor-auth__av { border-color: #b8c8b0; background: #fff; } [data-site-theme='paper'] .qwb-visitor-auth__btn { border-color: #9ab896; background: #f0f5ee; color: #1a2520; box-shadow: 0 1px 2px rgba(0,0,0,0.12); } [data-site-theme='paper'] .qwb-visitor-auth__ok { background: #eef5ea; border-color: #b8c8b0; color: #2a3a32; } .qwb-visitor-auth--admin .qwb-visitor-auth__ok { border-color: #9a7a20; box-shadow: 0 0 0 1px rgba(201, 162, 39, 0.35); } .qwb-visitor-auth--admin .qwb-visitor-auth__av { box-shadow: 0 0 0 2px #c9a227, 0 0 10px rgba(201, 162, 39, 0.45); border-color: #e8c040; } [data-site-theme='paper'] .qwb-visitor-auth--admin .qwb-visitor-auth__av { box-shadow: 0 0 0 2px #c9a227, 0 0 8px rgba(201, 162, 39, 0.35); border-color: #c9a227; } .qwb-visitor-auth__badge { font-size: 10px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; padding: 2px 6px; border-radius: 4px; background: linear-gradient(145deg, #5c4510, #2a1f05); color: #f0e0a0; border: 1px solid #c9a227; flex-shrink: 0; line-height: 1.2; } [data-site-theme='paper'] .qwb-visitor-auth__badge { background: linear-gradient(145deg, #e8d48a, #b89830); color: #2a1e08; border-color: #a88820; } /* Site admin: choose primary vs published site name for QDN peer posts */ .qwb-visitor-auth__identity { position: relative; pointer-events: auto; max-width: min(92vw, 360px); } .qwb-visitor-auth__identity-trigger { font: inherit; cursor: pointer; width: 100%; align-items: center; } .qwb-visitor-auth__identity-trigger:hover { filter: brightness(1.06); } .qwb-visitor-auth__identity-chev { font-size: 9px; opacity: 0.75; flex-shrink: 0; margin-left: -2px; } .qwb-visitor-auth__identity-menu { position: absolute; top: calc(100% + 6px); right: 0; min-width: min(280px, calc(100vw - 32px)); padding: 6px; border-radius: 10px; z-index: 600; background: linear-gradient(180deg, #1e3428, #132418); border: 1px solid #2a5a42; box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45); display: flex; flex-direction: column; gap: 4px; } .qwb-visitor-auth__identity-opt { font: inherit; cursor: pointer; text-align: left; padding: 8px 10px; border-radius: 8px; border: 1px solid transparent; background: rgba(0, 0, 0, 0.2); color: #c8e4d4; display: flex; flex-direction: column; gap: 3px; width: 100%; } .qwb-visitor-auth__identity-opt:hover { background: rgba(40, 90, 60, 0.35); } .qwb-visitor-auth__identity-opt--active { border-color: #4a9a6a; background: rgba(30, 80, 50, 0.45); } .qwb-visitor-auth__identity-opt-l { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; opacity: 0.85; } .qwb-visitor-auth__identity-opt-n { font-size: 13px; font-weight: 600; word-break: break-word; } [data-site-theme='paper'] .qwb-visitor-auth__identity-menu { background: #f6faf7; border-color: #b8c8b0; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); } [data-site-theme='paper'] .qwb-visitor-auth__identity-opt { background: #eef5ea; color: #1a2e22; } [data-site-theme='paper'] .qwb-visitor-auth__identity-opt:hover { background: #e2efe0; } [data-site-theme='paper'] .qwb-visitor-auth__identity-opt--active { border-color: #5a9a6a; background: #dceee0; } /* Sticky cart hint under auth (published visitor, cart has items) */ .qwb-visitor-auth__cart-pop { display: flex; flex-direction: column; align-items: stretch; gap: 8px; padding: 10px 12px; border-radius: 10px; max-width: min(88vw, 280px); background: linear-gradient(180deg, #1e6b3a, #145a30); border: 1px solid #0f4a26; color: #e8f8ee; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35); font-size: 12px; line-height: 1.35; } .qwb-visitor-auth__cart-pop-msg { font-weight: 600; } .qwb-visitor-auth__cart-pop-btn { font: inherit; font-size: 12px; font-weight: 700; padding: 7px 12px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.35); background: rgba(255, 255, 255, 0.95); color: #0d3d1f; cursor: pointer; } .qwb-visitor-auth__cart-pop-btn:hover { filter: brightness(1.05); } [data-site-theme='paper'] .qwb-visitor-auth__cart-pop { background: linear-gradient(180deg, #d8f0e0, #b8e0c8); border-color: #6a9a78; color: #143d22; box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12); } [data-site-theme='paper'] .qwb-visitor-auth__cart-pop-btn { background: #fff; border-color: #5a8a68; color: #0d3d1f; } .qwb-visitor-auth__account-divider { height: 1px; margin: 6px 0; background: rgba(120, 130, 140, 0.28); } .qwb-visitor-auth__account-opt { display: block; width: 100%; text-align: left; padding: 8px 10px; border: none; background: transparent; color: inherit; font-size: 12px; cursor: pointer; border-radius: 6px; } .qwb-visitor-auth__account-opt:hover { background: rgba(124, 184, 140, 0.12); } .qwb-visitor-auth__account-opt--signout { color: #e8a8a8; } .qwb-visitor-auth__account-opt--active { background: rgba(124, 184, 140, 0.18); color: #9fd4ad; font-weight: 600; } /* Published-site soft edit mode */ html.qwb-soft-edit-active { scroll-padding-bottom: 56px; } .qwb-soft-edit-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 12000; pointer-events: auto; padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px)); background: linear-gradient(180deg, rgba(14, 18, 16, 0.92) 0%, rgba(8, 10, 9, 0.98) 100%); border-top: 1px solid rgba(124, 184, 140, 0.35); box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.35); } .qwb-soft-edit-bar__inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; max-width: 960px; margin: 0 auto; } .qwb-soft-edit-bar__label { font-size: 13px; color: #b8dcc4; } .qwb-soft-edit-bar__actions { display: flex; flex-wrap: wrap; gap: 8px; } .qwb-sf__soft-paste { margin: 12px 0 0; padding: 12px; border-radius: 10px; border: 1px dashed rgba(124, 184, 140, 0.45); background: rgba(124, 184, 140, 0.06); } .qwb-sf__soft-paste .qwb-input--area { width: 100%; margin: 8px 0; } .qwb-visitor-auth__identity-trigger { cursor: pointer; } .qwb-visitor-notif { pointer-events: auto; width: min(92vw, 320px); border-radius: 10px; border: 1px solid rgba(124, 184, 140, 0.35); background: linear-gradient(180deg, rgba(22, 32, 28, 0.97) 0%, rgba(14, 18, 16, 0.98) 100%); box-shadow: 0 10px 28px rgba(0, 0, 0, 0.42); overflow: hidden; animation: qwb-visitor-notif-in 0.32s cubic-bezier(0.22, 1, 0.36, 1) both; } @keyframes qwb-visitor-notif-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } } .qwb-visitor-notif__bar { display: flex; align-items: center; gap: 6px; padding: 8px 8px 8px 10px; } .qwb-visitor-notif__summary { flex: 1; display: flex; align-items: center; gap: 8px; min-width: 0; padding: 0; border: none; background: none; color: #dce8e2; font-size: 12px; font-weight: 600; text-align: left; cursor: pointer; } .qwb-visitor-notif__dot { flex-shrink: 0; width: 8px; height: 8px; border-radius: 999px; background: #c9a227; box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.25); animation: qwb-visitor-notif-pulse 1.2s ease-in-out infinite; } @keyframes qwb-visitor-notif-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.45; } } .qwb-visitor-notif__dismiss { flex-shrink: 0; width: 28px; height: 28px; border: none; border-radius: 6px; background: rgba(255, 255, 255, 0.06); color: #a8c2b5; font-size: 18px; line-height: 1; cursor: pointer; } .qwb-visitor-notif__dismiss:hover { background: rgba(255, 255, 255, 0.12); color: #fff; } .qwb-visitor-notif__list { list-style: none; margin: 0; padding: 0 8px 8px; border-top: 1px solid rgba(120, 130, 140, 0.22); max-height: min(40vh, 280px); overflow-y: auto; } .qwb-visitor-notif__item { padding: 8px 4px; border-bottom: 1px dashed rgba(100, 120, 100, 0.22); } .qwb-visitor-notif__item:last-child { border-bottom: none; } .qwb-visitor-notif__item-head { display: flex; flex-direction: column; gap: 2px; margin-bottom: 6px; } .qwb-visitor-notif__item-label { font-size: 11px; font-weight: 700; color: #7cb88c; text-transform: uppercase; letter-spacing: 0.04em; } .qwb-visitor-notif__item-sum { font-size: 12px; color: #dce8e2; } .qwb-visitor-notif__avatars { display: flex; flex-wrap: wrap; gap: 6px; } .qwb-visitor-notif__av-btn { display: inline-flex; align-items: center; gap: 6px; padding: 4px 6px 4px 4px; border: 1px solid rgba(120, 130, 140, 0.28); border-radius: 999px; background: rgba(255, 255, 255, 0.04); cursor: pointer; max-width: 100%; } .qwb-visitor-notif__av-btn:hover { border-color: rgba(201, 162, 39, 0.55); box-shadow: 0 0 0 1px rgba(201, 162, 39, 0.25); } .qwb-visitor-notif__av { border-radius: 50%; flex-shrink: 0; } .qwb-visitor-notif__av-name { font-size: 11px; font-weight: 600; color: #dce8e2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 120px; } [data-site-theme='paper'] .qwb-visitor-notif { background: linear-gradient(180deg, rgba(252, 250, 244, 0.98) 0%, rgba(244, 240, 230, 0.98) 100%); border-color: rgba(90, 74, 36, 0.22); } [data-site-theme='paper'] .qwb-visitor-notif__summary, [data-site-theme='paper'] .qwb-visitor-notif__item-sum, [data-site-theme='paper'] .qwb-visitor-notif__av-name { color: #2d3420; } [data-site-theme='paper'] .qwb-visitor-notif__item-label { color: #5a4a24; } .qwb-forum__topic.is-highlight { border-radius: 10px; animation: qwb-forum-reply-highlight 2.4s ease-out; } .qwb-com__item.is-highlight { border-radius: 10px; animation: qwb-forum-reply-highlight 2.4s ease-out; } .qwb-poll__avatars .is-highlight { border-radius: 999px; animation: qwb-forum-reply-highlight 2.4s ease-out; display: inline-flex; padding: 2px; } /* Gold ring: site admin / publisher on content rows */ .qwb-identity--site-admin .qwb-com__av, .qwb-identity--site-admin .qwb-forum__av { box-shadow: 0 0 0 2px #c9a227, 0 0 8px rgba(201, 162, 39, 0.35); } .qwb-identity--site-admin .qwb-com__who, .qwb-identity--site-admin .qwb-forum__who, .qwb-identity--site-admin .qwb-forum__archive-who { display: inline-block; border-radius: 4px; box-shadow: 0 0 0 1px #c9a227, 0 0 0 3px rgba(201, 162, 39, 0.2); padding: 0 5px 1px; } .qwb-identity--inline.qwb-identity--site-admin { display: inline-block; } .qwb-identity--inline.qwb-identity--site-admin .qwb-poll__av { box-shadow: 0 0 0 2px #c9a227, 0 0 8px rgba(201, 162, 39, 0.4); border-radius: 50%; border: 1px solid rgba(201, 162, 39, 0.6); } /* Comments & poll (interactive) */ .qwb-com, .qwb-poll { padding: 8px 0 16px; } .qwb-com__h, .qwb-poll__h { margin: 0 0 8px; font-size: 1.4rem; } .qwb-poll__h-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; } .qwb-poll__h-row .qwb-poll__h { margin: 0; flex: 1; min-width: 0; } .qwb-peer-qdn-refresh { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border-radius: 50%; border: 1px solid #3daa7e; background: rgba(61, 168, 126, 0.22); color: #7bedb8; cursor: pointer; box-sizing: border-box; } .qwb-peer-qdn-refresh__svg { display: block; } .qwb-peer-qdn-refresh:hover:not(:disabled) { background: rgba(61, 168, 126, 0.38); color: #b8ffe6; } .qwb-peer-qdn-refresh:disabled { opacity: 0.55; cursor: not-allowed; } [data-site-theme='paper'] .qwb-peer-qdn-refresh { border-color: #2a9d5c; background: rgba(45, 184, 103, 0.18); color: #158a48; } [data-site-theme='paper'] .qwb-peer-qdn-refresh:hover:not(:disabled) { background: rgba(45, 184, 103, 0.3); color: #0f6b36; } /* Optimistic peer content: dim until QDN sync returns the resource */ .qwb-peer-pending { opacity: 0.68; transition: opacity 0.35s ease; } [data-site-theme='paper'] .qwb-peer-pending { opacity: 0.72; } .qwb-peer-qdn-spinner { display: inline-flex; align-items: center; justify-content: center; vertical-align: middle; flex-shrink: 0; } .qwb-peer-qdn-spinner__ring { display: block; width: 15px; height: 15px; border: 2px solid rgba(120, 200, 160, 0.28); border-top-color: #6bdda8; border-radius: 50%; animation: qwb-peer-qdn-spin 0.65s linear infinite; } .qwb-peer-qdn-spinner--sm .qwb-peer-qdn-spinner__ring { width: 12px; height: 12px; border-width: 2px; } [data-site-theme='paper'] .qwb-peer-qdn-spinner__ring { border-color: rgba(30, 120, 70, 0.22); border-top-color: #1e8a4a; } @keyframes qwb-peer-qdn-spin { to { transform: rotate(360deg); } } .qwb-forum__meta .qwb-peer-qdn-spinner { margin-left: 4px; } .qwb-poll__av-wrap { position: relative; display: inline-flex; vertical-align: middle; } .qwb-poll__av-pending-dim { display: inline-flex; opacity: 0.62; transition: opacity 0.35s ease; } .qwb-poll__av-pending-badge { position: absolute; right: -4px; bottom: -4px; width: 16px; height: 16px; display: flex; align-items: center; justify-content: center; background: rgba(14, 22, 18, 0.92); border-radius: 50%; box-shadow: 0 0 0 1px rgba(100, 200, 150, 0.45); pointer-events: none; } [data-site-theme='paper'] .qwb-poll__av-pending-badge { background: rgba(250, 248, 240, 0.95); box-shadow: 0 0 0 1px rgba(40, 120, 70, 0.35); } .qwb-poll__av-pending-badge .qwb-peer-qdn-spinner__ring { width: 9px; height: 9px; border-width: 1.5px; } .qwb-com__form { display: flex; flex-direction: column; gap: 8px; margin: 12px 0; } .qwb-com__ta { min-height: 80px; resize: vertical; } .qwb-com__gate, .qwb-poll__gate { font-size: 13px; color: #8a9a92; } .qwb-com__item { border: 1px solid #2a3a32; border-radius: 10px; padding: 12px; margin: 0 0 10px; background: rgba(0,0,0,0.12); } [data-site-theme='paper'] .qwb-com__item { background: #faf8f0; border-color: #c8bfa8; } .qwb-com__meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 13px; } .qwb-com__av { border-radius: 50%; object-fit: cover; background: #1a1e1a; } .qwb-com__who { font-weight: 600; } .qwb-com__time { opacity: 0.75; } .qwb-com__body { margin: 10px 0 0; white-space: pre-wrap; } .qwb-com__self-tools, .qwb-forum__self-tools { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; } .qwb-forum__self-tools--reply { margin-top: 6px; } .qwb-com__self-edit { margin-top: 10px; } .qwb-forum__self-edit { margin-top: 10px; display: flex; flex-direction: column; gap: 8px; } .qwb-forum__self-edit-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .qwb-peer-edited { display: inline-block; margin-left: 6px; font-size: 11px; font-weight: 500; font-style: italic; opacity: 0.62; } [data-site-theme='paper'] .qwb-peer-edited { opacity: 0.55; color: #5c5648; } .qwb-com__mod, .qwb-poll__mod { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; } .qwb-poll__opt { border: 1px solid #2a3a32; border-radius: 10px; padding: 10px; margin: 0 0 10px; background: rgba(0,0,0,0.1); } [data-site-theme='paper'] .qwb-poll__opt { border-color: #c8bfa8; background: #faf8f0; } .qwb-poll__opt-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; } .qwb-poll__opt-label-row { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; } .qwb-poll__opt-name-av { border-radius: 50%; object-fit: cover; border: 1px solid #3a4a40; flex-shrink: 0; } [data-site-theme='paper'] .qwb-poll__opt-name-av { border-color: #c8bfa8; } .qwb-poll__view-switch { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 12px 0 6px; } .qwb-poll__view-switch-l { font-size: 13px; } .qwb-poll__multi-note, .qwb-poll__restrict { margin: 8px 0 10px; font-size: 13px; } .qwb-poll__seg { display: inline-flex; border-radius: 8px; overflow: hidden; border: 1px solid #3a4a40; } [data-site-theme='paper'] .qwb-poll__seg { border-color: #c8bfa8; } .qwb-poll__seg-btn { margin: 0; padding: 6px 12px; font-size: 13px; border: none; background: transparent; color: inherit; cursor: pointer; } .qwb-poll__seg-btn + .qwb-poll__seg-btn { border-left: 1px solid #3a4a40; } [data-site-theme='paper'] .qwb-poll__seg-btn + .qwb-poll__seg-btn { border-left-color: #c8bfa8; } .qwb-poll__seg-btn--on { background: rgba(61, 168, 126, 0.22); font-weight: 600; } [data-site-theme='paper'] .qwb-poll__seg-btn--on { background: rgba(45, 184, 103, 0.18); } .qwb-poll__seg--wrap { flex-wrap: wrap; max-width: 100%; } .qwb-poll__seg-btn--narrow { padding-left: 8px; padding-right: 8px; } .qwb-poll__opt-body { display: flex; align-items: stretch; gap: 12px; } .qwb-poll__opt--chart-pillars .qwb-poll__opt-body, .qwb-poll__opt--chart-circular .qwb-poll__opt-body { align-items: flex-start; } .qwb-poll__opt-main { flex: 1; min-width: 0; } .qwb-poll__pillar { flex-shrink: 0; width: 22px; align-self: stretch; border-radius: 8px; background: rgba(80, 100, 90, 0.25); display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; } [data-site-theme='paper'] .qwb-poll__pillar { background: #e4e2d4; } .qwb-poll__pillar-fill { width: 100%; border-radius: 8px 8px 2px 2px; min-height: 2px; background: linear-gradient(180deg, #5a9a7a, #3a6a5a); transition: height 0.25s ease; } [data-site-theme='paper'] .qwb-poll__pillar-fill { background: linear-gradient(180deg, #5aac7e, #3d8a62); } .qwb-poll__donut-wrap { position: relative; flex-shrink: 0; width: 72px; height: 72px; } .qwb-poll__donut-svg { display: block; width: 72px; height: 72px; } .qwb-poll__donut-bg { stroke: rgba(80, 100, 90, 0.35); } [data-site-theme='paper'] .qwb-poll__donut-bg { stroke: #d8d4c4; } .qwb-poll__donut-arc { stroke: #5a9a7a; } [data-site-theme='paper'] .qwb-poll__donut-arc { stroke: #3d9a68; } .qwb-poll__donut-pct { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -52%); font-size: 13px; font-weight: 700; line-height: 1; pointer-events: none; } .qwb-poll__opts--cols { display: grid; gap: 10px; align-items: stretch; } @media (max-width: 639px) { .qwb-poll__opts--cols { grid-template-columns: minmax(0, 1fr) !important; } } @media (min-width: 640px) { .qwb-poll__opts--cols.qwb-poll__opts--cols2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .qwb-poll__opts--cols.qwb-poll__opts--cols3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .qwb-poll__opts--cols.qwb-poll__opts--cols4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } } .qwb-poll__bar { height: 10px; border-radius: 6px; background: rgba(80,100,90,0.25); margin: 8px 0; overflow: hidden; } .qwb-poll__bar-fill { height: 100%; border-radius: 6px; background: linear-gradient(90deg, #3a6a5a, #5a9a7a); transition: width 0.25s ease; } [data-site-theme='paper'] .qwb-poll__bar { background: #e4e2d4; } .qwb-poll__avatars { display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0; align-items: center; } .qwb-poll__avatars-wrap { margin: 6px 0; } .qwb-poll__vis-note { margin: 6px 0 0; font-size: 13px; } .qwb-poll__voters-expand { flex-shrink: 0; margin-left: 4px; } .qwb-poll__av { border-radius: 50%; object-fit: cover; border: 1px solid #3a4a40; } button.qwb-poll__av-btn { padding: 0; border: none; background: transparent; cursor: pointer; border-radius: 50%; line-height: 0; vertical-align: middle; } button.qwb-poll__av-btn:focus-visible { outline: 2px solid rgba(61, 168, 126, 0.85); outline-offset: 2px; } [data-site-theme='paper'] button.qwb-poll__av-btn:focus-visible { outline-color: rgba(45, 184, 103, 0.85); } .qwb-poll__mod-backdrop { position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(0, 0, 0, 0.5); } .qwb-poll__mod-dialog { max-width: 420px; width: 100%; padding: 18px 20px; border-radius: 12px; border: 1px solid #3a4a40; background: #1a2520; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35); } [data-site-theme='paper'] .qwb-poll__mod-dialog { border-color: #c8bfa8; background: #faf8f0; } .qwb-poll__mod-dialog-h { margin: 0 0 10px; font-size: 1.1rem; } .qwb-poll__mod-dialog-name { margin: 0 0 6px; font-weight: 600; } .qwb-poll__mod-dialog-addr { display: block; margin-bottom: 10px; word-break: break-all; } .qwb-poll__mod-dialog-note { margin: 0 0 14px; font-size: 13px; } .qwb-poll__mod-dialog-actions { display: flex; flex-wrap: wrap; gap: 8px; } .qwb-poll__restore-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; } .qwb-poll__vote { margin-top: 8px; } .qwb-btn--sm { font-size: 12px; padding: 4px 8px; } /* Poll block — inspector (Qortal name options) */ .qwb-insp__poll-opt-heading { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; } .qwb-insp__poll-opt { margin-bottom: 12px; } .qwb-insp__poll-opt-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; } .qwb-insp__poll-opt-row .qwb-field--inline { display: flex; align-items: center; gap: 6px; margin: 0; flex-shrink: 0; } .qwb-insp__poll-opt-row .qwb-field--inline .qwb-field__l { margin: 0; font-size: 12px; white-space: nowrap; } .qwb-insp__poll-kind { min-width: 9rem; flex-shrink: 0; } .qwb-insp__poll-label { flex: 1 1 160px; min-width: 0; } .qwb-insp__poll-opt-av { border-radius: 50%; object-fit: cover; border: 1px solid #3a4a40; flex-shrink: 0; } [data-site-theme='paper'] .qwb-insp__poll-opt-av { border-color: #c8bfa8; } .qwb-insp__poll-opt-av-placeholder { width: 28px; height: 28px; flex-shrink: 0; } .qwb-insp__poll-resolved { margin: 4px 0 0; font-size: 12px; } /* Forum (interactive) */ .qwb-forum { padding: 8px 0 16px; } .qwb-forum__h { margin: 0 0 8px; font-size: 1.4rem; } .qwb-forum__h-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; } .qwb-forum__h-row .qwb-forum__h { margin: 0; flex: 1; min-width: 0; } .qwb-forum__new { display: flex; flex-direction: column; gap: 8px; margin: 12px 0; padding: 12px; border: 1px solid #2a3a32; border-radius: 10px; background: rgba(0,0,0,0.08); } [data-site-theme='paper'] .qwb-forum__new { border-color: #c8bfa8; background: #faf8f0; } .qwb-forum__new-h { font-weight: 600; font-size: 14px; } .qwb-forum__new-body { min-height: 80px; resize: vertical; } .qwb-forum__gate, .qwb-forum__note { font-size: 13px; color: #8a9a92; margin: 8px 0; } .qwb-forum__topic { border: 1px solid #2a3a32; border-radius: 10px; padding: 12px; margin: 0 0 12px; background: rgba(0,0,0,0.1); } [data-site-theme='paper'] .qwb-forum__topic { background: #faf8f0; border-color: #c8bfa8; } .qwb-forum__topic-row { display: flex; gap: 12px; align-items: flex-start; } .qwb-forum__topic-row--reply { margin-top: 0; } .qwb-forum__vote { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 36px; } .qwb-forum__vote--sm { min-width: 32px; } .qwb-forum__vbtn { font: inherit; line-height: 1; padding: 2px 6px; border-radius: 4px; border: 1px solid #4a5a50; background: rgba(0,0,0,0.2); color: inherit; cursor: pointer; } .qwb-forum__vbtn.is-on { background: rgba(100, 160, 120, 0.35); border-color: #6a9a7a; } .qwb-forum__vnum { font-size: 14px; font-weight: 600; min-width: 1.5em; text-align: center; } .qwb-forum__vnum-wrap { display: inline-flex; align-items: center; justify-content: center; gap: 4px; } .qwb-forum__vnum--ro { margin-right: 8px; } .qwb-forum__title { margin: 0 0 8px; font-size: 1.15rem; } .qwb-forum__text { margin: 0 0 8px; white-space: pre-wrap; } .qwb-forum__topic-main { flex: 1; min-width: 0; } .qwb-forum__meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 13px; } .qwb-forum__av { border-radius: 50%; object-fit: cover; background: #1a1e1a; } .qwb-forum__who { font-weight: 600; } .qwb-forum__time { opacity: 0.75; } .qwb-forum__mod { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; } .qwb-forum__mod--reply { margin: 6px 0 0; } .qwb-forum__replies { list-style: none; margin: 10px 0 0; padding: 0 0 0 8px; border-left: 2px solid rgba(100,120,100,0.4); } .qwb-forum__replies--nested { margin-top: 8px; border-left-color: rgba(100,120,100,0.28); } .qwb-forum__reply { margin: 0 0 10px; } .qwb-forum__reply-main { flex: 1; min-width: 0; } .qwb-forum__reply.is-highlight { border-radius: 8px; animation: qwb-forum-reply-highlight 2.4s ease-out; } @keyframes qwb-forum-reply-highlight { 0%, 18% { box-shadow: inset 0 0 0 2px #c9a227, 0 0 14px rgba(201, 162, 39, 0.35); background: rgba(201, 162, 39, 0.14); } 100% { box-shadow: none; background: transparent; } } .qwb-forum__replies-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0 0; } .qwb-forum__replies-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0 0; } .qwb-forum__replies-row .qwb-forum__replies-bar { margin: 0; } .qwb-forum__reply-open--inline { margin-top: 0; flex-shrink: 0; } .qwb-forum__replies-toggle { flex-shrink: 0; padding: 4px 10px; font-size: 12px; font-weight: 600; letter-spacing: 0.02em; color: #b8dcc8; background: rgba(30, 48, 38, 0.55); border: 1px solid rgba(124, 184, 140, 0.32); border-radius: 999px; cursor: pointer; transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease; } .qwb-forum__replies-toggle:hover { border-color: rgba(124, 184, 140, 0.55); background: rgba(40, 62, 48, 0.65); } .qwb-forum__replies-toggle.is-open { color: #2d3420; background: linear-gradient(180deg, #e8d48a 0%, #c9a227 100%); border-color: #c9a227; box-shadow: 0 0 0 2px rgba(201, 162, 39, 0.25); } .qwb-forum__replies-previews { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; } .qwb-forum__replies-preview-btn { display: inline-flex; padding: 0; margin: 0; border: none; background: none; border-radius: 50%; cursor: pointer; line-height: 0; transition: transform 0.15s ease, box-shadow 0.15s ease; } .qwb-forum__replies-preview-btn:hover { transform: translateY(-1px); box-shadow: 0 0 0 2px rgba(201, 162, 39, 0.65); } .qwb-forum__av--preview { display: block; } .qwb-forum__replyform--nested { margin-top: 8px; padding-top: 6px; border-top: 1px dashed rgba(100, 120, 100, 0.28); } [data-site-theme='paper'] .qwb-forum__replies-toggle { color: #4a5a42; background: rgba(244, 240, 230, 0.95); border-color: rgba(90, 74, 36, 0.22); } [data-site-theme='paper'] .qwb-forum__replies-toggle.is-open { color: #2d3420; background: linear-gradient(180deg, #f0e4b8 0%, #d4b84a 100%); border-color: #c9a227; } [data-site-theme='paper'] .qwb-forum__reply.is-highlight { animation: qwb-forum-reply-highlight-paper 2.4s ease-out; } @keyframes qwb-forum-reply-highlight-paper { 0%, 18% { box-shadow: inset 0 0 0 2px #c9a227, 0 0 10px rgba(201, 162, 39, 0.28); background: rgba(201, 162, 39, 0.12); } 100% { box-shadow: none; background: transparent; } } .qwb-forum__reply-t { margin: 0; white-space: pre-wrap; } .qwb-forum__replyform { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; } .qwb-forum__replyform-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; } .qwb-forum__reply-open { margin-top: 8px; } .qwb-forum__archive { margin-top: 16px; padding-top: 12px; border-top: 1px solid rgba(124, 184, 140, 0.18); } .qwb-forum__archive-h { font-size: 12px; font-weight: 600; margin-bottom: 8px; } .qwb-forum__archive-avatars { margin-bottom: 10px; } .qwb-forum__archive-hint { margin: 0; font-size: 12px; line-height: 1.45; } .qwb-forum__archive-av-btn { border: none; background: transparent; padding: 0; cursor: pointer; border-radius: 999px; } .qwb-forum__archive-av-btn.is-active { box-shadow: 0 0 0 2px #c9a227; } .qwb-forum__archive-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; } .qwb-forum__archive-item { border: 1px solid rgba(124, 184, 140, 0.16); border-radius: 8px; overflow: hidden; } .qwb-forum__archive-toggle { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; width: 100%; padding: 10px 12px; border: none; background: rgba(20, 28, 24, 0.55); color: inherit; font: inherit; text-align: left; cursor: pointer; } .qwb-forum__archive-toggle:hover { background: rgba(30, 40, 34, 0.72); } .qwb-forum__archive-kind { font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #c9a227; } .qwb-forum__archive-who-row { display: inline-flex; align-items: center; gap: 6px; min-width: 0; } .qwb-forum__archive-who { font-weight: 600; font-size: 13px; } .qwb-forum__archive-sum { flex: 1 1 160px; font-size: 13px; color: #a8b8b0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .qwb-forum__archive-dates { flex-basis: 100%; font-size: 11px; color: #7a8a82; } .qwb-forum__archive-body { padding: 10px 12px 12px; border-top: 1px solid rgba(124, 184, 140, 0.12); } .qwb-forum__archive-title { margin: 0 0 8px; font-size: 15px; } [data-site-theme='paper'] .qwb-forum__archive-item { border-color: rgba(90, 74, 36, 0.18); } [data-site-theme='paper'] .qwb-forum__archive-toggle { background: rgba(244, 240, 230, 0.65); } [data-site-theme='paper'] .qwb-forum__archive-toggle:hover { background: rgba(236, 230, 216, 0.92); } [data-site-theme='paper'] .qwb-forum__archive-sum { color: #5a6a52; } [data-site-theme='paper'] .qwb-forum__archive-dates { color: #6a7a62; } .qwb-forum__lab { font-size: 12px; color: #8a9a92; } .qwb-peer-editor-stat { margin: 10px 0 0; padding: 8px 10px; font-size: 12px; font-weight: 600; color: #a8c2b5; background: rgba(30, 60, 40, 0.35); border: 1px solid rgba(124, 184, 140, 0.28); border-radius: 6px; } [data-site-theme='paper'] .qwb-peer-editor-stat { color: #4a5a42; background: rgba(244, 240, 230, 0.92); border-color: rgba(90, 74, 36, 0.22); } .qwb-forum__hint { font-size: 12px; margin-top: 8px; } .qwb-forum__file { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } .qwb-forum__soft-folders { margin: 12px 0 10px; padding: 12px; border-radius: 10px; border: 1px dashed rgba(124, 184, 140, 0.45); background: rgba(124, 184, 140, 0.06); } .qwb-forum__soft-folders-l { margin: 0 0 4px; font-size: 13px; font-weight: 650; color: #b8dcc4; } .qwb-forum__soft-folders-tip { margin: 0 0 10px; font-size: 12px; line-height: 1.45; } .qwb-forum__folders { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 6px; align-items: center; } .qwb-forum__folder { font: inherit; font-size: 13px; padding: 6px 12px; border-radius: 999px; border: 1px solid #3a4a42; background: rgba(0,0,0,0.12); color: inherit; cursor: pointer; line-height: 1.2; } .qwb-forum__folder.is-active { background: rgba(100, 160, 120, 0.35); border-color: #5a8a6a; font-weight: 600; } [data-site-theme='paper'] .qwb-forum__folder { border-color: #b8a888; background: #f0ebe0; } .qwb-forum__folder-pick { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: #8a9a92; } .qwb-forum__rte-wrap { display: flex; flex-direction: column; gap: 4px; } .qwb-forum__rte-bar { display: flex; align-items: center; gap: 8px; } .qwb-forum__rte.qwb-rte { min-height: 100px; } .qwb-forum__rte--reply.qwb-rte { min-height: 72px; } .qwb-forum__body--html { margin: 0 0 8px; } .qwb-forum__reply-t.qwb-forum__body--html { margin: 0 0 6px; } /* Forum / comments: images respect inline float & width from the rich text editor. */ .qwb-peer-html { overflow: auto; } .qwb-peer-html::after { content: ''; display: table; clear: both; } .qwb-peer-html img { max-width: 100%; height: auto; box-sizing: border-box; border-radius: 6px; vertical-align: middle; cursor: zoom-in; } .qwb-peer-html img.qwb-peer-html__img--loading { cursor: default; display: inline-block; min-height: clamp(72px, 18vh, 220px); min-width: clamp(120px, 42%, 380px); object-fit: contain; object-position: center center; background-color: rgba(80, 105, 92, 0.12); background-image: linear-gradient( 110deg, rgba(80, 105, 92, 0) 0%, rgba(80, 105, 92, 0.18) 45%, rgba(80, 105, 92, 0) 90% ); background-size: 200% 100%; animation: qwb-peer-html-img-loading 1.15s ease-in-out infinite; border: 1px dashed rgba(80, 115, 96, 0.45); } [data-site-theme='paper'] .qwb-peer-html img.qwb-peer-html__img--loading { background-color: rgba(165, 148, 118, 0.15); background-image: linear-gradient( 110deg, rgba(165, 148, 118, 0) 0%, rgba(165, 148, 118, 0.28) 45%, rgba(165, 148, 118, 0) 90% ); border-color: rgba(150, 132, 104, 0.5); } @keyframes qwb-peer-html-img-loading { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } } .qwb-forum__body--html img:not([style*='float']):not([style*='Float']) { display: block; margin: 6px 0; } .qwb-forum__body--html img[style*='float: left'], .qwb-forum__body--html img[style*='float:left'] { margin: 4px 14px 8px 0; } .qwb-forum__body--html img[style*='float: right'], .qwb-forum__body--html img[style*='float:right'] { margin: 4px 0 8px 14px; } .qwb-forum__folder-tag { display: inline-block; margin-left: 8px; font-size: 12px; font-weight: 500; padding: 2px 8px; border-radius: 6px; background: rgba(100, 130, 110, 0.25); vertical-align: middle; } .qwb-forum__restore { margin: 12px 0; padding: 10px 12px; border-radius: 8px; border: 1px dashed #4a5a50; background: rgba(0,0,0,0.06); } [data-site-theme='paper'] .qwb-forum__restore { border-color: #b8a888; background: #faf6ea; } .qwb-forum__restore-h { font-size: 13px; font-weight: 600; margin: 0 0 6px; } .qwb-forum__restore-list { list-style: none; margin: 0; padding: 0; font-size: 12px; } .qwb-forum__restore-list li { margin: 0 0 6px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; } .qwb-forum__restore-tip { font-size: 11px; margin: 8px 0 0; } .qwb-forum__admin-foot { margin-top: 14px; padding-top: 10px; border-top: 1px solid #3a4a40; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; } [data-site-theme='paper'] .qwb-forum__admin-foot { border-top-color: #c8bfa8; } .qwb-forum__admin-foot-grp { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; } .qwb-forum__admin-foot-lbl { font-size: 11px; color: #8a9a92; margin-right: 2px; text-transform: uppercase; letter-spacing: 0.03em; } [data-site-theme='paper'] .qwb-forum__admin-foot-lbl { color: #6a6658; } .qwb-forum__icon-btn { font-size: 13px; line-height: 1; padding: 3px 6px; min-width: 26px; min-height: 26px; border-radius: 6px; border: 1px solid #3a4a40; background: rgba(0, 0, 0, 0.12); cursor: pointer; } [data-site-theme='paper'] .qwb-forum__icon-btn { border-color: #c8bfa8; background: #f0ebe0; } .qwb-forum__icon-btn:disabled { opacity: 0.45; cursor: not-allowed; } .qwb-forum__icon-btn--legacy { opacity: 0.92; border-style: dashed; } .qwb-peer-blocked-strip { margin-top: 14px; padding-top: 10px; border-top: 1px solid rgba(58, 74, 64, 0.55); } [data-site-theme='paper'] .qwb-peer-blocked-strip { border-top-color: #d4cbb4; } .qwb-peer-blocked-strip__lbl { font-size: 12px; margin-bottom: 8px; } .qwb-peer-blocked-strip__avatars { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .qwb-peer-blocked-strip__cell { display: inline-flex; cursor: default; border-radius: 50%; line-height: 0; } .qwb-peer-blocked-strip__cell--named { align-items: center; gap: 8px; border-radius: 999px; padding: 3px 12px 3px 4px; line-height: 1.2; background: rgba(0, 0, 0, 0.07); border: 1px solid rgba(58, 74, 64, 0.35); } [data-site-theme='paper'] .qwb-peer-blocked-strip__cell--named { background: #efe9dc; border-color: #c8bfa8; } .qwb-peer-blocked-strip__name { font-size: 12px; font-weight: 600; max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .qwb-peer-blocked-strip--forum-admin { margin-top: 10px; } .qwb-peer-blocked-strip__avatars--ban .qwb-peer-blocked-strip__cell { border-radius: 50%; } .qwb-peer-blocked-strip__av { border-radius: 50%; object-fit: cover; border: 1px solid #3a4a40; display: block; } [data-site-theme='paper'] .qwb-peer-blocked-strip__av { border-color: #c8bfa8; } .qwb-peer-blocked-strip__av-fallback { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; border: 1px dashed #5a6a60; font-size: 11px; font-weight: 600; color: #8a9a92; background: rgba(0, 0, 0, 0.08); } [data-site-theme='paper'] .qwb-peer-blocked-strip__av-fallback { border-color: #b8a888; background: #efe9dc; color: #6a6658; } .qwb-mono-sm { font-family: ui-monospace, monospace; font-size: 11px; word-break: break-all; } .qwb-com__body--html { margin: 0.5em 0 0; } .qwb-com__body--html.qwb-peer-html { white-space: normal; } .qwb-com__body--html img:not([style*='float']):not([style*='Float']) { display: block; margin: 6px 0; } .qwb-com__body--html img[style*='float: left'], .qwb-com__body--html img[style*='float:left'] { margin: 4px 14px 8px 0; } .qwb-com__body--html img[style*='float: right'], .qwb-com__body--html img[style*='float:right'] { margin: 4px 0 8px 14px; } /* Comments / forum: sanitized peer HTML — inline paste colors must not break theme contrast. */ [data-site-theme='slate'] .qwb-com__body--html.qwb-peer-html, [data-site-theme='slate'] .qwb-com__body--html.qwb-peer-html *:not(a):not(img):not(video) { color: #dce8e2 !important; } [data-site-theme='slate'] .qwb-com__body--html.qwb-peer-html a, [data-site-theme='slate'] .qwb-com__body--html.qwb-peer-html a * { color: #7ec8ff !important; } [data-site-theme='paper'] .qwb-com__body--html.qwb-peer-html, [data-site-theme='paper'] .qwb-com__body--html.qwb-peer-html *:not(a):not(img):not(video) { color: #2a2820 !important; } [data-site-theme='paper'] .qwb-com__body--html.qwb-peer-html a, [data-site-theme='paper'] .qwb-com__body--html.qwb-peer-html a * { color: #0b57d0 !important; } [data-site-theme='slate'] .qwb-forum__body--html.qwb-peer-html, [data-site-theme='slate'] .qwb-forum__body--html.qwb-peer-html *:not(a):not(img):not(video) { color: #dce8e2 !important; } [data-site-theme='slate'] .qwb-forum__body--html.qwb-peer-html a, [data-site-theme='slate'] .qwb-forum__body--html.qwb-peer-html a * { color: #7ec8ff !important; } [data-site-theme='paper'] .qwb-forum__body--html.qwb-peer-html, [data-site-theme='paper'] .qwb-forum__body--html.qwb-peer-html *:not(a):not(img):not(video) { color: #2a2820 !important; } [data-site-theme='paper'] .qwb-forum__body--html.qwb-peer-html a, [data-site-theme='paper'] .qwb-forum__body--html.qwb-peer-html a * { color: #0b57d0 !important; } /* Published canvas: sanitized HTML matches editor/theme contrast (editor uses .qwb-editable--html rules). */ [data-site-theme='slate'] .qwb-canvas--public .qwb-peer-html, [data-site-theme='slate'] .qwb-canvas--public .qwb-peer-html *:not(a):not(img):not(video), [data-site-theme='forest'] .qwb-canvas--public .qwb-peer-html, [data-site-theme='forest'] .qwb-canvas--public .qwb-peer-html *:not(a):not(img):not(video) { color: #e8f0eb !important; } [data-site-theme='slate'] .qwb-canvas--public .qwb-peer-html a, [data-site-theme='slate'] .qwb-canvas--public .qwb-peer-html a *, [data-site-theme='forest'] .qwb-canvas--public .qwb-peer-html a, [data-site-theme='forest'] .qwb-canvas--public .qwb-peer-html a * { color: #6eb4ff !important; } [data-site-theme='slate'] .qwb-canvas--public .qwb-block--chrome-paper .qwb-peer-html, [data-site-theme='slate'] .qwb-canvas--public .qwb-block--chrome-paper .qwb-peer-html *:not(a):not(img):not(video), [data-site-theme='forest'] .qwb-canvas--public .qwb-block--chrome-paper .qwb-peer-html, [data-site-theme='forest'] .qwb-canvas--public .qwb-block--chrome-paper .qwb-peer-html *:not(a):not(img):not(video) { color: #2b2410 !important; } [data-site-theme='slate'] .qwb-canvas--public .qwb-block--chrome-paper .qwb-peer-html a, [data-site-theme='slate'] .qwb-canvas--public .qwb-block--chrome-paper .qwb-peer-html a *, [data-site-theme='forest'] .qwb-canvas--public .qwb-block--chrome-paper .qwb-peer-html a, [data-site-theme='forest'] .qwb-canvas--public .qwb-block--chrome-paper .qwb-peer-html a * { color: #0b57d0 !important; } [data-site-theme='slate'] .qwb-canvas--public .qwb-block--chrome-sunset .qwb-peer-html, [data-site-theme='slate'] .qwb-canvas--public .qwb-block--chrome-sunset .qwb-peer-html *:not(a):not(img):not(video), [data-site-theme='forest'] .qwb-canvas--public .qwb-block--chrome-sunset .qwb-peer-html, [data-site-theme='forest'] .qwb-canvas--public .qwb-block--chrome-sunset .qwb-peer-html *:not(a):not(img):not(video) { color: #2a1502 !important; } [data-site-theme='slate'] .qwb-canvas--public .qwb-block--chrome-sunset .qwb-peer-html a, [data-site-theme='slate'] .qwb-canvas--public .qwb-block--chrome-sunset .qwb-peer-html a *, [data-site-theme='forest'] .qwb-canvas--public .qwb-block--chrome-sunset .qwb-peer-html a, [data-site-theme='forest'] .qwb-canvas--public .qwb-block--chrome-sunset .qwb-peer-html a * { color: #0b57d0 !important; } [data-site-theme='slate'] .qwb-canvas--public .qwb-block--chrome-mono .qwb-peer-html, [data-site-theme='slate'] .qwb-canvas--public .qwb-block--chrome-mono .qwb-peer-html *:not(a):not(img):not(video), [data-site-theme='forest'] .qwb-canvas--public .qwb-block--chrome-mono .qwb-peer-html, [data-site-theme='forest'] .qwb-canvas--public .qwb-block--chrome-mono .qwb-peer-html *:not(a):not(img):not(video) { color: #181818 !important; } [data-site-theme='slate'] .qwb-canvas--public .qwb-block--chrome-mono .qwb-peer-html a, [data-site-theme='slate'] .qwb-canvas--public .qwb-block--chrome-mono .qwb-peer-html a *, [data-site-theme='forest'] .qwb-canvas--public .qwb-block--chrome-mono .qwb-peer-html a, [data-site-theme='forest'] .qwb-canvas--public .qwb-block--chrome-mono .qwb-peer-html a * { color: #0b57d0 !important; } [data-site-theme='paper'] .qwb-canvas--public .qwb-peer-html, [data-site-theme='paper'] .qwb-canvas--public .qwb-peer-html *:not(a):not(img):not(video) { color: #2a2820 !important; } [data-site-theme='paper'] .qwb-canvas--public .qwb-peer-html a, [data-site-theme='paper'] .qwb-canvas--public .qwb-peer-html a * { color: #0b57d0 !important; } [data-site-theme='paper'] .qwb-canvas--public .qwb-block--chrome-dark .qwb-peer-html, [data-site-theme='paper'] .qwb-canvas--public .qwb-block--chrome-dark .qwb-peer-html *:not(a):not(img):not(video), [data-site-theme='paper'] .qwb-canvas--public .qwb-block--chrome-forest .qwb-peer-html, [data-site-theme='paper'] .qwb-canvas--public .qwb-block--chrome-forest .qwb-peer-html *:not(a):not(img):not(video), [data-site-theme='paper'] .qwb-canvas--public .qwb-block--chrome-ocean .qwb-peer-html, [data-site-theme='paper'] .qwb-canvas--public .qwb-block--chrome-ocean .qwb-peer-html *:not(a):not(img):not(video), [data-site-theme='paper'] .qwb-canvas--public .qwb-block--chrome-neon .qwb-peer-html, [data-site-theme='paper'] .qwb-canvas--public .qwb-block--chrome-neon .qwb-peer-html *:not(a):not(img):not(video) { color: #e8f0eb !important; } [data-site-theme='paper'] .qwb-canvas--public .qwb-block--chrome-dark .qwb-peer-html a, [data-site-theme='paper'] .qwb-canvas--public .qwb-block--chrome-dark .qwb-peer-html a *, [data-site-theme='paper'] .qwb-canvas--public .qwb-block--chrome-forest .qwb-peer-html a, [data-site-theme='paper'] .qwb-canvas--public .qwb-block--chrome-forest .qwb-peer-html a *, [data-site-theme='paper'] .qwb-canvas--public .qwb-block--chrome-ocean .qwb-peer-html a, [data-site-theme='paper'] .qwb-canvas--public .qwb-block--chrome-ocean .qwb-peer-html a *, [data-site-theme='paper'] .qwb-canvas--public .qwb-block--chrome-neon .qwb-peer-html a, [data-site-theme='paper'] .qwb-canvas--public .qwb-block--chrome-neon .qwb-peer-html a * { color: #6eb4ff !important; } .qwb-insp__forum-folders { display: flex; flex-direction: column; gap: 6px; margin: 6px 0; } .qwb-insp__forum-folder-row { display: flex; gap: 6px; align-items: center; } .qwb-insp__forum-folder-row .qwb-input { flex: 1; } .qwb-insp__forum-add-folder { margin-top: 6px; } /* Q-Shop visitor access (code gate / sign-in wall) */ .qwb-qshop-store__gate { margin: 16px 0; padding: 20px 18px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.12); background: rgba(0, 0, 0, 0.2); max-width: 420px; } .qwb-qshop-store__gate--signin { max-width: 480px; } .qwb-qshop-store__gate-h { margin: 0 0 8px; font-size: 1.1rem; font-weight: 650; color: #e8eee8; } .qwb-qshop-store__gate-p { margin: 0 0 14px; font-size: 14px; line-height: 1.45; color: #b8c8c0; } .qwb-qshop-store__gate-fld { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; font-size: 12px; color: #9aafa4; } .qwb-qshop-store__gate-err { margin: 0 0 10px; font-size: 13px; color: #f0a8a8; } [data-site-theme='paper'] .qwb-qshop-store__gate { background: #f4f6f2; border-color: #c8d0c4; } [data-site-theme='paper'] .qwb-qshop-store__gate-h { color: #1a2018; } [data-site-theme='paper'] .qwb-qshop-store__gate-p { color: #4a5048; } [data-site-theme='paper'] .qwb-qshop-store__gate-fld { color: #5a6058; } [data-site-theme='paper'] .qwb-qshop-store__gate-err { color: #a02828; } .qwb-qshop-checkout__need-hub { margin: 0 0 14px; padding: 10px 12px; border-radius: 8px; background: rgba(124, 184, 140, 0.12); border: 1px solid rgba(124, 184, 140, 0.35); font-size: 14px; line-height: 1.45; color: #c8e4d0; } [data-site-theme='paper'] .qwb-qshop-checkout__need-hub { background: #eef5ea; border-color: #9ab896; color: #2a3828; } /* Q-Shop guest gate */ .qwb-qshop-store__auth-banner { font-size: 13px; padding: 10px 12px; border-radius: 8px; border: 1px solid #4a6a5a; background: rgba(20,50,40,0.25); margin: 0 0 12px; } [data-site-theme='paper'] .qwb-qshop-store__auth-banner { background: #eef5ea; border-color: #9ab896; } .qwb-linklike { font: inherit; color: #8fd4a8; background: none; border: none; padding: 0; text-decoration: underline; cursor: pointer; } [data-site-theme='paper'] .qwb-linklike { color: #2a6a3a; } /* In-app static preview when the browser blocks window.open (Settings → Preview). */ .qwb-preview-frame { position: fixed; inset: 0; z-index: 200000; display: flex; flex-direction: column; background: rgba(8, 12, 10, 0.92); backdrop-filter: blur(4px); } [data-site-theme='paper'] .qwb-preview-frame { background: rgba(250, 248, 240, 0.97); } .qwb-preview-frame__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex: 0 0 auto; padding: 8px 12px; border-bottom: 1px solid #2a3a32; background: #141a16; color: #e8e6e0; } [data-site-theme='paper'] .qwb-preview-frame__bar { background: #f5f0e2; border-color: #c8b88a; color: #1a1810; } .qwb-preview-frame__title { font-size: 13px; font-weight: 600; } .qwb-preview-frame__if { flex: 1 1 auto; width: 100%; min-height: 0; border: 0; background: #fff; } [data-site-theme='paper'] .qwb-preview-frame__if { background: #fffcf5; } /* Newsletter block */ .qwb-newsletter { padding: 16px 0; } .qwb-newsletter__inner { max-width: 520px; } .qwb-newsletter--align-center .qwb-newsletter__inner { margin-left: auto; margin-right: auto; text-align: center; } .qwb-newsletter--align-center .qwb-newsletter__form { justify-content: center; } .qwb-newsletter--align-center .qwb-newsletter__sched-actions, .qwb-newsletter--align-center .qwb-newsletter__admin { justify-content: center; display: flex; flex-wrap: wrap; gap: 8px; } .qwb-newsletter__title { margin: 0 0 10px; font-size: 1.35rem; font-weight: 700; } .qwb-newsletter__intro, .qwb-newsletter__intro-ed { margin: 0 0 12px; font-size: 15px; line-height: 1.5; } .qwb-newsletter__intro p:last-child { margin-bottom: 0; } .qwb-newsletter__sub { margin: 0 0 14px; font-size: 13px; } .qwb-newsletter__form { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin-bottom: 10px; } .qwb-newsletter__lab { flex: 1 1 200px; display: flex; flex-direction: column; gap: 4px; } .qwb-newsletter__lab-t { font-size: 12px; font-weight: 600; opacity: 0.85; } .qwb-newsletter__count, .qwb-newsletter__hint { font-size: 13px; margin: 8px 0 0; } .qwb-newsletter__success { margin: 12px 0 0; padding: 10px 14px; border-radius: 8px; background: color-mix(in srgb, #2db867 22%, transparent); border: 1px solid color-mix(in srgb, #2db867 65%, transparent); color: #1f8c4a; font-weight: 600; font-size: 14px; line-height: 1.4; text-align: center; } .qwb-newsletter__success.qwb-newsletter__success--listed { font-weight: 500; background: color-mix(in srgb, #2db867 13%, transparent); border-color: color-mix(in srgb, #2db867 38%, transparent); opacity: 0.95; } .qwb-newsletter__unsub-line { margin: 4px 0 0; font-size: 12px; text-align: left; } .qwb-newsletter__unsub { color: inherit; opacity: 0.75; text-decoration: underline; cursor: pointer; } .qwb-newsletter__unsub:hover, .qwb-newsletter__unsub:focus-visible { opacity: 1; color: #c87a6a; text-decoration: underline; } .qwb-newsletter--align-center .qwb-newsletter__unsub-line { text-align: center; } [data-site-theme='slate'] .qwb-newsletter__success { color: #6dd496; } .qwb-newsletter--align-center .qwb-newsletter__success { margin-left: auto; margin-right: auto; display: inline-block; } /* === Contact Form block ============================================================== */ .qwb-contact { padding: 0; display: flex; flex-direction: column; gap: 12px; } .qwb-contact__title { margin: 0; font-size: 22px; line-height: 1.2; } .qwb-contact__intro, .qwb-contact__intro-ed { margin: 0; font-size: 14px; line-height: 1.55; } .qwb-contact__sub { margin: 0; font-size: 13px; } .qwb-contact__sub-ed { margin-top: 4px; } .qwb-contact__form { display: flex; flex-direction: column; gap: 12px; margin-top: 6px; } .qwb-contact__lab { display: flex; flex-direction: column; gap: 6px; } .qwb-contact__lab-t { font-size: 12px; font-weight: 600; letter-spacing: 0.02em; opacity: 0.85; } .qwb-contact__hint { font-size: 13px; margin: 0; } .qwb-contact__warn { font-size: 13px; color: #c87a6a; margin: 0; padding: 8px 12px; border-radius: 8px; background: rgba(200, 122, 106, 0.12); } .qwb-contact__success { margin: 12px 0 0; padding: 10px 14px; border-radius: 8px; background: color-mix(in srgb, #2db867 22%, transparent); border: 1px solid color-mix(in srgb, #2db867 65%, transparent); color: #1f8c4a; font-weight: 600; font-size: 14px; line-height: 1.4; } [data-site-theme='slate'] .qwb-contact__success { color: #6dd496; } /* === Groups block ===================================================================== */ .qwb-groups { padding: 0; display: flex; flex-direction: column; gap: 12px; } .qwb-groups__title { margin: 0; font-size: 22px; line-height: 1.2; } .qwb-groups__intro, .qwb-groups__intro-ed { margin: 0; font-size: 14px; line-height: 1.55; } .qwb-groups__warn { margin: 0; padding: 8px 12px; border-radius: 8px; font-size: 13px; color: var(--qwb-muted, rgba(220, 200, 180, 0.9)); background: rgba(120, 100, 80, 0.12); border: 1px solid rgba(120, 100, 80, 0.2); } [data-site-theme='paper'] .qwb-groups__warn { background: rgba(140, 120, 100, 0.08); border-color: rgba(100, 90, 70, 0.18); color: #5a5448; } .qwb-groups__card { padding: 14px 16px; border-radius: 10px; border: 1px solid rgba(120, 140, 160, 0.35); background: rgba(30, 40, 52, 0.25); display: flex; flex-direction: column; gap: 12px; } [data-site-theme='paper'] .qwb-groups__card { border-color: rgba(80, 70, 50, 0.15); background: rgba(255, 255, 255, 0.5); } .qwb-groups__row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; font-size: 14px; } .qwb-groups__label { font-size: 12px; font-weight: 600; letter-spacing: 0.03em; opacity: 0.75; min-width: 5rem; } .qwb-groups__name { font-size: 16px; font-weight: 700; } .qwb-groups__count { font-variant-numeric: tabular-nums; } .qwb-groups__hint { margin: 0; font-size: 13px; } .qwb-groups__ok { margin: 0; font-size: 14px; font-weight: 600; color: #2db867; } [data-site-theme='slate'] .qwb-groups__ok { color: #6dd496; } .qwb-groups__join { align-self: flex-start; } .qwb-newsletter__admin { margin-top: 18px; padding-top: 14px; border-top: 1px solid rgba(120, 140, 160, 0.35); } [data-site-theme='paper'] .qwb-newsletter__admin { border-top-color: rgba(80, 70, 50, 0.2); } .qwb-newsletter__sched-banner { margin: 0 0 16px; padding: 12px 14px; border-radius: 10px; border: 1px solid rgba(106, 142, 201, 0.45); background: rgba(40, 60, 100, 0.2); font-size: 14px; line-height: 1.45; } [data-site-theme='paper'] .qwb-newsletter__sched-banner { background: #e8eef8; border-color: #8a9ec4; } .qwb-newsletter__sched-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; } .qwb-newsletter__sub-ed, .qwb-newsletter__ph-ed { margin-top: 12px; } /** * Newsletter subscriber list — search field + sort `` and `