@charset "UTF-8";
/* Utility mixins
   ========================================================================== */
/**
 * Clearfix for clearing floats like a boss h5bp.com/q
 */
/**
 * Media query
 */
/**
 * Webkit-style focus
 */
/**
 * Center-align a block level element
 */
/**
 * Hide text overflow and end with ...
 */
/* Gradient mixins
   ========================================================================== */
/* Rounded corners
   ========================================================================== */
/**
 * Round all corners
 * example: @include rounded(4px);
 */
/**
 * Round individual corners (top right, bottom right, bottom left, top left)
 * example: @include border-radius(4px, 0, 0, 4px);
 */
/**
 * Box shadow
 * example: @include box-shadow(HORIZONTAL VERTICAL BLUR COLOR));
 */
/**
 * Drop shadow
 * example: @include drop-shadow(HORIZONTAL, VERTICAL, BLUR, ALPHA);
 */
/**
 * Text shadow
 * example: @include text-shadow(0 2px 3px rgba(0,0,0,.25));
 */
/**
 * Opacity
 * example: @include opacity(0.5); // 50% opacity
 */
/* Transformations
   ========================================================================== */
/**
 * @include rotate(VALUEdeg);
 */
/**
 * @include scale(VALUE);
 */
/**
 * @include skew(VALUE, VALUE);
 */
/**
 * @include transition(PROPERTY DURATION DELAY(OPTIONAL) TIMING-FINCTION);
 */
/**
 * @include translate(VALUE, VALUE);
 */
/**
 * Box-sizing
 * example: @include box-sizing(VALUE); //(border-box, padding-box, content-box)
 */
/**
 * Hide from visual and speaking browsers
 */
/**
 * Hide but maintain layout
 */
/*
 * Design System — Multi-site
 * See /DESIGN.md for shared spec, /DESIGN.{site}.md for per-site palettes.
 *
 * CSS custom properties on :root enable per-site theming.
 * Sass $variables remain for backwards compatibility with existing components.
 */
:root {
  --bg: #F7F3ED;
  --surface: #EFEBE4;
  --surface-2: #E6E0D7;
  --text: #1A1714;
  --text-strong: #110F0D;
  --muted: #6B6159;
  --accent: #B5451B;
  --accent-hover: #9A3A17;
  --rule: #D4CABC;
  --rule-heavy: #B8AB9A;
  --white: #FDFBF8;
  --font-display: 'Satoshi', sans-serif;
  --font-body: 'Instrument Sans', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) {
    --bg: #171411;
    --surface: #1E1B17;
    --surface-2: #262220;
    --text: #E5DFD6;
    --text-strong: #F5F0E8;
    --muted: #8A8078;
    --accent: #D4612E;
    --accent-hover: #E87040;
    --rule: #2E2A25;
    --rule-heavy: #3D3732;
    --white: #1E1B17;
  }
}
:root[data-theme=dark] {
  --bg: #171411;
  --surface: #1E1B17;
  --surface-2: #262220;
  --text: #E5DFD6;
  --text-strong: #F5F0E8;
  --muted: #8A8078;
  --accent: #D4612E;
  --accent-hover: #E87040;
  --rule: #2E2A25;
  --rule-heavy: #3D3732;
  --white: #1E1B17;
}

.theme-toggle {
  background: var(--surface);
  border: 1px solid var(--rule);
  border-radius: var(--radius-sm);
  color: var(--muted);
  cursor: pointer;
  padding: 6px 10px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.04em;
  transition: background 0.15s, border-color 0.15s;
}
.theme-toggle:hover {
  background: var(--surface-2);
  border-color: var(--muted);
}
.theme-toggle .theme-toggle-icon::before {
  content: "☀";
}

:root[data-theme=dark] .theme-toggle .theme-toggle-icon::before,
:root:not([data-theme]) .theme-toggle .theme-toggle-icon::before {
  content: "☀";
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .theme-toggle .theme-toggle-icon::before {
    content: "☾";
  }
}
:root[data-theme=dark] .theme-toggle .theme-toggle-icon::before {
  content: "☾";
}

/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
  background-color: var(--bg);
  color: var(--text);
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
/* 1 */
html input[type=button],
button,
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield; /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/**
  * Global setting
  */
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.notice {
  border: 1px solid var(--rule);
  border-radius: 0.4em;
  padding: 0.5em 1em;
}

img {
  display: block;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

table,
th,
td {
  border: none;
}

.table {
  display: table;
}

.table-cell {
  display: table-cell;
}

.table-top {
  vertical-align: top;
}

.table-middle {
  vertical-align: middle;
}

.table-bottom {
  vertical-align: bottom;
}

table {
  width: 100%;
  display: table;
}
table.bordered > thead > tr, table.bordered > tbody > tr {
  border-bottom: 1px solid #D4CABC;
}
table.striped > tbody > tr:nth-child(odd) {
  background-color: #EFEBE4;
}
table.striped > tbody > tr > td {
  border-radius: 0;
}
table.highlight > tbody > tr {
  -webkit-transition: background-color 0.25s ease;
  -moz-transition: background-color 0.25s ease;
  -ms-transition: background-color 0.25s ease;
  -o-transition: background-color 0.25s ease;
  transition: background-color 0.25s ease;
}
table.highlight > tbody > tr:hover {
  background-color: #EFEBE4;
}
table.centered thead tr th,
table.centered tbody tr td,
table.centered tfoot tr td {
  text-align: center;
}

thead {
  border-bottom: 1px solid #D4CABC;
}

td,
th {
  padding: 15px 5px;
  display: table-cell;
  text-align: left;
  vertical-align: middle;
  border-radius: 2px;
}

tfoot {
  border-top: 1px solid #D4CABC;
}

b,
i,
strong,
em,
blockquote,
p,
q,
span,
figure,
img,
h1,
h2,
header,
input,
a {
  -webkit-transition: all 0.1s ease;
  -moz-transition: all 0.1s ease;
  -ms-transition: all 0.1s ease;
  -o-transition: all 0.1s ease;
  transition: all 0.1s ease;
}

footer {
  text-align: center;
  padding: 3em 0;
}
footer .heart-icon {
  color: #7A1A1A;
  text-shadow: 0 0 5px var(--white), 0 0 10px #7A1A1A;
}

.related-articles {
  margin-top: 2em;
}
.related-articles h4 {
  font-family: var(--font-body);
}
.related-articles ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/**
  * Helpers
  */
.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.hidden-md {
  display: none;
}
@media only screen and (min-width: 992px) {
  .hidden-md {
    display: inline-block;
  }
}

.radius-box {
  border-radius: 10px;
}

.radius-ls {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}

.radius-rs {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}

.radius-l1 {
  border-bottom-left-radius: 10px;
  border-top-left-radius: 10px;
}

.radius-r1 {
  border-bottom-right-radius: 10px;
  border-top-right-radius: 10px;
}

.m0 {
  margin: 0;
}

.mt0 {
  margin-top: 0;
}

.mr0 {
  margin-right: 0;
}

.mb0 {
  margin-bottom: 0;
}

.ml0 {
  margin-left: 0;
}

.ms {
  margin: 0.25em;
}

.mts {
  margin-top: 0.25em;
}

.mbs {
  margin-bottom: 0.25em;
}

.mrs {
  margin-right: 0.25em;
}

.mls {
  margin-left: 0.25em;
}

.mm {
  margin: 0.5em;
}

.mtm {
  margin-top: 0.5em;
}

.mbm {
  margin-bottom: 0.5em;
}

.mrm {
  margin-right: 0.5em;
}

.mlm {
  margin-left: 0.5em;
}

.m1 {
  margin: 1.5em;
}

.mt1 {
  margin-top: 1.5em;
}

.mb1 {
  margin-bottom: 1.5em;
}

.mr1 {
  margin-right: 1.5em;
}

.ml1 {
  margin-left: 1.5em;
}

.m2 {
  margin: 3em;
}

.mt2 {
  margin-top: 3em;
}

.mb2 {
  margin-bottom: 3em;
}

.mr2 {
  margin-right: 3em;
}

.ml2 {
  margin-left: 3em;
}

.p0 {
  padding: 0;
}

.pt0 {
  padding-top: 0;
}

.pr0 {
  padding-right: 0;
}

.pb0 {
  padding-bottom: 0;
}

.pl0 {
  padding-left: 0;
}

.ps {
  padding: 0.25em;
}

.pts {
  padding-top: 0.25em;
}

.pbs {
  padding-bottom: 0.25em;
}

.prs {
  padding-right: 0.25em;
}

.pls {
  padding-left: 0.25em;
}

.pm {
  padding: 0.5em;
}

.ptm {
  padding-top: 0.5em;
}

.pbm {
  padding-bottom: 0.5em;
}

.prm {
  padding-right: 0.5em;
}

.plm {
  padding-left: 0.5em;
}

.p1 {
  padding: 1em;
}

.pt1 {
  padding-top: 1em;
}

.pr1 {
  padding-right: 1em;
}

.pb1 {
  padding-bottom: 1em;
}

.pl1 {
  padding-left: 1em;
}

.p2 {
  padding: 2em;
}

.pt2 {
  padding-top: 2em;
}

.pr2 {
  padding-right: 2em;
}

.pb2 {
  padding-bottom: 2em;
}

.pl2 {
  padding-left: 2em;
}

.pb5 {
  padding-bottom: 5em;
}

.pads {
  padding: 0.25em;
}

.padm {
  padding: 0.5em;
}

.padl {
  padding: 1em;
}

.padsx {
  padding-left: 0.25em;
  padding-right: 0.25em;
}

.padmx {
  padding-left: 0.5em;
  padding-right: 0.5em;
}

.padlx {
  padding-left: 1em;
  padding-right: 1em;
}

.padsy {
  padding-top: 0.25em;
  padding-bottom: 0.25em;
}

.padmy {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

.padly {
  padding-top: 1em;
  padding-bottom: 1em;
}

.primary-text-color {
  color: var(--accent);
}

.primary-bg-color {
  background-color: var(--accent);
}

.secondary-text-color {
  color: var(--muted);
}

.secondary-bg-color {
  background-color: var(--muted);
}

.success-text-color {
  color: #2D5F1A;
}

.success-bg-color {
  background-color: #2D5F1A;
}

.danger-text-color {
  color: #7A1A1A;
}

.danger-bg-color {
  background-color: #7A1A1A;
}

.info-text-color {
  color: #1A4A6B;
}

.info-bg-color {
  background-color: #1A4A6B;
}

.warning-text-color {
  color: #6B4A0A;
}

.warning-bg-color {
  background-color: #6B4A0A;
}

/**
  * Grid
  */
.container {
  margin: 0 auto;
  max-width: 1280px;
  width: 90%;
}

@media only screen and (min-width: 992px) {
  .container {
    width: 85%;
  }
}
@media only screen and (min-width: 1200px) {
  .container {
    width: 70%;
  }
}
.container .row {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}

.section {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.section.no-pad {
  padding: 0;
}
.section.no-pad-bot {
  padding-bottom: 0;
}
.section.no-pad-top {
  padding-top: 0;
}

.row {
  margin-left: auto;
  margin-right: auto;
}
.row:after {
  content: "";
  display: table;
  clear: both;
}
.row .col {
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  vertical-align: top;
  width: 100%;
}
.row .col.s1 {
  width: 8.3333333333%;
  margin-left: 0;
}
.row .col.s2 {
  width: 16.6666666667%;
  margin-left: 0;
}
.row .col.s3 {
  width: 25%;
  margin-left: 0;
}
.row .col.s4 {
  width: 33.3333333333%;
  margin-left: 0;
}
.row .col.s5 {
  width: 41.6666666667%;
  margin-left: 0;
}
.row .col.s6 {
  width: 50%;
  margin-left: 0;
}
.row .col.s7 {
  width: 58.3333333333%;
  margin-left: 0;
}
.row .col.s8 {
  width: 66.6666666667%;
  margin-left: 0;
}
.row .col.s9 {
  width: 75%;
  margin-left: 0;
}
.row .col.s10 {
  width: 83.3333333333%;
  margin-left: 0;
}
.row .col.s11 {
  width: 91.6666666667%;
  margin-left: 0;
}
.row .col.s12 {
  width: 100%;
  margin-left: 0;
}
.row .col.offset-s1 {
  margin-left: 8.3333333333%;
}
.row .col.offset-s2 {
  margin-left: 16.6666666667%;
}
.row .col.offset-s3 {
  margin-left: 25%;
}
.row .col.offset-s4 {
  margin-left: 33.3333333333%;
}
.row .col.offset-s5 {
  margin-left: 41.6666666667%;
}
.row .col.offset-s6 {
  margin-left: 50%;
}
.row .col.offset-s7 {
  margin-left: 58.3333333333%;
}
.row .col.offset-s8 {
  margin-left: 66.6666666667%;
}
.row .col.offset-s9 {
  margin-left: 75%;
}
.row .col.offset-s10 {
  margin-left: 83.3333333333%;
}
.row .col.offset-s11 {
  margin-left: 91.6666666667%;
}
.row .col.offset-s12 {
  margin-left: 100%;
}
@media only screen and (min-width: 600px) {
  .row .col.m1 {
    width: 8.3333333333%;
    margin-left: 0;
  }
  .row .col.m2 {
    width: 16.6666666667%;
    margin-left: 0;
  }
  .row .col.m3 {
    width: 25%;
    margin-left: 0;
  }
  .row .col.m4 {
    width: 33.3333333333%;
    margin-left: 0;
  }
  .row .col.m5 {
    width: 41.6666666667%;
    margin-left: 0;
  }
  .row .col.m6 {
    width: 50%;
    margin-left: 0;
  }
  .row .col.m7 {
    width: 58.3333333333%;
    margin-left: 0;
  }
  .row .col.m8 {
    width: 66.6666666667%;
    margin-left: 0;
  }
  .row .col.m9 {
    width: 75%;
    margin-left: 0;
  }
  .row .col.m10 {
    width: 83.3333333333%;
    margin-left: 0;
  }
  .row .col.m11 {
    width: 91.6666666667%;
    margin-left: 0;
  }
  .row .col.m12 {
    width: 100%;
    margin-left: 0;
  }
  .row .col.offset-m1 {
    margin-left: 8.3333333333%;
  }
  .row .col.offset-m2 {
    margin-left: 16.6666666667%;
  }
  .row .col.offset-m3 {
    margin-left: 25%;
  }
  .row .col.offset-m4 {
    margin-left: 33.3333333333%;
  }
  .row .col.offset-m5 {
    margin-left: 41.6666666667%;
  }
  .row .col.offset-m6 {
    margin-left: 50%;
  }
  .row .col.offset-m7 {
    margin-left: 58.3333333333%;
  }
  .row .col.offset-m8 {
    margin-left: 66.6666666667%;
  }
  .row .col.offset-m9 {
    margin-left: 75%;
  }
  .row .col.offset-m10 {
    margin-left: 83.3333333333%;
  }
  .row .col.offset-m11 {
    margin-left: 91.6666666667%;
  }
  .row .col.offset-m12 {
    margin-left: 100%;
  }
}
@media only screen and (min-width: 992px) {
  .row .col.l1 {
    width: 8.3333333333%;
    margin-left: 0;
  }
  .row .col.l2 {
    width: 16.6666666667%;
    margin-left: 0;
  }
  .row .col.l3 {
    width: 25%;
    margin-left: 0;
  }
  .row .col.l4 {
    width: 33.3333333333%;
    margin-left: 0;
  }
  .row .col.l5 {
    width: 41.6666666667%;
    margin-left: 0;
  }
  .row .col.l6 {
    width: 50%;
    margin-left: 0;
  }
  .row .col.l7 {
    width: 58.3333333333%;
    margin-left: 0;
  }
  .row .col.l8 {
    width: 66.6666666667%;
    margin-left: 0;
  }
  .row .col.l9 {
    width: 75%;
    margin-left: 0;
  }
  .row .col.l10 {
    width: 83.3333333333%;
    margin-left: 0;
  }
  .row .col.l11 {
    width: 91.6666666667%;
    margin-left: 0;
  }
  .row .col.l12 {
    width: 100%;
    margin-left: 0;
  }
  .row .col.offset-l1 {
    margin-left: 8.3333333333%;
  }
  .row .col.offset-l2 {
    margin-left: 16.6666666667%;
  }
  .row .col.offset-l3 {
    margin-left: 25%;
  }
  .row .col.offset-l4 {
    margin-left: 33.3333333333%;
  }
  .row .col.offset-l5 {
    margin-left: 41.6666666667%;
  }
  .row .col.offset-l6 {
    margin-left: 50%;
  }
  .row .col.offset-l7 {
    margin-left: 58.3333333333%;
  }
  .row .col.offset-l8 {
    margin-left: 66.6666666667%;
  }
  .row .col.offset-l9 {
    margin-left: 75%;
  }
  .row .col.offset-l10 {
    margin-left: 83.3333333333%;
  }
  .row .col.offset-l11 {
    margin-left: 91.6666666667%;
  }
  .row .col.offset-l12 {
    margin-left: 100%;
  }
}

/* ==========================================================================
   Typography
   ========================================================================== */
html {
  line-height: 1.5;
  font-family: var(--font-body);
  font-weight: normal;
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-size: 15px;
}

blockquote {
  display: block;
  position: relative;
  padding-left: 20px;
  font-style: italic;
  border-left: 5px solid var(--muted);
}

a {
  text-decoration: none;
  color: var(--accent);
  transition: color 0.15s ease;
}
a:hover, a:focus {
  color: var(--accent-hover);
  text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.3;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  font-weight: inherit;
  color: var(--text-strong);
}
h1 a:hover, h1 a:focus, h2 a:hover, h2 a:focus, h3 a:hover, h3 a:focus, h4 a:hover, h4 a:focus, h5 a:hover, h5 a:focus, h6 a:hover, h6 a:focus {
  color: var(--accent);
}

h1 {
  font-size: 4rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.05;
  margin: 2rem 0 1.6rem 0;
}

h2 {
  font-size: 1.75rem;
  margin: 0.875rem 0 0.7rem 0;
}

h3 {
  font-size: 1.25rem;
  margin: 0.625rem 0 0.5rem 0;
}

h4 {
  font-size: 1.1rem;
  margin: 0.55rem 0 0.44rem 0;
}

h5 {
  font-size: 1rem;
  margin: 0.5rem 0 0.4rem 0;
}

h6 {
  font-size: 0.875rem;
  margin: 0.4375rem 0 0.35rem 0;
  text-transform: uppercase;
}

hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 0.0625rem solid rgba(0, 0, 0, 0.1);
}

em {
  font-style: italic;
}

strong {
  font-weight: 600;
}

small,
.small {
  font-size: 80%;
  font-weight: normal;
}

p {
  margin: 1.2em 0;
  word-spacing: 0.05em;
  line-height: 1.6em;
}

/* Buttons
   ========================================================================== */
.btn {
  display: inline-block;
  margin-bottom: 20px;
  padding: 8px 20px;
  font-size: 0.875em;
  font-family: var(--font-body);
  font-weight: 700;
  background-color: var(--accent);
  color: var(--white);
  border-width: 2px !important;
  border-style: solid !important;
  border-color: var(--accent);
  text-decoration: none !important;
  border-radius: 5px;
}
.btn:visited {
  color: var(--white);
  border-color: var(--accent);
}
.btn:hover {
  background-color: var(--white);
  color: var(--accent);
  border-color: var(--accent);
}

.btn-success {
  background-color: #2D5F1A;
  color: var(--white);
  border-color: #2D5F1A;
}
.btn-success:visited {
  color: var(--white);
  border-color: #2D5F1A;
}
.btn-success:hover {
  background-color: var(--white);
  color: #2D5F1A;
  border-color: #2D5F1A;
}

.btn-warning {
  background-color: #6B4A0A;
  color: var(--white);
  border-color: #6B4A0A;
}
.btn-warning:visited {
  color: var(--white);
  border-color: #6B4A0A;
}
.btn-warning:hover {
  background-color: var(--white);
  color: #6B4A0A;
  border-color: #6B4A0A;
}

.btn-danger {
  background-color: #7A1A1A;
  color: var(--white);
  border-color: #7A1A1A;
}
.btn-danger:visited {
  color: var(--white);
  border-color: #7A1A1A;
}
.btn-danger:hover {
  background-color: var(--white);
  color: #7A1A1A;
  border-color: #7A1A1A;
}

.btn-info {
  background-color: #1A4A6B;
  color: var(--white);
  border-color: #1A4A6B;
}
.btn-info:visited {
  border-color: #1A4A6B;
  color: var(--white);
}
.btn-info:hover {
  background-color: var(--white);
  color: #1A4A6B;
  border-color: #1A4A6B;
}

/* ==========================================================================
   Syntax highlighting
   ========================================================================== */
pre, code {
  font-family: "JetBrains Mono", monospace;
  color: #525252;
  font-size: 0.9em;
  background-color: #f8f8f8;
  font-size: 12px;
}

code {
  color: #e96900;
  border-radius: 2px;
  white-space: nowrap;
}

pre {
  overflow: auto;
  display: block;
  padding: 1em;
  margin: 0 0 1em;
  line-height: 1.3875;
  word-break: break-all;
  word-wrap: break-word;
  border-radius: 0;
  font-weight: normal;
}

pre code {
  background: transparent;
  white-space: pre;
  overflow: auto;
  word-wrap: normal;
  color: #525252;
}
pre code span {
  word-break: break-all;
}

.highlight {
  margin: 0;
}
.highlight pre {
  position: relative;
}
.highlight pre code {
  color: #525252;
}
.highlight pre code::before {
  content: attr(data-lang);
  position: absolute;
  top: 0;
  right: 0;
  color: #ccc;
  text-align: right;
  text-transform: uppercase;
  font-size: 0.85em;
  padding: 5px 10px 0;
  line-height: 20px;
  height: 20px;
  font-weight: 600;
}
.highlight .hll {
  background-color: #ffffcc;
}
.highlight .c {
  color: #B0B2B0;
  font-style: italic;
}
.highlight { /* Comment */ }
.highlight { /* Error */ }
.highlight .k {
  color: #AA22FF;
  font-weight: bold;
}
.highlight { /* Keyword */ }
.highlight .o {
  color: #666666;
}
.highlight { /* Operator */ }
.highlight .cm {
  color: #B0B2B0;
  font-style: italic;
}
.highlight { /* Comment.Multiline */ }
.highlight .cp {
  color: #B0B2B0;
}
.highlight { /* Comment.Preproc */ }
.highlight .c1 {
  color: #B0B2B0;
  font-style: italic;
}
.highlight { /* Comment.Single */ }
.highlight .cs {
  color: #B0B2B0;
  font-weight: bold;
}
.highlight { /* Comment.Special */ }
.highlight .gd {
  color: #A00000;
}
.highlight { /* Generic.Deleted */ }
.highlight .ge {
  font-style: italic;
}
.highlight { /* Generic.Emph */ }
.highlight .gr {
  color: #FF0000;
}
.highlight { /* Generic.Error */ }
.highlight .gh {
  color: #000080;
  font-weight: bold;
}
.highlight { /* Generic.Heading */ }
.highlight .gi {
  color: #00A000;
}
.highlight { /* Generic.Inserted */ }
.highlight .go {
  color: #808080;
}
.highlight { /* Generic.Output */ }
.highlight .gp {
  color: #000080;
  font-weight: bold;
}
.highlight { /* Generic.Prompt */ }
.highlight .gs {
  font-weight: bold;
}
.highlight { /* Generic.Strong */ }
.highlight .gu {
  color: #800080;
  font-weight: bold;
}
.highlight { /* Generic.Subheading */ }
.highlight .gt {
  color: #0040D0;
}
.highlight { /* Generic.Traceback */ }
.highlight .kc {
  color: #AA22FF;
  font-weight: bold;
}
.highlight { /* Keyword.Constant */ }
.highlight .kd {
  color: #AA22FF;
  font-weight: bold;
}
.highlight { /* Keyword.Declaration */ }
.highlight .kn {
  color: #AA22FF;
  font-weight: bold;
}
.highlight { /* Keyword.Namespace */ }
.highlight .kp {
  color: #AA22FF;
}
.highlight { /* Keyword.Pseudo */ }
.highlight .kr {
  color: #AA22FF;
  font-weight: bold;
}
.highlight { /* Keyword.Reserved */ }
.highlight .kt {
  color: #00BB00;
  font-weight: bold;
}
.highlight { /* Keyword.Type */ }
.highlight .m {
  color: #666666;
}
.highlight { /* Literal.Number */ }
.highlight .s {
  color: #BB4444;
}
.highlight { /* Literal.String */ }
.highlight .na {
  color: #BB4444;
}
.highlight { /* Name.Attribute */ }
.highlight .nb {
  color: #AA22FF;
}
.highlight { /* Name.Builtin */ }
.highlight .nc {
  color: #0000FF;
}
.highlight { /* Name.Class */ }
.highlight .no {
  color: #880000;
}
.highlight { /* Name.Constant */ }
.highlight .nd {
  color: #AA22FF;
}
.highlight { /* Name.Decorator */ }
.highlight .ni {
  color: #999999;
  font-weight: bold;
}
.highlight { /* Name.Entity */ }
.highlight .ne {
  color: #D2413A;
  font-weight: bold;
}
.highlight { /* Name.Exception */ }
.highlight .nf {
  color: #00A000;
}
.highlight { /* Name.Function */ }
.highlight .nl {
  color: #A0A000;
}
.highlight { /* Name.Label */ }
.highlight .nn {
  color: #0000FF;
  font-weight: bold;
}
.highlight { /* Name.Namespace */ }
.highlight .nt {
  color: #008000;
  font-weight: bold;
}
.highlight { /* Name.Tag */ }
.highlight .nv {
  color: #B8860B;
}
.highlight { /* Name.Variable */ }
.highlight .ow {
  color: #AA22FF;
  font-weight: bold;
}
.highlight { /* Operator.Word */ }
.highlight .w {
  color: #bbbbbb;
}
.highlight { /* Text.Whitespace */ }
.highlight .mf {
  color: #666666;
}
.highlight { /* Literal.Number.Float */ }
.highlight .mh {
  color: #666666;
}
.highlight { /* Literal.Number.Hex */ }
.highlight .mi {
  color: #666666;
}
.highlight { /* Literal.Number.Integer */ }
.highlight .mo {
  color: #666666;
}
.highlight { /* Literal.Number.Oct */ }
.highlight .sb {
  color: #BB4444;
}
.highlight { /* Literal.String.Backtick */ }
.highlight .sc {
  color: #BB4444;
}
.highlight { /* Literal.String.Char */ }
.highlight .sd {
  color: #BB4444;
  font-style: italic;
}
.highlight { /* Literal.String.Doc */ }
.highlight .s2 {
  color: #BB4444;
}
.highlight { /* Literal.String.Double */ }
.highlight .se {
  color: #BB6622;
  font-weight: bold;
}
.highlight { /* Literal.String.Escape */ }
.highlight .sh {
  color: #BB4444;
}
.highlight { /* Literal.String.Heredoc */ }
.highlight .si {
  color: #BB6688;
  font-weight: bold;
}
.highlight { /* Literal.String.Interpol */ }
.highlight .sx {
  color: #008000;
}
.highlight { /* Literal.String.Other */ }
.highlight .sr {
  color: #BB6688;
}
.highlight { /* Literal.String.Regex */ }
.highlight .s1 {
  color: #BB4444;
}
.highlight { /* Literal.String.Single */ }
.highlight .ss {
  color: #B8860B;
}
.highlight { /* Literal.String.Symbol */ }
.highlight .bp {
  color: #AA22FF;
}
.highlight { /* Name.Builtin.Pseudo */ }
.highlight .vc {
  color: #B8860B;
}
.highlight { /* Name.Variable.Class */ }
.highlight .vg {
  color: #B8860B;
}
.highlight { /* Name.Variable.Global */ }
.highlight .vi {
  color: #B8860B;
}
.highlight { /* Name.Variable.Instance */ }
.highlight .il {
  color: #666666;
}
.highlight { /* Literal.Number.Integer.Long */ }

/* LAYOUT CSS */
.cover {
  background-color: var(--bg);
  position: fixed;
  text-align: center;
  width: 100%;
  min-height: 400px;
  padding: 30px 15px 20px;
  z-index: 1;
}
@media only screen and (min-width: 600px) {
  .cover {
    background-position: center;
    padding: 30px;
  }
}
@media only screen and (min-width: 992px) {
  .cover {
    height: 100vh;
    position: initial;
    width: 100%;
  }
}

.cover-card {
  color: var(--text);
  padding: 0 30px;
}
.cover-card .avatar {
  border-radius: 50%;
  width: 100px;
  height: 100px;
  float: none;
}
.cover-card .author_name {
  display: block;
  color: var(--accent);
  font-size: 1.75em;
  text-transform: lowercase;
}
.cover-card .author_job {
  display: block;
  color: var(--muted);
  font-size: 0.8em;
  font-weight: 700;
  text-transform: uppercase;
  margin: -5px auto 10px;
}
.cover-card .author_bio {
  font-size: 90%;
  display: block;
}
@media only screen and (min-width: 992px) {
  .cover-card {
    text-align: right;
    margin: 0 auto;
    padding: 0 0px 80px;
  }
}

.social-links {
  margin-top: 0.5em;
}
.social-links ul {
  margin: 0;
  padding: 0;
}
.social-links ul li {
  list-style: none;
  display: inline-block;
  margin-left: 1em;
}
.social-links ul li a.social-link-item {
  color: var(--muted);
}
.social-links ul li a.social-link-item:hover, .social-links ul li a.social-link-item:focus {
  color: var(--accent);
}

.nav-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.nav-list .nav-item {
  display: inline-block;
  *display: inline;
  zoom: 1;
}
.nav-list .nav-item a {
  margin-top: 1em;
  text-transform: lowercase;
  font-size: 85%;
  color: var(--muted);
}
.nav-list .nav-item a:hover, .nav-list .nav-item a:focus {
  color: var(--accent);
}

.site-crosslinks {
  margin-top: 1em;
}
.site-crosslinks .crosslink {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--muted);
  text-decoration: none;
  margin-right: 1em;
  transition: color 0.15s;
}
.site-crosslinks .crosslink:hover {
  color: var(--accent);
}

ul.tag-cloud {
  padding: 2em 0 3em;
  margin: 0;
  overflow: hidden;
  list-style: none;
}
ul.tag-cloud li {
  display: inline-block;
  margin-right: 0.5em;
}
ul.tag-cloud li a.post-tag {
  border-radius: 0.2em;
}

.tag-list .tag-group {
  margin-bottom: 2em;
}
.tag-list .tag-group .tag-group-title {
  color: #6B4A0A;
  text-transform: capitalize;
}
.tag-list .tag-group .tag-item {
  padding-left: 1em;
  margin-bottom: 0.5em;
}
.tag-list .tag-group .tag-item a {
  color: var(--text);
}
.tag-list .tag-group .tag-item a:hover, .tag-list .tag-group .tag-item a:focus {
  color: var(--muted);
}

.cat-list .cat-group {
  margin-bottom: 2em;
}
.cat-list .cat-group .cat-group-title {
  color: #6B4A0A;
  text-transform: capitalize;
}
.cat-list .cat-group .cat-item {
  padding-left: 1em;
  margin-bottom: 0.5em;
}
.cat-list .cat-group .cat-item a {
  color: #7A1A1A;
}
.cat-list .cat-group .cat-item a:hover, .cat-list .cat-group .cat-item a:focus {
  color: #c44040;
}

.archive #timeline {
  position: relative;
}
.archive #timeline:before {
  content: "";
  position: absolute;
  top: 0;
  left: -2px;
  height: 100%;
  width: 4px;
  background: var(--bg);
}
.archive #timeline:after {
  content: "";
  display: table;
  clear: both;
}
.archive .archive-title {
  position: relative;
  margin: 2em auto 1em;
}
.archive .archive-title .archive-year {
  margin-left: 1em;
}
.archive .archive-title .archive-year:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 50%;
  margin-left: -4px;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  background: #bbb;
  border-radius: 50%;
}
.archive ul {
  list-style: none;
}
.archive ul li {
  margin: 1em auto;
}

.landing-page {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  margin: -20px -20px 0;
  padding: 24px 20px 0;
}
@media only screen and (min-width: 600px) {
  .landing-page {
    margin: -50px -30px 0;
    padding: 40px 30px 0;
  }
}

.landing-page h1,
.landing-page h2,
.landing-page h3 {
  color: var(--text-strong);
  font-family: var(--font-display);
  letter-spacing: -0.02em;
}

.landing-page p,
.landing-page li {
  color: var(--text);
}

.landing-page a {
  color: var(--accent);
}
.landing-page a:hover, .landing-page a:focus {
  color: var(--accent-hover);
}

.landing-hero,
.landing-section {
  margin: 0 auto;
  max-width: 960px;
}

.landing-hero {
  border-bottom: 2px solid var(--rule-heavy);
  padding: 0 0 48px;
}

.landing-hero-grid {
  display: grid;
  gap: 24px;
}
@media only screen and (min-width: 600px) {
  .landing-hero-grid {
    grid-template-columns: minmax(0, 1.75fr) minmax(220px, 0.85fr);
    align-items: start;
  }
}

.landing-kicker,
.startup-domain,
.blog-tease-meta,
.landing-stat span,
.startup-thumb-fallback small,
.startup-thumb-fallback span {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.landing-kicker {
  margin: 0 0 16px;
}

.landing-hero h1 {
  font-size: 3rem;
  font-weight: 900;
  line-height: 1.02;
  margin: 0 0 16px;
}
@media only screen and (min-width: 600px) {
  .landing-hero h1 {
    font-size: 4rem;
  }
}

.landing-intro {
  font-size: 1.05rem;
  line-height: 1.6;
  margin: 0;
  max-width: 46rem;
}

.landing-hero-aside {
  border-top: 1px solid var(--rule);
  padding-top: 16px;
}
@media only screen and (min-width: 600px) {
  .landing-hero-aside {
    border-top: 0;
    border-left: 1px solid var(--rule);
    padding-left: 24px;
    padding-top: 4px;
  }
}

.landing-stats {
  display: grid;
  gap: 12px;
}

.landing-stat {
  border-bottom: 1px solid var(--rule);
  padding-bottom: 12px;
}
.landing-stat strong,
.landing-stat span {
  display: block;
}
.landing-stat strong {
  color: var(--text-strong);
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 4px;
}
.landing-stat span {
  letter-spacing: 0.08em;
}

.landing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.landing-button {
  border: 1px solid var(--rule);
  border-radius: 4px;
  color: var(--text);
  display: inline-block;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  padding: 10px 12px;
  text-decoration: none;
}
.landing-button:hover, .landing-button:focus {
  border-color: var(--accent);
  color: var(--accent-hover);
}
.landing-button.primary {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--bg);
}
.landing-button.primary:hover, .landing-button.primary:focus {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
  color: var(--bg);
}

.landing-section {
  border-top: 2px solid var(--rule-heavy);
  padding-top: 48px;
}

.landing-section + .landing-section {
  margin-top: 48px;
}

.landing-section-header {
  margin-bottom: 24px;
  max-width: 44rem;
}

.landing-section-header h2 {
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0 0 8px;
}

.landing-section-header p:last-child {
  color: var(--muted);
  margin-bottom: 0;
}

.venture-group {
  margin-bottom: 32px;
}

.venture-group-label {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent);
  margin: 0 0 4px;
}

.venture-group-desc {
  font-size: 14px;
  color: var(--muted);
  margin: 0 0 16px;
  line-height: 1.5;
}

.startup-grid,
.overview-grid,
.blog-tease-list {
  display: grid;
  gap: 16px;
}

.startup-grid {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media only screen and (min-width: 600px) {
  .startup-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.startup-card {
  background: var(--surface);
  border: 1px solid var(--rule);
  border-radius: 8px;
  color: inherit;
  display: block;
  overflow: hidden;
  text-decoration: none;
}
.startup-card:hover, .startup-card:focus {
  border-color: var(--accent);
  transform: translateY(-2px);
}

.startup-thumb {
  background: var(--surface-2);
  border-bottom: 1px solid var(--rule);
  height: 196px;
  overflow: hidden;
}
.startup-thumb img {
  height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: top center;
  width: 100%;
}

.startup-thumb-fallback {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%;
  justify-content: space-between;
  padding: 16px;
}
.startup-thumb-fallback small,
.startup-thumb-fallback span {
  display: block;
}
.startup-thumb-fallback span {
  color: var(--text);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: none;
}

.startup-copy {
  padding: 16px;
}

.startup-copy p {
  color: var(--muted);
  margin-bottom: 0;
}

.startup-title-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 10px;
}

.startup-title-row h3 {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0;
}

.startup-domain,
.blog-tease-meta {
  font-size: 10px;
  letter-spacing: 0.08em;
}

.overview-grid {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media only screen and (min-width: 600px) {
  .overview-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.overview-card,
.blog-tease-card {
  border-top: 1px solid var(--rule);
  padding-top: 16px;
}

.overview-card h3,
.blog-tease-card h3 {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0 0 10px;
}

.overview-list {
  margin: 0;
  padding-left: 18px;
}

.overview-list li + li {
  margin-top: 6px;
}

.blog-tease-list {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media only screen and (min-width: 600px) {
  .blog-tease-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.blog-tease-meta {
  margin: 0 0 10px;
}

.blog-tease-card p:last-child {
  color: var(--muted);
  margin-bottom: 0;
}

.landing-section-link {
  margin-top: 16px;
}

.section-rule {
  border: none;
  border-top: 2px solid var(--rule-heavy);
  margin: 48px auto;
  max-width: 960px;
}

.landing-summary-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 24px;
}
.landing-summary-strip span {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.06em;
  color: var(--muted);
}
.landing-summary-strip strong {
  color: var(--text-strong);
  font-family: var(--font-display);
  font-weight: 700;
}

.landing-recent-activity {
  margin: 32px auto 0;
  max-width: 960px;
}

.recent-updates {
  display: grid;
  gap: 0;
  margin-top: 12px;
}

.recent-update {
  border-bottom: 1px solid var(--rule);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 10px 0;
}
.recent-update:last-child {
  border-bottom: 0;
}

.update-venture {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--text);
}

.update-summary {
  color: var(--muted);
  font-size: 14px;
  flex: 1;
}

.update-date {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--muted);
  letter-spacing: 0.06em;
}

.status-badge {
  border-radius: 4px;
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 3px 8px;
  text-transform: uppercase;
}

.status-active {
  background: rgba(181, 69, 27, 0.12);
  color: var(--accent);
}

.status-shipping {
  background: rgba(45, 95, 26, 0.12);
  color: #2D5F1A;
}

.status-experiment {
  background: rgba(26, 74, 107, 0.12);
  color: #1A4A6B;
}

.status-paused {
  background: rgba(107, 97, 89, 0.12);
  color: var(--muted);
}

.status-killed {
  background: rgba(122, 26, 26, 0.12);
  color: #7A1A1A;
}

.status-live {
  background: rgba(45, 95, 26, 0.12);
  color: #2D5F1A;
}

.status-wip {
  background: rgba(107, 74, 10, 0.12);
  color: #6B4A0A;
}

.status-archived {
  background: rgba(107, 97, 89, 0.12);
  color: var(--muted);
}

.update-type-badge {
  border-radius: 4px;
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 2px 6px;
  text-transform: uppercase;
}

.update-type-shipped {
  background: rgba(45, 95, 26, 0.12);
  color: #2D5F1A;
}

.update-type-milestone {
  background: rgba(26, 74, 107, 0.12);
  color: #1A4A6B;
}

.update-type-started {
  background: rgba(181, 69, 27, 0.12);
  color: var(--accent);
}

.update-type-paused {
  background: rgba(107, 97, 89, 0.12);
  color: var(--muted);
}

.update-type-killed {
  background: rgba(122, 26, 26, 0.12);
  color: #7A1A1A;
}

.update-type-note {
  background: rgba(107, 97, 89, 0.08);
  color: var(--muted);
}

.venture-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 8px;
}

.venture-tag {
  background: rgba(107, 97, 89, 0.1);
  border-radius: 3px;
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: 2px 6px;
}

.venture-thesis {
  color: var(--text);
  font-style: italic;
  font-size: 13px;
  margin: 0 0 6px;
}

.venture-updated {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.06em;
  margin-top: 8px;
}

.startup-thumb-active {
  background: linear-gradient(135deg, var(--surface-2) 0%, var(--rule) 100%);
}

.startup-thumb-shipping {
  background: linear-gradient(135deg, #E8F5E0 0%, var(--rule) 100%);
}

.startup-thumb-experiment {
  background: linear-gradient(135deg, #E4F0F8 0%, var(--rule) 100%);
}

.startup-thumb-paused {
  background: linear-gradient(135deg, var(--surface-2) 0%, var(--rule) 50%);
  opacity: 0.7;
}

.startup-thumb-killed {
  background: linear-gradient(135deg, var(--surface-2) 0%, var(--rule) 50%);
  opacity: 0.5;
}

.empty-state {
  color: var(--muted);
  font-style: italic;
  padding: 24px 0;
}

.changelog-page,
.lab-page,
.now-page,
.ventures-index,
.venture-detail {
  max-width: 960px;
}

.changelog-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 24px;
}

.changelog-filter {
  background: transparent;
  border: 1px solid var(--rule);
  border-radius: 4px;
  color: var(--muted);
  cursor: pointer;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: 6px 10px;
}
.changelog-filter:hover {
  border-color: var(--accent);
  color: var(--accent);
}
.changelog-filter.active {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--bg);
}

.changelog-entries {
  display: grid;
  gap: 0;
}

.changelog-entry {
  border-bottom: 1px solid var(--rule);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 10px 0;
}

.experiment-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media only screen and (min-width: 600px) {
  .experiment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.experiment-card {
  background: var(--surface);
  border: 1px solid var(--rule);
  border-radius: 8px;
  color: inherit;
  display: block;
  padding: 20px;
  text-decoration: none;
}
.experiment-card:hover, .experiment-card:focus {
  border-color: var(--accent);
  transform: translateY(-2px);
}
.experiment-card h3 {
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 4px;
}
.experiment-card p {
  color: var(--muted);
  font-size: 14px;
  margin: 0;
}

.experiment-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.experiment-venture {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--muted);
  margin-top: 8px;
}

.now-focus {
  font-size: 1.1rem;
  line-height: 1.6;
  max-width: 42rem;
}

.now-meta {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  margin-bottom: 32px;
}

.allocation-list {
  display: grid;
  gap: 16px;
  margin-bottom: 32px;
}

.allocation-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

.allocation-venture {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
}

.allocation-pct {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--accent);
}

.allocation-bar {
  background: var(--surface-2);
  border-radius: 3px;
  height: 6px;
  overflow: hidden;
}

.allocation-fill {
  background: var(--accent);
  border-radius: 3px;
  height: 100%;
  transition: width 0.3s ease;
}

.allocation-note {
  color: var(--muted);
  font-size: 13px;
  margin: 4px 0 0;
}

.now-inspired-by {
  border-top: 1px solid var(--rule);
  color: var(--muted);
  font-size: 13px;
  margin-top: 32px;
  padding-top: 16px;
}

.venture-detail-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}
.venture-detail-header h1 {
  margin: 0;
}

.venture-meta-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 24px;
}

.venture-meta-item {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--muted);
  letter-spacing: 0.04em;
}

.venture-thesis-block {
  border-left: 3px solid var(--accent);
  color: var(--text);
  font-size: 1.1rem;
  font-style: italic;
  margin: 24px 0;
  padding: 0 0 0 16px;
}

.venture-milestone {
  color: var(--muted);
  font-size: 14px;
}

.venture-infra {
  color: var(--muted);
  font-size: 14px;
}

.post-listing {
  background-color: var(--white);
  position: absolute;
  top: 400px;
  z-index: 233;
  width: 100%;
  padding: 20px 20px 0;
  -webkit-transform: translate3d(0, 0, 1px);
  transform: translate3d(0, 0, 1px);
}
@media only screen and (min-width: 600px) {
  .post-listing {
    padding: 50px 30px 0;
  }
}
@media only screen and (min-width: 992px) {
  .post-listing {
    height: 100vh;
    overflow-y: scroll;
    position: initial;
    top: 0;
  }
}

.image-credit {
  float: right;
  font-weight: bold;
  font-style: italic;
  color: #1A4A6B;
  font-size: 13px;
  padding-right: 20px;
}

section.post {
  margin-bottom: 80px;
}

.back-home a {
  font-size: 13px;
  font-weight: bold;
  color: #1A4A6B;
  border: 1px solid var(--rule);
  border-radius: 0.4em;
  padding: 0.5em 1em;
}

.post-title-link {
  color: var(--accent);
  font-size: 14px;
  margin-left: 10px;
}
.post-title-link:hover, .post-title-link:focus {
  color: var(--accent-hover);
}

.post-meta {
  font-size: 13px;
  font-weight: bold;
}
.post-meta .post-date {
  color: var(--muted);
}
.post-meta .post-author {
  text-transform: uppercase;
  color: #6B4A0A;
}
.post-meta .post-cat {
  text-transform: uppercase;
  color: #6B4A0A;
}
.post-meta .read-time {
  color: var(--accent);
}

a.read-more {
  padding: 5px 8px;
}

#post {
  padding-bottom: 50px;
}
#post .post-header {
  margin: 0 auto 50px;
}

#post h1 {
  margin: 0.5em 0 1em;
}

#post h2 {
  margin: 2em 0 0.8em;
  padding-bottom: 0.7em;
  border-bottom: 1px solid #ddd;
}

#post h3 {
  margin: 1.75em 0 1.2em;
  position: relative;
}

#page {
  padding-bottom: 50px;
  min-height: 70vh;
}
#page .page-header {
  margin: 0 auto 50px;
}

.post-navigation {
  background-color: #f6f6f6;
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
  -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
}

.leonids-icon {
  margin: 0 auto;
  padding: 20px 30px;
  text-align: center;
  color: #6B4A0A;
  font-size: 16px;
  line-height: 16px;
}

.post-nav-prev,
.post-nav-next {
  min-height: 10px;
  width: 100%;
}

.post-nav-next {
  text-align: right;
}

.post-nav-btn {
  width: 100%;
  padding: 20px 30px;
}
.post-nav-btn .post-nav-text {
  font-size: 16px;
  line-height: 16px;
  font-weight: bold;
}
.post-nav-btn .table-cell {
  vertical-align: middle;
}

.post-image-feature {
  margin-bottom: 40px;
}
.post-image-feature .feature-image {
  width: 100%;
  max-height: 500px;
}

.share-buttons {
  padding-top: 1em;
  border-top: 1px solid #ddd;
}
.share-buttons ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.share-buttons ul li {
  display: inline-block;
  margin-right: 0.5em;
}
.share-buttons ul li span {
  display: none;
}
@media only screen and (min-width: 600px) {
  .share-buttons ul li span {
    display: inline;
    margin: 0.5em;
  }
}

.twitter {
  background-color: #77bcf1;
  color: var(--white);
  border-color: #77bcf1;
}
.twitter:visited {
  color: var(--white);
  border-color: #77bcf1;
}
.twitter:hover {
  background-color: var(--white);
  color: #77bcf1;
  border-color: #77bcf1;
}

.facebook {
  background-color: #627aac;
  color: var(--white);
  border-color: #627aac;
}
.facebook:visited {
  color: var(--white);
  border-color: #627aac;
}
.facebook:hover {
  background-color: var(--white);
  color: #627aac;
  border-color: #627aac;
}

.google-plus {
  background-color: #e36f60;
  color: var(--white);
  border-color: #e36f60;
}
.google-plus:visited {
  color: var(--white);
  border-color: #e36f60;
}
.google-plus:hover {
  background-color: var(--white);
  color: #e36f60;
  border-color: #e36f60;
}

.hacker-news {
  background-color: #f60;
  color: var(--white);
  border-color: #f60;
}
.hacker-news:visited {
  color: var(--white);
  border-color: #f60;
}
.hacker-news:hover {
  background-color: var(--white);
  color: #f60;
  border-color: #f60;
}

.reddit {
  background-color: #5f99cf;
  color: var(--white);
  border-color: #5f99cf;
}
.reddit:visited {
  color: var(--white);
  border-color: #5f99cf;
}
.reddit:hover {
  background-color: var(--white);
  color: #5f99cf;
  border-color: #5f99cf;
}

/* Gmacko layout — gmacko.com */
/* Full-width, no sidebar. Top nav bar. */
.gmacko-nav {
  border-bottom: 2px solid var(--rule-heavy);
  background: var(--bg);
  position: sticky;
  top: 0;
  z-index: 100;
}

.gmacko-nav-inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 12px 24px;
  display: flex;
  align-items: center;
  gap: 24px;
}

.gmacko-nav-brand {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 900;
  color: var(--text-strong);
  text-decoration: none;
  letter-spacing: -0.02em;
  margin-right: auto;
}

.gmacko-nav-brand:hover {
  color: var(--accent);
}

.gmacko-nav-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 20px;
}

.gmacko-nav-links a {
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--muted);
  text-decoration: none;
  transition: color 0.15s;
}

.gmacko-nav-links a:hover {
  color: var(--text);
}

.gmacko-nav-crosslinks {
  display: flex;
  gap: 12px;
  padding-left: 16px;
  border-left: 1px solid var(--rule);
}

.gmacko-nav-crosslinks a {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--muted);
  text-decoration: none;
  transition: color 0.15s;
}

.gmacko-nav-crosslinks a:hover {
  color: var(--accent);
}

/* Main content area */
.gmacko-main {
  max-width: 960px;
  margin: 0 auto;
  padding: 48px 24px;
}

/* Footer */
.gmacko-footer {
  border-top: 2px solid var(--rule-heavy);
  margin-top: 48px;
}

.gmacko-footer-inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 24px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--muted);
  letter-spacing: 0.04em;
}

.gmacko-footer-links {
  display: flex;
  gap: 16px;
}

.gmacko-footer-links a {
  color: var(--muted);
  text-decoration: none;
  transition: color 0.15s;
}

.gmacko-footer-links a:hover {
  color: var(--accent);
}

/* Responsive */
@media (max-width: 640px) {
  .gmacko-nav-inner {
    flex-wrap: wrap;
    gap: 8px;
  }
  .gmacko-nav-crosslinks {
    display: none;
  }
  .gmacko-nav-links {
    gap: 12px;
  }
  .gmacko-footer-inner {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }
}
/* Personal layout — grahammackie.com */
.personal-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  min-height: 100vh;
}

/* Sidebar */
.personal-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  padding: 48px 32px;
  border-right: 1px solid var(--rule);
  background: var(--bg);
}

.sidebar-avatar {
  margin-bottom: 20px;
}

.sidebar-avatar .avatar-img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 2px solid var(--rule);
}

.sidebar-avatar .avatar-initials {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--surface-2);
  border: 2px solid var(--rule);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1.5rem;
  color: var(--accent);
}

.sidebar-name {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--text-strong);
  letter-spacing: -0.02em;
  margin: 0 0 8px;
}

.sidebar-bio {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.55;
  margin-bottom: 32px;
}

.sidebar-label {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 12px;
}

.sidebar-links {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
}

.sidebar-links li {
  padding: 4px 0;
}

.sidebar-links a {
  font-size: 14px;
  color: var(--text);
  text-decoration: none;
  transition: color 0.15s;
  display: flex;
  align-items: center;
  gap: 8px;
}

.sidebar-links a:hover {
  color: var(--accent);
}

.link-handle {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--muted);
}

.sidebar-divider {
  border: none;
  border-top: 1px solid var(--rule);
  margin: 24px 0;
}

.sidebar-site-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sidebar-site-links li {
  padding: 4px 0;
}

.sidebar-site-links a {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.04em;
  color: var(--muted);
  text-decoration: none;
  transition: color 0.15s;
}

.sidebar-site-links a:hover {
  color: var(--accent);
}

/* Blog feed (right panel) */
.personal-feed {
  padding: 48px 48px;
  max-width: 720px;
}

.feed-header {
  margin-bottom: 32px;
}

.feed-header h2 {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 900;
  color: var(--text-strong);
  letter-spacing: -0.02em;
  margin: 0 0 4px;
}

.feed-header p {
  color: var(--muted);
  font-size: 14px;
  margin: 0;
}

.blog-post {
  padding: 24px 0;
  border-bottom: 1px solid var(--rule);
}

.blog-post:first-of-type {
  padding-top: 0;
}

.blog-post-meta {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 6px;
}

.blog-post h3 {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--text-strong);
  margin: 0 0 6px;
}

.blog-post h3 a {
  color: inherit;
  text-decoration: none;
}

.blog-post h3 a:hover {
  color: var(--accent);
}

.blog-post p {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.6;
  margin: 0 0 8px;
}

.read-more {
  font-size: 13px;
  font-weight: 600;
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.empty-state {
  color: var(--muted);
  font-size: 14px;
  font-style: italic;
}

/* Responsive — sidebar collapses to top */
@media (max-width: 768px) {
  .personal-layout {
    grid-template-columns: 1fr;
  }
  .personal-sidebar {
    position: relative;
    top: auto;
    height: auto;
    border-right: none;
    border-bottom: 1px solid var(--rule);
    padding: 32px 24px;
  }
  .personal-feed {
    padding: 32px 24px;
  }
}
/* Dashboard layout — gmac.io */
.theme-dashboard {
  background-color: var(--bg);
  color: var(--text);
  background-image: linear-gradient(var(--grid-line, #161616) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line, #161616) 1px, transparent 1px);
  background-size: 40px 40px;
  min-height: 100vh;
}

.dashboard-container {
  max-width: 960px;
  margin: 0 auto;
  padding: 48px 24px;
}

.dashboard-header {
  margin-bottom: 32px;
}

.dashboard-title {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 6vw, 4rem);
  font-weight: 900;
  color: var(--text-strong);
  letter-spacing: -0.02em;
  text-shadow: 0 0 40px rgba(191, 90, 242, 0.2);
  margin: 0 0 8px;
}

.dashboard-subtitle {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--muted);
  letter-spacing: 0.04em;
  margin: 0;
}

.dashboard-caveat {
  color: #FFB800;
  text-shadow: 0 0 8px rgba(255, 184, 0, 0.4);
}

/* Status legend */
.dashboard-status-legend {
  display: flex;
  gap: 20px;
  margin: 24px 0 32px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--muted);
}

.legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Status dots */
.status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

.dot-active, .dot-live {
  background: #00FF88;
  box-shadow: 0 0 8px #00FF88;
  animation: pulse 2s ease-in-out infinite;
}

.dot-degraded {
  background: #FFB800;
  box-shadow: 0 0 8px #FFB800;
  animation: pulse 2s ease-in-out infinite;
}

.dot-down {
  background: #FF3366;
  box-shadow: 0 0 8px #FF3366;
}

.dot-local {
  background: #00BFFF;
  box-shadow: 0 0 6px #00BFFF;
}

.dot-coming, .dot-coming-soon {
  background: var(--muted);
}

.dot-loading {
  background: var(--muted);
  animation: pulse 1s ease-in-out infinite;
}

.dot-unknown {
  background: #555;
  border: 1px dashed #777;
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}
/* Section labels */
.dashboard-section {
  margin-bottom: 48px;
}

.dashboard-section-label {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent);
  text-shadow: 0 0 20px rgba(191, 90, 242, 0.3);
  margin-bottom: 16px;
}

/* Prototype/service cards */
.proto-grid {
  display: grid;
  gap: 12px;
}

.proto-card {
  background: var(--surface);
  border: 1px solid var(--rule);
  border-radius: var(--radius-md);
  padding: 20px 24px;
  transition: border-color 0.15s;
}

.proto-card:hover {
  border-color: var(--rule-heavy);
}

.proto-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.proto-name {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text-strong);
  flex: 1;
}

.proto-url {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--muted);
  letter-spacing: 0.02em;
}

.proto-desc {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.5;
  margin: 0 0 10px;
  padding-left: 22px;
}

.proto-stack {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  padding-left: 22px;
}

.stack-pill {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 3px 8px;
  border: 1px solid var(--rule-heavy);
  border-radius: var(--radius-sm);
  color: var(--muted);
  transition: border-color 0.15s, color 0.15s;
}

.proto-card:hover .stack-pill {
  border-color: rgba(191, 90, 242, 0.2);
  color: var(--text);
}

/* Build log */
.build-log {
  margin-top: 8px;
}

.log-entry {
  display: flex;
  gap: 16px;
  padding: 8px 0;
  border-bottom: 1px solid var(--rule);
  font-family: var(--font-mono);
  font-size: 12px;
}

.log-date {
  color: var(--muted);
  min-width: 90px;
  flex-shrink: 0;
}

.log-message {
  color: var(--text);
}

.log-message a {
  color: var(--text);
  text-decoration: none;
}

.log-message a:hover {
  color: var(--accent);
}

/* Footer */
.dashboard-footer {
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid var(--rule-heavy);
}

.dashboard-site-nav {
  display: flex;
  gap: 24px;
}

.dashboard-site-nav a {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.04em;
  color: var(--muted);
  text-decoration: none;
  transition: color 0.15s;
}

.dashboard-site-nav a:hover {
  color: var(--accent);
  text-shadow: 0 0 8px rgba(191, 90, 242, 0.3);
}

/* Responsive */
@media (max-width: 640px) {
  .proto-header {
    flex-wrap: wrap;
  }
  .log-entry {
    flex-direction: column;
    gap: 2px;
  }
  .dashboard-status-legend {
    flex-wrap: wrap;
    gap: 12px;
  }
}

/*# sourceMappingURL=main.css.map */