/* Precision Grid: hard edges, measured spacing, and quiet instrument-panel accents. */
:root { --pg-cyan: #91e6f8; --pg-blue: #123247; --pg-line: #b4ddf52b; }
body:not(.cosmic-home) .panel,
body:not(.cosmic-home) .stat-card,
body:not(.cosmic-home) .program-card,
body:not(.cosmic-home) .feature-card,
body:not(.cosmic-home) .quick-actions > a,
body:not(.cosmic-home) .license-card,
body:not(.cosmic-home) .support-card,
body:not(.cosmic-home) .welcome-banner,
body:not(.cosmic-home) .release-card,
body:not(.cosmic-home) .empty-state,
body:not(.cosmic-home) .chat-panel,
body:not(.cosmic-home) .release-filter,
body:not(.cosmic-home) .manage-product { border-radius: 0; position: relative; }
body:not(.cosmic-home) .panel::before,
body:not(.cosmic-home) .stat-card::before,
body:not(.cosmic-home) .program-card::before,
body:not(.cosmic-home) .feature-card::before,
body:not(.cosmic-home) .welcome-banner::before,
body:not(.cosmic-home) .chat-panel::before {
  content: ""; position: absolute; inset: -1px auto auto -1px; width: 28px; height: 2px;
  background: var(--pg-cyan); opacity: .9; pointer-events: none;
}
body:not(.cosmic-home) .panel::after,
body:not(.cosmic-home) .stat-card::after,
body:not(.cosmic-home) .program-card::after,
body:not(.cosmic-home) .feature-card::after,
body:not(.cosmic-home) .chat-panel::after {
  content: ""; position: absolute; inset: auto 10px -1px auto; width: 18px; height: 1px;
  background: var(--pg-cyan); opacity: .55; pointer-events: none;
}
body:not(.cosmic-home) .btn,
body:not(.cosmic-home) .icon-button,
body:not(.cosmic-home) input:not([type=checkbox]):not([type=hidden]),
body:not(.cosmic-home) select,
body:not(.cosmic-home) textarea,
body:not(.cosmic-home) .search-input,
body:not(.cosmic-home) .input-group,
body:not(.cosmic-home) .download-feedback,
body:not(.cosmic-home) .badge,
body:not(.cosmic-home) .nav-count,
body:not(.cosmic-home) .language-switch,
body:not(.cosmic-home) .release-filter { border-radius: 0; }
body:not(.cosmic-home) .btn { letter-spacing: .03em; box-shadow: inset 0 -2px #0000001c; }
body:not(.cosmic-home) .btn:hover { transform: translateY(-1px); box-shadow: 0 0 0 1px var(--pg-cyan), inset 0 -2px #0000001c; }
body:not(.cosmic-home) .side-nav > a { border-radius: 0; }
body:not(.cosmic-home) .program-icon,
body:not(.cosmic-home) .program-icon-lg,
body:not(.cosmic-home) .license-icon,
body:not(.cosmic-home) .banner-symbol,
body:not(.cosmic-home) .brand-mark,
body:not(.cosmic-home) .core-node,
body:not(.cosmic-home) .flow-node { border-radius: 0; }
body:not(.cosmic-home) .message-bubble { border-radius: 0; border-left: 2px solid var(--pg-cyan); }
body:not(.cosmic-home) .mine .message-bubble { border-left: 0; border-right: 2px solid var(--pg-cyan); }
body:not(.cosmic-home) .toast { border-radius: 0; border-left: 2px solid var(--pg-cyan); }
body:not(.cosmic-home) .form-error { border-radius: 0; border-left: 2px solid #ff9f9b; }
body:not(.cosmic-home) .table-wrap { border: 1px solid var(--pg-line); }
body:not(.cosmic-home) th { letter-spacing: .04em; text-transform: none; }

/* The public landing page uses the poster as its main visual layer. Keep it
   visible when the precision-grid bundle is loaded after home.css. */
.cosmic-home .cosmos-media { display: block; visibility: visible; }

/* Quote processing feedback. */
.quote-progress { margin-top: 18px; padding: 16px; border: 1px solid #91e6f866; background: #071b2b; color: #dff7ff; }
.quote-progress-head { display: flex; justify-content: space-between; gap: 12px; font: 11px Consolas, monospace; letter-spacing: .04em; }
.quote-progress-head span { color: var(--pg-cyan); }
.quote-progress-track { height: 4px; margin: 13px 0 14px; background: #102f44; overflow: hidden; }
.quote-progress-track span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #57cde4, #b6f4ff); transition: width .35s ease; box-shadow: 0 0 14px #91e6f8; }
.quote-progress-steps { list-style: none; padding: 0; margin: 0; display: grid; gap: 7px; font-size: 11px; color: #7890a6; }
.quote-progress-steps li::before { content: "□"; display: inline-block; width: 20px; color: #496b80; }
.quote-progress-steps li.is-active, .quote-progress-steps li.is-done { color: #dff7ff; }
.quote-progress-steps li.is-active::before { content: "◈"; color: var(--pg-cyan); }
.quote-progress-steps li.is-done::before { content: "■"; color: #75d6a7; }
.quote-progress p { margin-top: 12px; color: #91e6f8; font-size: 10px; }

@media (max-width: 640px) { .quote-progress { padding: 13px; } }

/* The same hard-edged language applies to public and authentication surfaces. */
.panel, .stat-card, .program-card, .feature-card, .quick-actions > a, .license-card,
.support-card, .welcome-banner, .release-card, .empty-state, .chat-panel, .cta-panel,
.agent-visual, .flow-node, .core-node, .release-filter, .manage-product,
.btn, .icon-button, .search-input, .language-switch,
input:not([type=checkbox]):not([type=hidden]), select, textarea { border-radius: 0; }
.message-bubble, .toast, .form-error, .download-feedback { border-radius: 0; }

/* Sci-fi pointer: a restrained HUD reticle that follows the real pointer. */
.sci-cursor { position: fixed; left: 0; top: 0; z-index: 1000; width: 58px; height: 58px; pointer-events: none; opacity: 0; transform: translate3d(-100px,-100px,0); transition: opacity .18s ease; mix-blend-mode: screen; }
.sci-cursor.is-visible { opacity: 1; }
.sci-cursor-ring { position: absolute; inset: 7px; border: 1px solid #91e6f8b8; border-radius: 50%; box-shadow: 0 0 18px #91e6f84d, inset 0 0 12px #91e6f81c; transition: transform .22s ease, border-color .22s ease; }
.sci-cursor-ring::before, .sci-cursor-ring::after { content: ""; position: absolute; inset: 8px; border: 1px dashed #9dffdf66; border-radius: 50%; animation: sci-cursor-spin 8s linear infinite; }
.sci-cursor-ring::after { inset: 14px; border-style: solid; border-color: #91e6f855 transparent; animation-duration: 4s; animation-direction: reverse; }
.sci-cursor-core { position: absolute; left: 50%; top: 50%; width: 5px; height: 5px; transform: translate(-50%,-50%); background: #dffbff; box-shadow: 0 0 14px 3px #91e6f8; }
.sci-cursor-cross { position: absolute; left: 50%; top: 0; background: #91e6f8a8; }
.sci-cursor-cross-x { width: 1px; height: 5px; transform: translateX(-50%); box-shadow: 0 48px 0 #91e6f8a8; }
.sci-cursor-cross-y { width: 5px; height: 1px; transform: translateY(-50%); top: 50%; left: 0; box-shadow: 48px 0 0 #91e6f8a8; }
.sci-cursor-readout { position: absolute; left: 40px; top: -7px; color: #b9f2ff; font: 7px/1 Consolas, monospace; letter-spacing: 1px; white-space: nowrap; opacity: .72; }
.sci-cursor.is-hover .sci-cursor-ring { transform: scale(1.35); border-color: #9dffdf; }
.sci-cursor.is-hover .sci-cursor-readout { color: #9dffdf; }
@keyframes sci-cursor-spin { to { transform: rotate(360deg); } }
body.sci-cursor-enabled, body.sci-cursor-enabled * { cursor: none !important; }
@media (pointer: coarse), (prefers-reduced-motion: reduce) { .sci-cursor { display: none; } }

/* Keep the landing page's space image intact while giving its conversation
   surface the same measured, hard-edged Precision Grid language. */
.cosmic-home .public-chat-panel,
.cosmic-home .public-chat-input-shell,
.cosmic-home .public-chat-message,
.cosmic-home .public-chat-message.mine,
.cosmic-home .public-chat-badge,
.cosmic-home .cosmic-primary,
.cosmic-home .cosmic-motion,
.cosmic-home .public-chat-avatar,
.cosmic-home .public-chat-signal,
.cosmic-home .public-chat-empty-orbit { border-radius: 0; }
.cosmic-home .public-chat-panel { border-color: #91e6f866; box-shadow: 0 26px 90px #01070fa6, 0 0 0 1px #b9f5ff1a inset; }
.cosmic-home .public-chat-message::before { border-radius: 0; }
