:root { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', sans-serif; font-synthesis: none; color-scheme: light; --bg: #edf2f7; --bg-elevated: rgb(255 255 255 / 72%); --panel: rgb(250 252 255 / 76%); --panel-strong: #fbfdff; --panel-soft: rgb(226 233 242 / 72%); --glass: rgb(252 254 255 / 68%); --glass-strong: rgb(250 252 255 / 84%); --glass-chrome: rgb(252 254 255 / 74%); --material-inset: rgb(235 241 248 / 82%); --material-deep: rgb(225 233 243 / 90%); --ambient-gold: rgb(231 185 87 / 20%); --ambient-violet: rgb(102 89 184 / 15%); --field: #f8fbfe; --text: #172033; --text-muted: #5d6a7d; --text-faint: #8491a3; --line: rgb(104 124 150 / 22%); --line-strong: rgb(93 113 139 / 38%); --accent: #087e98; --accent-soft: #dff5f8; --accent-text: #07586b; --gold: #e7b957; --gold-strong: #9a6a12; --focus: #bd8730; --primary: #e7b957; --primary-text: #172033; --success: #247a5a; --warning: #9a6a12; --danger: #b34148; --shadow-soft: 0 12px 32px rgb(33 49 72 / 8%); --shadow: 0 18px 44px rgb(26 45 72 / 11%); --shadow-large: 0 30px 80px rgb(16 31 52 / 20%); --sidebar-width: 14rem; --radius-large: 1.35rem; --radius-medium: 0.95rem; --radius-small: 0.65rem; } :root[data-theme='dark'] { color-scheme: dark; --bg: #0b1220; --bg-elevated: rgb(11 18 32 / 68%); --panel: rgb(12 24 42 / 72%); --panel-strong: #111d30; --panel-soft: rgb(7 16 30 / 76%); --glass: rgb(10 22 39 / 64%); --glass-strong: rgb(10 22 39 / 84%); --glass-chrome: rgb(9 20 36 / 72%); --material-inset: rgb(6 15 28 / 72%); --material-deep: rgb(4 11 22 / 82%); --ambient-gold: rgb(231 185 87 / 32%); --ambient-violet: rgb(102 89 184 / 24%); --field: #101a2b; --text: #fff7e8; --text-muted: #a9b6c8; --text-faint: #7f91a8; --line: rgb(139 162 192 / 23%); --line-strong: rgb(161 181 207 / 40%); --accent: #67dde8; --accent-soft: #17394c; --accent-text: #baf8ff; --gold: #e7b957; --gold-strong: #f0c96f; --focus: #e7b957; --primary: #e7b957; --primary-text: #0b1220; --success: #69d6a5; --warning: #e7b957; --danger: #ff8d91; --shadow-soft: 0 14px 38px rgb(0 0 0 / 18%); --shadow: 0 22px 52px rgb(0 0 0 / 28%); --shadow-large: 0 36px 90px rgb(0 0 0 / 48%); } * { 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(ellipse 52rem 36rem at 14% -6%, var(--ambient-gold), transparent 66%), radial-gradient(ellipse 58rem 44rem at 94% 18%, var(--ambient-violet), transparent 68%), var(--bg); background-attachment: fixed; 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: 2px solid var(--focus); outline-offset: 3px; } input:not([type='checkbox']):not([type='radio']):not([type='hidden']), select, textarea { caret-color: var(--gold); } input:not([type='checkbox']):not([type='radio']):not([type='hidden']):focus, select:focus, textarea:focus { border-color: var(--focus) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--gold) 13%, transparent); outline: 0; } ::placeholder { color: var(--text-faint); opacity: 0.82; } .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 color-mix(in srgb, var(--gold) 20%, var(--line)); background: var(--glass); box-shadow: inset -1px 0 rgb(255 255 255 / 8%), 10px 0 34px rgb(0 0 0 / 12%); -webkit-backdrop-filter: blur(24px) saturate(1.3); 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(--gold); box-shadow: 0 7px 18px color-mix(in srgb, var(--gold) 22%, 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 { border: 1px solid color-mix(in srgb, var(--gold) 42%, var(--line)); background: color-mix(in srgb, var(--gold) 11%, var(--glass-strong)); box-shadow: inset 0 1px rgb(255 255 255 / 8%); color: var(--text); } .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(--field); 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); } .search-field:focus-within { border-color: var(--focus); box-shadow: 0 0 0 3px color-mix(in srgb, var(--gold) 13%, transparent); } .search-field input:focus { box-shadow: none; } .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: color-mix(in srgb, var(--gold) 11%, var(--glass-strong)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gold) 28%, transparent); color: var(--text); } .piece-grid { display: grid; gap: 0; overflow: visible; border: 1px solid var(--line); border-radius: var(--radius-medium); background: var(--glass); box-shadow: var(--shadow-soft); backdrop-filter: blur(18px) saturate(1.08); } .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; } .piece-card:hover, .piece-card:focus-within { background: color-mix(in srgb, var(--glass-strong) 84%, transparent); } .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: color-mix(in srgb, var(--success) 14%, var(--panel)); color: var(--success); } .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(--primary); color: var(--primary-text); 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(--primary); box-shadow: 0 8px 20px color-mix(in srgb, var(--gold) 18%, transparent); color: var(--primary-text); 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 color-mix(in srgb, var(--gold) 12%, var(--line)); border-radius: var(--radius-medium); background: var(--glass); box-shadow: inset 0 1px rgb(255 255 255 / 7%), var(--shadow-soft); -webkit-backdrop-filter: blur(20px) saturate(1.16); backdrop-filter: blur(20px) saturate(1.16); } .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(--material-deep); 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.5rem; } .run-section { padding: 0.78rem; border: 1px solid var(--line); border-radius: var(--radius-medium); background: var(--material-inset); } .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) 18%, var(--material-deep)); 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; border: 1px solid transparent; background: var(--material-deep); transition: background-color 140ms ease, border-color 140ms ease; } .usage-row:hover, .usage-row:focus-within { border-color: color-mix(in srgb, var(--gold) 34%, var(--line)); background: color-mix(in srgb, var(--gold) 4%, var(--material-deep)); } .section-drag-handle, .usage-drag-copy { position: relative; } .section-drag-handle { padding-right: 7rem; } .usage-drag-copy { padding-left: 1.2rem; } .usage-drag-copy::before { position: absolute; top: 50%; left: -0.2rem; color: var(--text-faint); font-size: 1rem; line-height: 1; content: '⠿'; transform: translateY(-50%); } .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: color-mix(in srgb, var(--gold) 12%, var(--panel)); color: var(--gold-strong); } .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(--glass); box-shadow: var(--shadow); backdrop-filter: blur(20px) saturate(1.08); } .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: color-mix(in srgb, var(--panel-soft) 66%, transparent); } .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(--glass); box-shadow: var(--shadow-soft); backdrop-filter: blur(16px) saturate(1.06); } .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(--gold); } .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: color-mix(in srgb, var(--gold) 10%, var(--panel)); color: var(--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; border-color: color-mix(in srgb, var(--gold) 16%, var(--line)); background: var(--glass); box-shadow: var(--shadow-soft); backdrop-filter: blur(20px) saturate(1.08); } .live-session-summary { display: grid; margin-left: auto; text-align: right; } .live-output-settings { position: relative; } .live-output-settings > summary { cursor: pointer; color: var(--text-muted); font-size: 0.7rem; font-weight: 700; } .live-output-settings > div { position: absolute; z-index: 4; top: calc(100% + 0.45rem); left: 0; display: grid; width: max-content; max-width: calc(100vw - 2rem); gap: 0.35rem; padding: 0.6rem; border: 1px solid var(--line-strong); border-radius: var(--radius-small); background: var(--glass-strong); box-shadow: var(--shadow); } .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: color-mix(in srgb, var(--panel-soft) 68%, transparent); } .live-run-item.current { box-shadow: inset 3px 0 var(--gold); background: color-mix(in srgb, var(--gold) 9%, var(--panel)); } .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-topics { max-width: 100%; margin: 0 0 0.55rem; overflow-wrap: anywhere; color: #f3ba63; font-size: clamp(0.72rem, 1.4vw, 1rem); font-weight: 800; letter-spacing: 0.09em; line-height: 1.35; text-transform: uppercase; } .section-countdown { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding: 0.8rem 1rem; border: 1px solid var(--line); border-radius: 0.65rem; background: var(--surface-raised); } .section-countdown strong { font-variant-numeric: tabular-nums; } .section-countdown.warning { border-color: #f3ba63; color: #f3ba63; } .section-countdown.overrun { border-color: #ff776d; color: #ff776d; } .live-materials { display: grid; grid-template-columns: minmax(9rem, 0.45fr) repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: 0.7rem; background: var(--surface-raised); } .live-materials h3, .live-materials ul { margin: 0; } .live-materials ul { display: grid; gap: 0.45rem; padding: 0; list-style: none; } .live-material-group li, .live-material-group small { display: block; } .live-material-group small { color: var(--text-muted); } @media (max-width: 760px) { .live-materials { grid-template-columns: 1fr; } .section-countdown { align-items: flex-start; flex-direction: column; } } .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(--glass); box-shadow: var(--shadow-soft); backdrop-filter: blur(18px) saturate(1.08); } .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(--field); 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(--primary); box-shadow: 0 7px 18px color-mix(in srgb, var(--gold) 18%, transparent); color: var(--primary-text); } .primary-button:hover:not(:disabled) { background: color-mix(in srgb, var(--primary) 90%, white); box-shadow: 0 10px 24px color-mix(in srgb, var(--gold) 24%, transparent); } .secondary-button, .logout-button { min-height: 2.35rem; padding: 0.48rem 0.7rem; border: 1px solid var(--line); border-radius: var(--radius-small); background: color-mix(in srgb, var(--glass) 72%, transparent); } .secondary-button:hover:not(:disabled) { border-color: color-mix(in srgb, var(--gold) 42%, var(--line)); background: color-mix(in srgb, var(--gold) 8%, var(--glass)); } .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) 68%, var(--line)); background: color-mix(in srgb, var(--danger) 13%, var(--panel)); color: var(--text); } .form-message.success { border-color: color-mix(in srgb, var(--success) 45%, var(--line)); background: color-mix(in srgb, var(--success) 10%, 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(--field); 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 { position: relative; z-index: 8; } .template-picker summary { display: flex; min-height: 2.5rem; align-items: center; gap: 0.35rem; padding: 0.55rem 0.8rem; border-radius: 0.72rem; background: var(--primary); box-shadow: 0 8px 22px color-mix(in srgb, var(--gold) 20%, transparent); color: var(--primary-text); cursor: pointer; list-style: none; font-size: 0.8rem; font-weight: 720; } .template-picker summary::-webkit-details-marker, .filter-picker summary::-webkit-details-marker, .piece-actions summary::-webkit-details-marker { display: none; } .fundus-heading-actions { display: flex; align-items: center; gap: 0.55rem; } .template-popover { position: absolute; top: calc(100% + 0.5rem); right: 0; width: min(42rem, calc(100vw - var(--sidebar-width) - 4rem)); padding: 0.7rem; border: 1px solid color-mix(in srgb, var(--gold) 34%, var(--line)); border-radius: var(--radius-medium); background: var(--glass-strong); box-shadow: var(--shadow); -webkit-backdrop-filter: blur(22px) saturate(1.18); backdrop-filter: blur(22px) saturate(1.18); } .template-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; } .template-management { margin-top: 0.6rem; } .template-picker .template-management > summary { min-height: auto; padding: 0.35rem 0; background: transparent; box-shadow: none; color: var(--text-muted); } .template-management form { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; padding: 0.3rem 0; border-top: 1px solid var(--line); } .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 { position: relative; z-index: 6; margin-bottom: 0.85rem; } .fundus-search-row { display: flex; align-items: center; gap: 0.55rem; } .fundus-search-row .search-field { width: min(100%, 34rem); } .filter-picker { position: relative; } .filter-picker summary { display: flex; min-height: 2.5rem; align-items: center; gap: 0.4rem; padding: 0.45rem 0.72rem; border: 1px solid var(--line); border-radius: 0.72rem; background: var(--glass); color: var(--text-muted); cursor: pointer; list-style: none; font-size: 0.75rem; font-weight: 700; white-space: nowrap; } .filter-picker[open] summary { border-color: color-mix(in srgb, var(--gold) 46%, var(--line)); color: var(--text); } .filter-panel { position: absolute; top: calc(100% + 0.5rem); right: 0; display: grid; width: min(38rem, calc(100vw - var(--sidebar-width) - 4rem)); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; padding: 0.8rem; border: 1px solid color-mix(in srgb, var(--gold) 28%, var(--line)); border-radius: var(--radius-medium); background: var(--glass-strong); box-shadow: var(--shadow); -webkit-backdrop-filter: blur(22px) saturate(1.18); backdrop-filter: blur(22px) saturate(1.18); } .filter-panel > label { display: grid; gap: 0.2rem; color: var(--text-muted); font-size: 0.62rem; font-weight: 700; } .filter-panel select { min-width: 0; height: 2.5rem; padding: 0.35rem 0.5rem; border: 1px solid var(--line); border-radius: 0.7rem; background: var(--field); 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; grid-column: 1 / -1; flex-wrap: wrap; gap: 0.4rem 1rem; margin: 0; } .library-filter-options .filter-checkbox { margin: 0; } .filter-actions { display: flex; grid-column: 1 / -1; align-items: center; justify-content: flex-end; gap: 0.45rem; padding-top: 0.65rem; border-top: 1px solid var(--line); } .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 { position: relative; grid-template-columns: auto minmax(0, 1.65fr) minmax(8rem, 0.85fr) minmax(9rem, auto) auto; } .piece-favorite-form { position: absolute; top: 0.35rem; left: 0.35rem; z-index: 3; } .piece-favorite { display: grid; width: 1.8rem; height: 1.8rem; padding: 0; place-items: center; border: 1px solid var(--line); border-radius: 999px; background: var(--glass-strong); color: var(--text-faint); font-size: 1rem; line-height: 1; cursor: pointer; } .piece-favorite.active, .piece-favorite:hover, .piece-favorite:focus-visible { border-color: #f3ba63; color: #f3ba63; } .piece-editor-kicker { display: flex; align-items: center; gap: 0.65rem; } .piece-card:has(.piece-actions[open]) { z-index: 5; } .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); border: 1px solid var(--line); } .piece-thumbnail-placeholder svg { width: 1.35rem; height: 1.35rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; } .piece-primary h2 a:hover, .piece-card:focus-within .piece-primary h2 a { color: var(--accent); } .piece-primary h2 a::after { position: absolute; inset: 0; content: ''; } .piece-card :is(a, button, input, summary) { position: relative; z-index: 2; } .piece-actions { position: relative; z-index: 4; } .piece-actions summary { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border: 1px solid var(--line); border-radius: 0.68rem; background: var(--glass-strong); color: var(--text-muted); cursor: pointer; list-style: none; font-size: 0.65rem; letter-spacing: 0.08em; } .piece-actions[open] summary { border-color: color-mix(in srgb, var(--gold) 46%, var(--line)); color: var(--text); } .piece-actions-popover { position: absolute; top: calc(100% + 0.35rem); right: 0; z-index: 5; display: grid; min-width: 9.5rem; gap: 0.15rem; padding: 0.35rem; border: 1px solid var(--line); border-radius: 0.72rem; background: var(--glass-strong); box-shadow: var(--shadow); -webkit-backdrop-filter: blur(18px) saturate(1.15); backdrop-filter: blur(18px) saturate(1.15); } .piece-actions-popover button { width: 100%; justify-content: flex-start; padding: 0.5rem 0.6rem; } .danger-text { color: var(--danger) !important; } .capture-panel { padding: clamp(1rem, 2vw, 1.35rem); border-color: color-mix(in srgb, var(--gold) 18%, var(--line)); } .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(--field); color: var(--text); } .inbox-list { display: grid; gap: 0.45rem; margin-top: 1rem; } .inbox-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.8rem 0.9rem; border: 1px solid transparent; border-radius: var(--radius-small); background: color-mix(in srgb, var(--glass) 68%, transparent); font-size: 0.76rem; transition: background-color 140ms ease, border-color 140ms ease; } .inbox-item:hover, .inbox-item:focus-visible { border-color: var(--line); background: var(--glass-strong); } .inbox-item > span:first-child { display: grid; } .inbox-item small { color: var(--text-muted); } .inbox-item > span:last-child { color: var(--accent); font-weight: 720; } .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(--field); 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: 1px solid var(--line-strong); border-radius: var(--radius-small); outline-offset: 0.3rem; background: var(--field); 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(--field); 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(--field); 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(--glass); box-shadow: var(--shadow-soft); backdrop-filter: blur(18px) saturate(1.08); } .show-create-panel h2, .show-library h2 { margin: 0.15rem 0 0; font-size: 1rem; } .show-create-panel > summary { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; font-weight: 760; list-style: none; } .show-create-heading { margin-top: 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-template-grid { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: 0.55rem; padding: 0; border: 0; } .show-template-grid legend { margin-bottom: 0.35rem; color: var(--text-muted); font-size: 0.68rem; font-weight: 700; } .show-template-grid label { display: grid; position: relative; grid-template-columns: auto auto 1fr; align-items: start; gap: 0.55rem; padding: 0.7rem; border: 1px solid var(--line); border-radius: var(--radius-small); background: var(--panel-soft); cursor: pointer; } .show-template-grid label:has(input:checked) { border-color: var(--gold); background: color-mix(in srgb, var(--gold) 9%, var(--panel)); } .show-template-grid span, .show-template-grid small { display: block; } .show-template-grid small { margin-top: 0.15rem; color: var(--text-muted); font-size: 0.64rem; } .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(--field); 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-row .row-actions { display: flex; align-items: center; gap: 0.18rem; padding: 0.16rem; border: 1px solid var(--line); border-radius: 0.7rem; background: color-mix(in srgb, var(--gold) 3%, var(--material-deep)); } .row-actions > form > button, .usage-edit-button { border: 0; background: transparent; } .row-actions > form > button:hover:not(:disabled), .usage-edit-button:hover { background: color-mix(in srgb, var(--gold) 10%, var(--panel-soft)); color: var(--gold-strong); } .usage-edit-button { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; padding: 0; border: 0; border-radius: 0.6rem; background: transparent; color: var(--text-muted); cursor: pointer; } .usage-edit-button:hover { background: color-mix(in srgb, var(--gold) 10%, var(--panel-soft)); color: var(--gold-strong); } .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 color-mix(in srgb, var(--gold) 58%, var(--line-strong)); border-radius: var(--radius-large); background: var(--glass); box-shadow: var(--shadow-large); color: var(--text); -webkit-backdrop-filter: blur(28px) saturate(1.12); backdrop-filter: blur(28px) saturate(1.12); } .piece-editor-dialog[open] { display: grid; } .piece-editor-dialog::backdrop { background: color-mix(in srgb, var(--bg) 46%, transparent); -webkit-backdrop-filter: blur(6px) saturate(0.95); backdrop-filter: blur(6px) saturate(0.95); } .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(--glass-chrome); box-shadow: inset 0 1px rgb(255 255 255 / 10%); -webkit-backdrop-filter: blur(24px) saturate(1.2); backdrop-filter: blur(20px) saturate(1.12); } .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.55em; padding: 0.16rem 0.45rem; resize: none; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 0.55rem; outline-offset: 0.2rem; background: var(--field); 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(--glass-chrome); -webkit-backdrop-filter: blur(24px) saturate(1.2); backdrop-filter: blur(20px) saturate(1.12); } .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: color-mix(in srgb, var(--gold) 15%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gold) 48%, transparent); color: var(--text); } .piece-dialog-workspace { min-width: 0; min-height: 0; padding: clamp(0.85rem, 2vw, 1.4rem); overflow: auto; overscroll-behavior: contain; background: var(--material-deep); } .piece-dialog-form { display: block; } .piece-editor-panel { width: min(100%, 62rem); 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; } .piece-writing-stack .markdown-editor-field:first-child { padding-top: 0; } .piece-writing-stack .markdown-editor-field:last-child { border-bottom: 0; } .markdown-editor-field { display: block; padding: 0.75rem 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; } .markdown-editor-field.private-field { padding: 0.85rem; border: 1px solid color-mix(in srgb, var(--gold) 30%, var(--line)); border-radius: var(--radius-medium); background: var(--material-inset); } .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(--material-inset); color: var(--text-muted); font-size: 0.65rem; cursor: pointer; } .markdown-editor-field textarea { display: block; width: 100%; min-height: 5.5rem; padding: 0.75rem 0.8rem; resize: vertical; border: 1px solid var(--line-strong); border-radius: var(--radius-small); background: var(--field); box-shadow: inset 0 1px 2px rgb(0 0 0 / 5%); color: var(--text); font: inherit; font-size: 0.88rem; 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(--material-inset); } .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 > 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(--field); 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: color-mix(in srgb, var(--glass) 78%, transparent); } .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 color-mix(in srgb, var(--gold) 28%, 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(--glass-chrome); box-shadow: inset 0 -1px rgb(255 255 255 / 8%), 0 -10px 30px rgb(0 0 0 / 10%); -webkit-backdrop-filter: blur(24px) saturate(1.2); backdrop-filter: blur(20px) saturate(1.12); } .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; } .template-save-menu { position: relative; } .template-save-menu > summary { cursor: pointer; color: var(--text-muted); font-size: 0.72rem; font-weight: 700; } .template-save-menu > form { position: absolute; z-index: 4; bottom: calc(100% + 0.7rem); left: 0; display: grid; width: min(28rem, calc(100vw - 2rem)); padding: 0.75rem; border: 1px solid var(--line-strong); border-radius: var(--radius-medium); background: var(--glass-strong); box-shadow: var(--shadow); } .template-save-menu label { display: grid; gap: 0.2rem; color: var(--text-muted); font-size: 0.66rem; } .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(--field); 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; } .plan-piece-create { margin-bottom: 0.55rem; padding: 0.55rem 0.65rem; border: 1px solid var(--line); border-radius: var(--radius-small); background: var(--panel-soft); } .plan-piece-create > summary { cursor: pointer; font-size: 0.72rem; font-weight: 750; } .plan-piece-create form { display: grid; grid-template-columns: minmax(8rem, 1fr) minmax(7rem, 0.8fr); gap: 0.45rem; margin-top: 0.6rem; } .plan-piece-create label { display: grid; gap: 0.2rem; color: var(--text-muted); font-size: 0.64rem; } .plan-piece-create button { grid-column: 1 / -1; } .drag-remove-target { display: grid; gap: 0.15rem; margin-bottom: 0.55rem; padding: 0.75rem; border: 1px dashed var(--danger); border-radius: var(--radius-small); background: color-mix(in srgb, var(--danger) 9%, var(--panel-soft)); } .drag-remove-target span { color: var(--text-muted); font-size: 0.68rem; } .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) { .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; } .sidebar { display: none; } .mobile-header { position: fixed; inset: 0 0 auto; z-index: 30; display: flex; height: calc(var(--mobile-header) + env(safe-area-inset-top)); align-items: center; justify-content: space-between; padding: env(safe-area-inset-top) calc(0.85rem + env(safe-area-inset-right)) 0 calc(0.45rem + env(safe-area-inset-left)); border-bottom: 1px solid color-mix(in srgb, var(--gold) 18%, var(--line)); background: var(--glass); box-shadow: 0 8px 28px rgb(0 0 0 / 12%); -webkit-backdrop-filter: blur(24px) saturate(1.2); backdrop-filter: blur(24px) saturate(1.2); } .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 calc(0.35rem + env(safe-area-inset-right)) env(safe-area-inset-bottom) calc(0.35rem + env(safe-area-inset-left)); border-top: 1px solid color-mix(in srgb, var(--gold) 18%, var(--line)); background: var(--glass); box-shadow: 0 -8px 28px rgb(0 0 0 / 12%); -webkit-backdrop-filter: blur(24px) saturate(1.2); backdrop-filter: blur(24px) saturate(1.2); } .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: color-mix(in srgb, var(--gold) 13%, var(--panel)); color: var(--text); } .mobile-navigation a svg { width: 1.25rem; height: 1.25rem; } #main-content { margin-left: 0; padding: calc(var(--mobile-header) + env(safe-area-inset-top)) 0 calc(var(--mobile-nav) + env(safe-area-inset-bottom) + 1rem); } .page-wrap { width: 100%; padding: 1.25rem calc(1rem + env(safe-area-inset-right)) 2rem calc(1rem + env(safe-area-inset-left)); } .page-heading h1 { font-size: 1.75rem; } .template-grid, .two-columns, .markdown-grid, .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; } .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: calc(0.75rem + env(safe-area-inset-top)) calc(0.8rem + env(safe-area-inset-right)) 0.6rem calc(0.8rem + env(safe-area-inset-left)); } .piece-dialog-heading > small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .inline-title-trigger, .inline-title-editor input:not([type='hidden']) { font-size: 1.3rem; line-height: 1.12; } .piece-dialog-tabs { overflow-x: auto; padding: 0.4rem 0.6rem; scrollbar-width: none; } .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; } .split-heading { align-items: flex-start; flex-direction: column; } .fundus-heading-actions { width: 100%; } .template-picker { margin-left: auto; } .template-popover, .filter-panel { position: absolute; top: calc(100% + 0.5rem); right: 0; left: auto; width: calc(100vw - 2rem); max-height: calc(100dvh - var(--mobile-header) - var(--mobile-nav) - 1rem); overflow-y: auto; } .template-grid { grid-template-columns: 1fr; } .fundus-search-row { align-items: stretch; flex-wrap: wrap; } .fundus-search-row .search-field { width: 100%; flex: 1 0 100%; } .filter-picker { margin-left: auto; } .filter-panel { grid-template-columns: 1fr; } .library-filter-options, .filter-actions { grid-column: auto; } .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: grid; width: 3.25rem; height: 3.25rem; } .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 { position: absolute; top: 0.8rem; right: 0.8rem; } .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; } .usage-row .row-actions { align-self: center; } .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-drag-handle { padding-right: 0; } .section-editor { margin-left: 0; } .live-header-actions { width: 100%; overflow-x: auto; justify-content: flex-start; padding-bottom: 0.2rem; } .live-header-actions > * { flex: 0 0 auto; } .live-grid { grid-template-columns: 1fr; } .live-current { padding: 1.3rem; border-radius: 1.3rem; } .live-current-actions { align-items: stretch; } .live-current-actions form:last-child { margin-left: 0; } .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; } } /* Shared editor controls introduced for the compact piece workflow. */ html:has(.heinzlive-output.empty), body:has(.heinzlive-output.empty), .heinzlive-output.empty { background: transparent !important; } .heinzlive-output.empty { min-height: 100vh; padding: 0; } .live-toolbar { position: relative; z-index: 10; } .live-output-settings[open] { z-index: 50; } .live-output-settings > div { z-index: 50; } .template-popover { width: min(64rem, calc(100vw - var(--sidebar-width) - 4rem)); max-height: calc(100dvh - 8rem); overflow-y: auto; } .template-grid { grid-template-columns: repeat(auto-fit, minmax(11.5rem, 1fr)); } .piece-primary h2 a { position: static; } .piece-card :is(button, input, summary), .piece-card a:not(.piece-primary h2 a) { position: relative; z-index: 2; } .inbox-item > a { display: flex; min-width: 0; flex: 1; align-items: center; justify-content: space-between; gap: 1rem; } .inbox-item > a > span:first-child { display: grid; } .inbox-item > a > span:last-child { color: var(--accent); font-weight: 720; } .inline-title-editor { min-width: 0; } .inline-title-trigger { display: flex; max-width: 100%; align-items: center; gap: 0.55rem; padding: 0.1rem 0; border: 0; background: transparent; color: var(--text); cursor: text; font-size: clamp(1.25rem, 2.5vw, 1.85rem); font-weight: 760; letter-spacing: -0.035em; line-height: 1.12; text-align: left; } .inline-title-trigger > span:first-child { overflow-wrap: anywhere; } .inline-title-trigger .app-icon { color: var(--text-faint); } .inline-title-editor label, .inline-title-editor input:not([type='hidden']) { display: block; width: 100%; } .inline-title-editor input:not([type='hidden']) { padding: 0.16rem 0.45rem; border: 1px solid var(--line-strong); border-radius: 0.55rem; background: var(--field); color: var(--text); font-size: clamp(1.25rem, 2.5vw, 1.85rem); font-weight: 760; letter-spacing: -0.035em; } .choice-picker { display: grid; gap: 0.45rem; } .choice-picker-selected { display: flex; flex-wrap: wrap; gap: 0.35rem; } .choice-picker-selected > span { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.35rem 0.55rem; border: 1px solid color-mix(in srgb, var(--gold) 34%, var(--line)); border-radius: 999px; background: color-mix(in srgb, var(--gold) 10%, var(--panel)); color: var(--text); font-size: 0.68rem; } .choice-picker-menu, .icon-picker details { position: relative; } .choice-picker-menu > summary, .icon-picker summary { width: fit-content; cursor: pointer; color: var(--accent); font-size: 0.7rem; font-weight: 720; list-style: none; } .choice-picker-popover, .icon-picker-popover { position: absolute; z-index: 20; top: calc(100% + 0.35rem); left: 0; width: min(32rem, calc(100vw - 3rem)); max-height: min(28rem, 60dvh); overflow: auto; padding: 0.65rem; border: 1px solid var(--line-strong); border-radius: var(--radius-medium); background: var(--panel-strong); box-shadow: var(--shadow); } .piece-subsection-heading .choice-picker-popover { right: 0; left: auto; } .choice-picker-search { display: grid !important; grid-template-columns: auto 1fr; align-items: center; } .choice-picker-search input, .icon-picker-popover input { width: 100%; padding: 0.5rem; border: 1px solid var(--line); border-radius: var(--radius-small); background: var(--field); color: var(--text); } .choice-picker-options { display: grid; gap: 0.3rem; margin-top: 0.55rem; } .choice-picker-options > label { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; align-items: center; gap: 0.5rem; padding: 0.5rem; border: 1px solid var(--line); border-radius: var(--radius-small); cursor: pointer; } .choice-picker-options > label.active { border-color: color-mix(in srgb, var(--gold) 55%, var(--line)); background: color-mix(in srgb, var(--gold) 9%, var(--panel)); } .choice-picker-options span, .choice-picker-options small { display: block; } .choice-picker-close { width: 100%; justify-content: center; margin-top: 0.55rem; padding: 0.5rem; border-top: 1px solid var(--line); } .choice-picker-options small { color: var(--text-faint); font-size: 0.62rem; } .icon-picker summary { display: inline-flex; align-items: center; gap: 0.35rem; } .icon-picker-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(5rem, 1fr)); gap: 0.35rem; margin-top: 0.55rem; } .icon-picker-grid button { display: grid; min-height: 4.5rem; place-items: center; gap: 0.25rem; padding: 0.45rem; border: 1px solid var(--line); border-radius: var(--radius-small); background: var(--panel-soft); cursor: pointer; font-size: 0.58rem; } .icon-picker-grid button.active { border-color: var(--gold); color: var(--gold-strong); } .topic-settings-list { display: grid; gap: 0.35rem; margin: 0.8rem 0; } .topic-settings-list > details { padding: 0.55rem; border: 1px solid var(--line); border-radius: var(--radius-small); } .topic-settings-list summary { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 0.55rem; cursor: pointer; list-style: none; } .topic-edit-form { display: grid; gap: 0.6rem; margin: 0.7rem 0; } .topic-edit-form label { display: grid; gap: 0.25rem; font-size: 0.68rem; font-weight: 700; } .topic-edit-form input { padding: 0.5rem; border: 1px solid var(--line); border-radius: var(--radius-small); background: var(--field); color: var(--text); } .tool-management { padding: clamp(0.85rem, 2vw, 1.2rem); } .tool-management .panel-heading { align-items: center; } .compact-add-button { display: inline-flex; width: fit-content; align-items: center; gap: 0.4rem; padding: 0.48rem 0.7rem; border: 1px solid color-mix(in srgb, var(--gold) 42%, var(--line)); border-radius: 999px; background: color-mix(in srgb, var(--gold) 10%, var(--glass)); color: var(--gold-strong); cursor: pointer; font-size: 0.7rem; font-weight: 760; } .catalog-note { margin: 0.45rem 0 0.85rem; color: var(--text-faint); font-size: 0.68rem; } .catalog-settings-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: 0.45rem; } .catalog-settings-list > button { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 0.65rem; min-width: 0; padding: 0.65rem; border: 1px solid var(--line); border-radius: var(--radius-medium); background: color-mix(in srgb, var(--panel-soft) 82%, transparent); color: var(--text); cursor: pointer; text-align: left; } .catalog-settings-list > button:hover { border-color: color-mix(in srgb, var(--gold) 44%, var(--line)); background: color-mix(in srgb, var(--gold) 7%, var(--panel-soft)); } .catalog-settings-list > button.inactive { opacity: 0.68; } .catalog-entry-icon, .management-dialog-icon { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border: 1px solid color-mix(in srgb, var(--gold) 26%, var(--line)); border-radius: 0.72rem; background: color-mix(in srgb, var(--gold) 9%, var(--panel)); color: var(--gold-strong); font-size: 1rem; } .catalog-entry-copy, .catalog-entry-copy strong, .catalog-entry-copy small { display: block; min-width: 0; } .catalog-entry-copy strong { font-size: 0.78rem; overflow-wrap: anywhere; } .catalog-entry-copy small { margin-top: 0.12rem; color: var(--text-faint); font-size: 0.62rem; line-height: 1.35; } .catalog-settings-list > button > .app-icon { color: var(--text-faint); } .management-dialog { display: grid; grid-template-rows: auto minmax(0, 1fr); width: min(40rem, calc(100vw - 2rem)); max-height: min(46rem, calc(100dvh - 2rem)); padding: 0; overflow: hidden; border: 1px solid color-mix(in srgb, var(--gold) 42%, var(--line)); border-radius: var(--radius-large); background: var(--glass-strong); color: var(--text); box-shadow: var(--shadow); backdrop-filter: blur(24px) saturate(1.12); } .management-dialog::backdrop { background: rgb(3 8 18 / 46%); backdrop-filter: blur(6px); } .management-dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; border-bottom: 1px solid var(--line); } .management-dialog-title { display: flex; min-width: 0; align-items: center; gap: 0.75rem; } .management-dialog-title h2 { margin: 0.1rem 0 0; font-size: 1.05rem; overflow-wrap: anywhere; } .management-dialog-form { display: grid; min-height: 0; overflow-y: auto; } .management-dialog-fields, .management-dialog-selections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; padding: 1rem 1.1rem; } .management-dialog-selections { padding-top: 0; } .management-dialog-fields label, .management-dialog-selections > div, .field-label { display: grid; gap: 0.3rem; font-size: 0.68rem; font-weight: 720; } .management-dialog-fields .wide-field, .management-dialog-selections .toggle-row { grid-column: 1 / -1; } .management-dialog input:not([type='checkbox'], [type='hidden']), .management-dialog textarea { width: 100%; padding: 0.62rem 0.68rem; border: 1px solid var(--line-strong); border-radius: var(--radius-small); background: var(--field); color: var(--text); font: inherit; } .management-dialog textarea { min-height: 6.5rem; resize: vertical; } .management-dialog .toggle-row { display: flex; align-items: center; gap: 0.6rem; padding: 0.65rem; border: 1px solid var(--line); border-radius: var(--radius-small); background: var(--panel-soft); cursor: pointer; } .management-dialog .toggle-row span, .management-dialog .toggle-row strong, .management-dialog .toggle-row small { display: block; } .management-dialog .toggle-row small { margin-top: 0.12rem; color: var(--text-faint); font-size: 0.62rem; font-weight: 500; } .management-dialog footer { display: flex; position: sticky; bottom: 0; justify-content: flex-end; gap: 0.55rem; padding: 0.8rem 1.1rem calc(0.8rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: color-mix(in srgb, var(--glass-strong) 94%, transparent); backdrop-filter: blur(18px); } .icon-picker-hint { margin: 0.6rem 0 0; color: var(--text-faint); font-size: 0.62rem; } .tool-assignment-name { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 0.45rem; } .tool-assignment-name > span, .tool-assignment-name strong, .tool-assignment-name small { display: block; } .media-presentation-choice { display: grid; position: relative; height: 100%; cursor: pointer; } .media-presentation-choice input { position: absolute; z-index: 2; top: 0.55rem; left: 0.55rem; } .media-presentation-choice span, .media-none { padding: 0.45rem; font-size: 0.68rem; font-weight: 700; } .media-presentation-choice:has(input:checked) { box-shadow: inset 0 0 0 2px var(--gold); } .upload-form .upload-select { display: flex; grid-column: 1 / -1; align-items: center; gap: 0.45rem; } .upload-form .upload-select input { width: auto; min-height: auto; } .usage-media-picker { margin-top: 0.8rem; padding: 0.75rem; border: 1px solid var(--line); border-radius: var(--radius-medium); } .usage-media-picker > label { display: flex; align-items: center; gap: 0.4rem; } .template-save-menu > form { max-height: min(30rem, calc(100dvh - 6rem)); overflow-y: auto; } .deleted-pieces { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--line); } @media (max-width: 52rem) { .choice-picker-popover, .icon-picker-popover { position: fixed; inset: calc(var(--mobile-header) + env(safe-area-inset-top) + 0.5rem) calc(0.5rem + env(safe-area-inset-right)) calc(var(--mobile-nav) + env(safe-area-inset-bottom) + 0.5rem) calc(0.5rem + env(safe-area-inset-left)); width: auto; max-height: none; } .piece-subsection-heading .choice-picker-popover { right: calc(0.5rem + env(safe-area-inset-right)); left: calc(0.5rem + env(safe-area-inset-left)); } .choice-picker-selected { max-height: 4.5rem; overflow-y: auto; } .tool-management .panel-heading { align-items: flex-start; } .catalog-settings-list { grid-template-columns: 1fr; } .management-dialog { height: calc(100dvh - 1rem - env(safe-area-inset-top) - env(safe-area-inset-bottom)); width: auto; max-width: none; max-height: none; inset: calc(0.5rem + env(safe-area-inset-top)) calc(0.5rem + env(safe-area-inset-right)) calc(0.5rem + env(safe-area-inset-bottom)) calc(0.5rem + env(safe-area-inset-left)); margin: 0; } .management-dialog-form { max-height: none; } .management-dialog-fields, .management-dialog-selections { grid-template-columns: 1fr; } .management-dialog-fields .wide-field, .management-dialog-selections .toggle-row { grid-column: auto; } .management-dialog footer button { flex: 1; } }