:root { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', sans-serif; font-synthesis: none; color-scheme: light; --bg: #f3f1ec; --bg-elevated: rgba(255, 255, 255, 0.78); --panel: #fffefa; --panel-strong: #ffffff; --panel-soft: #ebe9e3; --text: #20211f; --text-muted: #6e706b; --text-faint: #969891; --line: rgba(35, 36, 33, 0.1); --line-strong: rgba(35, 36, 33, 0.16); --accent: #225a4e; --accent-soft: #dfece7; --accent-text: #173e36; --gold: #c99530; --danger: #a94a43; --shadow: 0 18px 45px rgba(56, 52, 44, 0.08); --sidebar-width: 14rem; --radius-large: 1.5rem; --radius-medium: 1rem; --radius-small: 0.7rem; } :root[data-theme='dark'] { color-scheme: dark; --bg: #151714; --bg-elevated: rgba(31, 34, 30, 0.82); --panel: #20231f; --panel-strong: #272a26; --panel-soft: #2b2e29; --text: #f1f0ea; --text-muted: #b1b4ab; --text-faint: #858980; --line: rgba(244, 243, 236, 0.1); --line-strong: rgba(244, 243, 236, 0.18); --accent: #74b9a7; --accent-soft: #203d36; --accent-text: #d9f3eb; --gold: #e7b957; --danger: #e48a81; --shadow: 0 20px 55px rgba(0, 0, 0, 0.24); } * { box-sizing: border-box; } html { min-width: 20rem; background: var(--bg); scrollbar-gutter: stable; } body { margin: 0; min-width: 20rem; min-height: 100vh; background: radial-gradient( circle at 94% 4%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 24rem ), var(--bg); color: var(--text); font-size: 0.95rem; line-height: 1.5; } button, input, select, textarea { font: inherit; } button, a { -webkit-tap-highlight-color: transparent; } button { color: inherit; } a { color: inherit; text-decoration: none; } :focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 72%, white); outline-offset: 3px; } .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; } .app-shell { min-height: 100vh; } .sidebar { position: fixed; inset: 0 auto 0 0; z-index: 20; display: flex; width: var(--sidebar-width); flex-direction: column; padding: 1.25rem 0.85rem 1rem; border-right: 1px solid var(--line); background: color-mix(in srgb, var(--bg-elevated) 90%, transparent); backdrop-filter: blur(24px) saturate(1.3); overflow-y: auto; } .brand { display: flex; align-items: center; gap: 0.7rem; min-height: 2.7rem; padding: 0 0.65rem; font-size: 1.12rem; font-weight: 720; letter-spacing: -0.025em; } .brand-mark { display: flex; width: 1.65rem; height: 1.65rem; align-items: flex-end; justify-content: center; gap: 0.14rem; padding: 0.37rem; border-radius: 0.53rem; background: var(--accent); box-shadow: 0 6px 16px color-mix(in srgb, var(--accent) 28%, transparent); } .brand-mark i { display: block; width: 0.16rem; border-radius: 1rem; background: var(--panel-strong); } .brand-mark i:nth-child(1) { height: 0.46rem; } .brand-mark i:nth-child(2) { height: 0.78rem; } .brand-mark i:nth-child(3) { height: 0.6rem; } .main-navigation { display: grid; gap: 0.28rem; margin-top: 1.5rem; } .main-navigation a, .utility-navigation a { display: flex; align-items: center; gap: 0.82rem; min-height: 2.65rem; padding: 0.45rem 0.7rem; border-radius: 0.8rem; color: var(--text-muted); font-weight: 590; transition: background-color 140ms ease, color 140ms ease, transform 140ms ease; } .main-navigation a:hover, .utility-navigation a:hover { background: color-mix(in srgb, var(--panel-strong) 66%, transparent); color: var(--text); } .main-navigation a.active, .utility-navigation a.active { background: var(--panel-strong); box-shadow: 0 7px 20px rgba(48, 48, 43, 0.07); color: var(--accent); } .sidebar-footer { display: grid; gap: 0.85rem; margin-top: auto; } .utility-navigation { display: grid; padding-top: 0.85rem; border-top: 1px solid var(--line); } .theme-toggle { display: flex; width: 100%; align-items: center; gap: 0.65rem; padding: 0.65rem 0.72rem; border: 1px solid var(--line); border-radius: 0.75rem; background: transparent; color: var(--text-muted); cursor: pointer; font-size: 0.82rem; font-weight: 620; } .theme-toggle:hover { background: var(--panel); color: var(--text); } .theme-symbol { display: grid; width: 1.4rem; height: 1.4rem; place-items: center; border-radius: 50%; color: var(--gold); font-size: 1.12rem; line-height: 1; } .mobile-header, .mobile-navigation { display: none; } #main-content { min-height: 100vh; margin-left: var(--sidebar-width); } .page-wrap { width: min(100%, 92rem); margin: 0 auto; padding: 2rem clamp(1.5rem, 3vw, 3.25rem) 3rem; } .narrow-page { max-width: 74rem; } .page-heading { margin-bottom: 1rem; } .page-heading h1 { max-width: 24ch; margin: 0; font-size: clamp(1.7rem, 2.4vw, 2.3rem); font-weight: 690; letter-spacing: -0.04em; line-height: 1.08; } .eyebrow { margin: 0; color: var(--accent); font-size: 0.72rem; font-weight: 760; letter-spacing: 0.115em; text-transform: uppercase; } .page-intro { max-width: 42rem; margin: 0.35rem 0 0; color: var(--text-muted); font-size: 0.88rem; } .split-heading, .show-heading { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; } .heading-stat { display: flex; align-items: baseline; gap: 0.38rem; padding: 0.45rem 0.7rem; border: 1px solid var(--line); border-radius: 0.65rem; background: var(--panel); } .heading-stat strong { font-size: 1rem; line-height: 1; } .heading-stat span { color: var(--text-muted); font-size: 0.7rem; } .preview-notice { margin: 0 0 0.85rem; border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--line)); border-radius: var(--radius-small); background: color-mix(in srgb, var(--accent-soft) 45%, transparent); color: var(--accent-text); } .preview-notice summary { display: flex; align-items: center; gap: 0.55rem; min-height: 2.35rem; padding: 0.45rem 0.7rem; cursor: pointer; list-style: none; } .preview-notice summary::-webkit-details-marker { display: none; } .preview-notice strong { font-size: 0.72rem; } .preview-notice p { margin: 0; padding: 0 0.7rem 0.65rem 1.8rem; color: var(--text-muted); font-size: 0.72rem; } .preview-dot { flex: 0 0 auto; width: 0.48rem; height: 0.48rem; border: 2px solid var(--accent); border-radius: 50%; } .preview-chevron { margin-left: auto; color: var(--text-muted); font-size: 0.85rem; transition: transform 140ms ease; } .preview-notice[open] .preview-chevron { transform: rotate(180deg); } .library-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 0.75rem; } .search-field { display: flex; align-items: center; gap: 0.6rem; border: 1px solid var(--line); background: var(--panel); color: var(--text-muted); } .search-field { width: min(100%, 24rem); height: 2.5rem; padding: 0 0.9rem; border-radius: 0.88rem; box-shadow: 0 6px 20px rgba(48, 48, 43, 0.035); } .search-field span:first-child { font-size: 1.35rem; line-height: 1; transform: rotate(-15deg); } .search-field input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--text); } .search-field input::placeholder { color: var(--text-faint); } .filter-tabs, .mobile-pane-switch { display: flex; padding: 0.22rem; border-radius: 0.76rem; background: var(--panel-soft); } .filter-tabs { height: 2.5rem; } .filter-tabs button, .mobile-pane-switch button { padding: 0.48rem 0.82rem; border: 0; border-radius: 0.58rem; background: transparent; color: var(--text-muted); cursor: pointer; font-size: 0.78rem; font-weight: 640; } .filter-tabs button { height: 2rem; padding-block: 0.35rem; white-space: nowrap; } .filter-tabs button.active, .mobile-pane-switch button.active { background: var(--panel-strong); box-shadow: 0 3px 10px rgba(40, 40, 36, 0.08); color: var(--text); } .piece-grid { display: grid; gap: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-medium); background: var(--panel); } .piece-card { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(8.5rem, 0.9fr) minmax(12rem, auto); align-items: center; gap: 1rem; min-width: 0; padding: 0.85rem 1rem; border-bottom: 1px solid var(--line); transition: background-color 150ms ease, border-color 150ms ease; } .piece-card:last-child { border-bottom: 0; } .source-card > div, .live-kicker { display: flex; align-items: center; justify-content: space-between; gap: 0.7rem; } .category-label { display: inline-flex; align-items: center; gap: 0.42rem; color: var(--text-muted); font-size: 0.68rem; font-weight: 720; letter-spacing: 0.075em; text-transform: uppercase; } .category-label i { display: inline-block; width: 0.48rem; height: 0.48rem; border-radius: 50%; background: var(--category); box-shadow: 0 0 0 0.18rem color-mix(in srgb, var(--category) 16%, transparent); } .status-label { padding: 0.24rem 0.5rem; border-radius: 2rem; background: var(--panel-soft); color: var(--text-muted); font-size: 0.66rem; font-weight: 680; } .status-label.ready { background: var(--accent-soft); color: var(--accent-text); } .piece-primary { min-width: 0; } .piece-primary h2 { margin: 0 0 0.2rem; font-size: 0.98rem; font-weight: 670; letter-spacing: -0.015em; line-height: 1.25; overflow-wrap: anywhere; } .piece-primary p { margin: 0; color: var(--text-muted); font-size: 0.76rem; line-height: 1.4; } .piece-classification { display: grid; min-width: 0; gap: 0.45rem; } .piece-tags { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0; } .piece-tags span { padding: 0.28rem 0.52rem; border: 1px solid var(--line); border-radius: 2rem; color: var(--text-muted); font-size: 0.67rem; } .piece-state { display: flex; align-items: flex-end; flex-direction: column; gap: 0.3rem; color: var(--text-faint); font-size: 0.66rem; } .piece-facts { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 0.25rem 0.7rem; } .piece-state b { color: var(--text); font-weight: 680; } .empty-state { padding: 1.5rem; text-align: center; } .empty-state { border: 1px dashed var(--line-strong); border-radius: var(--radius-large); } .empty-state > span { color: var(--text-faint); font-size: 1.4rem; } .empty-state h2 { margin: 0.35rem 0 0.2rem; font-size: 1rem; } .empty-state p { margin: 0 0 0.8rem; color: var(--text-muted); font-size: 0.78rem; } .empty-state button { padding: 0.65rem 0.9rem; border: 0; border-radius: 0.65rem; background: var(--accent); color: var(--panel-strong); cursor: pointer; font-weight: 650; } .show-summary { display: flex; align-items: center; gap: 0.5rem; } .show-summary > div { display: grid; min-width: 5.8rem; padding: 0.35rem 0.7rem; border-left: 1px solid var(--line-strong); } .show-summary strong { font-size: 1rem; } .show-summary span { color: var(--text-muted); font-size: 0.68rem; } .live-link { display: flex; align-items: center; gap: 0.55rem; min-height: 2.45rem; padding: 0.55rem 0.8rem; border-radius: 0.72rem; background: var(--text); color: var(--bg); font-size: 0.78rem; font-weight: 680; } .live-link span { color: inherit; font-size: 1rem; } .show-heading-copy { min-width: 0; } .show-title { margin: 0.3rem 0 0; font-size: 0.9rem; font-weight: 680; overflow-wrap: anywhere; } .show-date { margin: 0.08rem 0 0; color: var(--text-muted); font-size: 0.72rem; } .mobile-pane-switch { display: none; } .builder-workspace { display: grid; grid-template-columns: minmax(15rem, 0.72fr) minmax(24rem, 1.45fr); gap: 0.75rem; align-items: start; } .builder-pane { min-width: 0; padding: 0.9rem; border: 1px solid var(--line); border-radius: var(--radius-medium); background: var(--panel); } .pane-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 0.65rem; } .pane-heading h2 { margin: 0.12rem 0 0; font-size: 1.12rem; letter-spacing: -0.02em; } .pane-heading > span { padding: 0.3rem 0.55rem; border-radius: 2rem; background: var(--panel-soft); color: var(--text-muted); font-size: 0.7rem; font-weight: 680; } .source-list { display: grid; gap: 0; border-top: 1px solid var(--line); } .source-card { padding: 0.72rem 0.2rem; border-bottom: 1px solid var(--line); } .source-card > div > span:last-child { color: var(--text-faint); font-size: 0.68rem; } .source-card h3 { margin: 0.42rem 0 0.12rem; font-size: 0.88rem; line-height: 1.25; overflow-wrap: anywhere; } .source-card p { margin: 0; color: var(--text-muted); font-size: 0.7rem; } .reserve-box { margin-top: 0.65rem; padding: 0.7rem; border: 1px dashed color-mix(in srgb, var(--gold) 48%, var(--line)); border-radius: 0.9rem; background: color-mix(in srgb, var(--gold) 7%, transparent); } .reserve-box > div { display: flex; align-items: center; gap: 0.65rem; } .reserve-box > div > span { color: var(--gold); font-size: 1.2rem; } .reserve-box div div { display: grid; } .reserve-box strong { font-size: 0.78rem; } .reserve-box small { color: var(--text-muted); font-size: 0.67rem; } .reserve-box p { margin: 0.65rem 0 0; color: var(--text-muted); font-size: 0.7rem; } .run-list { display: grid; gap: 0; border-top: 1px solid var(--line); } .run-section { padding: 0.78rem 0.2rem; border-bottom: 1px solid var(--line); } .run-section > header { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 0.8rem; } .run-section > header > strong { color: var(--text-muted); font-size: 0.72rem; } .run-section h3 { margin: 0.13rem 0 0; font-size: 0.95rem; letter-spacing: -0.012em; overflow-wrap: anywhere; } .section-number { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 0.65rem; background: color-mix(in srgb, var(--category) 16%, var(--panel-soft)); color: var(--text-muted); font-size: 0.67rem; font-weight: 750; } .usage-list { display: grid; gap: 0.42rem; margin: 0.55rem 0 0 2.8rem; } .usage-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0.65rem; padding: 0.55rem 0.65rem; border-radius: 0.72rem; background: var(--panel-soft); } .usage-row div { display: grid; min-width: 0; } .usage-row strong { font-size: 0.78rem; overflow-wrap: anywhere; } .usage-row small { color: var(--text-muted); font-size: 0.65rem; } .usage-status { padding: 0.2rem 0.4rem; border-radius: 2rem; color: var(--text-muted); font-size: 0.61rem; font-weight: 690; } .usage-status.current { background: var(--accent-soft); color: var(--accent-text); } .section-placeholder { margin: 0.5rem 0 0 2.8rem; padding: 0.5rem 0.65rem; border: 1px dashed var(--line-strong); border-radius: 0.7rem; color: var(--text-muted); font-size: 0.7rem; } .live-page { max-width: 88rem; } .live-header { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; margin-bottom: 1rem; } .live-header h1 { max-width: 24ch; margin: 0.18rem 0 0; font-size: clamp(1.5rem, 2.5vw, 2.1rem); letter-spacing: -0.035em; line-height: 1.08; } .live-pulse { display: inline-block; width: 0.48rem; height: 0.48rem; margin-right: 0.35rem; border-radius: 50%; background: #d65c55; box-shadow: 0 0 0 0.25rem color-mix(in srgb, #d65c55 15%, transparent); } .live-header-actions { display: flex; align-items: center; gap: 0.7rem; } .live-header-actions > a { color: var(--text-muted); font-size: 0.75rem; font-weight: 650; } .font-control { display: flex; padding: 0.18rem; border: 1px solid var(--line); border-radius: 0.65rem; background: var(--panel); } .font-control button { width: 2.25rem; height: 2rem; border: 0; border-radius: 0.5rem; background: transparent; cursor: pointer; font-size: 0.75rem; font-weight: 700; } .font-control button:hover { background: var(--panel-soft); } .live-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(16rem, 0.7fr); gap: 1rem; align-items: start; } .live-current { min-width: 0; padding: clamp(1.25rem, 3vw, 2.25rem); border: 1px solid var(--line); border-radius: 1.8rem; background: var(--panel); box-shadow: var(--shadow); } .live-kicker { color: var(--accent); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.055em; text-transform: uppercase; } .live-kicker strong { color: var(--text-muted); } .live-current h2 { max-width: 20ch; margin: 1rem 0 1.4rem; font-size: clamp(1.8rem, 3.2vw, 2.8rem); font-weight: 670; letter-spacing: -0.05em; line-height: 1.03; } .prompter-copy { max-width: 34ch; font-family: ui-serif, Georgia, serif; font-size: var(--prompt-size); line-height: 1.47; } .moderation-card, .transition-card { margin-top: 1.25rem; padding: 1rem 1.1rem; border-radius: 0.9rem; background: var(--panel-soft); } .moderation-card span, .transition-card span { color: var(--accent); font-size: 0.67rem; font-weight: 750; letter-spacing: 0.08em; text-transform: uppercase; } .moderation-card p, .transition-card p { margin: 0.4rem 0 0; } .research-details { margin-top: 0.8rem; padding: 0.82rem 1rem; border: 1px solid var(--line); border-radius: 0.85rem; color: var(--text-muted); } .research-details summary { cursor: pointer; color: var(--text); font-size: 0.78rem; font-weight: 680; } .research-details p { margin-bottom: 0; font-size: 0.78rem; } .transition-card { border-left: 3px solid var(--gold); background: color-mix(in srgb, var(--gold) 8%, var(--panel)); } .live-rail { display: grid; gap: 0.75rem; } .next-card, .live-progress, .readonly-actions { padding: 1rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--panel); } .next-card > span { color: var(--accent); font-size: 0.66rem; font-weight: 750; letter-spacing: 0.08em; text-transform: uppercase; } .next-card h3 { margin: 0.7rem 0 0.28rem; font-size: 1rem; line-height: 1.25; } .next-card p { margin: 0; color: var(--text-muted); font-size: 0.7rem; } .live-progress header { display: flex; justify-content: space-between; color: var(--text-muted); font-size: 0.7rem; font-weight: 680; } .progress-track { height: 0.24rem; margin: 0.7rem 0 1rem; overflow: hidden; border-radius: 1rem; background: var(--panel-soft); } .progress-track span { display: block; width: 45%; height: 100%; border-radius: inherit; background: var(--accent); } .rail-section { display: grid; grid-template-columns: auto 1fr; gap: 0.6rem; padding: 0.55rem; border-radius: 0.6rem; color: var(--text-muted); } .rail-section > span { font-size: 0.63rem; font-weight: 720; } .rail-section div { display: flex; justify-content: space-between; gap: 0.6rem; } .rail-section strong { font-size: 0.7rem; } .rail-section small { font-size: 0.64rem; } .rail-section.active { background: var(--accent-soft); color: var(--accent-text); } .readonly-actions { display: flex; justify-content: space-between; gap: 0.5rem; color: var(--text-faint); font-size: 0.63rem; } .readonly-actions strong { color: var(--text-muted); font-size: 0.61rem; } .live-state-line { margin: 0.4rem 0 0; color: var(--text-muted); font-size: 0.75rem; } .live-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 0.55rem; margin-bottom: 1rem; padding: 0.75rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--panel); } .live-session-summary { display: grid; margin-left: auto; text-align: right; } .live-session-summary strong { font-size: 0.78rem; } .live-session-summary span { color: var(--text-muted); font-size: 0.65rem; } .live-grid.without-rail { grid-template-columns: minmax(0, 1fr); } .live-markdown > :first-child, .prompter-copy > :first-child { margin-top: 0; } .live-markdown > :last-child, .prompter-copy > :last-child { margin-bottom: 0; } .live-current-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.4rem; padding-top: 1rem; border-top: 1px solid var(--line); } .live-current-actions form:last-child { margin-left: auto; } .live-run-item, .live-reserve-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0.5rem; margin-top: 0.35rem; padding: 0.5rem 0.55rem; border-radius: 0.65rem; background: var(--panel-soft); } .live-run-item.current { box-shadow: inset 3px 0 var(--accent); background: var(--accent-soft); } .live-run-item > div:first-child, .live-reserve-item > div:first-child { display: grid; min-width: 0; } .live-run-item strong, .live-reserve-item strong { font-size: 0.7rem; overflow-wrap: anywhere; } .live-run-item small, .live-reserve-item small { color: var(--text-muted); font-size: 0.61rem; } .live-run-actions { display: flex; align-items: center; gap: 0.2rem; } .live-run-actions form { display: flex; } .live-run-actions button:not(.text-button) { min-width: 1.65rem; min-height: 1.65rem; padding: 0; } .live-run-actions .text-button { padding: 0.3rem; font-size: 0.62rem; } .live-reserve { padding: 1rem; border: 1px solid color-mix(in srgb, var(--gold) 34%, var(--line)); border-radius: 1rem; background: color-mix(in srgb, var(--gold) 5%, var(--panel)); } .live-reserve > header { display: flex; justify-content: space-between; font-size: 0.7rem; font-weight: 720; } .live-reserve > p { margin: 0.65rem 0 0; color: var(--text-muted); font-size: 0.68rem; } .heinzlive-output { min-height: 100vh; padding: clamp(2rem, 6vw, 6rem); background: radial-gradient(circle at 12% 15%, rgb(103 221 232 / 12%), transparent 32rem), #0b1220; color: #fff7e8; font-family: Inter, ui-sans-serif, system-ui, sans-serif; } .output-connection { position: fixed; top: 1rem; right: 1rem; display: flex; align-items: center; gap: 0.35rem; padding: 0.4rem 0.65rem; border: 1px solid rgb(255 255 255 / 12%); border-radius: 2rem; background: rgb(11 18 32 / 78%); color: rgb(255 247 232 / 68%); font-size: 0.68rem; backdrop-filter: blur(10px); } .output-connection span { width: 0.42rem; height: 0.42rem; border-radius: 50%; background: #67dde8; } .output-connection.problem { color: #ffd0cb; } .output-connection.problem span { background: #ff776d; } .output-content { display: grid; max-width: 88rem; min-height: calc(100vh - clamp(4rem, 12vw, 12rem)); align-content: center; margin: 0 auto; } .output-kicker, .output-sources > span { color: #67dde8; font-size: clamp(0.68rem, 1.2vw, 0.9rem); font-weight: 760; letter-spacing: 0.14em; text-transform: uppercase; } .output-content h1, .output-idle h1 { max-width: 16ch; margin: 0.45rem 0 1.5rem; font-size: clamp(2.8rem, 8vw, 8rem); letter-spacing: -0.055em; line-height: 0.94; } .output-copy { max-width: 44ch; font-family: ui-serif, Georgia, serif; font-size: clamp(1.4rem, 2.8vw, 2.7rem); line-height: 1.35; } .output-copy a, .output-sources a { color: #e7b957; } .output-images { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr)); gap: 1rem; margin-top: 2rem; } .output-images img { width: 100%; max-height: 48vh; object-fit: contain; border-radius: 1.2rem; background: rgb(255 255 255 / 5%); } .output-sources { display: flex; align-items: center; flex-wrap: wrap; gap: 0.65rem 1rem; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid rgb(255 255 255 / 14%); } .output-sources a { font-size: 0.85rem; } .output-link-card { grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr); align-items: center; gap: clamp(2rem, 5vw, 6rem); } .output-link-image { display: grid; min-height: 20rem; place-items: center; border-radius: 1.4rem; background: rgb(255 255 255 / 5%); overflow: hidden; } .output-link-image img { width: 100%; max-height: 68vh; object-fit: contain; } .output-link-copy h1, .output-video h1 { max-width: 24ch; font-size: clamp(2rem, 4.5vw, 5rem); line-height: 1; } .output-link-copy > p:not(.output-kicker) { max-width: 38ch; color: rgb(255 247 232 / 78%); font-size: clamp(1.1rem, 2vw, 1.65rem); line-height: 1.45; } .output-link-copy a, .output-fallback a, .output-video-source a { display: inline-flex; margin-top: 1rem; color: #e7b957; font-weight: 740; } .output-video { grid-template-rows: auto minmax(0, 1fr) auto; align-content: stretch; gap: 1rem; } .output-video header { display: flex; align-items: baseline; justify-content: space-between; gap: 1.5rem; } .output-video header h1 { margin: 0; } .output-player { display: grid; min-height: 0; place-items: center; } .output-player iframe { width: min(100%, calc((100vh - 13rem) * 16 / 9)); aspect-ratio: 16 / 9; border: 0; border-radius: 1rem; background: #000; } .output-video.portrait .output-player iframe { width: min(100%, calc((100vh - 13rem) * 9 / 16)); aspect-ratio: 9 / 16; } .output-fallback { display: grid; min-height: min(55vh, 32rem); place-content: center; padding: 2rem; border: 1px solid rgb(255 255 255 / 14%); border-radius: 1.2rem; background: rgb(255 255 255 / 5%); text-align: center; } .presentation-test-status { position: fixed; z-index: 2; top: 1rem; right: 1rem; padding: 0.45rem 0.7rem; border: 1px solid rgb(255 255 255 / 16%); border-radius: 2rem; background: rgb(11 18 32 / 82%); color: #67dde8; font-size: 0.7rem; font-weight: 750; } .output-idle { display: grid; min-height: calc(100vh - clamp(4rem, 12vw, 12rem)); place-content: center; text-align: center; } .output-idle .brand-mark { margin: 0 auto 1.5rem; transform: scale(1.5); } .output-idle h1 { max-width: 18ch; font-size: clamp(2.4rem, 6vw, 5.5rem); } .output-idle p { margin: 0; color: rgb(255 247 232 / 62%); font-size: clamp(0.9rem, 1.8vw, 1.3rem); } @media (max-width: 52rem) { .heinzlive-output { padding: 1.2rem; } .output-link-card { grid-template-columns: 1fr; align-content: center; gap: 1.25rem; } .output-link-image { min-height: 12rem; } .output-link-image img { max-height: 40vh; } .output-video { min-height: calc(100dvh - 2.4rem); } .output-video header { align-items: flex-start; flex-direction: column; gap: 0; } .output-player iframe { width: 100%; } } .quiet-panel { border: 1px solid var(--line); border-radius: var(--radius-large); background: var(--panel); } .planned-panel { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 0.85rem; align-items: center; margin-top: 1.25rem; padding: 1rem; text-align: left; } .planned-panel h2 { margin: 0; font-size: 0.98rem; letter-spacing: -0.015em; } .planned-panel > p:last-child { grid-column: 2; margin: 0.18rem 0 0; color: var(--text-muted); font-size: 0.78rem; } .planned-icon { display: grid; grid-row: 1 / span 2; width: 2.35rem; height: 2.35rem; margin: 0; place-items: center; border-radius: 0.7rem; background: var(--accent-soft); color: var(--accent); font-size: 1.15rem; } .settings-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; } .taxonomy-panel { padding: 1rem; } .taxonomy-panel h2 { margin: 0.2rem 0 0.7rem; font-size: 0.95rem; } .taxonomy-list { display: flex; flex-wrap: wrap; gap: 0.45rem; } .taxonomy-list span { display: flex; align-items: center; gap: 0.4rem; min-width: 0; padding: 0.32rem 0.55rem; border: 1px solid var(--line); border-radius: 2rem; color: var(--text-muted); font-size: 0.7rem; overflow-wrap: anywhere; } .taxonomy-list i { width: 0.48rem; height: 0.48rem; border-radius: 50%; background: var(--tax-color); } .settings-footnote { margin: 0.75rem 0 0; color: var(--text-muted); font-size: 0.72rem; } .auth-shell { min-height: 100vh; background: radial-gradient( circle at 12% 8%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 28rem ), var(--bg); } .auth-header { display: flex; align-items: center; justify-content: space-between; min-height: 4.25rem; padding: 0.65rem clamp(1rem, 4vw, 3rem); border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--bg-elevated) 86%, transparent); backdrop-filter: blur(20px); } .auth-header .theme-toggle { width: auto; } .auth-main { display: grid; min-height: calc(100vh - 4.25rem); padding: clamp(1.25rem, 6vw, 4rem) 1rem; place-items: start center; } .auth-card { width: min(100%, 30rem); padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid var(--line); border-radius: var(--radius-large); background: var(--panel); box-shadow: var(--shadow); } .auth-card h1 { margin: 0.3rem 0 0.5rem; font-size: clamp(1.6rem, 5vw, 2.1rem); letter-spacing: -0.04em; line-height: 1.1; } .auth-card > p:not(.eyebrow), .quiet-copy { margin: 0 0 1rem; color: var(--text-muted); font-size: 0.85rem; } .auth-form, .compact-form { display: grid; gap: 0.85rem; } .auth-form label, .compact-form label { display: grid; gap: 0.32rem; color: var(--text-muted); font-size: 0.75rem; font-weight: 700; } .auth-form input, .compact-form input, .compact-form select, .inline-account-form select { width: 100%; min-height: 2.65rem; padding: 0.55rem 0.7rem; border: 1px solid var(--line-strong); border-radius: var(--radius-small); background: var(--panel-strong); color: var(--text); } .primary-button, .secondary-button, .logout-button, .mobile-logout, .text-button { border: 0; cursor: pointer; font-weight: 700; } .primary-button { min-height: 2.7rem; padding: 0.6rem 0.9rem; border-radius: var(--radius-small); background: var(--accent); color: var(--panel-strong); } .secondary-button, .logout-button { min-height: 2.35rem; padding: 0.48rem 0.7rem; border: 1px solid var(--line); border-radius: var(--radius-small); background: transparent; } .primary-button:disabled, .secondary-button:disabled, .text-button:disabled { cursor: not-allowed; opacity: 0.55; } .logout-button { width: 100%; color: var(--text-muted); text-align: left; } .mobile-logout { width: 2.4rem; height: 2.4rem; border-radius: 50%; background: transparent; color: var(--text-muted); } .text-button { padding: 0.25rem; background: transparent; color: var(--accent); font-size: 0.7rem; } .auth-link { display: inline-block; margin-top: 1rem; color: var(--accent); font-size: 0.78rem; font-weight: 700; } .field-hint { margin: -0.35rem 0 0; color: var(--text-faint); font-size: 0.68rem; } .form-message { margin: 0 0 1rem; padding: 0.7rem 0.8rem; border: 1px solid var(--line); border-radius: var(--radius-small); font-size: 0.76rem; } .form-message.error { border-color: color-mix(in srgb, var(--danger) 45%, var(--line)); background: color-mix(in srgb, var(--danger) 8%, var(--panel)); } .form-message.success { border-color: color-mix(in srgb, var(--accent) 38%, var(--line)); background: color-mix(in srgb, var(--accent-soft) 55%, var(--panel)); } .account-summary { display: grid; padding: 0 0.7rem; } .account-summary span { font-size: 0.75rem; font-weight: 700; } .account-summary small { color: var(--text-faint); font-size: 0.65rem; } .account-panel, .invite-panel { padding: 1rem; } .account-panel { margin-bottom: 0.75rem; } .panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; } .panel-heading h2, .invite-panel h2, .section-heading { margin: 0.18rem 0 0.7rem; font-size: 1rem; } .mail-mode, .account-status { padding: 0.22rem 0.45rem; border-radius: 2rem; background: var(--accent-soft); color: var(--accent-text); font-size: 0.65rem; font-weight: 700; } .account-status.locked { background: color-mix(in srgb, var(--danger) 12%, var(--panel)); color: var(--danger); } .account-list { display: grid; border-top: 1px solid var(--line); } .account-row { display: grid; grid-template-columns: minmax(10rem, 1fr) auto minmax(11rem, auto) auto; align-items: center; gap: 0.7rem; padding: 0.7rem 0; border-bottom: 1px solid var(--line); } .account-row > div, .invitation-list span { display: grid; min-width: 0; } .account-row small, .invitation-list small { color: var(--text-muted); font-size: 0.68rem; overflow-wrap: anywhere; } .inline-account-form { display: flex; align-items: center; gap: 0.35rem; } .inline-account-form select { min-height: 2.2rem; padding-block: 0.35rem; } .management-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin-bottom: 1rem; } .invitation-list { display: grid; } .invitation-list > div { display: flex; align-items: center; justify-content: space-between; gap: 0.7rem; padding: 0.55rem 0; border-bottom: 1px solid var(--line); } .section-heading { margin-top: 1rem; } .editable-taxonomy span { padding-right: 0.25rem; } .editable-taxonomy form { display: inline-flex; } .editable-taxonomy button { display: grid; width: 1.25rem; height: 1.25rem; padding: 0; place-items: center; border: 0; border-radius: 50%; background: transparent; color: var(--text-faint); cursor: pointer; } .taxonomy-form { display: flex; align-items: center; gap: 0.35rem; margin-top: 0.75rem; } .taxonomy-form label:first-of-type { min-width: 0; flex: 1; } .taxonomy-form input:not([type='color']) { width: 100%; min-height: 2.25rem; padding: 0.4rem 0.55rem; border: 1px solid var(--line); border-radius: 0.55rem; background: var(--panel-strong); color: var(--text); } .taxonomy-form input[type='color'] { width: 2.3rem; height: 2.25rem; padding: 0.2rem; border: 1px solid var(--line); border-radius: 0.55rem; background: var(--panel-strong); } .template-picker { margin-bottom: 0.85rem; border: 1px solid var(--line); border-radius: var(--radius-medium); background: var(--panel); } .template-picker summary { padding: 0.75rem 0.9rem; cursor: pointer; font-size: 0.8rem; font-weight: 720; } .template-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.6rem; padding: 0 0.75rem 0.75rem; } .template-grid button { display: grid; width: 100%; min-height: 5rem; gap: 0.2rem; padding: 0.75rem; border: 1px solid var(--line); border-radius: var(--radius-small); background: var(--panel-soft); color: var(--text); cursor: pointer; text-align: left; } .template-grid button span { color: var(--text-muted); font-size: 0.7rem; line-height: 1.35; } .library-filters { display: grid; grid-template-columns: minmax(15rem, 1.5fr) repeat(4, minmax(7rem, 0.65fr)) auto auto; align-items: end; gap: 0.55rem; margin-bottom: 0.75rem; } .library-filters > label:not(.search-field) { display: grid; gap: 0.2rem; color: var(--text-muted); font-size: 0.62rem; font-weight: 700; } .library-filters select { min-width: 0; height: 2.5rem; padding: 0.35rem 0.5rem; border: 1px solid var(--line); border-radius: 0.7rem; background: var(--panel); color: var(--text); } .filter-checkbox { display: inline-flex; align-items: center; gap: 0.45rem; min-height: 2rem; margin: -0.35rem 0 0.75rem; color: var(--text-muted); font-size: 0.7rem; font-weight: 680; cursor: pointer; } .filter-checkbox input { width: 1rem; height: 1rem; margin: 0; accent-color: var(--accent); } .library-filter-options { display: flex; flex-wrap: wrap; gap: 0.15rem 1rem; margin: -0.35rem 0 0.75rem; } .library-filter-options .filter-checkbox { margin: 0; } .piece-usage-history { margin-top: 0.35rem; color: var(--text-muted); font-size: 0.65rem; } .piece-usage-history p { margin: 0; } .piece-usage-history a { color: var(--accent); font-weight: 700; } .piece-usage-history p span { margin-left: 0.3rem; color: var(--text-faint); } .piece-usage-history details { margin-top: 0.25rem; } .piece-usage-history summary { width: fit-content; cursor: pointer; font-weight: 680; } .piece-usage-history ul { display: grid; gap: 0.2rem; margin: 0.3rem 0 0; padding-left: 1rem; } .piece-usage-history li a { margin-left: 0.35rem; } .text-link { color: var(--accent); font-size: 0.72rem; font-weight: 720; } .piece-card { grid-template-columns: auto minmax(0, 1.65fr) minmax(8rem, 0.85fr) minmax(9rem, auto) auto; } .piece-thumbnail { width: 3.8rem; height: 3.8rem; border-radius: 0.72rem; object-fit: cover; } .piece-thumbnail-placeholder { display: grid; place-items: center; background: var(--panel-soft); color: var(--text-faint); font-size: 0.75rem; font-weight: 800; } .piece-primary h2 a:hover { color: var(--accent); } .piece-actions { display: grid; justify-items: end; gap: 0.22rem; } .danger-text { color: var(--danger) !important; } .capture-panel { padding: 1rem; } .capture-panel h2, .inbox-list h2 { margin: 0.18rem 0 0.8rem; font-size: 1rem; } .capture-form, .upload-form { display: grid; grid-template-columns: minmax(12rem, 1fr) minmax(12rem, 1fr) auto; align-items: end; gap: 0.65rem; } .capture-form label, .upload-form label { display: grid; gap: 0.25rem; color: var(--text-muted); font-size: 0.7rem; font-weight: 700; } .capture-form label span { color: var(--text-faint); font-weight: 500; } .capture-form input, .upload-form input { width: 100%; min-height: 2.6rem; padding: 0.5rem 0.65rem; border: 1px solid var(--line-strong); border-radius: var(--radius-small); background: var(--panel-strong); color: var(--text); } .inbox-list { margin-top: 1rem; } .inbox-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.75rem 0; border-bottom: 1px solid var(--line); font-size: 0.76rem; } .inbox-item > span:first-child { display: grid; } .inbox-item small { color: var(--text-muted); } .archive-list { display: grid; gap: 0.65rem; } .archive-list article { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.85rem 1rem; border: 1px solid var(--line); border-radius: var(--radius-medium); background: var(--panel); } .archive-list h2 { margin: 0; font-size: 0.92rem; } .archive-list p { margin: 0.15rem 0 0; color: var(--text-muted); font-size: 0.74rem; } .editor-page { max-width: 82rem; } .editor-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; } .editor-header h1 { margin: 0.25rem 0 0; font-size: clamp(1.5rem, 2.4vw, 2.2rem); letter-spacing: -0.035em; } .back-link { color: var(--text-muted); font-size: 0.72rem; font-weight: 700; } .save-indicator { display: flex; align-items: center; gap: 0.45rem; color: var(--text-muted); font-size: 0.72rem; } .save-indicator i { width: 0.48rem; height: 0.48rem; border-radius: 50%; background: var(--accent); } .save-indicator.problem, .editor-savebar .problem { color: var(--danger); } .save-indicator.problem i { background: var(--danger); } .piece-editor { display: grid; gap: 0.75rem; } .editor-section { padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius-large); background: var(--panel); } .section-title { margin-bottom: 0.8rem; } .section-title h2 { margin: 0.15rem 0 0; font-size: 1rem; } .section-title small { color: var(--text-muted); font-size: 0.68rem; } .split-section-title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; } .editor-fields, .markdown-grid { display: grid; gap: 0.65rem; } .two-columns, .markdown-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .wide-field { grid-column: 1 / -1; } .presentation-mode-picker { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-bottom: 0.85rem; } .presentation-mode-picker label { display: flex; align-items: center; gap: 0.4rem; padding: 0.55rem 0.75rem; border: 1px solid var(--line); border-radius: 2rem; background: var(--panel-soft); font-size: 0.74rem; font-weight: 700; } .presentation-settings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; margin-top: 0.8rem; } .presentation-settings > label, .presentation-text-field { display: grid; gap: 0.35rem; color: var(--text-muted); font-size: 0.7rem; font-weight: 700; } .presentation-preview-actions { display: flex; align-items: center; gap: 0.75rem; } .presentation-preview-actions small, .presentation-source-summary small { color: var(--text-faint); font-size: 0.66rem; } .presentation-source-summary { display: grid; gap: 0.2rem; padding: 0.7rem; border: 1px solid var(--line); border-radius: var(--radius-small); background: var(--panel-soft); } .presentation-source-summary span { color: var(--text-muted); font-size: 0.68rem; } .presentation-source-summary small { overflow-wrap: anywhere; } .editor-fields label, .markdown-grid > label, .source-row label { display: grid; min-width: 0; gap: 0.25rem; color: var(--text-muted); font-size: 0.7rem; font-weight: 700; } .editor-fields input, .editor-fields select, .editor-fields textarea, .markdown-grid textarea, .source-row input { width: 100%; min-width: 0; padding: 0.55rem 0.65rem; border: 1px solid var(--line-strong); border-radius: var(--radius-small); background: var(--panel-strong); color: var(--text); } .editor-fields input, .editor-fields select, .source-row input { min-height: 2.6rem; } .editor-fields textarea, .markdown-grid textarea { resize: vertical; } .taxonomy-editor fieldset { margin: 0 0 0.75rem; padding: 0; border: 0; } .taxonomy-editor legend { margin-bottom: 0.4rem; color: var(--text-muted); font-size: 0.7rem; font-weight: 700; } .choice-grid { display: flex; flex-wrap: wrap; gap: 0.4rem; } .choice-grid label { display: flex; align-items: center; gap: 0.35rem; padding: 0.38rem 0.55rem; border: 1px solid var(--line); border-radius: 2rem; font-size: 0.7rem; } .choice-grid i { width: 0.45rem; height: 0.45rem; border-radius: 50%; background: var(--choice-color); } .private-field { padding: 0.65rem; border: 1px solid color-mix(in srgb, var(--gold) 42%, var(--line)); border-radius: var(--radius-medium); background: color-mix(in srgb, var(--gold) 6%, var(--panel)); } .markdown-preview { min-height: 3.2rem; padding: 0.65rem; border: 1px dashed var(--line); border-radius: var(--radius-small); color: var(--text-muted); font-size: 0.76rem; font-weight: 400; line-height: 1.55; overflow-wrap: anywhere; } .markdown-preview > :first-child { margin-top: 0; } .markdown-preview > :last-child { margin-bottom: 0; } .markdown-preview a { color: var(--accent); text-decoration: underline; } .markdown-preview pre { overflow-x: auto; padding: 0.5rem; border-radius: 0.4rem; background: var(--panel-soft); } .source-list { display: grid; gap: 0.55rem; } .source-row { display: grid; grid-template-columns: minmax(8rem, 0.65fr) minmax(14rem, 1.5fr) minmax(8rem, 0.6fr) auto; align-items: end; gap: 0.5rem; padding-bottom: 0.55rem; border-bottom: 1px solid var(--line); } .editor-savebar { position: sticky; z-index: 5; bottom: 0.75rem; display: flex; align-items: center; justify-content: flex-end; gap: 0.75rem; padding: 0.55rem; border: 1px solid var(--line); border-radius: var(--radius-medium); background: color-mix(in srgb, var(--bg-elevated) 92%, transparent); box-shadow: var(--shadow); backdrop-filter: blur(18px); } .editor-savebar span { color: var(--text-muted); font-size: 0.7rem; } .media-editor { margin-top: 0.75rem; } .media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); gap: 0.6rem; margin-bottom: 0.75rem; } .media-grid figure { margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-medium); background: var(--panel-soft); } .media-grid img { display: block; width: 100%; height: 8rem; object-fit: cover; } .media-grid figcaption { display: flex; align-items: center; justify-content: space-between; gap: 0.4rem; padding: 0.45rem; font-size: 0.65rem; } .editor-actions { display: flex; justify-content: space-between; gap: 0.75rem; margin-top: 0.75rem; } .worksheet-page { max-width: 94rem; } .worksheet-editor { gap: 1rem; } .worksheet-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; } .worksheet-heading { min-width: 0; flex: 1; } .worksheet-title { display: block; margin-top: 0.3rem; } .worksheet-title textarea { width: 100%; height: 1.2em; padding: 0; resize: none; overflow: hidden; border: 0; outline-offset: 0.3rem; background: transparent; color: var(--text); font: inherit; font-size: clamp(1.65rem, 3.3vw, 2.8rem); font-weight: 760; letter-spacing: -0.045em; } .editor-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(19rem, 23rem); align-items: start; gap: 1rem; } .editorial-worksheet { display: grid; min-width: 0; gap: 0.8rem; } .source-feature { display: grid; min-height: 8.5rem; align-items: stretch; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-large); background: var(--panel); } .source-feature.has-image { grid-template-columns: minmax(9rem, 0.32fr) minmax(0, 1fr); } .source-feature img { width: 100%; height: 100%; min-height: 8.5rem; object-fit: cover; } .source-feature > div { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; padding: 1rem 1.15rem; } .source-feature h2, .writing-sheet h2, .context-card h2 { margin: 0.15rem 0 0; font-size: 1rem; } .source-feature p:not(.eyebrow) { margin: 0.3rem 0; color: var(--text-muted); font-size: 0.78rem; line-height: 1.5; } .source-feature small { max-width: 100%; margin-top: 0.2rem; overflow-wrap: anywhere; color: var(--text-faint); font-size: 0.66rem; } .source-feature a, .source-feature .text-button { margin-top: 0.65rem; color: var(--accent); font-size: 0.72rem; font-weight: 750; } .writing-sheet { padding: clamp(1rem, 2vw, 1.6rem); border: 1px solid var(--line); border-radius: var(--radius-large); background: var(--panel); } .writing-sheet-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); } .writing-sheet-heading small, .script-heading > p:last-child { color: var(--text-faint); font-size: 0.67rem; } .editorial-field { padding: 1rem 0; border-bottom: 1px solid var(--line); } .editorial-field.private-field { margin: 0.85rem 0 0; padding: 1rem; border: 1px solid color-mix(in srgb, var(--gold) 38%, var(--line)); background: color-mix(in srgb, var(--gold) 5%, var(--panel)); } .editorial-field > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; } .editorial-field h3 { margin: 0; font-size: 0.9rem; } .editorial-field header p { margin: 0.18rem 0 0; color: var(--gold-strong); font-size: 0.63rem; font-weight: 750; letter-spacing: 0.04em; text-transform: uppercase; } .editorial-edit-button { flex: 0 0 auto; color: var(--accent); } .editorial-input { display: block; margin-top: 0.65rem; } .editorial-input textarea { width: 100%; min-height: 9rem; padding: 0.8rem; resize: vertical; border: 1px solid var(--line-strong); border-radius: var(--radius-small); background: var(--panel-strong); color: var(--text); font: inherit; font-size: 0.82rem; line-height: 1.6; } .editorial-field > .markdown-preview { min-height: 0; margin-top: 0.55rem; padding: 0; border: 0; color: var(--text); font-size: 0.82rem; } .editorial-empty { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 0.5rem; padding: 0.6rem 0; border: 0; border-radius: 0; background: transparent; color: var(--text-muted); text-align: left; } .editorial-empty:hover { color: var(--text); } .editorial-empty small { flex: 0 0 auto; color: var(--accent); font-size: 0.64rem; font-weight: 750; } .script-heading { padding: 1.4rem 0 0.3rem; } .script-heading > p:last-child { margin: 0.25rem 0 0; } .script-sections .editorial-field:last-child { padding-bottom: 0; border-bottom: 0; } .editor-context { position: sticky; top: 1rem; display: grid; max-height: calc(100vh - 2rem); gap: 0.7rem; overflow-y: auto; overscroll-behavior: contain; } .context-card { padding: 0.85rem; border: 1px solid var(--line); border-radius: var(--radius-medium); background: color-mix(in srgb, var(--panel) 96%, transparent); } .context-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; margin-bottom: 0.7rem; } .context-close, .mobile-editor-tools { display: none; } .context-empty, .context-summary-copy, .asset-summary p, .audience-preview p { margin: 0.4rem 0; color: var(--text-muted); font-size: 0.72rem; line-height: 1.5; } .context-wide-action { width: 100%; margin-top: 0.65rem; } .context-card .source-list { gap: 0.7rem; } .context-card .source-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(7rem, 0.65fr); gap: 0.4rem; padding: 0 0 0.7rem; } .context-card .source-row label:nth-child(2) { grid-column: 1 / -1; grid-row: 2; } .context-card .source-row label:nth-child(3) { grid-column: 2; grid-row: 1; } .context-card .source-row > button { grid-column: 1 / -1; } .context-card .source-row label, .context-fields > label, .presentation-settings > label { display: grid; gap: 0.22rem; color: var(--text-muted); font-size: 0.66rem; font-weight: 700; } .context-card input:not([type='checkbox'], [type='radio']), .context-card select, .context-card textarea { width: 100%; min-width: 0; padding: 0.5rem 0.58rem; border: 1px solid var(--line-strong); border-radius: var(--radius-small); background: var(--panel-strong); color: var(--text); } .classification-summary, .context-tags { display: flex; flex-wrap: wrap; gap: 0.35rem; } .classification-summary > *, .context-tags span { padding: 0.3rem 0.48rem; border-radius: 2rem; background: var(--panel-soft); color: var(--text-muted); font-size: 0.64rem; } .classification-summary strong { background: var(--accent-soft); color: var(--accent); } .context-edit-toggle { margin-top: 0.65rem; color: var(--accent); } .context-fields, .presentation-controls { display: grid; gap: 0.7rem; margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px solid var(--line); } .context-fields[hidden], .presentation-controls[hidden] { display: none; } .context-fields fieldset { margin: 0; padding: 0; border: 0; } .context-fields legend { margin-bottom: 0.35rem; color: var(--text-muted); font-size: 0.66rem; font-weight: 700; } .context-fields .choice-grid label { padding: 0.3rem 0.45rem; font-size: 0.64rem; } .audience-preview { padding: 0.7rem; border-radius: var(--radius-small); background: var(--panel-soft); } .audience-preview > span { color: var(--accent); font-size: 0.6rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; } .audience-preview > strong { display: block; margin-top: 0.3rem; font-size: 0.82rem; } .audience-preview .markdown-preview { min-height: 0; margin-top: 0.4rem; padding: 0; border: 0; font-size: 0.7rem; } .presentation-card-actions { display: grid; gap: 0.45rem; margin-top: 0.65rem; } .presentation-card-actions .text-button { justify-self: start; color: var(--accent); } .presentation-card-actions .secondary-button { width: 100%; text-align: center; } .presentation-controls .editorial-field { padding: 0.2rem 0 0; border: 0; } .presentation-controls .presentation-settings { grid-template-columns: 1fr; margin-top: 0; } .presentation-controls .presentation-preview-actions { align-items: stretch; flex-direction: column; } .asset-summary { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; } .supporting-editor-section { max-width: calc(100% - 24rem); } .shows-page { max-width: 78rem; } .show-create-panel, .show-library, .show-settings { padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius-large); background: var(--panel); } .show-create-panel h2, .show-library h2 { margin: 0.15rem 0 0; font-size: 1rem; } .show-create-form { display: grid; grid-template-columns: minmax(12rem, 1.3fr) minmax(11rem, 0.85fr) minmax(10rem, 0.85fr) auto; align-items: end; gap: 0.65rem; margin-top: 0.9rem; } .show-create-form label, .show-settings-form label, .section-edit-form label, .add-section-form label, .usage-edit-form label, .usage-command-row label { display: grid; min-width: 0; gap: 0.25rem; color: var(--text-muted); font-size: 0.68rem; font-weight: 700; } .show-create-form input, .show-create-form select, .show-settings-form input, .show-settings-form select, .show-settings-form textarea, .section-edit-form input, .section-edit-form select, .add-section-form input, .add-section-form select, .usage-edit-form input, .usage-edit-form textarea, .usage-command-row select, .source-add-form select, .builder-filter input, .builder-filter select, .reserve-usage select { width: 100%; min-width: 0; min-height: 2.45rem; padding: 0.48rem 0.58rem; border: 1px solid var(--line-strong); border-radius: 0.65rem; background: var(--panel-strong); color: var(--text); } .template-notes { display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; margin-top: 0.7rem; color: var(--text-faint); font-size: 0.65rem; } .template-notes p { margin: 0; } .show-library { margin-top: 0.8rem; } .show-library > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.7rem; } .show-library > header > span { padding: 0.25rem 0.5rem; border-radius: 2rem; background: var(--panel-soft); color: var(--text-muted); font-size: 0.68rem; } .show-card-list { display: grid; gap: 0.5rem; } .show-card { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.85rem; border: 1px solid var(--line); border-radius: var(--radius-medium); background: var(--panel-soft); } .show-card:hover { border-color: var(--line-strong); background: var(--panel-strong); } .show-card h3 { margin: 0.25rem 0 0.1rem; font-size: 0.92rem; } .show-card p { margin: 0; color: var(--text-muted); font-size: 0.7rem; } .show-state { color: var(--text-muted); font-size: 0.62rem; font-weight: 750; text-transform: uppercase; } .show-state.ready, .show-state.live { color: var(--accent-text); } .show-card-facts { display: flex; align-items: center; gap: 1rem; color: var(--text-muted); font-size: 0.68rem; } .show-card-facts span { display: grid; } .show-card-facts strong { color: var(--text); font-size: 0.78rem; } .show-settings { margin-bottom: 0.75rem; } .show-settings > summary, .usage-editor > summary, .section-editor > summary { cursor: pointer; font-size: 0.74rem; font-weight: 750; } .show-settings-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; margin-top: 0.8rem; } .show-settings-form .wide-field, .usage-edit-form .wide-field { grid-column: 1 / -1; } .show-settings-form small { color: var(--text-faint); font-weight: 500; } .copy-field { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 0.4rem; } .copy-field button, .row-actions > button, .row-actions > form > button { min-width: 2.35rem; min-height: 2.35rem; border: 1px solid var(--line); border-radius: 0.6rem; background: var(--panel-soft); color: var(--text-muted); cursor: pointer; } .usage-edit-button { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; padding: 0; border: 1px solid var(--line-strong); border-radius: 0.6rem; background: var(--panel-soft); color: var(--text-muted); cursor: pointer; } .usage-edit-button:hover { border-color: var(--accent); color: var(--accent); } .piece-editor-route { min-height: calc(100dvh - 2rem); } .piece-editor-dialog { display: none; width: min(76rem, calc(100vw - 2rem)); height: min(54rem, calc(100dvh - 2rem)); max-width: none; max-height: none; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto minmax(0, 1fr) auto; padding: 0; overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--radius-large); background: var(--panel-strong); box-shadow: var(--shadow-large); color: var(--text); } .piece-editor-dialog[open] { display: grid; } .piece-editor-dialog::backdrop { background: color-mix(in srgb, #07110e 62%, transparent); backdrop-filter: blur(6px); } .piece-dialog-header { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 0.9rem 1rem 0.75rem; border-bottom: 1px solid var(--line); background: var(--panel-strong); } .piece-dialog-heading { min-width: 0; flex: 1; } .piece-dialog-heading > .eyebrow { margin-bottom: 0.18rem; } .piece-dialog-heading > small { display: block; margin-top: 0.25rem; color: var(--text-faint); font-size: 0.65rem; } .piece-dialog-title { display: block; } .piece-dialog-title textarea { width: 100%; min-width: 0; height: 1.2em; padding: 0; resize: none; overflow: hidden; border: 0; outline-offset: 0.2rem; background: transparent; color: var(--text); font: inherit; font-size: clamp(1.25rem, 2.5vw, 1.85rem); font-weight: 760; letter-spacing: -0.035em; } .piece-dialog-tabs { display: flex; min-width: 0; gap: 0.25rem; padding: 0.45rem 1rem; border-bottom: 1px solid var(--line); background: var(--panel-strong); } .piece-dialog-tabs button { padding: 0.48rem 0.72rem; border: 0; border-radius: var(--radius-small); background: transparent; color: var(--text-muted); font-size: 0.72rem; font-weight: 740; cursor: pointer; } .piece-dialog-tabs button.active { background: var(--accent-soft); color: var(--accent); } .piece-dialog-workspace { min-width: 0; min-height: 0; padding: clamp(0.85rem, 2vw, 1.4rem); overflow: auto; overscroll-behavior: contain; } .piece-dialog-form { display: block; } .piece-editor-panel { width: min(100%, 66rem); margin: 0 auto; } .piece-editor-panel[hidden] { display: none; } .piece-panel-heading, .piece-subsection-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 0.85rem; } .piece-panel-heading h2, .piece-panel-heading h3, .piece-subsection-heading h3 { margin: 0.12rem 0 0; font-size: 1.05rem; } .piece-panel-heading small, .piece-subsection-heading small { color: var(--text-faint); font-size: 0.65rem; } .piece-writing-stack { display: grid; gap: 0.8rem; } .markdown-editor-field { display: block; padding: 0.8rem; border: 1px solid var(--line); border-radius: var(--radius-medium); background: var(--panel); } .markdown-editor-field.private-field { border-color: color-mix(in srgb, var(--gold) 38%, var(--line)); background: color-mix(in srgb, var(--gold) 5%, var(--panel)); } .markdown-editor-heading { display: flex; align-items: center; justify-content: space-between; gap: 0.7rem; margin-bottom: 0.45rem; } .markdown-editor-heading > span:first-child { font-size: 0.76rem; font-weight: 760; } .markdown-editor-heading small { margin-left: 0.4rem; color: var(--gold-strong); font-size: 0.58rem; letter-spacing: 0.04em; text-transform: uppercase; } .markdown-toolbar { display: flex; flex-wrap: wrap; gap: 0.2rem; } .markdown-toolbar button { min-width: 1.8rem; padding: 0.22rem 0.4rem; border: 1px solid var(--line); border-radius: 0.45rem; background: var(--panel-soft); color: var(--text-muted); font-size: 0.65rem; cursor: pointer; } .markdown-editor-field textarea { display: block; width: 100%; min-height: 7.5rem; padding: 0.65rem; resize: vertical; border: 1px solid var(--line-strong); border-radius: var(--radius-small); background: var(--panel-strong); color: var(--text); font: inherit; font-size: 0.82rem; line-height: 1.55; } .piece-meta-details, .piece-source-editor, .piece-media-panel { margin-top: 0.9rem; padding: 0.85rem; border: 1px solid var(--line); border-radius: var(--radius-medium); background: var(--panel); } .piece-meta-details summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; font-size: 0.75rem; font-weight: 740; } .piece-meta-details summary small { color: var(--text-faint); font-size: 0.64rem; font-weight: 600; } .piece-meta-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.65rem; margin-top: 0.8rem; } .piece-meta-grid > label, .piece-meta-grid fieldset, .piece-source-editor label, .piece-presentation-controls .presentation-settings > label { display: grid; gap: 0.25rem; margin: 0; color: var(--text-muted); font-size: 0.66rem; font-weight: 700; } .piece-meta-grid input:not([type='checkbox']), .piece-meta-grid select, .piece-meta-grid textarea, .piece-source-editor input, .piece-presentation-controls input:not([type='radio']), .piece-presentation-controls select, .piece-presentation-controls textarea, .piece-dialog-secondary-actions select { width: 100%; min-width: 0; padding: 0.55rem 0.62rem; border: 1px solid var(--line-strong); border-radius: var(--radius-small); background: var(--panel-strong); color: var(--text); } .piece-meta-grid .wide-field, .piece-meta-grid fieldset { grid-column: 1 / -1; } .piece-meta-grid fieldset { padding: 0; border: 0; } .piece-source-editor .source-row { display: grid; grid-template-columns: minmax(8rem, 0.8fr) minmax(14rem, 1.5fr) minmax(8rem, 0.6fr) auto; align-items: end; gap: 0.5rem; padding: 0.6rem 0; border-top: 1px solid var(--line); } .piece-source-summary { margin-top: 0.9rem; padding: 0.85rem; border: 1px solid var(--line); border-radius: var(--radius-medium); background: var(--panel); } .piece-source-summary strong, .piece-source-summary small { display: block; margin-top: 0.3rem; overflow-wrap: anywhere; } .piece-source-summary small, .piece-source-summary p:not(.eyebrow) { color: var(--text-muted); font-size: 0.7rem; } .piece-presentation-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.8fr); align-items: start; gap: 1rem; } .piece-presentation-controls, .piece-presentation-controls .presentation-settings { display: grid; gap: 0.7rem; } .piece-presentation-preview { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-medium); background: var(--presentation-bg, #0b1220); color: #fff7e8; } .piece-presentation-preview > .output-content { min-height: 20rem; padding: 1rem; } .piece-presentation-preview .output-content h1 { max-width: none; margin: 0.35rem 0 0.75rem; font-size: clamp(1.55rem, 3vw, 2.4rem); line-height: 1; } .piece-presentation-preview .output-copy, .piece-presentation-preview .output-link-copy > p:not(.output-kicker) { font-size: 0.9rem; } .piece-presentation-preview .output-link-card { grid-template-columns: 1fr; gap: 0.8rem; } .piece-presentation-preview .output-link-image { min-height: 10rem; } .piece-presentation-preview .output-sources { margin-top: 1rem; } .piece-presentation-preview > p, .piece-presentation-preview > h4, .piece-presentation-preview > img { margin: 0.8rem; } .piece-presentation-preview > img { max-width: calc(100% - 1.6rem); max-height: 12rem; object-fit: contain; } .preview-markdown-source { white-space: pre-wrap; } .piece-dialog-footer { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 0.8rem; padding: 0.65rem 1rem; border-top: 1px solid var(--line); background: var(--panel-strong); } .piece-dialog-secondary-actions, .piece-dialog-primary-action { display: flex; align-items: center; gap: 0.55rem; } .piece-dialog-secondary-actions form { display: flex; align-items: center; gap: 0.3rem; } .piece-dialog-primary-action span { color: var(--text-muted); font-size: 0.66rem; } .route-editor-error { position: fixed; z-index: 100; top: 1rem; left: 50%; transform: translateX(-50%); } .usage-editor-dialog { width: min(60rem, calc(100vw - 2rem)); max-width: none; max-height: min(52rem, calc(100dvh - 2rem)); padding: 0; border: 1px solid var(--line-strong); border-radius: var(--radius-large); background: var(--bg-elevated); box-shadow: var(--shadow-large); color: var(--text); } .usage-editor-dialog::backdrop { background: color-mix(in srgb, #07110e 62%, transparent); backdrop-filter: blur(6px); } .usage-editor-dialog > header { display: flex; position: sticky; z-index: 2; top: 0; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--bg-elevated) 94%, transparent); backdrop-filter: blur(16px); } .usage-editor-dialog h2, .usage-editor-dialog h3 { margin: 0.12rem 0 0; } .usage-editor-dialog h2 { font-size: 1.2rem; } .usage-editor-dialog h3 { font-size: 0.95rem; } .dialog-close { width: 2rem; height: 2rem; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: var(--panel-soft); color: var(--text-muted); font-size: 1.25rem; cursor: pointer; } .usage-dialog-scroll { display: grid; gap: 0.8rem; max-height: calc(100dvh - 7rem); padding: 0.9rem; overflow: auto; } .usage-dialog-message { margin: 0; } .usage-dialog-editor { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.35fr); align-items: stretch; gap: 0.8rem; } .usage-dialog-editor > .primary-button { grid-column: 1 / -1; justify-self: end; } .usage-dialog-editor input, .usage-dialog-editor textarea, .usage-dialog-actions select { width: 100%; min-width: 0; padding: 0.6rem 0.7rem; border: 1px solid var(--line-strong); border-radius: 0.7rem; background: var(--panel-strong); color: var(--text); } .usage-dialog-actions { display: grid; grid-template-columns: minmax(14rem, 1fr) auto minmax(13rem, auto) auto; align-items: end; gap: 0.65rem; padding: 0.85rem; border: 1px solid var(--line); border-radius: var(--radius-medium); background: var(--panel-soft); } .usage-dialog-actions > div { display: grid; gap: 0.3rem; } .usage-dialog-actions small { color: var(--text-faint); font-size: 0.62rem; line-height: 1.35; } .usage-dialog-actions form, .usage-dialog-actions label { display: flex; align-items: end; gap: 0.4rem; } .usage-dialog-actions label { min-width: 9rem; flex-direction: column; align-items: stretch; color: var(--text-muted); font-size: 0.68rem; font-weight: 700; } .row-actions > button:disabled, .row-actions > form > button:disabled { cursor: not-allowed; opacity: 0.35; } .settings-submit { display: flex; align-items: center; justify-content: flex-end; gap: 0.75rem; } .settings-submit span { color: var(--text-muted); font-size: 0.68rem; } .builder-filter { display: grid; grid-template-columns: minmax(8rem, 1fr) minmax(7rem, 0.7fr) auto; gap: 0.35rem; margin-bottom: 0.45rem; } .builder-filter-options { display: flex; flex-wrap: wrap; gap: 0.15rem 0.8rem; margin-bottom: 0.35rem; } .builder-filter-options .filter-checkbox { margin: 0; } .builder-source-list { display: grid; border-top: 1px solid var(--line); } .builder-source-card { padding: 0.72rem 0.2rem; border-bottom: 1px solid var(--line); transition: opacity 140ms ease, transform 140ms ease; } .source-drag-copy { cursor: grab; } .source-drag-copy:active { cursor: grabbing; } .source-drag-copy > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; } .source-drag-copy > div:first-child > span:last-child, .builder-source-card p { color: var(--text-muted); font-size: 0.67rem; } .planned-label { display: inline-block; margin-top: 0.35rem; padding: 0.16rem 0.4rem; border-radius: 999px; background: var(--accent-soft); color: var(--accent); font-size: 0.61rem; font-weight: 760; } .builder-source-card h3 { margin: 0.4rem 0 0.12rem; font-size: 0.86rem; } .builder-source-card p { margin: 0; } .drag-hint { display: block; margin-top: 0.35rem; color: var(--text-faint); font-size: 0.61rem; } .builder-source-card.is-dragging { opacity: 0.45; transform: scale(0.985); } .editable-run-section.is-dragging, .editable-usage.is-dragging, .reserve-usage.is-dragging { opacity: 0.38; } .drag-insert-preview { border: 1px dashed color-mix(in srgb, var(--accent) 68%, var(--line-strong)); background: color-mix(in srgb, var(--accent) 10%, var(--panel-soft)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 8%, transparent); color: var(--text-muted); animation: reveal-drop-preview 140ms ease-out; } .drag-insert-preview strong { color: var(--text); } .section-drag-slot, .usage-drag-slot, .reserve-drag-slot { display: grid; } .section-drag-slot { gap: 0.35rem; } .usage-drag-slot, .reserve-drag-slot { gap: 0.42rem; } .section-insert-preview { display: grid; min-height: 4.1rem; align-content: center; gap: 0.15rem; padding: 0.72rem 0.85rem; border-radius: var(--radius-medium); } .section-insert-preview span, .usage-insert-preview small, .reserve-insert-preview small { color: var(--accent-text); font-size: 0.65rem; font-weight: 720; text-transform: uppercase; letter-spacing: 0.04em; } .usage-insert-preview { display: grid; min-height: 3.35rem; align-content: center; gap: 0.08rem; padding: 0.55rem 0.65rem; border-radius: 0.72rem; } .usage-insert-preview strong, .reserve-insert-preview strong { font-size: 0.78rem; } .reserve-insert-preview { display: grid; min-height: 3.35rem; align-content: center; gap: 0.08rem; margin-top: 0.55rem; padding: 0.55rem 0.65rem; border-radius: 0.72rem; } @keyframes reveal-drop-preview { from { opacity: 0; transform: scaleY(0.78); } } .source-add-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.35rem; margin-top: 0.55rem; } .editable-run-section { position: relative; transition: border-color 140ms ease, background-color 140ms ease, opacity 140ms ease; } .section-drag-handle, .usage-drag-copy { cursor: grab; } .section-drag-handle:active, .usage-drag-copy:active { cursor: grabbing; } .editable-run-section > .row-actions { position: absolute; top: 0.68rem; right: 4.7rem; } .row-actions { display: flex; gap: 0.25rem; } .row-actions > form { display: flex; } .row-actions > button, .row-actions > form > button { min-width: 1.8rem; min-height: 1.8rem; padding: 0; } .editable-usage { grid-template-columns: minmax(0, 1fr) auto; transition: opacity 140ms ease, background-color 140ms ease; } .usage-editor { grid-column: 1 / -1; padding-top: 0.3rem; border-top: 1px solid var(--line); } .usage-edit-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; margin-top: 0.55rem; } .usage-command-row, .usage-command-row > form, .section-edit-form, .add-section-form { display: flex; align-items: end; gap: 0.45rem; flex-wrap: wrap; } .usage-command-row { justify-content: space-between; margin-top: 0.55rem; } .usage-command-row label, .section-edit-form label, .add-section-form label { flex: 1 1 8rem; } .section-editor { margin: 0.55rem 0 0 2.8rem; } .section-edit-form { margin: 0.55rem 0; } .add-section-form { margin-top: 0.8rem; padding: 0.75rem; border: 1px dashed var(--line-strong); border-radius: var(--radius-medium); } .editable-reserve { margin-top: 0.8rem; transition: border-color 140ms ease, background-color 140ms ease, opacity 140ms ease; } .editable-run-section.drop-ready, .editable-reserve.drop-ready { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 7%, var(--panel)); } .builder-source-card.is-updating, .editable-run-section.is-updating, .editable-reserve.is-updating, .show-settings.is-updating, .add-section-form.is-updating { opacity: 0.58; pointer-events: none; } .editable-reserve > header > div { display: flex; align-items: center; gap: 0.65rem; } .editable-reserve > header > div > span { color: var(--gold); font-size: 1.2rem; } .editable-reserve > header div div { display: grid; } .reserve-usage { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, auto) auto auto; align-items: end; gap: 0.5rem; margin-top: 0.55rem; padding-top: 0.55rem; border-top: 1px solid color-mix(in srgb, var(--gold) 28%, var(--line)); } .reserve-usage > div { display: grid; } .reserve-usage small { color: var(--text-muted); font-size: 0.65rem; } .reserve-usage > form { display: flex; align-items: end; gap: 0.35rem; } .hidden-command-form { display: none; } @media (max-width: 72rem) { .library-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); } .library-filters .search-field { grid-column: 1 / -1; } .piece-card { grid-template-columns: auto minmax(0, 1fr) minmax(8rem, 0.7fr) auto; } .piece-state { grid-column: 2 / 4; align-items: flex-start; } .source-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } .editor-workspace { grid-template-columns: minmax(0, 1fr) minmax(17rem, 20rem); } .supporting-editor-section { max-width: calc(100% - 21rem); } .show-create-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 72rem) { .page-wrap { padding-inline: 2rem; } .mobile-pane-switch { display: flex; width: 100%; margin-bottom: 0.65rem; } .mobile-pane-switch button { flex: 1; } .builder-workspace { display: block; } .builder-pane.mobile-hidden { display: none; } } @media (max-width: 64rem) and (min-width: 52.001rem) { .library-toolbar { align-items: stretch; flex-direction: column; } .library-toolbar .filter-tabs { align-self: flex-start; } } @media (max-width: 52rem) { :root { --mobile-header: 4rem; --mobile-nav: 4.6rem; } body { background: var(--bg); } .sidebar { display: none; } .mobile-header { position: fixed; inset: 0 0 auto; z-index: 30; display: flex; height: var(--mobile-header); align-items: center; justify-content: space-between; padding: 0 0.85rem 0 0.45rem; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--bg-elevated) 90%, transparent); backdrop-filter: blur(20px) saturate(1.25); } .mobile-header .theme-toggle { width: auto; } .mobile-header .theme-toggle span:last-child { display: none; } .mobile-header .theme-toggle { padding: 0.48rem; border: 0; } .mobile-navigation { position: fixed; inset: auto 0 0; z-index: 30; display: grid; height: calc(var(--mobile-nav) + env(safe-area-inset-bottom)); grid-template-columns: repeat(4, 1fr); padding: 0.45rem 0.35rem env(safe-area-inset-bottom); border-top: 1px solid var(--line); background: color-mix(in srgb, var(--bg-elevated) 92%, transparent); backdrop-filter: blur(22px) saturate(1.3); } .mobile-navigation:has(a:nth-child(5)) { grid-template-columns: repeat(5, 1fr); } .mobile-navigation a { display: flex; min-width: 0; flex-direction: column; align-items: center; justify-content: center; gap: 0.18rem; border-radius: 0.65rem; color: var(--text-faint); font-size: clamp(0.54rem, 2.2vw, 0.65rem); font-weight: 620; } .mobile-navigation a.active { background: var(--accent-soft); color: var(--accent); } .mobile-navigation a svg { width: 1.25rem; height: 1.25rem; } #main-content { margin-left: 0; padding: var(--mobile-header) 0 calc(var(--mobile-nav) + env(safe-area-inset-bottom) + 1rem); } .page-wrap { width: 100%; padding: 1.25rem 1rem 2rem; } .page-heading h1 { font-size: 1.75rem; } .template-grid, .two-columns, .markdown-grid, .library-filters, .capture-form, .upload-form, .source-row { grid-template-columns: 1fr; } .show-create-form, .show-settings-form, .usage-edit-form, .usage-dialog-editor, .presentation-settings, .builder-filter { grid-template-columns: 1fr; } .library-filters .search-field, .wide-field { grid-column: auto; } .editor-header { align-items: flex-start; flex-direction: column; } .worksheet-header { align-items: flex-start; flex-direction: column; gap: 0.6rem; } .worksheet-title textarea { height: 2.3em; font-size: 1.65rem; line-height: 1.12; } .mobile-editor-tools { position: sticky; top: calc(var(--mobile-header) + 0.45rem); z-index: 12; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.3rem; padding: 0.35rem; border: 1px solid var(--line); border-radius: var(--radius-medium); background: color-mix(in srgb, var(--bg-elevated) 92%, transparent); box-shadow: var(--shadow-soft); backdrop-filter: blur(18px); } .mobile-editor-tools button, .mobile-editor-tools a { min-width: 0; padding: 0.55rem 0.3rem; border: 0; border-radius: var(--radius-small); background: transparent; color: var(--text-muted); font-size: 0.65rem; font-weight: 750; text-align: center; } .mobile-editor-tools button[aria-expanded='true'] { background: var(--accent-soft); color: var(--accent); } .editor-workspace { display: block; } .source-feature.has-image { grid-template-columns: 6.5rem minmax(0, 1fr); } .source-feature, .source-feature img { min-height: 7.5rem; } .source-feature > div { padding: 0.85rem; } .writing-sheet { margin-top: 0.7rem; padding: 0.9rem; border-radius: var(--radius-medium); } .writing-sheet-heading { align-items: flex-start; flex-direction: column; gap: 0.35rem; } .editorial-field.private-field { padding: 0.75rem; } .editorial-empty { align-items: flex-start; flex-direction: column; gap: 0.2rem; } .editor-context { position: static; max-height: none; overflow: visible; } .editor-context.context-open::before { position: fixed; inset: 0; z-index: 38; background: color-mix(in srgb, var(--text) 28%, transparent); content: ''; } .editor-context .context-card { display: none; } .editor-context .context-card.mobile-active { position: fixed; inset: calc(var(--mobile-header) + 0.5rem) 0.5rem calc(var(--mobile-nav) + 0.5rem); z-index: 40; display: block; overflow-y: auto; padding: 1rem; border-radius: var(--radius-large); background: var(--panel-strong); box-shadow: var(--shadow); overscroll-behavior: contain; } .context-close { display: inline-grid; width: 2rem; height: 2rem; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: var(--panel-soft); color: var(--text); font-size: 1.2rem; } .supporting-editor-section { max-width: none; scroll-margin-top: calc(var(--mobile-header) + 4.5rem); } .worksheet-editor:has(.editor-context.context-open) .editor-savebar { visibility: hidden; } .editor-section { padding: 0.85rem; border-radius: var(--radius-medium); } .editor-savebar { position: static; justify-content: space-between; } .split-section-title, .archive-list article { align-items: stretch; flex-direction: column; } .editor-actions { align-items: stretch; flex-direction: column; } .editor-actions form, .editor-actions button { width: 100%; } .show-heading, .live-header { align-items: flex-start; flex-direction: column; gap: 0.75rem; } .usage-editor-dialog { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); border-radius: var(--radius-medium); } .usage-dialog-scroll { max-height: calc(100dvh - 5.5rem); padding: 0.65rem; } .usage-dialog-actions { grid-template-columns: 1fr; align-items: stretch; } .usage-dialog-actions form, .usage-dialog-actions button { width: 100%; } .piece-editor-dialog { width: 100vw; height: 100dvh; border: 0; border-radius: 0; } .piece-dialog-header { padding: 0.75rem 0.8rem 0.6rem; } .piece-dialog-heading > small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .piece-dialog-title textarea { height: 2.35em; font-size: 1.3rem; line-height: 1.12; } .piece-dialog-tabs { overflow-x: auto; padding: 0.4rem 0.6rem; } .piece-dialog-tabs button { flex: 1 0 auto; padding-inline: 0.55rem; } .piece-dialog-workspace { padding: 0.7rem; } .piece-panel-heading, .piece-subsection-heading, .markdown-editor-heading { align-items: flex-start; flex-direction: column; gap: 0.4rem; } .markdown-toolbar { width: 100%; } .markdown-toolbar button { min-height: 2rem; } .piece-meta-details summary { align-items: flex-start; flex-direction: column; gap: 0.2rem; } .piece-meta-grid, .piece-source-editor .source-row, .piece-presentation-layout { grid-template-columns: 1fr; } .piece-source-editor .source-row { align-items: stretch; } .piece-source-editor .source-row > button { justify-self: start; } .piece-presentation-preview > .output-content { min-height: 16rem; } .piece-dialog-footer { align-items: center; padding: 0.5rem 0.65rem calc(0.5rem + env(safe-area-inset-bottom)); } .piece-dialog-secondary-actions { display: grid; min-width: 0; max-width: calc(100% - 11rem); grid-auto-columns: max-content; grid-auto-flow: column; align-items: center; overflow-x: auto; } .piece-dialog-secondary-actions form { flex: 0 0 auto; } .piece-dialog-secondary-actions .text-button { white-space: nowrap; } .piece-dialog-primary-action { margin-left: auto; } .piece-dialog-primary-action span { display: none; } .library-toolbar { align-items: stretch; flex-direction: column; } .search-field { width: 100%; } .filter-tabs { width: 100%; overflow-x: auto; } .filter-tabs button { flex: 1 0 auto; } .piece-grid { gap: 0.7rem; overflow: visible; border: 0; border-radius: 0; background: transparent; } .piece-card { display: flex; align-items: stretch; flex-direction: column; gap: 0.7rem; grid-template-columns: none; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius-medium); background: var(--panel); } .piece-thumbnail { width: 100%; height: 8rem; } .piece-thumbnail-placeholder { display: none; } .piece-card:last-child { border-bottom: 1px solid var(--line); } .piece-classification { gap: 0.55rem; } .piece-primary, .piece-classification, .piece-state { min-width: 0; width: 100%; } .piece-primary h2 { font-size: 1.08rem; } .piece-state { display: flex; align-items: center; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; gap: 0.5rem 0.75rem; padding-top: 0.7rem; border-top: 1px solid var(--line); } .piece-facts { justify-content: flex-start; } .piece-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-start; gap: 0.7rem; } .show-summary { width: 100%; flex-wrap: wrap; } .show-summary > div { flex: 1; } .live-link { flex: 1 0 100%; justify-content: center; } .builder-pane { padding: 0.85rem; } .usage-list, .section-placeholder { margin-left: 0; } .usage-row { grid-template-columns: minmax(0, 1fr) auto; } .show-card, .show-card-facts { align-items: flex-start; flex-direction: column; } .show-card-facts { width: 100%; gap: 0.4rem; } .show-settings-form .wide-field, .usage-edit-form .wide-field { grid-column: auto; } .copy-field, .reserve-usage { grid-template-columns: 1fr; } .copy-field button, .reserve-usage > button, .reserve-usage > form > button { width: 100%; } .editable-run-section > .row-actions { position: static; margin: 0.5rem 0 0 2.8rem; } .section-editor { margin-left: 0; } .live-header-actions { width: 100%; justify-content: space-between; } .live-grid { grid-template-columns: 1fr; } .live-current { padding: 1.3rem; border-radius: 1.3rem; } .live-current h2 { margin: 1.1rem 0 1.5rem; } .live-kicker { align-items: flex-start; flex-direction: column; gap: 0.2rem; } .live-rail { grid-template-columns: 1fr; } .settings-grid { grid-template-columns: 1fr; } .management-grid { grid-template-columns: 1fr; } .account-row { grid-template-columns: minmax(0, 1fr) auto; } .inline-account-form, .account-row > form:last-child { grid-column: 1 / -1; } .inline-account-form select { flex: 1; } } @media (max-width: 24rem) { .page-wrap { padding-inline: 0.75rem; } .piece-state { align-items: flex-start; flex-direction: column; gap: 0.25rem; } .run-section > header { grid-template-columns: auto minmax(0, 1fr); } .run-section > header > strong { grid-column: 2; } } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; } }