@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/hermetic-fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/hermetic-fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/hermetic-fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/hermetic-fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Semi Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/hermetic-fonts/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Semi Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/hermetic-fonts/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Semi Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/hermetic-fonts/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/hermetic-fonts/font-7.ttf) format('truetype');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/hermetic-fonts/font-8.ttf) format('truetype');
}

/* Runway: sectional-chart palette. Paper and navy ink, chart magenta as the
   single accent (actions, live state); amber/green/red only for run status. */

:root {
  --paper: #eef2f0;
  --paper-2: #e3e9e6;
  --panel: #f8faf9;
  --ink: #16253a;
  --ink-2: #3c4b60;
  --ink-3: #596879;
  --rule: #cdd6d2;
  --rule-2: #dde4e1;
  --magenta: #b0177c;
  --magenta-bright: #e04aa6;
  --magenta-wash: #f6e3ef;
  --amber: #c98a1b;
  --green: #2e7d5b;
  --red: #b23a2e;
  --red-wash: #f8e6e3;
  --user-bubble: #dfe7f0;
  --code-bg: #e4eae7;
  --term-bg: #0e1724;
  --term-fg: #d6dfe9;
  --term-sel: #2a3d58;
  --shadow: 0 1px 0 rgba(22, 37, 58, 0.04), 0 8px 24px -12px rgba(22, 37, 58, 0.25);

  --font-body: "Barlow", system-ui, sans-serif;
  --font-head: "Barlow Semi Condensed", "Barlow", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --sidebar-w: 272px;
  --diff-w: min(46vw, 640px);
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #0e1724;
    --paper-2: #142032;
    --panel: #111c2b;
    --ink: #dbe4ee;
    --ink-2: #aab7c6;
    --ink-3: #7a889a;
    --rule: #26354a;
    --rule-2: #1c2a3d;
    --magenta: #e04aa6;
    --magenta-bright: #ef6dbd;
    --magenta-wash: #2c1830;
    --amber: #e3a640;
    --green: #4fb487;
    --red: #e46a5c;
    --red-wash: #2d1a1c;
    --user-bubble: #1d2c42;
    --code-bg: #17243a;
    --term-bg: #0a111b;
    --term-fg: #d6dfe9;
    --term-sel: #2a3d58;
    --shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 10px 30px -12px rgba(0, 0, 0, 0.6);
    color-scheme: dark;
  }
}

:root[data-theme="dark"] {
  --paper: #0e1724;
  --paper-2: #142032;
  --panel: #111c2b;
  --ink: #dbe4ee;
  --ink-2: #aab7c6;
  --ink-3: #7a889a;
  --rule: #26354a;
  --rule-2: #1c2a3d;
  --magenta: #e04aa6;
  --magenta-bright: #ef6dbd;
  --magenta-wash: #2c1830;
  --amber: #e3a640;
  --green: #4fb487;
  --red: #e46a5c;
  --red-wash: #2d1a1c;
  --user-bubble: #1d2c42;
  --code-bg: #17243a;
  --term-bg: #0a111b;
  color-scheme: dark;
}

* {
  box-sizing: border-box;
}

html,
body,
#root {
  height: 100%;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}

button {
  cursor: pointer;
}

button:disabled {
  cursor: default;
}

code,
pre {
  font-family: var(--font-mono);
  font-size: 0.86em;
}

a {
  color: var(--magenta);
}

:focus-visible {
  outline: 2px solid var(--magenta);
  outline-offset: 2px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

[hidden] {
  display: none !important;
}

.boot {
  height: 100%;
  background: var(--paper);
}

/* ------------------------------------------------------------ primitives */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 36px;
  padding: 0 14px;
  border: 1px solid var(--rule);
  border-radius: 8px;
  background: var(--panel);
  font-weight: 500;
}

.btn:hover:not(:disabled) {
  border-color: var(--ink-3);
}

.btn-primary {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}

.btn-primary:hover:not(:disabled) {
  background: var(--magenta);
  border-color: var(--magenta);
}

.btn:disabled {
  opacity: 0.55;
}

.link {
  border: 0;
  padding: 0;
  background: none;
  color: var(--magenta);
  font-weight: 500;
}

.link:hover:not(:disabled) {
  text-decoration: underline;
}

.link:disabled {
  color: var(--ink-3);
}

.small {
  font-size: 13px;
}

.icon-btn {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 6px;
  background: none;
  color: var(--ink-2);
}

.icon-btn.small {
  width: 24px;
  height: 24px;
}

.icon-btn:hover:not(:disabled) {
  background: var(--paper-2);
  color: var(--ink);
}

.icon-btn:disabled {
  opacity: 0.4;
}

input[type="email"],
input[type="password"],
input:not([type]),
input[type="text"] {
  width: 100%;
  height: 38px;
  padding: 0 11px;
  border: 1px solid var(--rule);
  border-radius: 8px;
  background: var(--panel);
}

input:focus {
  outline: none;
  border-color: var(--magenta);
  box-shadow: 0 0 0 3px var(--magenta-wash);
}

label {
  display: grid;
  gap: 6px;
  font-weight: 500;
  font-size: 14px;
}

.hint {
  color: var(--ink-3);
  font-size: 13px;
  font-weight: 400;
}

.form-error {
  margin: 0;
  padding: 8px 10px;
  border-radius: 6px;
  background: var(--red-wash);
  color: var(--red);
  font-size: 14px;
  white-space: pre-wrap;
}

.spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  vertical-align: -2px;
}

.spin {
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.brand {
  display: flex;
  align-items: center;
  gap: 9px;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 19px;
  letter-spacing: 0.01em;
}

/* ------------------------------------------------------------------ auth */

.auth {
  min-height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
}

.auth-pitch {
  position: relative;
  padding: 48px clamp(24px, 6vw, 88px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 22px;
  background:
    repeating-linear-gradient(90deg, transparent 0 47px, var(--rule-2) 47px 48px),
    repeating-linear-gradient(0deg, transparent 0 47px, var(--rule-2) 47px 48px),
    var(--paper);
  overflow: hidden;
}

.auth-pitch .brand {
  position: absolute;
  top: 32px;
  left: clamp(24px, 6vw, 88px);
}

.auth-pitch h1 {
  margin: 0;
  max-width: 13ch;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: clamp(40px, 6vw, 76px);
  line-height: 0.98;
  letter-spacing: -0.01em;
}

.auth-pitch > p {
  margin: 0;
  max-width: 54ch;
  color: var(--ink-2);
  font-size: 17px;
}

.auth-demo {
  margin: 8px 0 0;
  max-width: 520px;
  padding: 16px 18px;
  border-radius: 10px;
  background: var(--term-bg);
  color: var(--term-fg);
  font-size: 13.5px;
  line-height: 1.6;
  white-space: pre;
  overflow-x: auto;
  box-shadow: var(--shadow);
}

.auth-demo .dim {
  color: #7a889a;
}

.auth-specs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 8px 0 0;
  border-left: 3px solid var(--magenta);
  background: var(--panel);
  max-width: 600px;
}

.auth-specs div {
  flex: 1 1 160px;
  padding: 12px 16px;
  border-right: 1px solid var(--rule-2);
}

.auth-specs dt {
  font-family: var(--font-head);
  font-weight: 600;
  font-size: 14px;
  color: var(--magenta);
}

.auth-specs dd {
  margin: 2px 0 0;
  font-size: 14px;
  color: var(--ink-2);
}

.auth-panel {
  display: grid;
  place-items: center;
  padding: 40px 24px;
  background: var(--panel);
  border-left: 1px solid var(--rule);
}

.auth-form {
  width: min(360px, 100%);
  display: grid;
  gap: 16px;
}

.auth-form h2 {
  margin: 0 0 4px;
  font-family: var(--font-head);
  font-size: 26px;
  font-weight: 600;
}

.auth-form .btn {
  height: 42px;
  margin-top: 4px;
}

.auth-form .hint {
  margin: -10px 0 0;
}

.auth-switch {
  margin: 0;
  color: var(--ink-3);
  font-size: 14px;
}

@media (max-width: 820px) {
  .auth {
    grid-template-columns: 1fr;
  }

  .auth-pitch {
    padding-top: 96px;
  }

  .auth-panel {
    border-left: 0;
    border-top: 1px solid var(--rule);
  }
}


/* Hermetic workspace, adapted from Runway's shell and machine views. */
.workspace-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--paper-2);border-right:1px solid var(--rule);display:flex;flex-direction:column;padding:28px 16px 18px}.brand{text-decoration:none;color:var(--ink);padding:0 12px}.brand-mark{display:grid;place-items:center;width:29px;height:29px;border:1.5px solid var(--ink);border-radius:7px;font:600 20px var(--font-head)}.eyebrow{font:500 10px var(--font-mono);text-transform:uppercase;letter-spacing:.13em;color:var(--ink-3)}select{background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:8px;width:100%}.nav-list{display:grid;gap:5px;margin-top:12px}.nav-item{display:flex;align-items:center;gap:11px;background:transparent;border:0;border-radius:6px;padding:10px 12px;text-align:left;font-size:14px;color:var(--ink-2);text-decoration:none}.nav-item svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}.nav-item:hover{background:var(--panel)}.nav-item.active{background:var(--panel);color:var(--ink);box-shadow:inset 2px 0 var(--magenta)}.nav-count{margin-left:auto;font:11px var(--font-mono);color:var(--ink-3)}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--rule);padding-top:14px}.workspace-main{min-width:0}.topbar{height:70px;border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;padding:0 40px;gap:12px}.topbar h1{font:600 17px var(--font-head);margin:0}.topbar-actions{display:flex;gap:12px;align-items:center}.topbar a{text-decoration:none;font-size:13px}.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rule);border-radius:4px;padding:3px 7px;font:10px var(--font-mono);color:var(--ink-3)}.content{max-width:1220px;margin:0 auto;padding:48px 40px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.page-head h2{font:600 30px var(--font-head);letter-spacing:-.02em;margin:0 0 6px}.page-head p,.muted{color:var(--ink-3);margin:0;font-size:14px}.btn{text-decoration:none}.btn svg{width:15px;height:15px}.welcome{border:1px solid var(--rule);border-radius:10px;background:var(--panel);display:grid;grid-template-columns:1.2fr 1fr;overflow:hidden;margin-bottom:32px}.welcome-copy{padding:36px}.welcome h3{font:600 30px var(--font-head);margin:14px 0 12px;max-width:300px;line-height:1.15}.welcome p{font-size:14px;line-height:1.7;color:var(--ink-2);max-width:360px;margin-bottom:24px}.welcome-graphic{display:grid;place-items:center;background:repeating-linear-gradient(90deg,transparent 0 31px,var(--rule-2) 31px 32px),repeating-linear-gradient(0deg,transparent 0 31px,var(--rule-2) 31px 32px),var(--paper)}.welcome-graphic svg{width:90%;max-width:340px;color:var(--ink-2)}.summary-row{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--rule);margin-bottom:28px;padding-bottom:24px;gap:24px}.metric-value{display:block;font:500 27px var(--font-head);margin-top:5px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-heading h3{font:600 16px var(--font-head);margin:0}.overflow{overflow:auto;border:1px solid var(--rule);border-radius:8px;background:var(--panel)}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;white-space:nowrap}th{font:500 10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);background:var(--paper)}th,td{padding:14px 16px;border-bottom:1px solid var(--rule-2)}tr:last-child td{border-bottom:0}td:first-child{font-weight:500}.empty{padding:44px 24px;text-align:center}.empty h3{font:600 19px var(--font-head);margin:0 0 8px}.empty p{color:var(--ink-3);font-size:14px;margin:0}.secondary{border:1px solid var(--rule);border-radius:5px;background:transparent;padding:4px 8px;font-size:12px}.secondary:hover{background:var(--paper-2)}.status{display:inline-flex;align-items:center;gap:6px;font-size:12px}.status:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--ink-3)}.status.good:before{background:var(--green)}.status.warning:before{background:var(--amber)}.notes{margin-top:24px;color:var(--ink-3);font-size:12px;line-height:1.7}.notes a{color:var(--ink-2)}#message:not(:empty){padding:12px 16px;margin-bottom:24px;border-left:2px solid var(--amber);background:var(--panel);font-size:14px}.panel-block{padding:24px;border:1px solid var(--rule);border-radius:8px;background:var(--panel);margin:24px 0}.panel-block h3{margin:0 0 8px;font:600 18px var(--font-head)}.panel-block p{color:var(--ink-2);font-size:14px}.command{position:relative;background:var(--term-bg);color:var(--term-fg);border-radius:7px;margin:18px 0;padding:18px}.command pre{margin:0;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;padding-right:45px}.copy-btn{position:absolute;right:10px;top:10px;background:transparent;color:#aab7c6;border:1px solid #34445a;border-radius:4px;padding:4px 8px;font-size:11px}.row{display:flex;align-items:end;gap:14px;flex-wrap:wrap}label{display:grid;gap:7px;font-size:13px}input,select{background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:9px;min-width:0}input[type=number]{width:100%}.row label{flex:1;min-width:100px}.row label.wide{flex:2;min-width:190px}dialog{color:var(--ink);background:var(--panel);border:1px solid var(--rule);border-radius:12px;width:min(620px,calc(100% - 32px));padding:30px;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(10,17,27,.45);backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-head h2{font:600 23px var(--font-head);margin:0}.dialog-head button{font-size:22px}dialog p{color:var(--ink-2);font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.dialog-error{color:var(--red);font-size:13px}.details-panel{margin-top:28px;border-top:1px solid var(--rule);padding-top:18px}summary{cursor:pointer;font-size:14px}details .row{margin-top:18px}pre{white-space:pre-wrap;overflow-wrap:anywhere}.nav-toggle{display:none}.signin-note{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px;border:1px solid var(--rule);padding:15px 18px;border-radius:7px;background:var(--panel);font-size:13px;color:var(--ink-2)}.docs-body{max-width:850px;margin:auto;padding:40px}.docs-body h1,.docs-body h2{font-family:var(--font-head)}.docs-body pre{padding:20px;background:var(--code-bg);border:1px solid var(--rule);border-radius:8px}.docs-body nav{display:flex;gap:25px}.site-hermetic .shell{max-width:1000px;margin:auto;padding:32px}.site-hermetic .hero{border-bottom:1px solid var(--rule);padding-bottom:24px;margin-bottom:32px}.site-hermetic .tag{font:700 22px var(--font-head);letter-spacing:0;text-transform:none;color:var(--ink)}.site-hermetic .nav{display:flex;gap:20px}.site-hermetic .nav a{color:var(--ink-2);font-size:13px}.site-hermetic .panel{background:var(--panel);border:1px solid var(--rule);border-radius:9px;box-shadow:none;color:var(--ink);padding:28px}.site-hermetic h2,.site-hermetic h3{font-family:var(--font-head);color:var(--ink)}.site-hermetic .cta{background:var(--ink);color:var(--paper);border:0;border-radius:7px;padding:10px 18px}.site-hermetic .ghost{background:var(--panel);border:1px solid var(--rule);color:var(--ink);border-radius:6px}.site-hermetic .field{margin:15px 0;color:var(--ink-2)}.site-hermetic input{background:var(--panel);border-color:var(--rule);color:var(--ink)}.site-hermetic .footer{color:var(--ink-3);border-color:var(--rule);font-size:12px}.site-hermetic.auth-page .shell{max-width:none;padding:0}.site-hermetic.auth-page .hero,.site-hermetic.auth-page .footer{display:none}.site-hermetic .auth{min-height:100vh}.site-hermetic .auth-content{display:grid;align-content:center;padding:45px;background:var(--panel)}.site-hermetic .auth-content .auth-panel{display:block;border:0;padding:0;width:100%;max-width:360px;margin:auto;background:transparent}.site-hermetic .auth-content .auth-links{font-size:13px;color:var(--ink-3)}.site-hermetic .auth-content .actions .cta{width:100%}.site-hermetic .auth-content h2{font-size:28px}.site-hermetic .auth-content .field-error:empty{display:none}
@media(max-width:1000px){.workspace-shell{grid-template-columns:220px minmax(0,1fr)}.content{padding:32px 24px}.topbar{padding:0 24px}.welcome{grid-template-columns:1fr}.welcome-graphic{display:none}.welcome h3{max-width:none}}@media(max-width:700px){.workspace-shell{display:block}.sidebar{position:fixed;left:-260px;top:0;width:248px;z-index:10;transition:left .15s;box-shadow:var(--shadow)}.sidebar.open{left:0}.nav-toggle{display:grid}.topbar{height:60px;padding:0 20px}.topbar h1{margin-right:auto}.content{padding:26px 20px}.page-head{align-items:flex-start}.page-head h2{font-size:26px}.welcome-copy{padding:24px}.summary-row{gap:12px}.metric-value{font-size:23px}.eyebrow{font-size:9px}.topbar-actions .badge{display:none}.signin-note{align-items:flex-start}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.site-hermetic .auth{display:block}.site-hermetic .auth-pitch{padding:86px 24px 32px}.site-hermetic .auth-pitch h1{font-size:44px;max-width:16ch}.site-hermetic .auth-pitch .brand{top:24px;left:24px}.site-hermetic .auth-demo{display:none}.site-hermetic .auth-content{padding:35px 24px}.site-hermetic .shell{padding:24px 18px}}
.btn{white-space:nowrap;flex-shrink:0}.site-hermetic .auth-content .auth-panel{place-items:normal;text-align:left}.site-hermetic .auth-content form{width:100%}.site-hermetic .auth-content h2{width:100%;text-align:left}.site-hermetic .auth-links a{color:var(--magenta)}

/* Public homepage: product introduction, separate from the authenticated workspace. */
.session-loading{display:none;min-height:100vh;align-items:center;justify-content:center;gap:16px;color:var(--ink-3)}html[data-session=checking] .landing-site{display:none}html[data-session=checking] .session-loading{display:flex}.landing-body{background:var(--paper)}.landing-site{max-width:1200px;margin:auto;padding:0 40px}.landing-header{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule)}.landing-header .brand,.landing-footer .brand{padding:0;font-size:23px}.landing-header nav{display:flex;align-items:center;gap:30px}.landing-header a,.landing-footer a{text-decoration:none}.landing-header nav>a:not(.btn){color:var(--ink-2);font-size:14px}.landing-header .btn{height:38px;font-size:14px;gap:20px}.landing-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:44px;padding:94px 0 78px;align-items:center}.landing-kicker{display:inline-flex;align-items:center;gap:9px;font:500 12px var(--font-mono);color:var(--magenta)}.landing-kicker>span{width:6px;height:6px;background:var(--magenta);border-radius:50%}.landing-intro h1{font:600 clamp(60px,6.7vw,88px)/.99 var(--font-head);letter-spacing:-.035em;margin:26px 0}.landing-intro h1 em{font-style:normal;color:var(--magenta)}.landing-lede{max-width:450px;font-size:18px;line-height:1.65;color:var(--ink-2);margin:0 0 30px}.landing-actions{display:flex;align-items:center;gap:26px}.landing-actions .btn{height:46px;padding:0 20px;gap:30px}.landing-text-link{display:inline-flex;align-items:center;gap:15px;color:var(--ink-2);font-size:14px;text-decoration:none}.landing-text-link:hover{text-decoration:underline}.landing-availability{font-size:12px;color:var(--ink-3);margin-top:20px}.cloud-illustration{border:1px solid var(--rule);border-radius:12px;padding:26px 22px;background:repeating-linear-gradient(90deg,transparent 0 31px,var(--rule-2) 31px 32px),repeating-linear-gradient(0deg,transparent 0 31px,var(--rule-2) 31px 32px),var(--paper);position:relative}.illustration-heading{display:flex;justify-content:space-between;margin-bottom:42px}.illustration-cross{font:20px var(--font-mono);color:var(--ink-3);line-height:1}.illustration-machines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.illustration-machine{background:var(--panel);border:1px solid var(--rule);border-radius:7px;display:flex;align-items:center;flex-direction:column;gap:12px;padding:18px 4px 14px;color:var(--ink-2);font-size:12px}.illustration-machine svg{width:32px;height:32px;stroke:currentColor;stroke-width:1.3;fill:none}.illustration-wires{display:block;width:100%;height:66px;stroke:var(--ink-3);stroke-width:1;fill:none;opacity:.55}.illustration-hub{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--magenta);border-radius:8px;padding:20px;margin:0 20px;font:600 24px var(--font-head);box-shadow:0 0 0 5px var(--paper)}.illustration-hub .brand-mark{color:var(--magenta);border-color:var(--magenta)}.hub-caption{margin-left:auto;font:9px var(--font-mono);letter-spacing:.06em;color:var(--ink-3)}.illustration-wires.lower{height:56px}.illustration-primitives{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.illustration-primitives span{padding:11px 3px;border:1px solid var(--rule);background:var(--panel);border-radius:5px;text-align:center;font:500 12px var(--font-head)}.illustration-caption{display:flex;justify-content:space-between;margin-top:40px;font:8px var(--font-mono);letter-spacing:.05em;color:var(--ink-3)}.landing-install{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:grid;grid-template-columns:1fr 1.25fr;align-items:center;gap:30px;padding:30px 0}.landing-install h2{font:600 23px var(--font-head);margin:0 0 5px}.landing-install p{margin:0;font-size:14px;color:var(--ink-3)}.landing-command{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--term-bg);color:var(--term-fg);padding:20px;border-radius:7px;min-width:0}.landing-command code{font-size:12px;overflow-wrap:anywhere}.landing-command button{border:1px solid #34445a;background:transparent;color:#aab7c6;padding:5px 10px;border-radius:4px;font:11px var(--font-mono)}.landing-features{padding:84px 0}.landing-section-head h2{font:600 44px/1.1 var(--font-head);letter-spacing:-.02em;margin:16px 0 44px}.landing-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.landing-feature-grid article{border-top:2px solid var(--rule);padding-top:20px}.feature-number{color:var(--magenta);font:10px var(--font-mono);letter-spacing:.07em}.landing-feature-grid h3{font:600 24px/1.2 var(--font-head);margin:22px 0 15px;max-width:240px}.landing-feature-grid p{font-size:15px;color:var(--ink-2);line-height:1.75;margin:0 0 20px}.landing-feature-grid a{font-size:13px;text-decoration:none;color:var(--magenta)}.landing-feature-grid code{font-size:11px;color:var(--ink-3);overflow-wrap:anywhere}.landing-durability{padding:40px;background:var(--paper-2);border:1px solid var(--rule);border-radius:9px;display:grid;grid-template-columns:1fr 1fr;column-gap:50px}.landing-durability>.eyebrow{grid-column:1/-1;margin-bottom:22px}.landing-durability h2{font:600 42px/1.08 var(--font-head);margin:0;letter-spacing:-.02em}.landing-durability p{font-size:15px;line-height:1.75;color:var(--ink-2);margin:0 0 18px}.landing-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:76px 0 28px}.landing-bottom h2{font:600 34px var(--font-head);margin:0 0 8px}.landing-bottom p{font-size:16px;color:var(--ink-3);margin:0}.landing-bottom .btn{height:44px;padding:0 20px;gap:24px}.landing-limits{max-width:790px;font-size:12px;line-height:1.7;color:var(--ink-3);margin:8px 0 50px}.landing-limits a{color:var(--ink-2)}.landing-footer{border-top:1px solid var(--rule);padding:28px 0 36px;display:flex;align-items:center;gap:28px}.landing-footer>span{font-size:12px;color:var(--ink-3)}.landing-footer nav{display:flex;gap:24px;margin-left:auto;font-size:12px}.landing-footer nav a{color:var(--ink-2)}
@media(min-width:1450px){.landing-hero{padding-top:112px;padding-bottom:96px}}@media(max-width:950px){.landing-site{padding:0 28px}.landing-hero{gap:28px;padding:64px 0}.landing-intro h1{font-size:66px}.landing-lede{font-size:16px}.landing-actions{gap:18px}.cloud-illustration{padding:20px 14px}.illustration-hub{margin:0 5px;padding:16px 12px}.hub-caption{font-size:8px}.illustration-machine{font-size:11px}.landing-install{grid-template-columns:1fr}.landing-feature-grid{gap:25px}.landing-feature-grid h3{font-size:22px}}@media(max-width:700px){.landing-site{padding:0 22px}.landing-header{height:82px}.landing-header nav{gap:18px}.landing-header .landing-docs{display:none}.landing-header .brand{font-size:21px}.landing-header .btn{font-size:12px;padding:0 12px;gap:8px}.landing-header nav>a:not(.btn){font-size:13px}.landing-hero{grid-template-columns:1fr;padding:48px 0 40px;gap:40px}.landing-intro h1{font-size:68px;margin:22px 0}.landing-intro h1 br:nth-of-type(2){display:none}.landing-lede{font-size:17px;max-width:480px}.landing-actions .btn{gap:18px}.landing-actions{gap:22px}.cloud-illustration{padding:22px;max-width:500px;width:100%;margin:auto}.illustration-heading{margin-bottom:28px}.illustration-caption{margin-top:28px}.landing-install{padding:26px 0;gap:20px}.landing-command{padding:16px;gap:12px}.landing-command code{font-size:11px}.landing-features{padding:54px 0}.landing-section-head h2{font-size:36px;margin-bottom:30px}.landing-feature-grid{grid-template-columns:1fr;gap:30px}.landing-feature-grid h3{max-width:none;font-size:25px;margin:15px 0 10px}.landing-feature-grid p{margin-bottom:14px}.landing-durability{padding:26px;grid-template-columns:1fr;gap:20px}.landing-durability>.eyebrow{margin:0;line-height:1.7}.landing-durability h2{font-size:36px}.landing-bottom{align-items:flex-start;flex-direction:column;padding:48px 0 24px}.landing-bottom h2{font-size:30px}.landing-limits{margin-bottom:32px}.landing-footer{flex-wrap:wrap;gap:20px}.landing-footer>span{display:none}.landing-footer nav{gap:18px}.illustration-hub{margin:0 12px}.landing-kicker{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Account uses the same workspace shell and spacing as infrastructure views. */
.account-settings{border:1px solid var(--rule);border-radius:8px;background:var(--panel);overflow:hidden}.settings-section{display:grid;grid-template-columns:minmax(190px,1fr) minmax(0,2fr);gap:42px;padding:30px}.settings-section+.settings-section{border-top:1px solid var(--rule)}.settings-description h3{font:600 19px var(--font-head);margin:0 0 8px}.settings-description p{font-size:14px;color:var(--ink-3);line-height:1.6;max-width:230px;margin:0}.settings-fields{min-width:0;align-self:center}.settings-fields>label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;font-size:13px}.settings-fields input{width:100%;height:39px;font-size:14px}.settings-fields input[readonly]{background:var(--paper)}.field-help{font-size:12px;color:var(--ink-3);line-height:1.7;margin:10px 0 0}.field-help:empty{display:none}.token-control{display:flex;gap:8px;align-items:center}.token-control input{font-family:var(--font-mono);font-size:12px;flex:1;width:0}.token-control .btn{padding:0 12px;font-size:12px}.settings-fields #resend-btn{margin-top:12px}.account-body .page-head{margin-bottom:30px}@media(max-width:800px){.settings-section{grid-template-columns:1fr;gap:20px;padding:24px}.settings-description p{max-width:none}}@media(max-width:450px){.settings-section{padding:20px}.settings-fields>label{flex-wrap:wrap}}

/* Hermetic-only authentication polish; shared templates retain other products' styles. */
.site-hermetic.auth-page .auth-content { padding: 64px 48px; }
.site-hermetic.auth-page .auth-content .auth-panel { max-width: 384px; }
.site-hermetic .auth-form-mark { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 26px; border: 1px solid var(--rule); border-radius: 12px; background: var(--paper); color: var(--ink); }
.site-hermetic .auth-form-mark svg { width: 28px; height: 28px; }
.site-hermetic .auth-eyebrow { margin: 0 0 12px; color: var(--ink-3); font: 500 10px var(--font-mono); letter-spacing: .12em; }
.site-hermetic .auth-content h2 { font: 600 32px/1.15 var(--font-head); letter-spacing: -.02em; margin: 0 0 12px; }
.site-hermetic .auth-description, .site-hermetic .auth-panel > p:not(.auth-links):not(.auth-eyebrow) { font-size: 14px; line-height: 1.65; color: var(--ink-3); margin: 0 0 28px; }
.site-hermetic .auth-content .field { margin: 0 0 20px; gap: 8px; font-size: 13px; font-weight: 500; }
.site-hermetic .auth-content input { width: 100%; min-height: 46px; padding: 11px 13px; font: 400 14px var(--font-body); border-radius: 7px; transition: border-color .15s, box-shadow .15s; }
.site-hermetic .auth-content input::placeholder { color: var(--ink-3); opacity: .75; }
.site-hermetic .auth-content input:focus-visible { outline: 0; border-color: var(--ink-2); box-shadow: 0 0 0 3px var(--rule-2); }
.site-hermetic .auth-content a:focus-visible, .site-hermetic .auth-content button:focus-visible { outline: 2px solid var(--magenta); outline-offset: 4px; }
.site-hermetic .auth-content .actions { margin-top: 24px !important; }
.site-hermetic .auth-content .cta { min-height: 46px; font-size: 14px; font-weight: 600; cursor: pointer; transition: opacity .15s, transform .15s; }
.site-hermetic .auth-content .cta:hover:not(:disabled) { opacity: .88; }
.site-hermetic .auth-content .cta:active:not(:disabled) { transform: translateY(1px); }
.site-hermetic .auth-content .cta:disabled { cursor: wait; opacity: .6; }
.site-hermetic .auth-content .auth-links { display: grid; gap: 14px; line-height: 1.5; margin: 24px 0 0; text-align: center; }
.site-hermetic .auth-content .auth-links a { text-decoration: none; font-weight: 500; }
.site-hermetic .auth-content .auth-links a:hover { text-decoration: underline; text-underline-offset: 3px; }
.site-hermetic .auth-content .auth-field-help { color: var(--ink-3); font-size: 12px; line-height: 1.5; font-weight: 400; }
.site-hermetic .auth-content .form-error, .site-hermetic .auth-content .info-box { border-radius: 7px; padding: 12px 14px; font-size: 13px; line-height: 1.55; margin: 0 0 20px; }
.site-hermetic .auth-content .field-error { font-size: 12px; font-weight: 400; }
.site-hermetic .auth-support { display: flex; justify-content: center; gap: 12px; border-top: 1px solid var(--rule-2); margin-top: 32px; padding-top: 22px; font-size: 11px; color: var(--ink-3); }
.site-hermetic .auth-support a { color: inherit; text-decoration: none; }
.site-hermetic .auth-support a:hover { color: var(--ink); text-decoration: underline; }
@media (max-width: 820px) {
  .site-hermetic.auth-page .auth { display: block; }
  .site-hermetic.auth-page .auth-demo { display: none; }
  .site-hermetic.auth-page .auth-pitch .brand { top: 24px; left: 24px; }
  .site-hermetic.auth-page .auth-pitch { padding: 82px 24px 22px; gap: 0; min-height: 0; }
  .site-hermetic.auth-page .auth-pitch h1 { display: none; }
  .site-hermetic.auth-page .auth-pitch > p { font-size: 13px; line-height: 1.6; max-width: 40ch; margin: 0; }
  .site-hermetic.auth-page .auth-content { padding: 32px 24px 40px; }
  .site-hermetic .auth-form-mark { display: none; }
  .site-hermetic .auth-content h2 { font-size: 28px; }
  .site-hermetic .auth-content input { font-size: 16px; }
}

.site-hermetic .auth-device-code { padding: 15px; background: var(--paper); border: 1px solid var(--rule); border-radius: 7px; }
.site-hermetic .auth-content #auth-section > p:not(.auth-device-code), .site-hermetic .auth-content #approve-section > p:not(.auth-device-code), .site-hermetic .auth-content #success-section > p { font-size: 14px; line-height: 1.6; color: var(--ink-2); }

.site-hermetic .auth-description, .site-hermetic .auth-panel > p:not(.auth-links):not(.auth-eyebrow) { color: var(--ink-2); }
.site-hermetic .auth-support { font-size: 12px; }
.site-hermetic .auth-support a { min-height: 32px; display: inline-flex; align-items: center; }
@media(max-width:1000px){.site-hermetic.auth-page .auth-content input{font-size:16px;min-height:46px}.site-hermetic .auth-content .cta{min-height:46px}.site-hermetic .auth-content .auth-links a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}}

/* Public pages share the workspace palette and typography. */
.public-skip{position:absolute;top:-80px;left:24px;z-index:20;background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:6px}.public-skip:focus{top:12px}
.landing-header nav a,.landing-footer nav a{min-height:44px;display:inline-flex;align-items:center}.landing-command button{min-height:44px;min-width:60px}.landing-text-link,.landing-feature-grid a{display:inline-flex;align-items:center;min-height:44px}.landing-header .nav-short{display:none}
.landing-steps{padding:46px 0 50px;border-bottom:1px solid var(--rule)}.landing-steps-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.landing-steps h2{font:600 30px/1.15 var(--font-head);margin:10px 0 0}.landing-steps-head>a{color:var(--ink-2);font-size:14px;min-height:44px;display:flex;align-items:center;gap:12px}.setup-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.setup-step{display:flex;gap:14px}.setup-number{flex:0 0 28px;height:28px;border:1px solid var(--rule);background:var(--panel);border-radius:50%;display:grid;place-items:center;font:12px var(--font-mono);color:var(--magenta)}.setup-step h3{font:600 19px var(--font-head);margin:2px 0 9px}.setup-step p{font-size:14px;line-height:1.65;color:var(--ink-2);margin:0}.setup-step code{font-size:11px;display:block;margin:12px 0 0;color:var(--ink);overflow-wrap:anywhere}.setup-requirements{font-size:12px;color:var(--ink-3);margin:26px 0 0;padding-left:42px}
body.docs-body{max-width:none;margin:0;padding:0}.docs-site{max-width:1200px;margin:0 auto;padding:0 40px}.docs-site>.landing-header{height:104px}.docs-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:65px;padding:54px 0 64px}.docs-toc{position:sticky;top:28px;align-self:start}.docs-toc>p{font:500 10px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 16px;padding-left:12px}.docs-toc nav{display:grid;gap:3px;margin:0;padding:0}.docs-toc a{padding:11px 12px;min-height:44px;color:var(--ink-2);text-decoration:none;font-size:14px;border-radius:6px;border-left:2px solid transparent}.docs-toc a:hover,.docs-toc a:focus-visible{background:var(--panel);border-left-color:var(--magenta);color:var(--ink)}.docs-mobile-contents{display:none}.docs-article{min-width:0;max-width:790px}.docs-article h1{font:600 48px/1.1 var(--font-head);letter-spacing:-.025em;margin:14px 0 16px}.docs-article .docs-lede{font-size:18px;line-height:1.6;max-width:660px;color:var(--ink-2);margin:0 0 28px}.docs-article section{scroll-margin-top:28px;padding:36px 0;border-top:1px solid var(--rule)}.docs-article section h2{font:600 29px/1.2 var(--font-head);margin:0 0 16px}.docs-article p{font-size:15px;line-height:1.75;color:var(--ink-2)}.docs-article h3{font:600 19px var(--font-head);margin:24px 0 9px}.docs-section-label{font:11px var(--font-mono);color:var(--magenta);margin-bottom:12px;display:block}.docs-note{border:1px solid var(--rule);border-left:3px solid var(--magenta);background:var(--panel);padding:16px 20px;border-radius:6px;margin:20px 0}.docs-note p{margin:4px 0 0;font-size:14px}.docs-note strong{font-weight:600;font-size:14px}.docs-code{background:#0e1824;border:1px solid #25364a;border-radius:8px;overflow:hidden;margin:16px 0 20px}.docs-code-head{display:flex;justify-content:space-between;align-items:center;padding:0 16px;border-bottom:1px solid #25364a;color:#aab7c6;font:11px var(--font-mono);min-height:46px}.docs-copy{background:transparent;color:#d4e0eb;border:0;border-radius:4px;font:12px var(--font-body);min-width:54px;min-height:44px;padding:8px;cursor:pointer}.docs-copy:hover{background:#25364a}.docs-article .docs-code pre{background:none;border:0;border-radius:0;margin:0;padding:20px;color:#dce8f4;font:12px/1.85 var(--font-mono);white-space:pre;overflow-x:auto;overflow-wrap:normal;word-break:normal}.docs-article code{font-family:var(--font-mono);font-size:.86em}.docs-code pre code{font-size:inherit}.docs-parameters{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--rule);border-radius:8px;padding:18px;gap:18px;margin:20px 0}.docs-parameters dt{font-size:12px;color:var(--ink-3);margin:0 0 7px}.docs-parameters dd{font-size:13px;margin:0;overflow-wrap:anywhere}.docs-limits{display:grid;grid-template-columns:1fr 1fr;gap:20px}.docs-limits>div{border:1px solid var(--rule);border-radius:8px;padding:20px;background:var(--panel)}.docs-limits h3{margin:0 0 10px}.docs-limits ul{padding-left:18px;margin:0;color:var(--ink-2);font-size:14px;line-height:1.8}.docs-next{display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--paper-2);border:1px solid var(--rule);border-radius:8px;padding:22px}.docs-next p{margin:5px 0 0;font-size:14px}.docs-next .btn{min-height:44px;white-space:nowrap}.docs-site .landing-footer a{text-decoration:none}.docs-site .landing-header nav{margin:0;display:flex;gap:24px}
@media(max-width:900px){.docs-layout{grid-template-columns:170px minmax(0,1fr);gap:30px}.docs-site{padding:0 28px}.docs-parameters{grid-template-columns:1fr}.setup-grid{gap:20px}.setup-step{gap:10px}}
@media(max-width:700px){.landing-header nav{gap:12px}.landing-header .landing-docs{display:inline-flex}.landing-header .nav-long{display:none}.landing-header .nav-short{display:inline}.landing-header .brand{font-size:19px;gap:7px}.landing-header .brand-mark{width:25px;height:25px}.landing-header .btn{font-size:12px;padding:0 10px}.landing-header .btn span{display:none}.landing-header nav>a:not(.btn){font-size:12px}.landing-steps{padding:32px 0}.landing-steps-head{align-items:start;flex-direction:column;gap:8px}.landing-steps h2{font-size:28px}.setup-grid{grid-template-columns:1fr;gap:25px}.setup-step{gap:14px}.setup-step code{font-size:12px}.setup-requirements{padding-left:42px;line-height:1.7}.docs-site{padding:0 22px}.docs-site>.landing-header{height:82px}.docs-site .landing-header nav{gap:12px}.docs-layout{display:block;padding:30px 0 40px}.docs-toc{display:none}.docs-mobile-contents{display:block;border:1px solid var(--rule);border-radius:7px;margin-bottom:28px;background:var(--panel)}.docs-mobile-contents summary{font-size:14px;padding:14px 16px;cursor:pointer}.docs-mobile-contents nav{display:grid;margin:0;padding:0 16px 12px}.docs-mobile-contents a{font-size:14px;min-height:44px;display:flex;align-items:center;color:var(--ink-2);text-decoration:none}.docs-article h1{font-size:38px}.docs-article .docs-lede{font-size:17px}.docs-article section{padding:30px 0}.docs-article section h2{font-size:27px}.docs-article .docs-code pre{padding:16px;font-size:11px}.docs-note{padding:15px}.docs-limits{grid-template-columns:1fr}.docs-next{align-items:start;flex-direction:column;gap:16px}.docs-site .landing-footer{gap:15px}.docs-site .landing-footer nav{gap:14px}}
@media(max-width:360px){.landing-header nav{gap:8px}.landing-header .brand{font-size:17px}.landing-header .btn{padding:0 7px}.landing-site,.docs-site{padding-left:16px;padding-right:16px}}
/* Legal copy stays in the shared templates; only Hermetic uses this shell. */
.site-hermetic.legal-page .legal-site{max-width:1200px;padding:0 40px;margin:0 auto;display:block;min-height:100vh}.legal-site>.landing-header{height:104px}.legal-site .landing-header nav{display:flex;gap:24px;margin:0}.legal-site .landing-header a{text-decoration:none}.legal-content{max-width:790px;margin:0 auto;padding:52px 0 64px}.site-hermetic.legal-page .legal-panel{display:block;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}.site-hermetic.legal-page .legal-panel h2{font:600 48px/1.1 var(--font-head);letter-spacing:-.025em;color:var(--ink);margin:0 0 14px}.site-hermetic.legal-page .legal-panel h3{font:600 21px/1.3 var(--font-head);color:var(--ink);margin:32px 0 13px}.site-hermetic.legal-page .legal-panel p,.site-hermetic.legal-page .legal-panel li{font-size:15px;line-height:1.8;color:var(--ink-2)}.site-hermetic.legal-page .legal-panel p{margin:0 0 16px}.site-hermetic.legal-page .legal-panel .legal-updated{font-size:13px;color:var(--ink-3);padding-bottom:28px;border-bottom:1px solid var(--rule);margin-bottom:30px}.site-hermetic.legal-page .legal-panel ul{padding-left:22px;margin:0 0 18px}.site-hermetic.legal-page .legal-panel li{padding-left:2px;margin:5px 0}.site-hermetic.legal-page .landing-footer a{text-decoration:none}.site-hermetic.legal-page .landing-footer{margin:0}.site-hermetic.legal-page .landing-footer nav{display:flex}
@media(max-width:700px){.site-hermetic.legal-page .legal-site{padding:0 22px}.legal-site>.landing-header{height:82px}.legal-site .landing-header nav{gap:12px}.legal-content{padding:36px 0 40px}.site-hermetic.legal-page .legal-panel h2{font-size:38px}.site-hermetic.legal-page .legal-panel h3{font-size:20px;margin-top:28px}.site-hermetic.legal-page .legal-panel p,.site-hermetic.legal-page .legal-panel li{font-size:15px;line-height:1.75}.site-hermetic.legal-page .landing-footer{gap:15px}.site-hermetic.legal-page .landing-footer nav{gap:14px}}

/* Keep interaction feedback visible at the control that produced it. */
.public-copy-status{font-size:12px;line-height:1.5;color:var(--ink-2);margin:0}.public-copy-status:empty{display:none}.landing-install>.public-copy-status{grid-column:2}.docs-article .docs-code .public-copy-status{color:#dce8f4;font-size:12px;padding:0 16px 14px;margin:0}.docs-copy:disabled,.landing-command button:disabled{cursor:wait}.docs-copy:focus-visible,.landing-command button:focus-visible{outline:2px solid #dce8f4;outline-offset:2px}.landing-site a:focus-visible,.docs-site a:focus-visible{outline:2px solid var(--magenta);outline-offset:4px;border-radius:3px}.docs-toc a[aria-current=location]{background:var(--panel);border-left-color:var(--magenta);color:var(--ink);font-weight:600}.landing-header nav [hidden]{display:none}.docs-article .docs-code pre{font-size:13px}.docs-code pre:focus-visible{outline:2px solid var(--magenta);outline-offset:-2px}
@media(max-width:700px){.landing-install>.public-copy-status{grid-column:1}.docs-article .docs-code pre{font-size:12px}.landing-command{gap:10px;padding:16px}.landing-command code{font-size:12px;line-height:1.65}.landing-command button{flex-shrink:0}.landing-hero{padding-top:38px}.landing-header nav>a:not(.btn){font-size:13px}.landing-header nav{gap:10px}}
@media(max-width:700px){.docs-article .docs-code pre{white-space:pre-wrap;overflow-wrap:anywhere}}

/* Shared workspace chrome and account settings. */
.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:8px;text-decoration:none}.skip-link:focus{top:12px}.navigation-close,.navigation-backdrop{display:none}.account-link{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2);padding:6px 10px;border-radius:8px}.account-link:hover{background:var(--paper-2)}.account-avatar{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--rule);border-radius:50%;background:var(--panel)}.account-avatar svg{width:17px;height:17px}.topbar{background:var(--panel)}.sidebar .brand{font-size:22px;gap:9px;margin-bottom:30px}.nav-list{gap:6px}.nav-item{min-height:44px}.nav-item.active{font-weight:600}.sidebar-bottom{display:grid;gap:4px}.settings-description h3{font-size:21px}.settings-description p{font-size:14px}.settings-section{padding:32px}.settings-fields>label{font-weight:500}.settings-fields input{height:44px}.account-intro{display:flex;align-items:center;gap:16px;padding:22px 26px;margin-bottom:24px;background:var(--panel);border:1px solid var(--rule);border-radius:10px}.profile-avatar{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border-radius:14px;background:var(--magenta-wash);color:var(--magenta);font:600 22px var(--font-head)}.account-intro strong{font-size:17px;overflow-wrap:anywhere}.account-intro p{margin:3px 0 0;font-size:13px;color:var(--ink-3)}.account-feedback{display:flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid var(--rule);border-radius:8px;background:var(--panel);margin-bottom:20px}.account-feedback[data-tone=error]{border-color:var(--red);color:var(--red)}.account-feedback span{flex:1}.account-feedback[hidden]{display:none}.account-settings[aria-busy=true]{opacity:.65}.settings-section.session-section{background:var(--paper)}#workspace-toast{position:fixed;right:24px;bottom:24px;z-index:100;max-width:min(420px,calc(100vw - 40px));padding:14px 20px;background:var(--ink);color:var(--paper);border-radius:9px;box-shadow:var(--shadow);font-size:14px}#workspace-toast[data-tone=error]{background:var(--red);color:white}#workspace-toast[hidden]{display:none}.settings-fields .btn{min-height:40px}.settings-fields .field-help{font-size:13px}.account-body .page-head{margin-bottom:24px}
@media(max-width:700px){.sidebar{z-index:50;height:100dvh;padding-top:24px;overflow-y:auto}.navigation-close{display:grid;position:absolute;right:12px;top:20px;width:32px;height:32px}.sidebar .brand{padding-right:26px}.navigation-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:40;border:0;border-radius:0;background:rgba(9,20,35,.46);backdrop-filter:blur(2px)}body.navigation-open{overflow:hidden}.account-intro{padding:18px;gap:13px;margin-bottom:20px}.account-intro strong{font-size:16px}.settings-section{padding:22px}.topbar .account-link{padding-right:0}.account-feedback{align-items:flex-start;flex-wrap:wrap}.account-feedback .btn{margin-left:auto}.nav-toggle{min-width:36px;min-height:36px}.account-avatar{display:none}}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
.account-intro[hidden]{display:none}.settings-fields .status:empty{display:none}
/* Clip the offscreen skip link as well: full-page captures and restored scroll
   positions can otherwise expose a fragment of its fixed-position box. */
.skip-link:not(:focus){clip-path:inset(50%);overflow:hidden;white-space:nowrap}.skip-link:focus{clip-path:none}
/* Keep account controls and workspace navigation comfortable on phones and tablets. */
@media(max-width:1000px){
  .settings-fields input{font-size:16px;min-height:44px}
  .nav-toggle,.navigation-close{min-width:44px;min-height:44px}
  .account-link{min-height:44px}
  .settings-fields .btn,.account-feedback .btn{min-height:44px;min-width:44px}
}

/* Infrastructure views: dense desktop information, legible mobile cards. */
.setup-card{border:1px solid var(--rule);background:var(--panel);border-radius:10px;padding:30px;margin-bottom:28px}.setup-heading h3{font:600 25px var(--font-head);margin:9px 0}.setup-heading p{color:var(--ink-3);font-size:14px;margin:0}.setup-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;list-style:none;padding:0;margin:28px 0}.setup-steps li{display:flex;align-items:flex-start;gap:12px}.setup-steps li>span{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;background:var(--magenta-wash);color:var(--magenta);border-radius:50%;font:500 12px var(--font-mono)}.setup-steps strong{font-size:14px;font-weight:500}.setup-steps p{font-size:13px;color:var(--ink-3);margin:5px 0 0}.setup-card>a{font-size:13px;margin-left:18px}.resource-tools{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:0 0 14px}.search-field{display:flex;align-items:center;gap:9px;border:1px solid var(--rule);background:var(--panel);border-radius:7px;padding:0 12px;max-width:360px;width:100%}.search-field svg{width:16px;height:16px;stroke:var(--ink-3);stroke-width:1.5;fill:none;flex-shrink:0}.search-field input[type=search]{height:40px;padding:0;border:0;background:transparent;width:100%;font-size:14px;outline:0}.search-field:focus-within{outline:2px solid var(--magenta);outline-offset:2px}.resource-count{font:11px var(--font-mono);white-space:nowrap;color:var(--ink-3)}.resource-list td{vertical-align:middle}.resource-identity{display:grid;gap:4px}.resource-identity strong{font-weight:500;font-size:14px;overflow-wrap:anywhere}.resource-identity>span{font-size:11px;color:var(--ink-3);text-transform:capitalize}.status-pill{white-space:nowrap;padding:4px 8px;border-radius:5px;background:var(--paper);font-size:11px}.status-pill.good{color:var(--green);background:color-mix(in srgb,var(--green) 9%,var(--panel))}.status-pill.warning{color:var(--ink);background:color-mix(in srgb,var(--amber) 14%,var(--panel))}.status-pill.neutral{color:var(--ink-3)}.resource-actions{display:flex;gap:7px;flex-wrap:wrap}.resource-actions .secondary{min-height:32px}.danger-text{color:var(--red)}.btn-danger{background:var(--red);border-color:var(--red);color:#fff}.resource-id{font:11px var(--font-mono);border:0;background:transparent;color:var(--ink-2);padding:5px 0;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:4px}.resource-id:hover{color:var(--magenta)}.node-resources{display:grid;gap:5px;font-size:11px;min-width:130px}.node-resources progress{width:100%;height:4px;border:0;border-radius:3px;overflow:hidden;appearance:none}.node-resources progress::-webkit-progress-bar{background:var(--paper-2)}.node-resources progress::-webkit-progress-value{background:var(--magenta);border-radius:3px}.node-resources progress::-moz-progress-bar{background:var(--magenta)}.node-resources .storage-priority{color:var(--ink-3)}.details-field{display:grid;gap:6px;margin:4px 0 16px;font-size:13px;font-weight:500;max-width:280px}.details-field select{min-height:38px}.loading-state{padding:45px 24px;margin:0;color:var(--ink-3);font-size:14px;text-align:center}.loading-state:before{content:'';display:inline-block;width:12px;height:12px;border:2px solid var(--rule);border-top-color:var(--magenta);border-radius:50%;margin-right:10px;vertical-align:-2px;animation:spin .8s linear infinite}.polished-empty{padding:48px 20px}.polished-empty .secondary{margin-top:20px;padding:9px 15px;color:var(--ink);font-size:13px}.text-button{padding:7px 10px;border:0;border-radius:5px;background:transparent;color:var(--ink-3);font-size:12px}.text-button:hover{background:var(--paper-2);color:var(--ink)}.bucket-picker{margin:18px 0;max-width:280px}.dialog-context{background:var(--paper);border:1px solid var(--rule);padding:12px;border-radius:6px;line-height:1.6;font-size:13px}.machine-options{margin:22px 0 14px}.form-grid input,.form-grid select,.row input{min-height:42px}dialog{max-height:calc(100dvh - 40px);overflow-y:auto}dialog[open]{animation:dialog-appear .12s ease-out}dialog textarea{width:100%;resize:vertical;min-height:90px;background:var(--paper);border:1px solid var(--rule);padding:12px;border-radius:6px;font:13px/1.6 var(--font-mono);color:var(--ink)}.terminal-output{padding:18px;background:var(--term-bg);color:var(--term-fg);border-radius:7px;min-height:80px;max-height:300px;overflow:auto;font-size:12px;line-height:1.7}.dialog-error:not(:empty){padding:11px 13px;border:1px solid color-mix(in srgb,var(--red) 25%,var(--rule));background:var(--red-wash);border-radius:6px;line-height:1.5}.dialog-actions .btn{min-height:40px}.copy-btn{min-height:32px;min-width:48px}.command pre{padding-right:50px}.btn:disabled,.secondary:disabled{cursor:wait;opacity:.55}@keyframes dialog-appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.resource-list th,.resource-list td{padding:13px 11px}.node-resources{min-width:110px}.setup-steps{gap:16px}.resource-list{font-size:12px}}
@media(max-width:850px){.resource-list{background:transparent;border:0;overflow:visible}.resource-list table{display:block;white-space:normal}.resource-list thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.resource-list tbody{display:grid;gap:14px}.resource-list tr{display:block;border:1px solid var(--rule);border-radius:9px;background:var(--panel);padding:7px 16px}.resource-list td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:16px;align-items:center;padding:10px 0;border-bottom:1px solid var(--rule-2);white-space:normal;overflow-wrap:anywhere}.resource-list td:before{content:attr(data-label);font:500 10px var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.02em}.resource-list td:first-child{display:block;padding:14px 0 15px}.resource-list td:first-child:before{display:none}.resource-list td:first-child .resource-id{font-size:13px}.resource-list td:last-child{border-bottom:0;padding-bottom:13px}.resource-list .status-pill{width:fit-content}.resource-list .empty,.resource-list .loading-state{border:1px solid var(--rule);border-radius:9px;background:var(--panel)}.resource-list .node-resources{min-width:0}.setup-steps{grid-template-columns:1fr;gap:18px}}
@media(max-width:700px){.setup-card{padding:22px}.setup-card>a{display:block;margin:17px 0 0}.resource-tools{gap:12px}.search-field input[type=search],.form-grid input,.form-grid select,dialog textarea,.row input{font-size:16px;min-height:44px}.resource-count{font-size:10px}.resource-actions .secondary{min-height:38px;padding:7px 13px}.page-head{gap:12px}.page-head .btn{font-size:12px;padding:0 12px;min-height:40px}.dialog-head h2{font-size:22px}dialog{padding:22px;max-height:calc(100dvh - 24px)}.copy-btn{min-height:38px}.dialog-actions{flex-wrap:wrap}.bucket-picker{max-width:none}.resource-id{min-height:34px}}
@media(prefers-reduced-motion:reduce){.loading-state:before,dialog[open]{animation:none}}

.section-heading[hidden]{display:none}.summary-row .eyebrow{display:block;min-height:28px}.workspace-shell .command,dialog .command{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px 16px;gap:10px}.workspace-shell .command .copy-btn,dialog .command .copy-btn{position:static;align-self:flex-end;order:-1}.workspace-shell .command pre,dialog .command pre{white-space:pre;overflow-x:auto;overflow-wrap:normal;padding:0 0 6px;max-width:100%;font-size:12px}
@media(max-width:850px){.resource-list tr:last-child td{border-bottom:1px solid var(--rule-2)}.resource-list tr:last-child td:last-child{border-bottom:0}}

/* Connection settings are fields, not terminal commands. */
.resource-tools[hidden]{display:none}
[data-panel=access] .polished-empty{padding:32px 24px;text-align:left}
[data-panel=access] .polished-empty h3{font-size:18px}
.connection-card{margin-top:24px;padding:24px;background:var(--panel);border:1px solid var(--rule);border-radius:8px}
.connection-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:22px}
.connection-heading h3{font:600 19px var(--font-head);margin:0 0 6px}
.connection-heading p{margin:0;color:var(--ink-3);font-size:13px}
.connection-heading>a{font-size:13px;color:var(--ink-2);white-space:nowrap;text-underline-offset:3px}
.endpoint-field>span,.connection-settings dt{display:block;font-size:12px;font-weight:500;color:var(--ink-3);margin-bottom:8px}
.endpoint-value{display:flex;align-items:center;gap:12px;min-width:0;border:1px solid var(--rule);border-radius:6px;background:var(--paper);padding:5px 6px 5px 14px}
.endpoint-value code{flex:1;min-width:0;overflow-wrap:anywhere;background:none;border:0;padding:0;color:var(--ink);font:13px/1.6 var(--font-mono)}
.endpoint-copy{flex-shrink:0;min-width:76px;min-height:34px;border:1px solid var(--rule);border-radius:5px;background:var(--panel);color:var(--ink-2);font:500 12px var(--font-body);cursor:pointer}
.endpoint-copy:hover{border-color:var(--ink-3);color:var(--ink)}
.endpoint-copy[data-copied]{color:var(--green);border-color:var(--green)}
.connection-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:20px 0}
.connection-settings dd{margin:0;font-size:13px;color:var(--ink)}
.connection-settings code{font:12px var(--font-mono);padding:0;background:none;border:0}
.connection-note{margin:0;padding-top:16px;border-top:1px solid var(--rule);color:var(--ink-3);font-size:12px;line-height:1.7}
.connection-note a{color:var(--ink-2);text-underline-offset:3px}
@media(max-width:700px){.connection-card{padding:20px}.connection-heading{display:block}.connection-heading>a{display:inline-block;margin-top:12px}.endpoint-copy{min-height:40px}.endpoint-value{padding-left:10px;gap:6px}.endpoint-value code{font-size:12px}.connection-settings{grid-template-columns:1fr;gap:14px}.connection-settings>div{display:flex;justify-content:space-between;gap:16px}.connection-settings dt{margin:0}.connection-settings dd{text-align:right}}
@media(max-width:700px){[data-panel=access] .polished-empty{padding:28px 20px}}

/* Keep empty resource views useful without presenting unavailable controls. */
.resource-list .polished-empty{padding:32px 24px;text-align:left}
.resource-list .polished-empty h3{font-size:18px}
.mount-card>p{margin-bottom:0}
.mount-empty{padding:14px 16px;background:var(--paper);border:1px solid var(--rule);border-radius:6px;font-size:13px;line-height:1.7}
.mount-empty a{color:var(--ink-2);text-underline-offset:3px}
.workspace-shell .command,dialog .command{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
.workspace-shell .command:before,dialog .command:before{content:'Terminal';grid-column:1;grid-row:1;color:#aab7c6;font:11px var(--font-mono)}
dialog .command:has(#secret):before{content:'Credentials'}
.workspace-shell .command .copy-btn,dialog .command .copy-btn{grid-column:2;grid-row:1;align-self:center;order:0}
.workspace-shell .command pre,dialog .command pre{grid-column:1/-1;white-space:pre-wrap;overflow-wrap:normal;word-break:normal;min-width:0}
@media(max-width:1000px){.page-head .btn,.resource-actions .secondary,.copy-btn,.dialog-actions .btn,.text-button{min-height:44px}.form-grid input,.form-grid select,dialog textarea,.row input,.search-field input[type=search],.bucket-picker select{font-size:16px;min-height:44px}.dialog-head .icon-btn{min-width:44px;min-height:44px}.resource-id{min-height:44px}.endpoint-copy{min-height:44px}}
@media(max-width:700px){.resource-list .polished-empty{padding:28px 20px}.mount-card{padding:20px}.mount-empty a{display:inline-block}}
/* Long hostnames still need to fit the narrowest supported viewport. */
@media(max-width:360px){.workspace-shell .command pre,dialog .command pre{overflow-wrap:anywhere}}
.has-status-help{cursor:help;text-decoration:underline dotted;text-underline-offset:3px}.has-status-help:focus-visible{outline:2px solid var(--magenta);outline-offset:3px}.machine-status-help{position:fixed;inset:auto;margin:0;width:320px;max-width:calc(100vw - 24px);box-sizing:border-box;padding:12px 14px;border:1px solid var(--rule);border-radius:8px;background:var(--panel);color:var(--ink);box-shadow:0 6px 24px #0002;font:13px/1.6 var(--font-body);white-space:normal;text-align:left;text-decoration:none}
.machine-state{display:grid;justify-items:start;gap:10px;min-width:185px;max-width:240px;white-space:normal}.machine-storage-notice{display:grid;gap:3px;border-left:2px solid var(--amber);padding-left:10px;font-size:12px;line-height:1.5;color:var(--ink-3)}.machine-storage-notice strong{font-size:12px;font-weight:500;color:var(--ink)}.machine-storage-notice[hidden],.machine-network-note[hidden]{display:none}.machine-network-note{font-size:12px;line-height:1.5;color:var(--ink-3)}@media(max-width:850px){.machine-state{min-width:0;max-width:none}}

.monitor-filters{display:flex;gap:16px;flex-wrap:wrap;margin:20px 0}.monitor-filters label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--ink-3);min-width:180px}.monitor-filters select{min-height:40px;padding:8px 32px 8px 12px;border:1px solid var(--rule);border-radius:6px;background:var(--paper);color:var(--ink);font:inherit}.monitor-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.monitor-summary .metric-value{font-size:28px}.monitor-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.monitor-chart{border:1px solid var(--rule);border-radius:8px;background:var(--panel);padding:20px 16px 12px;min-width:0}.monitor-chart h3{font:600 16px var(--font-head);margin:0 0 16px}.monitor-chart h3 span{font-size:12px;font-weight:400;color:var(--ink-3);margin-left:6px}.monitor-chart svg{display:block;width:100%;height:auto}.chart-grid{stroke:var(--rule);stroke-width:1}.chart-label{fill:var(--ink-3);font-size:11px}.chart-line{fill:none;stroke-width:2;stroke-linejoin:round}.chart-line.used{stroke:#288370}.chart-line.reserved{stroke:#b67424;stroke-dasharray:5 4}.chart-line.capacity{stroke:#929a98;stroke-dasharray:3 4;stroke-width:1}.chart-point{fill:#288370;opacity:.7}.chart-point:hover,.chart-point:focus{r:5;opacity:1;stroke:var(--ink);stroke-width:2}.chart-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--ink-3)}.chart-legend span:before{content:'';display:inline-block;width:12px;height:3px;margin-right:5px;vertical-align:middle;background:#929a98}.chart-legend .legend-used:before{background:#288370}.chart-legend .legend-reserved:before{background:#b67424}.monitor-empty{padding:42px 16px;color:var(--ink-3);font-size:13px;line-height:1.7}.monitor-id{display:block;max-width:240px;overflow-wrap:anywhere;font:10px/1.6 var(--font-mono);color:var(--ink-3);margin-top:4px}.monitor-pagination{display:flex;gap:10px;justify-content:flex-end;margin:16px 0}#monitor-message,#monitor-count{font-size:12px;color:var(--ink-3)}
@media(max-width:1100px){.monitor-charts{grid-template-columns:1fr}}@media(max-width:700px){.monitor-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-filters label{flex:1;min-width:140px}.monitor-filters select{font-size:16px;min-height:44px}.monitor-summary .metric-value{font-size:22px}.monitor-id{max-width:100%}}

#execution-log .status.bad{color:#a13838;background:#f9e9e7}
/* Optimistic rows: shown at once, confirmed by the next refresh. */
.resource-list tr.row-pending td{opacity:.62;transition:opacity .2s}.resource-pending{font:11px var(--font-mono);color:var(--ink-3)}.resource-pending:before{content:'';display:inline-block;width:9px;height:9px;border:1.5px solid var(--rule);border-top-color:var(--magenta);border-radius:50%;margin-right:8px;vertical-align:-1px;animation:spin .8s linear infinite}
@media(prefers-reduced-motion:reduce){.resource-pending:before{animation:none}}
