Spaces:
Runtime error
Runtime error
| :root { | |
| color-scheme: light; | |
| --bg: #f4efe7; | |
| --surface: rgba(255, 250, 242, 0.88); | |
| --surface-strong: #fffaf2; | |
| --surface-soft: rgba(255, 255, 255, 0.52); | |
| --ink: #1f1812; | |
| --muted: #6c5c50; | |
| --line: rgba(70, 49, 28, 0.14); | |
| --line-strong: rgba(70, 49, 28, 0.24); | |
| --accent: #c75a11; | |
| --accent-deep: #8f3f0a; | |
| --accent-soft: rgba(199, 90, 17, 0.14); | |
| --success: #166534; | |
| --shadow: 0 24px 64px rgba(70, 49, 28, 0.14); | |
| } | |
| * { | |
| box-sizing: border-box; | |
| } | |
| [hidden] { | |
| display: none ; | |
| } | |
| body { | |
| margin: 0; | |
| min-height: 100vh; | |
| color: var(--ink); | |
| font-family: "Space Grotesk", "Segoe UI", sans-serif; | |
| background: | |
| radial-gradient(circle at top left, rgba(199, 90, 17, 0.15), transparent 28%), | |
| radial-gradient(circle at 85% 15%, rgba(26, 95, 63, 0.12), transparent 24%), | |
| linear-gradient(145deg, #f9f4ec, #ece0ce 55%, #e5d4be); | |
| } | |
| button, | |
| input, | |
| textarea, | |
| select { | |
| font: inherit; | |
| } | |
| button { | |
| cursor: pointer; | |
| } | |
| .client-shell { | |
| width: min(1080px, calc(100% - 28px)); | |
| margin: 0 auto; | |
| padding: 18px 0 26px; | |
| } | |
| .workspace-card, | |
| .editor-card, | |
| .attachments-card, | |
| .attachment-picker, | |
| .settings-panel, | |
| .output-card { | |
| border: 1px solid var(--line); | |
| border-radius: 28px; | |
| background: var(--surface); | |
| box-shadow: var(--shadow); | |
| backdrop-filter: blur(14px); | |
| } | |
| .workspace-card { | |
| padding: 24px; | |
| display: grid; | |
| gap: 18px; | |
| min-height: calc(100vh - 44px); | |
| } | |
| .tab-button, | |
| .format-button, | |
| .tool-button, | |
| .send-button, | |
| .secondary-button, | |
| .attachment-remove, | |
| .attachment-preview-trigger, | |
| .attachment-preview__close { | |
| border: 1px solid var(--line); | |
| background: var(--surface-strong); | |
| color: var(--ink); | |
| } | |
| .eyebrow { | |
| margin: 0; | |
| font-size: 0.76rem; | |
| letter-spacing: 0.24em; | |
| text-transform: uppercase; | |
| color: var(--accent-deep); | |
| } | |
| h2, | |
| h3 { | |
| margin: 0; | |
| font-family: "Avenir Next", "Space Grotesk", sans-serif; | |
| } | |
| .section-copy, | |
| .empty-state, | |
| .response-block p, | |
| .attachment-meta span { | |
| margin: 0; | |
| line-height: 1.55; | |
| color: var(--muted); | |
| } | |
| .top-bar, | |
| .section-head { | |
| display: flex; | |
| justify-content: flex-start; | |
| gap: 16px; | |
| align-items: center; | |
| } | |
| .tab-strip { | |
| display: flex; | |
| gap: 10px; | |
| flex-wrap: wrap; | |
| justify-content: flex-start; | |
| } | |
| .tab-button { | |
| min-height: 44px; | |
| padding: 0 18px; | |
| border-radius: 999px; | |
| transition: transform 160ms ease, background 160ms ease, border-color 160ms ease; | |
| } | |
| .tab-button.is-active { | |
| border-color: transparent; | |
| color: #fff; | |
| background: linear-gradient(135deg, var(--accent), var(--accent-deep)); | |
| } | |
| .tab-button:hover, | |
| .format-button:hover, | |
| .tool-button:hover, | |
| .send-button:hover, | |
| .picker-mode-button:hover, | |
| .picker-action-button:hover, | |
| .attachment-remove:hover, | |
| .attachment-preview-trigger:hover, | |
| .attachment-preview__close:hover { | |
| transform: translateY(-1px); | |
| } | |
| .tab-panel { | |
| display: none; | |
| gap: 18px; | |
| animation: panel-in 180ms ease; | |
| } | |
| .tab-panel.is-active { | |
| display: grid; | |
| } | |
| .editor-card, | |
| .attachments-card, | |
| .attachment-picker, | |
| .settings-panel, | |
| .output-card { | |
| padding: 18px; | |
| } | |
| .editor-card { | |
| display: grid; | |
| gap: 14px; | |
| } | |
| .editor-toolbar, | |
| .tool-row { | |
| display: flex; | |
| gap: 10px; | |
| flex-wrap: nowrap; | |
| } | |
| .format-button, | |
| .tool-button, | |
| .send-button, | |
| .secondary-button { | |
| min-height: 48px; | |
| border-radius: 18px; | |
| padding: 0 16px; | |
| display: inline-flex; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 10px; | |
| transition: transform 160ms ease, opacity 160ms ease, background 160ms ease; | |
| } | |
| .format-button { | |
| min-width: 70px; | |
| } | |
| .tool-row { | |
| align-items: center; | |
| } | |
| .icon-button { | |
| width: 48px; | |
| min-width: 48px; | |
| padding: 0; | |
| flex: 0 0 48px; | |
| } | |
| .tool-button svg, | |
| .send-button svg { | |
| width: 20px; | |
| height: 20px; | |
| fill: none; | |
| stroke: currentColor; | |
| stroke-width: 1.8; | |
| stroke-linecap: round; | |
| stroke-linejoin: round; | |
| } | |
| .tool-button.is-active { | |
| border-color: var(--line-strong); | |
| background: var(--accent-soft); | |
| } | |
| .send-button { | |
| margin-left: auto; | |
| color: #fff; | |
| border-color: transparent; | |
| background: linear-gradient(135deg, var(--accent), var(--accent-deep)); | |
| } | |
| .send-button:disabled { | |
| opacity: 0.7; | |
| cursor: progress; | |
| } | |
| .secondary-button { | |
| white-space: nowrap; | |
| } | |
| .tool-row .send-button { | |
| margin-left: auto; | |
| } | |
| .rich-editor { | |
| min-height: 320px; | |
| padding: 22px; | |
| border-radius: 22px; | |
| border: 1px solid var(--line); | |
| background: | |
| linear-gradient(180deg, rgba(255, 255, 255, 0.74), rgba(255, 251, 246, 0.95)), | |
| repeating-linear-gradient(180deg, transparent, transparent 31px, rgba(70, 49, 28, 0.07) 32px); | |
| outline: none; | |
| font-size: 1rem; | |
| line-height: 1.75; | |
| } | |
| .rich-editor:empty::before { | |
| content: attr(data-placeholder); | |
| color: rgba(108, 92, 80, 0.8); | |
| } | |
| .attachments-card, | |
| .attachment-picker, | |
| .settings-panel { | |
| display: grid; | |
| gap: 16px; | |
| } | |
| .attachment-list { | |
| display: grid; | |
| gap: 12px; | |
| } | |
| .picker-mode-row, | |
| .picker-grid { | |
| display: grid; | |
| gap: 12px; | |
| } | |
| .picker-mode-row { | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| } | |
| .picker-mode-button, | |
| .picker-action-button { | |
| min-height: 46px; | |
| border-radius: 16px; | |
| border: 1px solid var(--line); | |
| background: var(--surface-strong); | |
| color: var(--ink); | |
| } | |
| .picker-mode-button.is-active { | |
| border-color: var(--line-strong); | |
| background: var(--accent-soft); | |
| } | |
| .picker-panel { | |
| display: none; | |
| gap: 14px; | |
| padding: 14px; | |
| border-radius: 20px; | |
| border: 1px solid var(--line); | |
| background: var(--surface-soft); | |
| } | |
| .picker-panel.is-active { | |
| display: grid; | |
| } | |
| .picker-copy { | |
| margin: 0; | |
| color: var(--muted); | |
| } | |
| .picker-grid { | |
| grid-template-columns: 180px minmax(0, 1fr); | |
| } | |
| .picker-link-field { | |
| grid-column: auto; | |
| } | |
| .attachment-item { | |
| display: grid; | |
| grid-template-columns: auto 1fr auto; | |
| gap: 14px; | |
| align-items: center; | |
| padding: 12px; | |
| border-radius: 22px; | |
| border: 1px solid var(--line); | |
| background: var(--surface-soft); | |
| } | |
| .attachment-preview-trigger { | |
| display: inline-flex; | |
| align-items: center; | |
| justify-content: center; | |
| width: 78px; | |
| height: 78px; | |
| padding: 0; | |
| border-radius: 18px; | |
| overflow: hidden; | |
| } | |
| .attachment-thumb { | |
| width: 78px; | |
| height: 78px; | |
| object-fit: cover; | |
| } | |
| .attachment-audio-tile { | |
| display: grid; | |
| gap: 6px; | |
| text-align: center; | |
| } | |
| .attachment-audio-tile svg { | |
| width: 24px; | |
| height: 24px; | |
| margin: 0 auto; | |
| fill: none; | |
| stroke: currentColor; | |
| stroke-width: 1.8; | |
| stroke-linecap: round; | |
| stroke-linejoin: round; | |
| } | |
| .attachment-audio-tile span { | |
| font-size: 0.72rem; | |
| text-transform: uppercase; | |
| letter-spacing: 0.08em; | |
| } | |
| .attachment-meta { | |
| display: grid; | |
| gap: 6px; | |
| } | |
| .attachment-remove { | |
| min-height: 42px; | |
| padding: 0 16px; | |
| border-radius: 14px; | |
| } | |
| .attachment-preview { | |
| position: fixed; | |
| inset: 0; | |
| z-index: 20; | |
| display: grid; | |
| place-items: center; | |
| padding: 18px; | |
| } | |
| .attachment-preview__backdrop { | |
| position: absolute; | |
| inset: 0; | |
| background: rgba(24, 18, 12, 0.58); | |
| backdrop-filter: blur(4px); | |
| } | |
| .attachment-preview__card { | |
| position: relative; | |
| z-index: 1; | |
| width: min(720px, 100%); | |
| max-height: min(86vh, 920px); | |
| padding: 20px; | |
| border-radius: 28px; | |
| border: 1px solid var(--line); | |
| background: var(--surface); | |
| box-shadow: var(--shadow); | |
| display: grid; | |
| gap: 18px; | |
| } | |
| .attachment-preview__head { | |
| display: flex; | |
| justify-content: space-between; | |
| gap: 16px; | |
| align-items: start; | |
| } | |
| .attachment-preview__close { | |
| width: 42px; | |
| height: 42px; | |
| border-radius: 999px; | |
| padding: 0; | |
| } | |
| .attachment-preview__body { | |
| display: grid; | |
| place-items: center; | |
| min-height: 280px; | |
| } | |
| .attachment-preview__image, | |
| .attachment-preview__audio-wrap { | |
| width: 100%; | |
| } | |
| .attachment-preview__image { | |
| max-width: 100%; | |
| max-height: 68vh; | |
| object-fit: contain; | |
| border-radius: 20px; | |
| } | |
| .attachment-preview__audio-wrap { | |
| padding: 22px; | |
| border-radius: 20px; | |
| background: var(--surface-soft); | |
| border: 1px solid var(--line); | |
| } | |
| .attachment-preview__audio { | |
| width: 100%; | |
| } | |
| .settings-grid { | |
| display: grid; | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| gap: 14px; | |
| } | |
| .settings-wide { | |
| grid-column: 1 / -1; | |
| } | |
| label, | |
| .toggle-card { | |
| display: grid; | |
| gap: 8px; | |
| } | |
| label span, | |
| .toggle-card span { | |
| font-size: 0.83rem; | |
| letter-spacing: 0.08em; | |
| text-transform: uppercase; | |
| color: var(--muted); | |
| } | |
| input, | |
| textarea, | |
| select { | |
| width: 100%; | |
| padding: 14px 16px; | |
| border-radius: 18px; | |
| border: 1px solid var(--line); | |
| color: var(--ink); | |
| background: var(--surface-strong); | |
| } | |
| textarea { | |
| resize: vertical; | |
| } | |
| .toggle-card { | |
| align-items: center; | |
| grid-template-columns: 1fr auto; | |
| min-height: 56px; | |
| padding: 0 16px; | |
| border: 1px solid var(--line); | |
| border-radius: 18px; | |
| background: var(--surface-strong); | |
| } | |
| .toggle-card input { | |
| width: 22px; | |
| height: 22px; | |
| } | |
| .response-output { | |
| display: grid; | |
| gap: 14px; | |
| } | |
| .response-block { | |
| padding: 18px; | |
| border-radius: 22px; | |
| border: 1px solid var(--line); | |
| background: var(--surface-soft); | |
| } | |
| .response-block strong { | |
| display: inline-block; | |
| margin-bottom: 12px; | |
| } | |
| .response-image, | |
| .response-audio { | |
| width: 100%; | |
| margin-top: 14px; | |
| border-radius: 18px; | |
| } | |
| .response-image { | |
| max-height: 420px; | |
| object-fit: cover; | |
| } | |
| .rich-response { | |
| display: grid; | |
| gap: 14px; | |
| line-height: 1.65; | |
| } | |
| .rich-response p, | |
| .rich-response ul, | |
| .rich-response pre { | |
| margin: 0; | |
| } | |
| .rich-response ul { | |
| padding-left: 20px; | |
| } | |
| .rich-response pre, | |
| .raw-output { | |
| overflow: auto; | |
| border-radius: 20px; | |
| background: #171411; | |
| color: #f9f4ed; | |
| font-family: "IBM Plex Mono", Consolas, monospace; | |
| } | |
| .rich-response pre { | |
| padding: 16px; | |
| } | |
| .rich-response code { | |
| padding: 0.15em 0.35em; | |
| border-radius: 8px; | |
| background: rgba(31, 24, 18, 0.08); | |
| font-family: "IBM Plex Mono", Consolas, monospace; | |
| } | |
| .raw-output { | |
| margin: 0; | |
| padding: 18px; | |
| min-height: 420px; | |
| font-size: 0.92rem; | |
| } | |
| .error-toast { | |
| position: fixed; | |
| right: 16px; | |
| bottom: 16px; | |
| max-width: min(420px, calc(100% - 32px)); | |
| padding: 14px 16px; | |
| border: 0; | |
| border-radius: 16px; | |
| color: #fff; | |
| background: rgba(127, 29, 29, 0.96); | |
| box-shadow: var(--shadow); | |
| text-align: left; | |
| } | |
| .status-ok { | |
| color: var(--success); | |
| } | |
| .status-busy { | |
| color: var(--accent-deep); | |
| } | |
| .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; | |
| } | |
| @keyframes panel-in { | |
| from { | |
| opacity: 0; | |
| transform: translateY(6px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @media (max-width: 1040px) { | |
| .workspace-card { | |
| min-height: auto; | |
| } | |
| } | |
| @media (max-width: 720px) { | |
| .client-shell { | |
| width: min(100% - 14px, 100%); | |
| padding-top: 8px; | |
| gap: 14px; | |
| } | |
| .workspace-card, | |
| .editor-card, | |
| .attachments-card, | |
| .attachment-picker, | |
| .settings-panel, | |
| .output-card { | |
| padding: 16px; | |
| border-radius: 22px; | |
| } | |
| .top-bar, | |
| .section-head, | |
| .attachment-item { | |
| grid-template-columns: 1fr; | |
| } | |
| .top-bar, | |
| .section-head { | |
| display: grid; | |
| } | |
| .tab-strip { | |
| justify-content: start; | |
| } | |
| .tool-row { | |
| gap: 8px; | |
| } | |
| .settings-grid { | |
| grid-template-columns: 1fr; | |
| } | |
| .picker-mode-row, | |
| .picker-grid { | |
| grid-template-columns: 1fr; | |
| } | |
| .attachment-item { | |
| grid-template-columns: 1fr; | |
| } | |
| .tool-row .send-button { | |
| margin-left: auto; | |
| } | |
| } | |