/* Styles of the embedded widget (src/embed.ts), on top of style.css. The widget takes the host page's colors and font when it defines jeremy.magland.org's variables (--bg, --text, --text-muted, --border, --link, --bg-code, --font-ui), with the app's colors otherwise. Names the two share (--border, --text-muted) go through --tis-* on the host first, since a property cannot refer to itself. */ :host { display: block; margin: 1.5em 0; --tis-bg: var(--bg, #fcfcfb); --tis-code: var(--bg-code, #f4f3f0); --tis-text: var(--text, #0b0b0b); --tis-muted: var(--text-muted, #77756f); --tis-border: var(--border, #e2e0da); --tis-link: var(--link, #2a78d6); } .tis { --surface-1: var(--tis-bg); --page: var(--tis-code); --text-primary: var(--tis-text); --text-secondary: var(--tis-muted); --text-muted: var(--tis-muted); --border: var(--tis-border); --accent: var(--tis-link); --accent-ink: var(--tis-bg); --series-1: #2a78d6; --series-2: #eb6834; --series-3: #1baf7a; --grid: #ecebe7; --axis: #b9b7b0; --warn-bg: #fdf3dc; --warn-ink: #6b4a00; --ramp: #fcfcfb, #cde2fb, #86b6ef, #3987e5, #1c5cab, #0d366b; --diverging: #1c5cab, #86b6ef, #f0efec, #f0a3a2, #b42d2c; font: 14px/1.45 var(--font-ui, system-ui, -apple-system, 'Segoe UI', sans-serif); color: var(--text-primary); background: var(--surface-1); border: 1px solid var(--border); border-radius: 10px; padding: 12px; } .tis.dark { --series-1: #3987e5; --series-2: #d95926; --series-3: #199e70; --grid: #262624; --axis: #4a4a46; --warn-bg: #3a2e12; --warn-ink: #f3d18a; --ramp: #1a1a19, #104281, #1c5cab, #3987e5, #86b6ef, #cde2fb; --diverging: #6da7ec, #1c5cab, #383835, #a83434, #e66767; } .scene-wrap { height: 340px; } @media (max-width: 600px) { .scene-wrap { height: 260px; } } .status { margin: 10px 0 0; color: var(--text-secondary); font-size: 13px; } .actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 10px; } .actions:empty { display: none; } /* one row each for sound and motion, so expanding one never moves the other */ .players { display: grid; gap: 10px; justify-items: start; margin-top: 10px; } .player.wide { justify-self: stretch; } .player .audio-row, .player .viewer-bar { margin: 0; } .error { color: #b42d2c; font-size: 13px; margin: 8px 0 0; } .tis.dark .error { color: #e66767; } .footer { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline; margin-top: 10px; } .footer .cache-ctl { margin: 0; flex: 1; } .cache-ctl { font-size: 12px; } /* the full app over the whole window */ .overlay { position: fixed; inset: 0; z-index: 2147483000; background: var(--page); color: var(--text-primary); overflow: auto; overscroll-behavior: contain; } .overlay-bar { position: sticky; top: 0; z-index: 1; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 16px; background: var(--surface-1); border-bottom: 1px solid var(--border); font-weight: 600; } .overlay .instrument { padding-top: 12px; } .overlay .panel { top: 60px; max-height: calc(100vh - 76px); } .overlay .btn { color: var(--accent-ink); } .cache-ctl input { width: auto; flex: 1; }