:root {
  color-scheme: dark;
  --tc-core-primary: #2EA7FF;
  --tc-core-secondary: #7A5CFF;
  --tc-core-background: #081226;
  --tc-core-surface: #081226;
  --tc-core-surface-high: #17264A;
  --tc-core-on-surface: #F4F8FF;
  --tc-core-on-surface-variant: #DCE6F5;
  --tc-core-outline: #6F7D95;
  --tc-core-outline-variant: #3B465C;
  --tc-core-error: #FF5A65;
  --tc-font-body: Inter, Geist, -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --tc-font-display: Geist, Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --tc-radius-sm: 2px;
  --tc-radius-md: 4px;
  --tc-radius-lg: 8px;
  --tc-space: 4px;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-block-size: 100vh;
  font-family: var(--tc-font-body);
  background: radial-gradient(circle at top left, rgba(46, 167, 255, 0.22), transparent 34rem), var(--tc-core-background);
  color: var(--tc-core-on-surface);
}
a { color: inherit; }
.tc-shell {
  min-block-size: 100vh;
  display: grid;
  grid-template-columns: minmax(16rem, 18rem) 1fr;
}
.tc-sidebar {
  padding: calc(var(--tc-space) * 6);
  border-inline-end: 1px solid var(--tc-core-outline-variant);
  background: color-mix(in srgb, var(--tc-core-surface-high) 82%, transparent);
}
.tc-brand { display: grid; gap: calc(var(--tc-space) * 2); margin-block-end: calc(var(--tc-space) * 8); }
.tc-brand__eyebrow { color: var(--tc-core-primary); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: .75rem; }
.tc-brand__name { font-family: var(--tc-font-display); font-size: 1.35rem; font-weight: 850; }
.tc-nav-group { display: grid; gap: calc(var(--tc-space) * 2); margin-block-end: calc(var(--tc-space) * 6); }
.tc-nav-group h2 { margin: 0; color: var(--tc-core-on-surface-variant); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.tc-nav-list { display: grid; gap: calc(var(--tc-space) * 1.25); margin: 0; padding: 0; list-style: none; }
.tc-nav-list a {
  display: block;
  padding: calc(var(--tc-space) * 2) calc(var(--tc-space) * 3);
  border: 1px solid transparent;
  border-radius: var(--tc-radius-lg);
  text-decoration: none;
  color: var(--tc-core-on-surface-variant);
}
.tc-nav-list a[aria-current='page'] {
  border-color: var(--tc-core-primary);
  background: rgba(46, 167, 255, 0.14);
  color: var(--tc-core-on-surface);
}
.tc-main { padding: clamp(2rem, 4vw, 4rem); }
.tc-hero, .tc-card {
  border: 1px solid var(--tc-core-outline-variant);
  border-radius: calc(var(--tc-radius-lg) * 1.5);
  background: rgba(17, 30, 56, .82);
  box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .22);
}
.tc-hero { padding: clamp(2rem, 4vw, 4rem); margin-block-end: calc(var(--tc-space) * 6); }
.tc-hero h1 { margin: 0 0 1rem; font-family: var(--tc-font-display); font-size: clamp(2.25rem, 6vw, 4.5rem); line-height: .95; }
.tc-hero p { max-inline-size: 64rem; color: var(--tc-core-on-surface-variant); font-size: 1.05rem; line-height: 1.7; }
.tc-card { padding: calc(var(--tc-space) * 6); }
.tc-card h2 { margin-block-start: 0; }
.tc-form { display: grid; gap: 1rem; max-inline-size: 42rem; margin-block: 1rem; }
.tc-form label { display: grid; gap: .4rem; color: var(--tc-core-on-surface-variant); }
.tc-form input, .tc-form textarea { border: 1px solid var(--tc-core-outline); border-radius: var(--tc-radius-md); padding: .75rem 1rem; background: var(--tc-core-surface); color: var(--tc-core-on-surface); }
.tc-form textarea { min-block-size: 6rem; resize: vertical; }
.tc-form button, .tc-actions button, .tc-row__actions button, .tc-card > button { border: 1px solid var(--tc-core-primary); border-radius: 999px; padding: .65rem 1rem; background: rgba(46, 167, 255, .14); color: var(--tc-core-primary); font-weight: 800; }
.tc-form button:disabled, .tc-actions button:disabled, .tc-row__actions button:disabled, .tc-card > button:disabled { border-color: var(--tc-core-outline); color: var(--tc-core-on-surface-variant); opacity: .62; }
.tc-facets { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 1rem 0; list-style: none; }
.tc-facets li { border: 1px solid var(--tc-core-outline); border-radius: 999px; padding: .35rem .7rem; color: var(--tc-core-on-surface-variant); }
.tc-progress, .tc-seed-inventory, .tc-receipts { display: grid; gap: .6rem; margin-block: 1rem; }
.tc-progress li, .tc-seed-inventory li, .tc-receipts li { border: 1px solid var(--tc-core-outline-variant); border-radius: var(--tc-radius-md); padding: .75rem 1rem; color: var(--tc-core-on-surface-variant); }
.tc-progress li[data-current='true'] { border-color: var(--tc-core-primary); color: var(--tc-core-on-surface); background: rgba(46, 167, 255, .12); }
.tc-progress li[data-complete='true'] { color: var(--tc-core-primary); }
.tc-list-region { display: grid; gap: .75rem; margin-block-start: 1rem; }
.tc-row { display: grid; gap: .35rem; border: 1px solid var(--tc-core-outline-variant); border-radius: var(--tc-radius-lg); padding: 1rem; }
.tc-row span { color: var(--tc-core-on-surface-variant); }
.tc-row__actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-block-start: .75rem; }
.tc-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-block: 1rem; }
.tc-status, .tc-badges { display: flex; flex-wrap: wrap; gap: .75rem; margin-block: 1rem; }
.tc-pill { display: inline-flex; align-items: center; border: 1px solid var(--tc-core-outline); border-radius: 999px; padding: .35rem .7rem; color: var(--tc-core-on-surface-variant); }
.tc-pill--primary { border-color: var(--tc-core-primary); color: var(--tc-core-primary); }
.tc-panel { border: 1px solid var(--tc-core-outline-variant); border-radius: var(--tc-radius-lg); padding: 1rem; margin-block: 1rem; background: color-mix(in srgb, var(--tc-core-surface-high) 58%, transparent); }
.tc-definition-list { display: grid; grid-template-columns: minmax(12rem, 18rem) 1fr; gap: .65rem 1rem; }
.tc-definition-list dt { color: var(--tc-core-on-surface-variant); font-weight: 800; }
.tc-definition-list dd { margin: 0; overflow-wrap: anywhere; }
.tc-quota-list { display: grid; gap: .65rem; padding: 0; list-style: none; }
.tc-quota-list li { border: 1px solid var(--tc-core-outline-variant); border-radius: var(--tc-radius-md); padding: .75rem 1rem; color: var(--tc-core-on-surface-variant); }
.tc-warning { color: var(--tc-core-error); }
@media (max-width: 840px) {
  .tc-shell { grid-template-columns: 1fr; }
  .tc-sidebar { border-inline-end: 0; border-block-end: 1px solid var(--tc-core-outline-variant); }
}
