:root{--color-hangar:#0b0e12;--color-deck:#12161c;--color-console:#1a1f26;--color-bezel:#242a33;--color-rule:#1f252d;--color-edge:#2d3440;--color-phosphor:#e8eaed;--color-readout:#9aa3ad;--color-annotation:#6b737e;--color-signal:#d4a857;--color-beacon:#6fa8c9;--color-bosun:#1b4965;--color-ensign:#3e80ae;--color-keel:#122f40;--color-nominal:#4f9b6e;--color-advisory:#6fa8c9;--color-caution:#d89a2e;--color-warning:#d4683a;--color-critical:#c74848;--risk-low-fill:#1e3a2e;--risk-low-fg:#6fc08f;--risk-medium-fill:#3d2f18;--risk-medium-fg:#e6b35c;--risk-high-fill:#3e2517;--risk-high-fg:#e68a52;--risk-extreme-fill:#3e1a1a;--risk-extreme-fg:#e66666;--font-sans:"General Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Geist Mono", "JetBrains Mono", ui-monospace, monospace;--row-height:40px;--row-padding-x:20px;--body-size:14px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--ease-out:cubic-bezier(.2, 0, 0, 1);--ease-inertial:cubic-bezier(.32, .72, 0, 1)}body.density-compact{--row-height:28px;--row-padding-x:18px;--body-size:13px}body.presenting{--body-size:16px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:16px}body{font-family:var(--font-sans);font-size:var(--body-size);background:var(--color-hangar);color:var(--color-phosphor);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.55}code,kbd,samp,pre,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none;outline:none}button{cursor:pointer;-webkit-user-select:none;user-select:none}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--color-beacon);outline-offset:2px}::selection{color:var(--color-phosphor);background:#d4a8574d}*{scrollbar-width:thin;scrollbar-color:var(--color-edge) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-edge);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--color-bezel)}.overline{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-annotation);text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:11px;font-weight:500;line-height:1.2}body.presenting .overline{letter-spacing:.12em}.panel{background:var(--color-deck);border:1px solid var(--color-edge);border-radius:4px}.data{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-readout);font-size:13px}.data-sm{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-readout);font-size:11px}.heading{letter-spacing:-.01em;color:var(--color-phosphor);font-size:18px;font-weight:600;line-height:1.3}.display{letter-spacing:-.02em;color:var(--color-phosphor);font-size:32px;font-weight:600;line-height:1.15}body.presenting .display{font-size:44px}@keyframes bosunblue-pulse{0%,to{opacity:.4}50%{opacity:.55}}.skeleton{background:var(--color-console);animation:bosunblue-pulse 1.8s var(--ease-out) infinite;border-radius:2px}.band-chip{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-variant-numeric:tabular-nums;border-radius:2px;align-items:center;gap:6px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.band-chip .dot{border-radius:50%;width:6px;height:6px}.band-low{background:var(--risk-low-fill);color:var(--risk-low-fg)}.band-low .dot{background:var(--risk-low-fg)}.band-medium{background:var(--risk-medium-fill);color:var(--risk-medium-fg)}.band-medium .dot{background:var(--risk-medium-fg)}.band-high{background:var(--risk-high-fill);color:var(--risk-high-fg)}.band-high .dot{background:var(--risk-high-fg)}.band-extreme{background:var(--risk-extreme-fill);color:var(--risk-extreme-fg)}.band-extreme .dot{background:var(--risk-extreme-fg)}.status-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.status-dot.nominal{background:var(--color-nominal)}.status-dot.advisory{background:var(--color-advisory)}.status-dot.caution{background:var(--color-caution)}.status-dot.warning{background:var(--color-warning)}.status-dot.critical{background:var(--color-critical)}.btn{font-family:var(--font-sans);letter-spacing:.02em;border:1px solid var(--color-edge);background:var(--color-deck);color:var(--color-phosphor);transition:all .14s var(--ease-out);white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:8px 14px;font-size:12px;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--color-bezel);background:var(--color-console)}.btn.primary{background:var(--color-signal);color:#1a1208;border-color:var(--color-signal);font-weight:600}.btn.primary:hover:not(:disabled){background:#e0b569;border-color:#e0b569}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--color-console);border-color:var(--color-edge)}.btn.danger{color:var(--color-critical);border-color:var(--color-rule)}.btn .spinner{border:1.5px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.input,.textarea,.select{background:var(--color-deck);border:1px solid var(--color-edge);width:100%;color:var(--color-phosphor);font-family:var(--font-sans);transition:border-color .14s var(--ease-out);border-radius:2px;min-height:36px;padding:8px 12px;font-size:14px}.input:focus,.textarea:focus,.select:focus{border-color:var(--color-beacon);outline:none}.input::placeholder,.textarea::placeholder{color:var(--color-annotation)}.textarea{resize:vertical;min-height:72px;line-height:1.5}.select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'><path d='M3 5L6 8L9 5' stroke='%239AA3AD' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}#root{flex-direction:column;display:flex}:focus:not(:focus-visible){outline:none}.mono,code,.data,.data-sm,.overline{font-variant-numeric:tabular-nums}.brand-section{max-width:1160px;margin:0 auto;padding:40px max(32px,6vw)}.brand-section-rule{border-bottom:1px solid var(--color-phosphor);justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:32px;padding-bottom:8px;display:flex}.brand-section-rule .overline-amber{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-signal);text-transform:uppercase;font-size:11px;font-weight:500}.brand-section-rule .sub{font-family:var(--font-sans);color:var(--color-readout);font-size:12px}.brand-grid{grid-template-columns:minmax(360px,460px) 1fr;gap:48px;display:grid}@media (width<=960px){.brand-grid{grid-template-columns:1fr}.brand-grid .brand-form{order:2}.brand-grid .brand-preview-wrap{order:1;position:static!important}}.brand-form{flex-direction:column;gap:0;display:flex}.brand-field{border-top:1px solid #e8eaed14;padding:24px 0}.brand-field:first-child{border-top:0;padding-top:0}.brand-field .field-label{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-signal);text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:500}.brand-field .field-help{font-family:var(--font-sans);color:var(--color-readout);max-width:440px;margin-bottom:16px;font-size:12px;line-height:1.5}.brand-input{width:100%;max-width:360px;height:40px;color:var(--color-phosphor);font-family:var(--font-mono);letter-spacing:.02em;transition:border-color .16s var(--ease-out);background:0 0;border:0;border-bottom:1px solid #e8eaed40;outline:none;padding:0 4px;font-size:14px;display:block}.brand-input:focus{border-bottom-color:var(--color-signal)}.brand-input.invalid{border-bottom-color:var(--color-critical)}.brand-counter{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-annotation);margin-top:6px;font-size:10px}.logo-zone{cursor:pointer;width:240px;height:96px;transition:background .16s var(--ease-out), border-color .16s var(--ease-out);background:#e8eaed0a;border:1px solid #e8eaed26;justify-content:center;align-items:center;display:flex;position:relative}.logo-zone:hover{border-color:#e8eaed4d}.logo-zone.drag-over{border-color:var(--color-signal);background:#d4a8570f}.logo-zone.drag-over .logo-zone-hint,.logo-zone.drag-over .logo-zone-hint svg{color:var(--color-signal)}.logo-zone-hint{color:var(--color-readout);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;transition:color .16s var(--ease-out);flex-direction:column;align-items:center;gap:6px;font-size:10px;display:flex}.logo-zone-hint svg{stroke-width:1.5px;width:18px;height:18px}.logo-zone-preview{background:#f7f4ee}.logo-zone-preview img{max-width:200px;max-height:60px;display:block}.logo-zone-actions{opacity:0;transition:opacity .16s var(--ease-out);gap:10px;display:flex;position:absolute;bottom:6px;right:8px}.logo-zone:hover .logo-zone-actions{opacity:1}.logo-zone-actions button{color:var(--color-phosphor);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#0b0e12d9;border:0;padding:3px 6px;font-size:9px}.logo-zone-actions button:hover{color:var(--color-signal)}.logo-meta{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-annotation);margin-top:8px;font-size:10px}.logo-warning{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-caution);max-width:360px;margin-top:8px;font-size:10px}.picker-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.picker-swatch{cursor:pointer;border:1px solid #e8eaed33;flex-shrink:0;width:48px;height:48px;position:relative}.picker-swatch:after{content:"";background:#ffffff8c;width:5px;height:5px;position:absolute;bottom:4px;right:4px}.picker-hex{width:130px;height:48px;color:var(--color-phosphor);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;background:0 0;border:0;border-bottom:1px solid #e8eaed40;outline:none;padding:0 4px;font-size:14px}.picker-hex:focus{border-bottom-color:var(--color-signal)}.picker-badges{flex-direction:column;gap:4px;display:flex}.picker-badge{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;font-size:9px;display:flex}.picker-badge:before{content:"";border-radius:50%;width:5px;height:5px;display:inline-block}.picker-badge.pass{color:var(--color-readout)}.picker-badge.pass:before{background:var(--color-nominal)}.picker-badge.warn{color:var(--color-warning)}.picker-badge.warn:before{background:var(--color-warning)}.picker-popover{background:var(--color-console);border:1px solid var(--color-edge);z-index:100;width:280px;padding:16px;position:absolute;top:56px;left:0;box-shadow:0 12px 32px #0006}.picker-popover-label{font-family:var(--font-mono);letter-spacing:.1em;color:var(--color-annotation);text-transform:uppercase;margin-bottom:10px;font-size:9px}.picker-grid{grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:14px;display:grid}.picker-grid-swatch{cursor:pointer;width:32px;height:32px;transition:transform .12s var(--ease-out);border:1px solid #0000;position:relative}.picker-grid-swatch:hover{border-color:#e8eaed66;transform:scale(1.08)}.picker-grid-swatch.selected{border-color:var(--color-phosphor)}.picker-grid-swatch.default:after{content:"S";font-family:var(--font-mono);color:#ffffffb3;letter-spacing:0;font-size:8px;position:absolute;top:1px;left:2px}.picker-position-wrap{position:relative}.brand-preview-wrap{align-self:start;position:sticky;top:96px}.brand-preview-status{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.brand-preview-toggle{border:1px solid #e8eaed33;display:flex}.brand-preview-toggle button{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-readout);cursor:pointer;text-transform:uppercase;background:0 0;border:0;padding:5px 12px;font-size:10px}.brand-preview-toggle button.on{color:var(--color-phosphor);background:#e8eaed14}.brand-paper-frame{aspect-ratio:1/1.414;width:100%;max-width:480px;transition:outline-color .6s var(--ease-out);outline:1px solid #e8eaed26;position:relative;overflow:hidden}.brand-paper-frame.recently-changed{outline-color:var(--accent-color,var(--color-signal))}.brand-paper{color:#1a1f26;-webkit-user-select:none;user-select:none;background:#f7f4ee;flex-direction:column;padding:8% 7%;font-family:General Sans,sans-serif;display:flex;position:absolute;inset:0}.brand-paper.dark{color:#f7f4ee;background:#1a1f26}.brand-paper-logo{max-width:28%;max-height:6%;position:absolute;top:6%;right:7%}.brand-paper-logo img{max-width:100%;max-height:100%;display:block}.brand-paper-logo-placeholder{letter-spacing:.12em;color:#1a1f2659;text-transform:uppercase;border:1px dashed #1a1f2640;padding:4px 8px;font-family:Geist Mono,monospace;font-size:9px}.brand-paper.dark .brand-paper-logo-placeholder{color:#f7f4ee59;border-color:#f7f4ee40}.brand-paper-content{flex-direction:column;flex:auto;justify-content:center;min-height:0;display:flex}.brand-paper-overline{letter-spacing:.12em;color:var(--accent-color,#d4a857);text-transform:uppercase;transition:color .24s var(--ease-out);margin-bottom:14px;font-family:Geist Mono,monospace;font-size:11px}.brand-paper-title{letter-spacing:-.02em;max-width:90%;font-family:General Sans,sans-serif;font-size:clamp(20px,4.6vw,36px);font-weight:600;line-height:1.05}.brand-paper-rule{background:var(--accent-color,#d4a857);width:80px;height:3px;transition:background .24s var(--ease-out);margin-top:20px}.brand-paper-meta{color:#1a1f2699;letter-spacing:.04em;flex-direction:column;gap:4px;margin-top:18px;font-family:Geist Mono,monospace;font-size:11px;display:flex}.brand-paper.dark .brand-paper-meta{color:#f7f4ee8c}.brand-paper-footer{letter-spacing:.1em;color:#1a1f268c;text-transform:uppercase;border-top:1px solid #1a1f2626;flex-shrink:0;justify-content:space-between;padding-top:12px;font-family:Geist Mono,monospace;font-size:9px;display:flex}.brand-paper.dark .brand-paper-footer{color:#f7f4ee80;border-top-color:#f7f4ee2e}.brand-actions{border-top:1px solid #e8eaed14;justify-content:flex-end;align-items:baseline;gap:24px;margin-top:32px;padding-top:24px;display:flex}.brand-reset{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-readout);text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.brand-reset:hover{color:var(--color-phosphor)}.brand-reset.confirming{color:var(--color-caution)}
