Download universe/styles.css from Snapkitty/grisp-shadow-fleet: direct link, hf CLI and curl.
- Browser
- Download file 20.5 kB
-
https://huggingface.co/Snapkitty/grisp-shadow-fleet/resolve/main/universe/styles.css
- Command line
-
hf download hf://Snapkitty/grisp-shadow-fleet/universe/styles.css
-
curl -L -o styles.css https://huggingface.co/Snapkitty/grisp-shadow-fleet/resolve/main/universe/styles.css
20.5 kB
| :root { | |
| color-scheme: dark; | |
| font-family: Inter, "Segoe UI", Arial, sans-serif; | |
| font-synthesis: none; | |
| --ink: #f5f7fa; | |
| --muted: #9ca9b8; | |
| --dim: #687483; | |
| --void: #030507; | |
| --surface: rgba(8, 12, 17, 0.93); | |
| --surface-solid: #080c11; | |
| --surface-raised: #10171f; | |
| --line: rgba(190, 210, 226, 0.22); | |
| --line-strong: rgba(220, 232, 241, 0.44); | |
| --cyan: #5ce8e3; | |
| --magenta: #ff4fa7; | |
| --gold: #f2c464; | |
| --danger: #ff6b6b; | |
| --success: #70e19a; | |
| --safe-top: max(12px, env(safe-area-inset-top)); | |
| --safe-right: max(12px, env(safe-area-inset-right)); | |
| --safe-bottom: max(12px, env(safe-area-inset-bottom)); | |
| --safe-left: max(12px, env(safe-area-inset-left)); | |
| } | |
| * { | |
| box-sizing: border-box; | |
| letter-spacing: 0; | |
| } | |
| html, | |
| body { | |
| width: 100%; | |
| height: 100%; | |
| margin: 0; | |
| overflow: hidden; | |
| background: var(--void); | |
| color: var(--ink); | |
| } | |
| body { | |
| min-width: 320px; | |
| overscroll-behavior: none; | |
| } | |
| button, | |
| input { | |
| color: inherit; | |
| font: inherit; | |
| } | |
| button { | |
| -webkit-tap-highlight-color: transparent; | |
| } | |
| [hidden] { | |
| display: none ; | |
| } | |
| .universe-shell, | |
| .viewport, | |
| .canvas-mount { | |
| position: absolute; | |
| inset: 0; | |
| } | |
| .universe-hud { | |
| position: fixed; | |
| z-index: 20; | |
| inset: 0; | |
| pointer-events: none; | |
| } | |
| .universe-shell { | |
| isolation: isolate; | |
| background: #05070a; | |
| } | |
| .viewport { | |
| overflow: hidden; | |
| outline: none; | |
| } | |
| .viewport:focus-visible { | |
| outline: 2px solid var(--cyan); | |
| outline-offset: -2px; | |
| } | |
| .canvas-mount canvas { | |
| display: block; | |
| width: 100%; | |
| height: 100%; | |
| touch-action: none; | |
| } | |
| .skip-link { | |
| position: fixed; | |
| z-index: 100; | |
| top: 8px; | |
| left: 8px; | |
| padding: 9px 12px; | |
| transform: translateY(-160%); | |
| border: 1px solid var(--cyan); | |
| border-radius: 4px; | |
| background: var(--surface-solid); | |
| color: var(--ink); | |
| } | |
| .skip-link:focus { | |
| transform: translateY(0); | |
| } | |
| .fatal-message { | |
| position: fixed; | |
| z-index: 101; | |
| inset: 0; | |
| display: grid; | |
| place-items: center; | |
| margin: 0; | |
| background: var(--void); | |
| color: var(--danger); | |
| } | |
| .transition-overlay, | |
| .damage-vignette { | |
| position: absolute; | |
| inset: 0; | |
| pointer-events: none; | |
| opacity: 0; | |
| transition: opacity 180ms ease; | |
| } | |
| .transition-overlay { | |
| z-index: 10; | |
| background: #e9fbff; | |
| } | |
| .transition-overlay.is-active { | |
| opacity: 0.72; | |
| } | |
| .damage-vignette { | |
| z-index: 11; | |
| border: 12px solid rgba(255, 63, 88, 0.58); | |
| } | |
| .damage-vignette.is-active { | |
| opacity: 1; | |
| } | |
| .crosshair { | |
| position: absolute; | |
| z-index: 12; | |
| top: 50%; | |
| left: 50%; | |
| width: 22px; | |
| height: 22px; | |
| transform: translate(-50%, -50%); | |
| border: 1px solid rgba(255, 255, 255, 0.66); | |
| border-radius: 50%; | |
| pointer-events: none; | |
| } | |
| .crosshair::before, | |
| .crosshair::after, | |
| .crosshair span::before, | |
| .crosshair span::after { | |
| position: absolute; | |
| content: ""; | |
| background: var(--cyan); | |
| } | |
| .crosshair::before, | |
| .crosshair::after { | |
| top: 9px; | |
| width: 5px; | |
| height: 2px; | |
| } | |
| .crosshair::before { left: -8px; } | |
| .crosshair::after { right: -8px; } | |
| .crosshair span::before, | |
| .crosshair span::after { | |
| left: 9px; | |
| width: 2px; | |
| height: 5px; | |
| } | |
| .crosshair span::before { top: -8px; } | |
| .crosshair span::after { bottom: -8px; } | |
| .status-bar { | |
| position: fixed; | |
| z-index: 30; | |
| top: var(--safe-top); | |
| right: var(--safe-right); | |
| left: var(--safe-left); | |
| display: grid; | |
| grid-template-columns: minmax(188px, 1fr) auto minmax(150px, 1fr); | |
| align-items: stretch; | |
| min-height: 52px; | |
| border: 1px solid var(--line); | |
| border-top-color: var(--line-strong); | |
| border-radius: 6px; | |
| background: var(--surface); | |
| box-shadow: 0 12px 36px rgba(0, 0, 0, 0.34); | |
| pointer-events: auto; | |
| } | |
| .identity-block { | |
| display: flex; | |
| min-width: 0; | |
| align-items: center; | |
| gap: 10px; | |
| padding: 7px 12px; | |
| } | |
| .identity-mark { | |
| display: grid; | |
| flex: 0 0 34px; | |
| width: 34px; | |
| height: 34px; | |
| place-items: center; | |
| border: 1px solid var(--magenta); | |
| border-radius: 4px; | |
| color: var(--magenta); | |
| font-size: 11px; | |
| font-weight: 800; | |
| } | |
| .identity-block h1, | |
| .identity-block p, | |
| .panel-header h2, | |
| .panel-header p, | |
| .dialogue-speaker-line h2, | |
| .dialogue-speaker-line p, | |
| .objective-strip p { | |
| margin: 0; | |
| } | |
| .identity-block h1 { | |
| overflow: hidden; | |
| color: var(--ink); | |
| font-size: 11px; | |
| font-weight: 750; | |
| line-height: 1.25; | |
| text-overflow: ellipsis; | |
| white-space: nowrap; | |
| } | |
| .identity-block p { | |
| overflow: hidden; | |
| margin-top: 3px; | |
| color: var(--cyan); | |
| font: 10px/1.2 Consolas, monospace; | |
| text-overflow: ellipsis; | |
| white-space: nowrap; | |
| } | |
| .status-metrics { | |
| display: grid; | |
| grid-auto-flow: column; | |
| grid-auto-columns: minmax(74px, auto); | |
| margin: 0; | |
| border-right: 1px solid var(--line); | |
| border-left: 1px solid var(--line); | |
| } | |
| .status-metric { | |
| display: grid; | |
| align-content: center; | |
| min-width: 0; | |
| padding: 6px 12px; | |
| border-right: 1px solid var(--line); | |
| } | |
| .status-metric:last-child { | |
| border-right: 0; | |
| } | |
| .status-metric dt, | |
| .telemetry-grid dt { | |
| color: var(--dim); | |
| font-size: 9px; | |
| font-weight: 700; | |
| line-height: 1.2; | |
| text-transform: uppercase; | |
| } | |
| .status-metric dd, | |
| .telemetry-grid dd { | |
| overflow: hidden; | |
| margin: 3px 0 0; | |
| color: var(--ink); | |
| font: 600 11px/1.2 Consolas, monospace; | |
| text-overflow: ellipsis; | |
| white-space: nowrap; | |
| } | |
| .status-metric--pressure dd { color: var(--cyan); } | |
| .status-metric--oxygen dd { color: var(--success); } | |
| .status-metric--time dd { color: var(--gold); } | |
| .session-actions { | |
| display: flex; | |
| align-items: center; | |
| justify-content: flex-end; | |
| gap: 4px; | |
| padding: 7px; | |
| } | |
| .icon-button { | |
| position: relative; | |
| display: inline-grid; | |
| width: 36px; | |
| height: 36px; | |
| flex: 0 0 36px; | |
| place-items: center; | |
| padding: 0; | |
| border: 1px solid var(--line); | |
| border-radius: 4px; | |
| background: rgba(16, 23, 31, 0.92); | |
| color: var(--muted); | |
| font: 700 12px/1 Consolas, monospace; | |
| cursor: pointer; | |
| } | |
| .icon-button:hover, | |
| .icon-button[aria-expanded="true"], | |
| .icon-button[aria-pressed="true"] { | |
| border-color: var(--cyan); | |
| color: var(--cyan); | |
| } | |
| .icon-button:focus-visible, | |
| .dialogue-option:focus-visible, | |
| .mission-select:focus-visible, | |
| .console-form button:focus-visible, | |
| .console-form input:focus-visible { | |
| outline: 2px solid var(--gold); | |
| outline-offset: 2px; | |
| } | |
| [data-tooltip]::after { | |
| position: absolute; | |
| z-index: 80; | |
| top: calc(100% + 7px); | |
| left: 50%; | |
| width: max-content; | |
| max-width: 150px; | |
| padding: 5px 7px; | |
| transform: translate(-50%, -3px); | |
| border: 1px solid var(--line); | |
| border-radius: 3px; | |
| background: var(--surface-solid); | |
| color: var(--ink); | |
| content: attr(data-tooltip); | |
| font: 10px/1.2 "Segoe UI", sans-serif; | |
| opacity: 0; | |
| pointer-events: none; | |
| transition: opacity 120ms ease, transform 120ms ease; | |
| } | |
| [data-tooltip]:hover::after, | |
| [data-tooltip]:focus-visible::after { | |
| transform: translate(-50%, 0); | |
| opacity: 1; | |
| } | |
| .icon-button svg, | |
| .console-form button svg { | |
| width: 17px; | |
| height: 17px; | |
| stroke-width: 1.8; | |
| } | |
| .tool-rail { | |
| position: fixed; | |
| z-index: 30; | |
| top: 80px; | |
| right: var(--safe-right); | |
| display: grid; | |
| gap: 6px; | |
| padding: 6px; | |
| border: 1px solid var(--line); | |
| border-radius: 6px; | |
| background: var(--surface); | |
| pointer-events: auto; | |
| } | |
| .tool-rail [data-tooltip]::after { | |
| top: 50%; | |
| right: calc(100% + 8px); | |
| left: auto; | |
| transform: translate(3px, -50%); | |
| } | |
| .tool-rail [data-tooltip]:hover::after, | |
| .tool-rail [data-tooltip]:focus-visible::after { | |
| transform: translate(0, -50%); | |
| } | |
| .telemetry-band { | |
| position: fixed; | |
| z-index: 25; | |
| bottom: var(--safe-bottom); | |
| left: var(--safe-left); | |
| width: 260px; | |
| min-height: 112px; | |
| padding: 10px 12px; | |
| border: 1px solid var(--line); | |
| border-left: 3px solid var(--cyan); | |
| border-radius: 0 6px 6px 0; | |
| background: var(--surface); | |
| pointer-events: none; | |
| } | |
| .telemetry-heading { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| color: var(--ink); | |
| font: 700 11px/1.2 Consolas, monospace; | |
| } | |
| .signal-badge { | |
| padding: 3px 5px; | |
| border: 1px solid var(--success); | |
| border-radius: 3px; | |
| color: var(--success); | |
| font-size: 9px; | |
| } | |
| .telemetry-grid { | |
| display: grid; | |
| grid-template-columns: repeat(4, minmax(0, 1fr)); | |
| gap: 8px; | |
| margin: 10px 0 8px; | |
| } | |
| .meter, | |
| .loading-meter { | |
| height: 3px; | |
| overflow: hidden; | |
| background: #27313c; | |
| } | |
| .meter span, | |
| .loading-meter span { | |
| display: block; | |
| width: var(--meter-value, 0%); | |
| height: 100%; | |
| background: var(--cyan); | |
| transition: width 180ms ease; | |
| } | |
| .objective-strip { | |
| position: fixed; | |
| z-index: 24; | |
| top: 80px; | |
| left: var(--safe-left); | |
| display: grid; | |
| grid-template-columns: 30px minmax(0, 1fr) auto; | |
| align-items: center; | |
| width: min(360px, calc(100vw - 96px)); | |
| min-height: 54px; | |
| padding: 8px 10px; | |
| border: 1px solid var(--line); | |
| border-radius: 6px; | |
| background: var(--surface); | |
| pointer-events: none; | |
| } | |
| .objective-index { | |
| color: var(--magenta); | |
| font: 800 13px/1 Consolas, monospace; | |
| } | |
| #objective-title { | |
| overflow: hidden; | |
| color: var(--ink); | |
| font-size: 11px; | |
| font-weight: 700; | |
| line-height: 1.25; | |
| text-overflow: ellipsis; | |
| white-space: nowrap; | |
| } | |
| #objective-detail { | |
| overflow: hidden; | |
| margin-top: 3px; | |
| color: var(--muted); | |
| font-size: 10px; | |
| line-height: 1.25; | |
| text-overflow: ellipsis; | |
| white-space: nowrap; | |
| } | |
| #objective-distance { | |
| margin-left: 10px; | |
| color: var(--gold); | |
| font: 700 10px/1 Consolas, monospace; | |
| } | |
| .context-prompt { | |
| position: fixed; | |
| z-index: 28; | |
| bottom: 44px; | |
| left: 50%; | |
| display: flex; | |
| align-items: center; | |
| min-width: 150px; | |
| max-width: min(440px, calc(100vw - 32px)); | |
| gap: 10px; | |
| padding: 8px 12px; | |
| transform: translateX(-50%); | |
| border: 1px solid var(--line-strong); | |
| border-radius: 4px; | |
| background: var(--surface); | |
| box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4); | |
| color: var(--ink); | |
| font-size: 12px; | |
| } | |
| .context-prompt kbd { | |
| display: grid; | |
| width: 26px; | |
| height: 26px; | |
| flex: 0 0 26px; | |
| place-items: center; | |
| border: 1px solid var(--cyan); | |
| border-radius: 3px; | |
| background: #0e171e; | |
| color: var(--cyan); | |
| font: 700 11px/1 Consolas, monospace; | |
| } | |
| #context-action { | |
| overflow-wrap: anywhere; | |
| } | |
| .overlay-panel { | |
| position: fixed; | |
| z-index: 40; | |
| top: 80px; | |
| bottom: var(--safe-bottom); | |
| width: min(390px, calc(100vw - 24px)); | |
| overflow: auto; | |
| border: 1px solid var(--line-strong); | |
| border-radius: 6px; | |
| background: var(--surface); | |
| box-shadow: 0 20px 50px rgba(0, 0, 0, 0.48); | |
| pointer-events: auto; | |
| } | |
| .overlay-panel--right { | |
| right: var(--safe-right); | |
| } | |
| .panel-header, | |
| .dialogue-speaker-line { | |
| display: flex; | |
| min-height: 62px; | |
| align-items: center; | |
| gap: 12px; | |
| justify-content: space-between; | |
| padding: 11px 12px; | |
| border-bottom: 1px solid var(--line); | |
| background: var(--surface-solid); | |
| } | |
| .panel-header h2, | |
| .dialogue-speaker-line h2 { | |
| color: var(--ink); | |
| font-size: 16px; | |
| line-height: 1.2; | |
| } | |
| .panel-kicker { | |
| margin-bottom: 3px ; | |
| color: var(--cyan); | |
| font: 700 9px/1.2 Consolas, monospace; | |
| text-transform: uppercase; | |
| } | |
| .panel-summary, | |
| .balance-line, | |
| .reputation-line { | |
| display: flex; | |
| min-height: 44px; | |
| align-items: center; | |
| justify-content: space-between; | |
| gap: 12px; | |
| padding: 9px 12px; | |
| border-bottom: 1px solid var(--line); | |
| color: var(--muted); | |
| font-size: 11px; | |
| } | |
| .panel-summary strong, | |
| .balance-line strong, | |
| .reputation-line strong { | |
| color: var(--gold); | |
| font: 700 12px/1 Consolas, monospace; | |
| } | |
| .data-list { | |
| margin: 0; | |
| padding: 0; | |
| list-style: none; | |
| } | |
| .mission-row { | |
| border-bottom: 1px solid var(--line); | |
| } | |
| .mission-select { | |
| display: grid; | |
| grid-template-columns: 8px minmax(0, 1fr) auto; | |
| width: 100%; | |
| min-height: 66px; | |
| align-items: center; | |
| gap: 10px; | |
| padding: 10px 12px; | |
| border: 0; | |
| background: transparent; | |
| color: var(--ink); | |
| text-align: left; | |
| cursor: pointer; | |
| } | |
| .mission-select:hover { | |
| background: rgba(92, 232, 227, 0.07); | |
| } | |
| .mission-state { | |
| width: 6px; | |
| height: 24px; | |
| background: var(--magenta); | |
| } | |
| .mission-copy { | |
| min-width: 0; | |
| } | |
| .mission-copy strong, | |
| .mission-copy small { | |
| display: block; | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| white-space: nowrap; | |
| } | |
| .mission-copy strong { | |
| font-size: 12px; | |
| } | |
| .mission-copy small { | |
| margin-top: 4px; | |
| color: var(--muted); | |
| font-size: 10px; | |
| } | |
| .mission-reward { | |
| color: var(--gold); | |
| font: 700 10px/1 Consolas, monospace; | |
| } | |
| .system-alert { | |
| min-height: 36px; | |
| padding: 10px 12px; | |
| border-bottom: 1px solid rgba(242, 196, 100, 0.34); | |
| color: var(--gold); | |
| font-size: 11px; | |
| } | |
| .market-table { | |
| width: 100%; | |
| border-collapse: collapse; | |
| table-layout: fixed; | |
| font-size: 11px; | |
| } | |
| .market-table th, | |
| .market-table td { | |
| overflow: hidden; | |
| padding: 10px 12px; | |
| border-bottom: 1px solid var(--line); | |
| text-align: right; | |
| text-overflow: ellipsis; | |
| white-space: nowrap; | |
| } | |
| .market-table th { | |
| color: var(--dim); | |
| font-size: 9px; | |
| text-transform: uppercase; | |
| } | |
| .market-table th:first-child, | |
| .market-table td:first-child { | |
| width: 48%; | |
| text-align: left; | |
| } | |
| .dialogue-band, | |
| .console-band { | |
| position: fixed; | |
| z-index: 45; | |
| right: var(--safe-right); | |
| bottom: var(--safe-bottom); | |
| left: var(--safe-left); | |
| max-height: min(430px, calc(100vh - 92px)); | |
| overflow: auto; | |
| border: 1px solid var(--line-strong); | |
| border-radius: 6px; | |
| background: var(--surface); | |
| box-shadow: 0 20px 50px rgba(0, 0, 0, 0.52); | |
| pointer-events: auto; | |
| } | |
| .dialogue-band { | |
| width: min(760px, calc(100vw - 24px)); | |
| margin-inline: auto; | |
| } | |
| .dialogue-speaker-line { | |
| display: grid; | |
| grid-template-columns: 38px minmax(0, 1fr) 36px; | |
| justify-content: initial; | |
| } | |
| .speaker-avatar { | |
| display: grid; | |
| width: 38px; | |
| height: 38px; | |
| place-items: center; | |
| border: 1px solid var(--magenta); | |
| border-radius: 50%; | |
| color: var(--magenta); | |
| font: 700 10px/1 Consolas, monospace; | |
| } | |
| .dialogue-text { | |
| min-height: 64px; | |
| margin: 0; | |
| padding: 14px 16px; | |
| border-bottom: 1px solid var(--line); | |
| color: var(--ink); | |
| font-size: 13px; | |
| line-height: 1.55; | |
| overflow-wrap: anywhere; | |
| } | |
| .dialogue-options { | |
| display: grid; | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| } | |
| .dialogue-option { | |
| min-height: 44px; | |
| padding: 9px 12px; | |
| border: 0; | |
| border-right: 1px solid var(--line); | |
| border-bottom: 1px solid var(--line); | |
| background: transparent; | |
| color: var(--muted); | |
| font-size: 11px; | |
| line-height: 1.35; | |
| text-align: left; | |
| cursor: pointer; | |
| overflow-wrap: anywhere; | |
| } | |
| .dialogue-option:hover { | |
| background: rgba(255, 79, 167, 0.08); | |
| color: var(--ink); | |
| } | |
| .console-band { | |
| height: min(430px, calc(100vh - 92px)); | |
| background: rgba(3, 7, 10, 0.97); | |
| font-family: Consolas, "Courier New", monospace; | |
| } | |
| .panel-header--compact { | |
| min-height: 52px; | |
| } | |
| .console-status { | |
| display: flex; | |
| align-items: center; | |
| gap: 6px; | |
| margin-left: auto; | |
| color: var(--success); | |
| font-size: 9px; | |
| } | |
| .console-status span:first-child { | |
| width: 7px; | |
| height: 7px; | |
| border-radius: 50%; | |
| background: var(--success); | |
| } | |
| .console-output { | |
| display: block; | |
| height: calc(100% - 100px); | |
| min-height: 160px; | |
| overflow: auto; | |
| padding: 12px; | |
| color: #b9f9d0; | |
| font-size: 11px; | |
| line-height: 1.45; | |
| white-space: pre-wrap; | |
| overflow-wrap: anywhere; | |
| } | |
| .console-form { | |
| display: grid; | |
| grid-template-columns: auto minmax(0, 1fr) auto; | |
| min-height: 48px; | |
| align-items: center; | |
| gap: 8px; | |
| padding: 7px 9px; | |
| border-top: 1px solid var(--line); | |
| background: var(--surface-solid); | |
| } | |
| .console-form label { | |
| position: absolute; | |
| width: 1px; | |
| height: 1px; | |
| overflow: hidden; | |
| clip: rect(0, 0, 0, 0); | |
| } | |
| .console-form > span { | |
| color: var(--cyan); | |
| } | |
| .console-form input { | |
| min-width: 0; | |
| height: 32px; | |
| border: 0; | |
| border-bottom: 1px solid var(--line-strong); | |
| border-radius: 0; | |
| outline: none; | |
| background: transparent; | |
| } | |
| .console-form button { | |
| position: relative; | |
| display: grid; | |
| width: 36px; | |
| height: 32px; | |
| place-items: center; | |
| padding: 0; | |
| border: 1px solid var(--cyan); | |
| border-radius: 4px; | |
| background: transparent; | |
| color: var(--cyan); | |
| font-size: 10px; | |
| font-weight: 700; | |
| cursor: pointer; | |
| } | |
| .toast-region { | |
| position: fixed; | |
| z-index: 70; | |
| top: 82px; | |
| left: 50%; | |
| width: min(420px, calc(100vw - 32px)); | |
| transform: translateX(-50%); | |
| pointer-events: none; | |
| } | |
| .toast-region:not(:empty) { | |
| padding: 9px 12px; | |
| border: 1px solid var(--line-strong); | |
| border-left: 3px solid var(--gold); | |
| border-radius: 0 4px 4px 0; | |
| background: var(--surface); | |
| color: var(--ink); | |
| font-size: 11px; | |
| text-align: center; | |
| } | |
| .loading-screen { | |
| position: fixed; | |
| z-index: 90; | |
| inset: 0; | |
| display: grid; | |
| grid-template-rows: 1fr auto auto 1fr; | |
| place-items: center; | |
| background: #030507; | |
| transition: opacity 300ms ease, visibility 300ms ease; | |
| } | |
| .loading-screen.is-complete { | |
| visibility: hidden; | |
| opacity: 0; | |
| pointer-events: none; | |
| } | |
| .loading-core { | |
| align-self: end; | |
| display: grid; | |
| width: 76px; | |
| height: 76px; | |
| place-items: center; | |
| margin-bottom: 20px; | |
| border: 1px solid var(--magenta); | |
| border-radius: 50%; | |
| box-shadow: inset 0 0 0 7px #080c11, inset 0 0 0 8px rgba(92, 232, 227, 0.38); | |
| color: var(--ink); | |
| font: 800 15px/1 Consolas, monospace; | |
| animation: loading-pulse 1.4s ease-in-out infinite; | |
| } | |
| .loading-copy { | |
| display: grid; | |
| gap: 6px; | |
| text-align: center; | |
| } | |
| .loading-copy strong { | |
| font-size: 13px; | |
| } | |
| .loading-copy span { | |
| color: var(--muted); | |
| font: 10px/1.3 Consolas, monospace; | |
| } | |
| .loading-meter { | |
| align-self: start; | |
| width: min(280px, calc(100vw - 48px)); | |
| margin-top: 16px; | |
| } | |
| #loading-progress { | |
| width: 18%; | |
| background: var(--magenta); | |
| } | |
| @keyframes loading-pulse { | |
| 50% { border-color: var(--cyan); color: var(--cyan); } | |
| } | |
| @media (max-width: 920px) { | |
| .status-bar { | |
| grid-template-columns: minmax(180px, 1fr) auto; | |
| } | |
| .status-metrics { | |
| position: fixed; | |
| top: 78px; | |
| left: var(--safe-left); | |
| grid-auto-columns: minmax(72px, auto); | |
| border: 1px solid var(--line); | |
| border-radius: 6px; | |
| background: var(--surface); | |
| } | |
| .objective-strip { | |
| top: 142px; | |
| } | |
| .tool-rail { | |
| top: 78px; | |
| } | |
| .overlay-panel { | |
| top: 78px; | |
| } | |
| } | |
| @media (max-width: 640px) { | |
| :root { | |
| --safe-top: max(6px, env(safe-area-inset-top)); | |
| --safe-right: max(6px, env(safe-area-inset-right)); | |
| --safe-bottom: max(6px, env(safe-area-inset-bottom)); | |
| --safe-left: max(6px, env(safe-area-inset-left)); | |
| } | |
| .status-bar { | |
| grid-template-columns: minmax(0, 1fr) auto; | |
| min-height: 50px; | |
| } | |
| .identity-block { | |
| gap: 7px; | |
| padding: 6px 8px; | |
| } | |
| .identity-mark { | |
| width: 30px; | |
| height: 30px; | |
| flex-basis: 30px; | |
| } | |
| .identity-block h1 { | |
| font-size: 10px; | |
| } | |
| .session-actions { | |
| gap: 3px; | |
| padding: 5px; | |
| } | |
| .session-actions .icon-button { | |
| width: 32px; | |
| height: 32px; | |
| flex-basis: 32px; | |
| } | |
| #audio-toggle, | |
| #fullscreen-toggle { | |
| display: none; | |
| } | |
| .status-metrics { | |
| top: 64px; | |
| right: var(--safe-right); | |
| left: var(--safe-left); | |
| grid-template-columns: repeat(3, minmax(0, 1fr)); | |
| grid-auto-flow: initial; | |
| min-height: 44px; | |
| } | |
| .status-metric { | |
| padding: 5px 8px; | |
| } | |
| .status-metric--velocity, | |
| .status-metric--time { | |
| display: none; | |
| } | |
| .objective-strip { | |
| top: 116px; | |
| width: calc(100vw - 60px); | |
| min-height: 48px; | |
| } | |
| .tool-rail { | |
| top: 116px; | |
| gap: 4px; | |
| padding: 4px; | |
| } | |
| .tool-rail .icon-button { | |
| width: 32px; | |
| height: 32px; | |
| flex-basis: 32px; | |
| } | |
| .telemetry-band { | |
| right: var(--safe-right); | |
| bottom: var(--safe-bottom); | |
| left: var(--safe-left); | |
| width: auto; | |
| min-height: 72px; | |
| padding: 8px 10px; | |
| border-left-width: 2px; | |
| } | |
| .telemetry-grid { | |
| margin: 7px 0 6px; | |
| } | |
| .context-prompt { | |
| bottom: 92px; | |
| } | |
| .overlay-panel { | |
| top: 64px; | |
| right: var(--safe-right); | |
| bottom: var(--safe-bottom); | |
| left: var(--safe-left); | |
| width: auto; | |
| } | |
| .dialogue-band, | |
| .console-band { | |
| max-height: calc(100vh - 76px); | |
| } | |
| .dialogue-options { | |
| grid-template-columns: 1fr; | |
| } | |
| .dialogue-option { | |
| border-right: 0; | |
| } | |
| .toast-region { | |
| top: 116px; | |
| } | |
| } | |
| @media (max-width: 390px) { | |
| .identity-block p { | |
| max-width: 132px; | |
| } | |
| .status-metric { | |
| min-width: 0; | |
| } | |
| .status-metric dt, | |
| .status-metric dd { | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| } | |
| #objective-distance { | |
| display: none; | |
| } | |
| .objective-strip { | |
| grid-template-columns: 26px minmax(0, 1fr); | |
| } | |
| } | |
| @media (prefers-reduced-motion: reduce) { | |
| *, | |
| *::before, | |
| *::after { | |
| scroll-behavior: auto ; | |
| animation-duration: 0.01ms ; | |
| animation-iteration-count: 1 ; | |
| transition-duration: 0.01ms ; | |
| } | |
| } | |