:root {
  --ink: #180914;
  --ink-deep: #0a0d11;
  --panel: #f5efdc;
  --paper: #fffaf0;
  --pink: #f63f91;
  --pink-hot: #ff1f84;
  --orange: #ff7548;
  --cyan: #50eedb;
  --lime: #c4f34d;
  --yellow: #ffd05a;
  --muted: #8f7c84;
  --line: #382131;
  --shadow: 8px 8px 0 rgba(9, 4, 12, .72);
  --ui: Tahoma, Verdana, sans-serif;
  --mono: "Lucida Console", "Courier New", monospace;
  --editorial: Georgia, "Times New Roman", serif;
}

* { box-sizing: border-box; }

html, body { margin: 0; min-height: 100%; }

body {
  height: 100vh;
  overflow: hidden;
  background: var(--ink);
  color: var(--ink);
  font-family: var(--ui);
  font-size: 14px;
  letter-spacing: 0;
}

button, input { font: inherit; letter-spacing: 0; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }

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

button:focus-visible, a:focus-visible, input:focus-visible {
  outline: 3px solid var(--lime);
  outline-offset: 3px;
}

/* Window headings receive programmatic focus so screen readers announce them. */
.os-window h1[tabindex="-1"]:focus,
.os-window[tabindex="-1"]:focus {
  outline: 0;
}

.skip-link {
  position: fixed;
  z-index: 10000;
  top: 8px;
  left: 8px;
  padding: 10px 14px;
  color: var(--ink);
  background: var(--lime);
  transform: translateY(-150%);
  transition: transform .15s;
}
.skip-link:focus { transform: translateY(0); }

.boot-flash {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  background: #fff;
  animation: boot-flash .65s steps(2, end) forwards;
}
@keyframes boot-flash { 0% { opacity: 1; } 18% { opacity: 0; } 32% { opacity: .8; } 100% { opacity: 0; visibility: hidden; } }

.wallpaper {
  position: fixed;
  inset: 0;
  overflow: hidden;
  background:
    linear-gradient(180deg, #090710 0 47%, #4b0c3a 47% 49%, #f24a68 49% 52%, #ff8354 52% 100%);
}
.wallpaper::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .26;
  background-image:
    repeating-linear-gradient(0deg, transparent 0 3px, rgba(255,255,255,.08) 3px 4px),
    radial-gradient(circle at 12% 16%, #fff 0 1px, transparent 2px),
    radial-gradient(circle at 84% 21%, #fff 0 1px, transparent 2px),
    radial-gradient(circle at 61% 8%, #fff 0 1px, transparent 2px);
}
.wallpaper-sun {
  position: absolute;
  width: 32vw;
  aspect-ratio: 1;
  left: 50%;
  top: 27%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: repeating-linear-gradient(180deg, var(--yellow) 0 10px, var(--orange) 10px 17px, transparent 17px 21px);
  box-shadow: 0 0 80px rgba(255, 99, 102, .7);
}
.wallpaper-grid {
  position: absolute;
  left: -20%;
  right: -20%;
  bottom: -45%;
  height: 95%;
  background-image: linear-gradient(rgba(255, 55, 142, .6) 2px, transparent 2px), linear-gradient(90deg, rgba(255, 55, 142, .6) 2px, transparent 2px);
  background-size: 80px 54px;
  transform: perspective(420px) rotateX(60deg);
  transform-origin: center top;
}
.wallpaper-mark {
  position: absolute;
  right: 2.6vw;
  bottom: 7vh;
  color: rgba(24,9,20,.4);
  font: 900 3.6vw/1 var(--mono);
  writing-mode: vertical-rl;
  text-orientation: mixed;
}
.wallpaper-mark span { color: rgba(255, 250, 240, .4); }

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9000;
  pointer-events: none;
  background: repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, rgba(0,0,0,.06) 1px 3px);
  mix-blend-mode: overlay;
}

.system-bar {
  position: fixed;
  z-index: 7000;
  top: 0;
  left: 0;
  right: 0;
  height: 42px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: stretch;
  background: rgba(17, 7, 14, .94);
  border-bottom: 2px solid var(--orange);
  color: var(--paper);
  box-shadow: 0 4px 0 rgba(10, 4, 12, .4);
}
.brand-button, .system-actions button {
  border: 0;
  background: transparent;
  cursor: pointer;
}
.brand-button {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  border-right: 1px solid #5f3e4e;
  color: var(--paper);
  font: 700 12px var(--mono);
}
.brand-button:hover .brand-glitch { color: var(--cyan); text-shadow: 2px 0 var(--pink); }
.brand-date { color: var(--orange); font-size: 9px; }
.signal-copy {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 16px;
  color: #d7cbd0;
  font: 10px var(--mono);
}
.signal-dot { width: 7px; height: 7px; background: var(--lime); box-shadow: 0 0 10px var(--lime); animation: blink 2s steps(2) infinite; }
.signal-speed { color: #8e727f; }
.system-actions { display: flex; align-items: stretch; }
.system-actions > * { display: grid; place-items: center; padding: 0 14px; border-left: 1px solid #5f3e4e; }
.icon-command { color: var(--cyan); font: 10px var(--mono) !important; }
.icon-command:hover { background: var(--pink) !important; color: white; }
#system-clock { color: var(--yellow); font: 10px var(--mono); }

.desktop { position: fixed; inset: 42px 0 38px; overflow: hidden; }
.desktop-icons {
  position: absolute;
  z-index: 10;
  top: 20px;
  left: 13px;
  display: grid;
  gap: 12px;
  width: 112px;
}
.desktop-icon {
  min-height: 78px;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 7px;
  padding: 6px 4px;
  border: 1px solid transparent;
  color: white;
  background: transparent;
  text-shadow: 2px 2px 0 #180914;
  font: 700 10px var(--mono);
  cursor: pointer;
}
.desktop-icon:hover, .desktop-icon.is-active {
  border-color: rgba(255,255,255,.45);
  background: rgba(80, 238, 219, .1);
}
.desktop-icon:hover .icon-art { filter: brightness(1.2) drop-shadow(0 0 7px var(--cyan)); transform: translateY(-2px); }
.icon-art { position: relative; width: 44px; height: 38px; display: block; transition: transform .12s, filter .12s; filter: saturate(1.2) brightness(1.15); }
.icon-folder { margin-top: 6px; height: 30px; background: var(--yellow); border: 2px solid var(--ink); box-shadow: inset 0 -6px #da8f24, 3px 3px 0 rgba(0,0,0,.4); }
.icon-folder i:first-child { position: absolute; left: 2px; top: -8px; width: 20px; height: 8px; background: var(--yellow); border: 2px solid var(--ink); border-bottom: 0; }
.icon-folder i:last-child { position: absolute; inset: 5px 6px 7px; border-top: 2px solid rgba(255,255,255,.6); }
.icon-home { border: 3px solid var(--cyan); background: #1e5c62; box-shadow: inset 0 0 0 3px #0a2529, 3px 3px 0 rgba(0,0,0,.4); }
.icon-home::before { content: "WWW"; position: absolute; inset: 5px 0 auto; color: white; font: 700 9px var(--mono); text-align: center; }
.icon-home i { position: absolute; height: 2px; background: var(--pink); left: 6px; right: 6px; }
.icon-home i:nth-child(1) { bottom: 12px; }.icon-home i:nth-child(2) { bottom: 8px; right: 17px; }.icon-home i:nth-child(3) { bottom: 4px; left: 18px; }
.icon-journal { width: 36px; background: #f7e8d5; border: 2px solid var(--ink); box-shadow: 5px 3px 0 var(--pink), 7px 5px 0 rgba(0,0,0,.4); }
.icon-journal::before { content: ""; position: absolute; left: 6px; top: 6px; bottom: 6px; border-left: 2px solid var(--orange); }
.icon-journal i { position: absolute; left: 12px; right: 4px; height: 2px; background: #6d5b61; }.icon-journal i:nth-child(1){top:9px}.icon-journal i:nth-child(2){top:16px}.icon-journal i:nth-child(3){top:23px}
.icon-video { border: 3px solid var(--cyan); background: #182333; box-shadow: 4px 4px 0 rgba(0,0,0,.45); }
.icon-video i { position: absolute; left: 16px; top: 8px; width: 0; height: 0; border-top: 9px solid transparent; border-bottom: 9px solid transparent; border-left: 14px solid var(--pink); }
.icon-person::before { content: ""; position: absolute; left: 14px; top: 1px; width: 16px; height: 16px; background: var(--orange); border: 2px solid var(--ink); border-radius: 50%; }
.icon-person::after { content: ""; position: absolute; left: 7px; bottom: 0; width: 30px; height: 19px; background: var(--pink); border: 2px solid var(--ink); border-radius: 18px 18px 2px 2px; }
.icon-mail { margin-top: 4px; height: 30px; border: 3px solid var(--ink); background: var(--paper); box-shadow: 4px 4px 0 var(--cyan); }
.icon-mail::before, .icon-mail::after { content: ""; position: absolute; top: 1px; width: 25px; height: 3px; background: var(--pink); transform-origin: top; }
.icon-mail::before { left: 0; transform: rotate(31deg); }.icon-mail::after { right: 0; transform: rotate(-31deg); }
.icon-work { width: 46px; height: 30px; margin-top: 6px; border: 3px solid var(--ink); background: var(--orange); box-shadow: inset 0 -7px #b94f35, 4px 4px 0 var(--cyan); }
.icon-work::before { content: ""; position: absolute; left: 12px; top: -9px; width: 16px; height: 9px; border: 3px solid var(--ink); border-bottom: 0; background: var(--yellow); }
.icon-work::after { content: ""; position: absolute; left: 0; right: 0; top: 10px; border-top: 3px solid var(--ink); }
.icon-work i { position: absolute; z-index: 1; left: 19px; top: 7px; width: 7px; height: 8px; border: 2px solid var(--ink); background: var(--lime); }
.icon-book { width: 38px; height: 38px; border: 3px solid var(--ink); background: var(--pink); box-shadow: inset -6px 0 #bc145e, 4px 4px 0 var(--orange); }
.icon-book::before { content: ""; position: absolute; inset: 4px 5px 4px 9px; border: 2px solid var(--paper); border-left: 0; }
.icon-book::after { content: "FF"; position: absolute; left: 11px; top: 11px; color: var(--paper); font: 900 8px var(--mono); }
.icon-book i { position: absolute; left: 5px; top: 3px; bottom: 3px; border-left: 3px solid var(--yellow); }

.os-window {
  position: absolute;
  z-index: 100;
  left: var(--x);
  top: var(--y);
  width: var(--w);
  height: var(--h);
  min-width: 380px;
  min-height: 280px;
  max-width: calc(100% - 8px);
  max-height: calc(100% - 8px);
  display: none;
  flex-direction: column;
  overflow: hidden;
  border: 2px solid #171016;
  background: var(--panel);
  box-shadow: var(--shadow), 0 0 0 1px #f5d8bf;
}
.os-window.is-open { display: flex; animation: window-open .28s cubic-bezier(.2,.9,.2,1) both; }
.os-window.is-minimized { display: none; }
.os-window.is-maximized { inset: 7px 8px !important; width: auto !important; height: auto !important; resize: none; }
@keyframes window-open { from { opacity: 0; transform: translateY(15px) scale(.985); } to { opacity: 1; transform: none; } }

.window-titlebar {
  height: 32px;
  flex: 0 0 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 9px;
  color: white;
  background: linear-gradient(90deg, #c72476, var(--pink) 42%, var(--orange));
  border-bottom: 2px solid #3c1728;
  font: 700 11px var(--mono);
  user-select: none;
  cursor: move;
}
.window-title { display: flex; align-items: center; gap: 7px; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.favicon { width: 17px; height: 17px; display: grid; place-items: center; color: var(--ink); background: var(--lime); border: 1px solid rgba(0,0,0,.7); font-size: 10px; }
.window-controls { height: 100%; display: flex; align-items: center; gap: 3px; padding-right: 5px; }
.window-controls button {
  width: 24px;
  height: 22px;
  padding: 0;
  border: 1px solid #2c151f;
  background: #eadfc8;
  box-shadow: inset 1px 1px white, inset -2px -2px #8b755f;
  cursor: pointer;
  color: #26121d;
  font: 700 13px/1 var(--mono);
}
.window-controls button:hover { background: var(--lime); }
.window-controls button:last-child:hover { color: white; background: #c82050; }

.browser-bar { position: relative; z-index: 12; height: 42px; flex: 0 0 42px; display: flex; align-items: center; gap: 6px; padding: 5px 7px; background: #e9ddc5; border-bottom: 1px solid #8e7f69; box-shadow: inset 0 2px white; }
.browser-controls { flex: 0 0 auto; display: flex; gap: 3px; }
.browser-nav, .browser-history-button, .browser-star { min-width: 30px; height: 30px; display: grid; place-items: center; padding: 0; color: #392a33; border: 1px solid #796a59; background: #e8dcc4; box-shadow: inset 1px 1px white, inset -1px -1px #9c8a70; cursor: pointer; font: 900 17px/1 var(--mono); }
.browser-nav:hover:not(:disabled), .browser-nav:focus-visible, .browser-history-button:hover, .browser-history-button:focus-visible { color: #20121a; background: var(--lime); outline: 2px solid #20121a; outline-offset: 1px; }
.browser-nav:disabled { color: #a79c8d; cursor: default; box-shadow: inset 1px 1px #f6eddd; }
.browser-address-wrap { position: relative; min-width: 120px; height: 30px; flex: 1; display: flex; align-items: center; gap: 7px; padding-left: 9px; color: #463640; background: white; border: 1px solid #887969; box-shadow: inset 2px 2px #bcb2a1; }
.browser-address { min-width: 0; height: 27px; flex: 1; padding: 0; overflow: hidden; color: #30212a; border: 0; outline: 0; background: transparent; font: 12px var(--mono); white-space: nowrap; text-overflow: ellipsis; }
.browser-address:focus { color: #170b14; }
.browser-address-wrap:focus-within { border-color: #8c1450; box-shadow: inset 2px 2px #bcb2a1, 0 0 0 2px rgba(246,63,145,.24); }
.secure-dot { width: 7px; height: 7px; flex: 0 0 7px; background: var(--lime); border-radius: 50%; box-shadow: 0 0 6px #8abc24; }
.browser-history-button { min-width: 27px; width: 27px; height: 27px; border-width: 0 0 0 1px; box-shadow: none; font-size: 13px; }
.browser-star { flex: 0 0 32px; color: #75143f; font-size: 21px; }
.browser-star:hover, .browser-star:focus-visible, .browser-star.is-favorite { color: #20121a; background: var(--yellow); outline: 2px solid #20121a; outline-offset: 1px; transform: none; }
.browser-suggestions { position: absolute; z-index: 40; top: calc(100% + 4px); left: -1px; width: min(650px, calc(100vw - 210px)); max-height: min(430px, 58vh); overflow: auto; color: #24131d; border: 2px solid #4a3741; background: #fff8e9; box-shadow: 7px 7px 0 rgba(31,15,25,.48); }
.browser-suggestions[hidden] { display: none; }
.browser-suggestions header { display: flex; justify-content: space-between; gap: 10px; padding: 8px 10px; color: #fff; border-bottom: 1px solid #8d174f; background: linear-gradient(90deg,#a30f55,#df3c76); font: 900 10px var(--mono); }
.browser-suggestions header span:last-child { color: #ffe168; }
.browser-suggestion { width: 100%; min-height: 49px; display: grid; grid-template-columns: 31px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 7px 10px; color: #281720; border: 0; border-bottom: 1px solid #d6c8ad; background: #fff8e9; cursor: pointer; text-align: left; }
.browser-suggestion:last-child { border-bottom: 0; }
.browser-suggestion:hover, .browser-suggestion:focus-visible, .browser-suggestion.is-keyboard-active { color: #160c14; background: var(--cyan); outline: 2px solid #20121a; outline-offset: -3px; }
.browser-suggestion > b { width: 28px; height: 28px; display: grid; place-items: center; color: #20121a; border: 1px solid #20121a; background: var(--lime); font: 900 13px var(--mono); }
.browser-suggestion > span { min-width: 0; display: grid; gap: 3px; }
.browser-suggestion strong { overflow: hidden; font: 900 11px var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.browser-suggestion small { overflow: hidden; color: #705860; font: 10px var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.browser-suggestion em { color: #8d174f; font: 900 9px var(--mono); font-style: normal; }
.browser-empty { margin: 0; padding: 18px; color: #604b53; font: 11px/1.5 var(--mono); }
.browser-toast { position: absolute; z-index: 45; right: 8px; top: calc(100% + 5px); padding: 8px 11px; color: #20121a; border: 2px solid #20121a; background: var(--lime); box-shadow: 4px 4px 0 var(--pink); font: 900 10px var(--mono); }
.browser-toast[hidden] { display: none; }
.browser-tabs { height: 29px; flex: 0 0 29px; display: flex; align-items: end; gap: 2px; padding: 4px 8px 0; background: #d4c7ae; border-bottom: 1px solid #725e50; }
.browser-tabs a { height: 24px; padding: 6px 12px 0; color: #4a3541; background: #f6efdc; border: 1px solid #9b896f; border-bottom: 0; text-decoration: none; font: 9px var(--mono); }
.browser-tabs a:first-child { color: #9d174f; background: white; }

.window-body { min-height: 0; flex: 1; overflow: auto; overscroll-behavior: contain; }
.home-scroll { background: #fff9ee; scroll-behavior: smooth; }
.window-status { height: 22px; flex: 0 0 22px; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 0 24px 0 8px; color: #705f65; background: #e8dcc4; border-top: 1px solid #a28e72; box-shadow: inset 0 1px white; font: 8px var(--mono); }

.hero {
  position: relative;
  min-height: 570px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 39%);
  align-items: stretch;
  overflow: hidden;
  color: var(--paper);
  background:
    linear-gradient(115deg, rgba(11,15,18,.98) 0 61%, rgba(12,31,33,.9) 61%),
    #0a1113;
  border-bottom: 7px solid var(--pink);
}
.hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .18; background-image: linear-gradient(rgba(80,238,219,.4) 1px, transparent 1px), linear-gradient(90deg, rgba(80,238,219,.22) 1px, transparent 1px); background-size: 28px 28px; mask-image: linear-gradient(90deg, black, transparent 68%); }
.hero-copy { position: relative; z-index: 2; align-self: center; max-width: 850px; padding: 58px 38px 62px 50px; }
.kicker { display: flex; justify-content: space-between; gap: 16px; margin: 0 0 24px; color: var(--cyan); font: 10px var(--mono); }
.kicker span::before { content: "[ "; color: var(--pink); }.kicker span::after { content: " ]"; color: var(--pink); }.kicker b { color: var(--yellow); font-weight: normal; }
.hero h1 { max-width: 780px; margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 16px; font: 900 clamp(48px, 6.1vw, 102px)/.79 var(--ui); text-transform: uppercase; }
.hero h1 span { width: 100%; color: var(--paper); font-size: .52em; line-height: 1.06; }
.hero h1 strong { color: var(--pink); text-shadow: 5px 5px 0 #7d1649, 9px 9px 0 rgba(0,0,0,.45); }
.hero h1 em { color: var(--cyan); font-family: var(--editorial); font-size: .62em; font-weight: 400; text-transform: lowercase; transform: rotate(-3deg); text-shadow: 3px 3px 0 #164c51; }
.hero-intro { max-width: 740px; margin: 29px 0 28px; color: #e5dbd8; font: 17px/1.65 var(--editorial); }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 11px; }
.command { min-height: 44px; display: inline-flex; align-items: center; gap: 10px; padding: 0 16px; border: 2px solid var(--ink); border-radius: 0; text-decoration: none; cursor: pointer; font: 700 11px var(--mono); box-shadow: 4px 4px 0 var(--orange); }
.command span { color: rgba(0,0,0,.55); }
.command:hover { transform: translate(2px,2px); box-shadow: 2px 2px 0 var(--orange); }
.primary-command { color: var(--ink); background: var(--lime); }
.secondary-command { color: var(--ink); background: var(--cyan); box-shadow-color: var(--pink); }
.text-command { padding: 7px 0; border: 0; color: var(--pink); background: transparent; cursor: pointer; font: 700 10px var(--mono); text-decoration: none; }
.text-command:hover { color: var(--cyan); text-decoration: underline; text-underline-offset: 4px; }
.hero-portrait { position: relative; z-index: 1; align-self: end; height: calc(100% - 28px); margin: 28px 24px 0 0; overflow: hidden; border: 1px solid var(--cyan); background: #0a1619; box-shadow: 7px 0 0 var(--pink), 13px 0 0 rgba(255,117,72,.65); }
.hero-portrait::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, transparent 60%, rgba(8,9,12,.98)); }
.hero-portrait img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; filter: saturate(1.14) contrast(1.08); }
.portrait-signal { position: absolute; z-index: 3; top: 12px; left: 12px; right: 12px; display: flex; justify-content: space-between; color: var(--lime); font: 9px var(--mono); text-shadow: 1px 1px #000; }
.portrait-signal span::before { content: "● "; color: var(--pink); animation: blink 1s steps(2) infinite; }
.portrait-signal b { font-weight: normal; }
.hero-portrait figcaption { position: absolute; z-index: 4; left: 23px; right: 23px; bottom: 20px; display: grid; gap: 7px; }
.hero-portrait figcaption strong { color: var(--paper); font: 900 20px var(--mono); }.hero-portrait figcaption span { color: var(--cyan); font: 9px var(--mono); }

.ticker { overflow: hidden; color: var(--ink); background: var(--yellow); border-bottom: 2px solid var(--ink); font: 700 10px var(--mono); white-space: nowrap; }
.ticker-track { display: flex; width: max-content; animation: ticker 30s linear infinite; }
.ticker-content { display: flex; flex: none; align-items: center; justify-content: space-around; min-width: 100vw; padding: 9px 0; }
.ticker-content span { padding: 0 12px; }.ticker-content b { color: var(--pink); padding: 0 4px; font: inherit; }
@keyframes ticker { to { transform: translateX(-50%); } }

.latest-section { padding: 62px 48px 70px; background: #f8f0df; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 27px; }
.section-heading p, .now-manifesto > p:first-child, .newsletter > div p { margin: 0 0 7px; color: var(--pink); font: 700 9px var(--mono); }
.section-heading h2, .now-section h2, .newsletter h2 { margin: 0; font: 400 italic clamp(34px, 4.4vw, 68px)/.94 var(--editorial); }
.story-grid { display: grid; grid-template-columns: 1.35fr 1fr; grid-template-rows: 1fr 1fr; gap: 15px; }
.story-card { position: relative; min-width: 0; min-height: 210px; display: grid; grid-template-columns: 42% 1fr; overflow: hidden; color: inherit; border: 2px solid var(--ink); background: var(--paper); box-shadow: 7px 7px 0 var(--cyan); cursor: pointer; text-decoration: none; transition: transform .15s, box-shadow .15s; }
.story-card:hover, .story-card:focus-visible { transform: translate(-3px,-3px); box-shadow: 10px 10px 0 var(--pink); }
.story-card:focus-visible { outline: 4px solid var(--ink); outline-offset: 4px; }
.story-card img { width: 100%; height: 100%; object-fit: cover; border-right: 2px solid var(--ink); filter: saturate(.9) contrast(1.05); }
.story-feature { grid-row: 1 / 3; display: flex; flex-direction: column; box-shadow: 8px 8px 0 var(--orange); }
.story-feature .story-visual { min-height: 290px; border-bottom: 2px solid var(--ink); }
.evidence-visual { position: relative; display: grid; place-items: center; color: var(--paper); background: #2c1023; background-image: repeating-linear-gradient(135deg, transparent 0 14px, rgba(246,63,145,.09) 14px 28px); font: 900 9vw/1 var(--mono); overflow: hidden; }
.evidence-visual::before { content: "TRUTH > COMFORT"; position: absolute; width: 120%; color: var(--pink); transform: rotate(-11deg); text-align: center; text-shadow: 6px 6px 0 var(--orange); }
.evidence-visual span, .evidence-visual b, .evidence-visual i { position: absolute; z-index: 2; padding: 7px 9px; color: var(--ink); background: var(--lime); font: 700 9px var(--mono); }
.evidence-visual span { top: 14px; left: 14px; }.evidence-visual b { top: 14px; right: 14px; background: var(--yellow); }.evidence-visual i { bottom: 14px; right: 14px; background: var(--cyan); font-style: normal; }
.story-copy { min-width: 0; padding: 20px; align-self: center; }
.story-copy p { margin: 0 0 10px; color: #9e315e; font: 700 8px/1.4 var(--mono); }
.story-copy h3 { margin: 0 0 16px; overflow-wrap: anywhere; font: 700 19px/1.18 var(--editorial); }
.story-feature .story-copy h3 { font-size: clamp(24px, 2.4vw, 37px); }
.story-copy span { color: var(--pink); font: 700 9px var(--mono); }

.now-section { display: grid; grid-template-columns: 1.25fr .75fr; color: var(--paper); background: #111619; border-top: 8px solid var(--cyan); border-bottom: 2px solid var(--ink); }
.now-manifesto { padding: 58px 50px 64px; border-right: 2px solid var(--pink); }
.now-manifesto h2 em { color: var(--cyan); font-weight: 400; }.now-manifesto > p:not(:first-child) { max-width: 700px; margin: 27px 0; color: #d8ccca; font: 15px/1.7 var(--editorial); }
.dark-command { color: var(--ink); background: var(--orange); box-shadow-color: var(--cyan); }
.now-playing { align-self: center; margin: 36px; border: 1px solid var(--pink); box-shadow: 6px 6px 0 var(--pink); }
.now-playing header { display: flex; justify-content: space-between; align-items: center; padding: 9px 12px; color: var(--ink); background: var(--pink); font: 700 9px var(--mono); }
.now-playing header i { width: 7px; height: 7px; background: var(--lime); box-shadow: 0 0 8px var(--lime); }
.now-playing dl { margin: 0; padding: 14px 17px; }.now-playing dl div { padding: 12px 0; border-bottom: 1px dashed #654152; }.now-playing dl div:last-child { border: 0; }
.now-playing dt { margin-bottom: 5px; color: var(--orange); font: 8px var(--mono); }.now-playing dd { margin: 0; color: #f4e5df; font: 14px/1.3 var(--editorial); }
.equalizer { height: 44px; display: flex; align-items: end; gap: 4px; padding: 8px 14px; border-top: 1px solid #5b374a; }.equalizer i { width: 8px; background: var(--cyan); animation: eq 1.1s ease-in-out infinite alternate; }.equalizer i:nth-child(1){height:8px}.equalizer i:nth-child(2){height:24px;animation-delay:.2s}.equalizer i:nth-child(3){height:13px;animation-delay:.5s}.equalizer i:nth-child(4){height:29px;animation-delay:.3s}.equalizer i:nth-child(5){height:17px;animation-delay:.7s}.equalizer i:nth-child(6){height:7px;animation-delay:.4s}.equalizer i:nth-child(7){height:22px;animation-delay:.1s}.equalizer i:nth-child(8){height:14px;animation-delay:.6s}
@keyframes eq { to { height: 5px; background: var(--pink); } }

.newsletter { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 45px; padding: 52px 50px; background: var(--orange); border-bottom: 2px solid var(--ink); }
.newsletter > div p { color: var(--ink); }.newsletter h2 { color: var(--ink); }
.newsletter form { min-width: 0; padding: 19px; border: 2px solid var(--ink); background: #f8ebd8; box-shadow: 7px 7px 0 var(--cyan); }
.newsletter label { display: block; margin-bottom: 7px; font: 700 8px var(--mono); }.newsletter form > div { display: flex; gap: 7px; }
.newsletter input { min-width: 0; flex: 1; height: 44px; padding: 0 12px; border: 2px solid var(--ink); border-radius: 0; background: white; font: 12px var(--mono); }
.newsletter form button { height: 44px; padding: 0 15px; border: 2px solid var(--ink); color: white; background: var(--pink); cursor: pointer; font: 700 9px var(--mono); }
.newsletter form button:hover { background: var(--ink); }.form-status { margin: 9px 0 0; color: #735d5f; font: 8px var(--mono); }
.newsletter-promise { margin: 12px 0 0; color: #332126; font: 11px/1.55 var(--ui); }
.newsletter .form-status a, .site-footer a { color: inherit; font-weight: 700; }
.newsletter .form-status { min-height: 18px; color: #4f333b; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.form-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.site-footer { min-height: 75px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 48px; color: #bfb0b5; background: #0b0d0f; font: 8px var(--mono); }.site-footer strong { color: var(--pink); font-size: 13px; }

.taskbar { position: fixed; z-index: 8000; bottom: 0; left: 0; right: 0; height: 38px; display: flex; align-items: stretch; background: #e5d8bf; border-top: 2px solid white; box-shadow: 0 -2px 0 #5d4b3c; }
.start-button, .task-newsletter, .task-button { border: 0; border-right: 1px solid #75654f; background: transparent; cursor: pointer; font: 700 9px var(--mono); }
.start-button { width: 126px; display: flex; align-items: center; gap: 8px; padding: 0 10px; }.start-button:hover { background: var(--lime); }.start-mark { width: 22px; height: 22px; display: grid; place-items: center; color: white; background: var(--pink); transform: rotate(5deg); }
.task-list { min-width: 0; flex: 1; display: flex; overflow: hidden; }.task-button { max-width: 240px; min-width: 130px; padding: 0 13px; overflow: hidden; text-align: left; white-space: nowrap; text-overflow: ellipsis; background: #d3c4a7; box-shadow: inset 2px 2px #8f8068; }.task-button.is-active { background: var(--paper); box-shadow: inset 0 3px var(--pink); }
.task-newsletter { padding: 0 15px; color: #8b184a; border-left: 1px solid white; }.task-newsletter:hover { color: white; background: var(--pink); }
.tray { min-width: 116px; display: flex; align-items: center; justify-content: space-around; padding: 0 10px; border-left: 1px solid white; color: #523f48; font: 9px var(--mono); box-shadow: inset 2px 2px #b8a98e; }.tray-signal { color: #31a695; }

.app-window { --x: 22vw; --y: 10vh; --w: min(68vw, 1120px); --h: min(76vh, 780px); resize: both; }
.app-browser-bar { height: 42px; flex-basis: 42px; }.app-body { padding: 30px; color: #e9dfdc; background: #0c191a; }.resize-grip { position: absolute; right: 2px; bottom: 2px; width: 16px; height: 16px; cursor: nwse-resize; background: repeating-linear-gradient(135deg, transparent 0 3px, #786553 3px 5px); }
.app-header { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 27px; padding-bottom: 16px; border-bottom: 1px solid #2e6d6b; }.app-header p { margin: 0 0 7px; color: var(--orange); font: 8px var(--mono); }.app-header h1 { margin: 0; color: var(--paper); font: 400 italic clamp(34px, 5vw, 65px)/.92 var(--editorial); }.app-header strong { color: var(--cyan); font: 9px var(--mono); }
.app-copy { max-width: 820px; }.app-copy .lead { color: var(--paper); font: 24px/1.35 var(--editorial); }.app-copy p, .app-copy li { color: #cabfc0; font: 15px/1.7 var(--editorial); }.app-copy h2 { margin: 35px 0 10px; color: var(--pink); font: 700 21px var(--mono); }.app-copy a { color: var(--cyan); }
.journal-tools { position: sticky; top: -30px; z-index: 2; display: grid; grid-template-columns: 1fr auto; gap: 9px; margin: -30px -30px 20px; padding: 16px 30px; background: #0c191a; border-bottom: 1px solid #2e6d6b; }.journal-tools input { height: 42px; padding: 0 12px; color: var(--paper); border: 1px solid var(--cyan); background: #101013; font: 11px var(--mono); }.tag-filters { display: flex; gap: 5px; }.tag-filters button { border: 1px solid #6c4858; color: #dbc8d0; background: #26141f; cursor: pointer; font: 8px var(--mono); }.tag-filters button:hover, .tag-filters button.is-active { color: var(--ink); background: var(--lime); border-color: var(--lime); }
.journal-list { display: grid; gap: 7px; }.journal-row { display: grid; grid-template-columns: 92px 1fr auto; align-items: center; gap: 15px; min-height: 64px; padding: 10px 13px; border: 1px solid #265457; color: inherit; background: #102224; cursor: pointer; text-align: left; }.journal-row:hover { border-color: var(--pink); background: #1b1920; transform: translateX(3px); }.journal-row time, .journal-row span { color: #8cc9c1; font: 8px var(--mono); }.journal-row strong { min-width: 0; color: var(--paper); font: 15px/1.25 var(--editorial); }.journal-row .journal-tag { color: var(--pink); text-align: right; }
.project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }.project-card { min-height: 200px; display: flex; flex-direction: column; justify-content: space-between; padding: 22px; border: 1px solid #3d7472; background: #102022; box-shadow: 6px 6px 0 var(--pink); }.project-card:nth-child(2) { box-shadow-color: var(--orange); }.project-card:nth-child(3) { box-shadow-color: var(--cyan); }.project-card:nth-child(4) { box-shadow-color: var(--lime); }.project-card p:first-child { color: var(--orange); font: 8px var(--mono); }.project-card h2 { margin: 10px 0; color: var(--paper); font: 700 25px/1.05 var(--editorial); }.project-card p { color: #c8babc; font: 14px/1.5 var(--editorial); }.project-card a, .project-card button { align-self: start; border: 0; color: var(--cyan); background: transparent; cursor: pointer; font: 700 9px var(--mono); text-decoration: none; }
.video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }.video-card { display: block; color: inherit; border: 1px solid #387476; background: #101c20; text-decoration: none; box-shadow: 5px 5px 0 var(--orange); }.video-card img { width: 100%; aspect-ratio: 16/9; display: block; object-fit: cover; border-bottom: 1px solid #387476; }.video-card div { padding: 15px; }.video-card p { margin: 0 0 6px; color: var(--pink); font: 8px var(--mono); }.video-card h2 { margin: 0; color: var(--paper); font: 19px/1.2 var(--editorial); }.video-card:hover { transform: translate(-2px,-2px); box-shadow: 8px 8px 0 var(--cyan); }
.project-updated, .gear-intro { margin: 0 0 18px; color: var(--cyan); font: 9px/1.5 var(--mono); }
.gear-intro { max-width: 760px; color: var(--paper); font: 16px/1.6 var(--ui); }
.gear-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.gear-grid article { min-height: 145px; padding: 20px; border: 1px solid #387476; background: #101c20; box-shadow: 5px 5px 0 var(--orange); }
.gear-grid b { color: var(--cyan); font: 8px var(--mono); }
.gear-grid h2 { margin: 9px 0; color: var(--paper); font: 23px/1.15 var(--editorial); }
.gear-grid p { margin: 0; color: #d8d0c4; font: 14px/1.55 var(--ui); }
.legal-copy { max-width: 800px; }
.legal-copy a { color: var(--cyan); }
.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 26px; }.contact-copy { padding: 22px; border: 1px solid var(--pink); background: #20111b; box-shadow: 6px 6px 0 var(--pink); }.contact-copy h2 { color: var(--paper); font: 27px var(--editorial); }.contact-copy a { color: var(--cyan); }.contact-form { display: grid; gap: 11px; }.contact-form label { display: grid; gap: 5px; color: var(--orange); font: 8px var(--mono); }.contact-form input, .contact-form textarea { width: 100%; padding: 11px; color: var(--paper); border: 1px solid #427775; border-radius: 0; background: #101314; font: 13px var(--ui); }.contact-form textarea { min-height: 120px; resize: vertical; }.contact-form button { justify-self: start; }
.offer-section { margin-bottom: 34px; }.offer-heading { margin-bottom: 18px; }.offer-heading > p, .offer-card > p:first-child { margin: 0 0 7px; color: var(--orange); font: 11px var(--mono); }.offer-heading h2 { margin: 0; color: var(--paper); font: 36px var(--editorial); }.offer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }.offer-card { padding: 20px; border: 1px solid var(--cyan); background: #102022; }.offer-card h2 { margin: 0 0 10px; color: var(--paper); font: 26px var(--editorial); }.offer-card h3 { color: var(--lime); font: 11px var(--mono); }.offer-card p, .offer-card li { color: #e4d9d7; font: 15px/1.55 var(--editorial); }
.contact-paths { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; margin-bottom: 24px; }.contact-paths a { display: grid; gap: 5px; padding: 15px 17px; color: var(--paper); border: 1px solid var(--cyan); background: #102022; text-decoration: none; }.contact-paths a:hover, .contact-paths a:focus-visible { color: var(--ink); background: var(--lime); outline: 3px solid var(--pink); }.contact-paths span, .contact-paths small { color: var(--orange); font: 11px var(--mono); }.contact-paths strong { font: 21px var(--editorial); }.contact-paths a:hover span, .contact-paths a:hover small, .contact-paths a:focus-visible span, .contact-paths a:focus-visible small { color: #6e173f; }
.work-center-intro { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 24px; margin: 0 0 34px; padding: 20px 22px; border: 1px solid var(--orange); background: #21141a; box-shadow: 7px 7px 0 var(--orange); }
.work-center-intro p { max-width: 780px; margin: 0 0 8px; color: var(--paper); font: 18px/1.5 var(--editorial); }.work-center-intro small { color: var(--cyan); font: 10px/1.5 var(--mono); }
.work-center-section { margin: 0 0 46px; }.work-center-section > header { display: grid; grid-template-columns: minmax(230px,.7fr) 1fr; align-items: end; gap: 8px 28px; margin-bottom: 18px; }.work-center-section > header span { grid-column: 1 / -1; color: var(--orange); font: 10px var(--mono); }.work-center-section > header h2 { margin: 0; color: var(--paper); font: 34px/1 var(--editorial); }.work-center-section > header p { margin: 0; color: #cfc1c3; font: 15px/1.55 var(--editorial); }
.work-offer-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }.work-offer-card { min-width: 0; display: flex; flex-direction: column; padding: 22px; border: 1px solid #3d7472; background: #102022; box-shadow: 7px 7px 0 var(--pink); }.work-offer-card:nth-child(2) { box-shadow-color: var(--cyan); }.work-offer-card header span { color: var(--orange); font: 9px var(--mono); }.work-offer-card h2 { margin: 10px 0 12px; color: var(--paper); font: 27px/1.08 var(--editorial); }.work-offer-card p,.work-offer-card li { color: #ddd1d0; font: 14px/1.55 var(--editorial); }.work-offer-card ul { margin: 6px 0 18px; padding-left: 20px; }.work-offer-card li::marker { color: var(--lime); }.work-offer-card .work-offer-proof,.work-offer-card .work-offer-fit { margin: 0 0 12px; padding-top: 12px; border-top: 1px solid #285456; }.work-offer-card p b { display: block; margin-bottom: 5px; color: var(--cyan); font: 9px var(--mono); }.work-offer-card .command { align-self: flex-start; margin-top: auto; }
.work-center-other { margin-bottom: 10px; }.work-support-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }.work-support-grid button { min-height: 150px; display: grid; align-content: center; gap: 9px; padding: 22px; color: var(--paper); border: 1px solid var(--pink); background: #21101a; box-shadow: 7px 7px 0 var(--orange); cursor: pointer; text-align: left; }.work-support-grid button:nth-child(2) { border-color: var(--cyan); box-shadow-color: var(--cyan); }.work-support-grid button:hover,.work-support-grid button:focus-visible { color: var(--ink); background: var(--lime); outline: 3px solid var(--pink); transform: translate(-2px,-2px); }.work-support-grid b { font: 16px var(--mono); }.work-support-grid span { font: 15px/1.45 var(--editorial); }.work-support-grid small { color: var(--orange); font: 9px var(--mono); }.work-support-grid button:hover small,.work-support-grid button:focus-visible small { color: #781948; }
.article-shell { max-width: 860px; margin: 0 auto; }.article-shell .article-back { margin-bottom: 22px; }.article-meta { color: var(--orange); font: 9px var(--mono); }.article-shell h1 { margin: 12px 0 24px; color: var(--paper); font: 400 clamp(36px, 5vw, 66px)/1.02 var(--editorial); }.article-content { color: #e3d9d6; font: 18px/1.75 var(--editorial); }.article-content h2 { margin-top: 44px; color: var(--cyan); font: 700 28px/1.15 var(--editorial); }.article-content h3 { color: var(--pink); }.article-content a { color: var(--cyan); }.article-content img, .article-content iframe { max-width: 100%; height: auto; }.article-content iframe { width: 100%; aspect-ratio: 16/9; }.article-content figure { margin: 28px 0; }.article-loading { padding: 60px 0; color: var(--cyan); font: 12px var(--mono); }

.article-content iframe { border: 1px solid var(--cyan); }
.youtube-poster { position: relative; display: block; width: 100%; aspect-ratio: 16/9; margin: 28px 0; overflow: hidden; border: 1px solid var(--cyan); background-color: #050d0d; background-image: repeating-linear-gradient(0deg, rgba(74, 255, 244, .045) 0, rgba(74, 255, 244, .045) 1px, transparent 1px, transparent 4px), radial-gradient(circle at center, #123334 0, #050d0d 70%); box-shadow: 6px 6px 0 var(--pink); }
.youtube-poster img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.9) contrast(1.04); transition: filter 160ms ease; }
.youtube-poster::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(5, 13, 13, .78)); }
.youtube-poster-label { position: absolute; z-index: 1; left: 16px; top: 16px; max-width: calc(100% - 32px); color: var(--cyan); text-shadow: 1px 1px #050d0d; font: 700 9px/1.5 var(--mono); text-transform: uppercase; }
.youtube-poster-play { position: absolute; z-index: 1; left: 50%; top: 50%; transform: translate(-50%, -50%); padding: 14px 20px; border: 2px solid var(--paper); background: var(--pink); color: #fff; box-shadow: 4px 4px 0 #111; font: 700 11px var(--mono); }
.youtube-poster:hover img, .youtube-poster:focus-visible img { filter: saturate(1.15) contrast(1.08); }
.youtube-poster:focus-visible { outline: 3px solid var(--lime); outline-offset: 3px; }

.noscript-content { position: fixed; z-index: 99999; inset: 20%; padding: 40px; color: white; background: var(--ink); }

@keyframes blink { 50% { opacity: .25; } }

@media (max-height: 820px) and (min-width: 721px) {
  .desktop-icons { top: 8px; gap: 3px; }
  .desktop-icon { min-height: 66px; gap: 3px; padding: 2px; }
  .desktop-icon .icon-art { transform: scale(.88); }
  .desktop-icon:hover .icon-art { transform: translateY(-1px) scale(.9); }
}

@media (max-width: 1000px) {
  .signal-speed { display: none; }
  .desktop-icons { width: 94px; }
  .home-window { --x: 105px !important; --w: calc(100vw - 120px) !important; }
  .hero { grid-template-columns: 1fr 36%; }
  .hero-copy { padding-left: 34px; }
  .story-grid { grid-template-columns: 1fr; grid-template-rows: auto; }.story-feature { grid-row: auto; }
}

@media (max-width: 720px) {
  body { height: 100svh; }
  .system-bar { height: 44px; grid-template-columns: 1fr auto; }.brand-button { padding: 0 10px; }.brand-date, .signal-copy, .sound-toggle, #system-clock { display: none; }.system-actions > * { padding: 0 10px; }
  .desktop { inset: 44px 0 72px; }
  .desktop-icons { display: none; }
  .wallpaper-sun { width: 90vw; top: 33%; }.wallpaper-grid { bottom: -28%; }.wallpaper-mark { display: none; }
  .os-window, .app-window, .os-window.is-maximized { inset: 0 !important; width: 100% !important; height: 100% !important; min-width: 0; min-height: 0; border: 0; box-shadow: none; resize: none; }
  .home-window .window-titlebar { height: 27px; flex-basis: 27px; }.home-window .window-controls button:first-child, .home-window .window-controls button:nth-child(2) { display: none; }
  .window-titlebar { cursor: default; }.window-controls button { width: 26px; height: 21px; }
  .browser-bar { height: 34px; flex-basis: 34px; padding: 4px 6px; }.browser-controls { display: none; }.address-bar { font-size: 9px; }.browser-star { display: none; }
  .browser-tabs { height: 27px; flex-basis: 27px; overflow-x: auto; }.browser-tabs a { flex: 1; min-width: 102px; padding-inline: 7px; text-align: center; }
  .window-status { display: none; }
  .hero { min-height: auto; display: flex; flex-direction: column; border-bottom-width: 5px; }.hero-copy { order: 2; padding: 30px 20px 35px; }.hero-portrait { order: 1; width: calc(100% - 28px); height: 48svh; min-height: 320px; margin: 14px 14px 0; box-shadow: 5px 0 var(--pink); }.hero-portrait::after { background: linear-gradient(180deg, transparent 52%, rgba(8,9,12,.98)); }.hero h1 { font-size: 55px; column-gap: 9px; }.hero h1 span { font-size: .47em; }.hero-intro { margin: 22px 0; font-size: 16px; }.kicker { margin-bottom: 18px; font-size: 8px; }.kicker b { display: none; }.hero-actions { display: grid; grid-template-columns: 1fr 1fr; }.command { justify-content: center; padding-inline: 10px; }.hero-actions .text-command { grid-column: 1 / -1; text-align: left; }
  .latest-section { padding: 38px 15px 45px; }.section-heading { align-items: start; flex-direction: column; }.section-heading h2, .now-section h2, .newsletter h2 { font-size: 40px; }.story-grid { gap: 13px; }.story-card { min-height: 185px; grid-template-columns: 40% 1fr; box-shadow-width: 4px; }.story-feature .story-visual { min-height: 240px; }.story-copy { padding: 15px; }.story-copy h3 { font-size: 17px; }.story-feature .story-copy h3 { font-size: 26px; }.evidence-visual { font-size: 17vw; }
  .now-section { grid-template-columns: 1fr; }.now-manifesto { padding: 40px 20px; border-right: 0; border-bottom: 2px solid var(--pink); }.now-playing { margin: 24px 20px 34px; }
  .newsletter { grid-template-columns: 1fr; gap: 22px; padding: 38px 20px; }.newsletter form { padding: 13px; box-shadow: 5px 5px var(--cyan); }.newsletter form > div { display: grid; }.site-footer { flex-direction: column; align-items: flex-start; padding: 26px 20px; }
  .taskbar { height: 50px; }.start-button { width: 52px; justify-content: center; padding: 0; font-size: 0; }.start-mark { width: 28px; height: 28px; font-size: 11px; }.task-button { min-width: 55px; max-width: 98px; padding: 0 8px; font-size: 0; }.task-button::first-letter { font-size: 11px; }.task-newsletter { padding: 0 9px; font-size: 8px; }.tray { min-width: 66px; padding: 0 5px; }.tray-signal { display: none; }
  .app-body { padding: 18px 15px; }.app-header { align-items: start; flex-direction: column; }.app-header h1 { font-size: 40px; }.journal-tools { top: -18px; grid-template-columns: 1fr; margin: -18px -15px 15px; padding: 12px 15px; }.tag-filters { overflow-x: auto; }.tag-filters button { min-width: max-content; padding: 7px; }.journal-row { grid-template-columns: 65px 1fr; gap: 8px; }.journal-row .journal-tag { grid-column: 2; text-align: left; }.project-grid, .video-grid, .contact-grid, .gear-grid { grid-template-columns: 1fr; }.project-card { min-height: 170px; }.article-shell h1 { font-size: 39px; }.article-content { font-size: 17px; }
}

/* Restored OS features and full legibility pass */
.wallpaper {
  background:
    radial-gradient(circle at 50% 25%, rgba(255,209,102,.24), transparent 25%),
    linear-gradient(180deg, #2a1147 0%, #7b2b8f 42%, #ff5470 70%, #ff9a3d 100%);
}
.wallpaper::before { opacity: .34; }
.wallpaper-sun { top: 31%; opacity: .8; }
.wallpaper-grid { opacity: .7; }
body[data-theme="midnight"] .wallpaper { background: linear-gradient(180deg, #090710 0 47%, #4b0c3a 47% 49%, #f24a68 49% 52%, #ff8354 52% 100%); }
body[data-theme="amber"] .wallpaper { background: radial-gradient(circle at 50% 28%, rgba(255,208,90,.24), transparent 32%), linear-gradient(180deg, #100b08 0%, #3b2112 48%, #9b4c1b 75%, #e89a35 100%); }
body[data-theme="amber"] .wallpaper-sun { filter: sepia(1) saturate(1.6); }
body[data-theme="amber"] .wallpaper-grid { filter: sepia(1) saturate(2); }
body.scanlines-off::after { display: none; }
body.motion-off *, body.motion-off *::before, body.motion-off *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }

.window-controls button { width: 27px; height: 24px; color: #26121d; background: #f1e3c7; border-color: #321622; box-shadow: inset 2px 2px #fffdf4, inset -2px -2px #79634e; text-shadow: none; }
.window-controls button:nth-child(1):hover { color: #1a1016; background: var(--cyan); }
.window-controls button:nth-child(2):hover { color: #1a1016; background: var(--lime); }
.window-controls button:last-child { color: #6c143b; }
.window-controls button:last-child:hover { color: #fff; background: #b7144c; }
.window-controls button:focus-visible { outline: 2px solid #171217; outline-offset: 1px; }

.icon-game { width: 46px; height: 31px; margin-top: 5px; border: 3px solid var(--ink); border-radius: 10px 10px 15px 15px; background: var(--lime); box-shadow: inset 0 -7px #7fb72e, 4px 4px 0 rgba(0,0,0,.4); }
.icon-game::before { content: "+"; position: absolute; left: 6px; top: 0; color: var(--ink); font: 900 21px/1 var(--mono); }
.icon-game::after { content: "••"; position: absolute; right: 5px; top: 6px; color: var(--pink); font: 900 14px/1 var(--mono); letter-spacing: 1px; }

.desktop-context-menu { position: fixed; z-index: 9100; width: 245px; margin: 0; padding: 7px; border: 2px solid #f2e4c6; color: #fff8ed; background: #170c15; box-shadow: 7px 7px 0 rgba(0,0,0,.6), inset 0 0 0 1px #75445b; }
.desktop-context-menu button { width: 100%; min-height: 39px; display: grid; grid-template-columns: 28px 1fr; align-items: center; padding: 6px 9px; border: 1px solid transparent; color: #fff8ed; background: transparent; cursor: pointer; text-align: left; font: 700 11px var(--mono); }
.desktop-context-menu button:hover { color: #180914; border-color: var(--cyan); background: var(--cyan); }
.desktop-context-menu button span { color: var(--orange); font-size: 15px; }

.arcade-intro { margin: -10px 0 24px; color: #bcb1b6; font: 16px var(--editorial); }
.arcade-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.arcade-grid button { min-height: 170px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto 1fr auto; gap: 8px 15px; padding: 18px; border: 1px solid #397678; color: #fff7ec; background: #102123; box-shadow: 7px 7px 0 var(--pink); cursor: pointer; text-align: left; }
.arcade-grid button:nth-child(2) { box-shadow-color: var(--cyan); }.arcade-grid button:nth-child(3) { box-shadow-color: var(--orange); }.arcade-grid button:nth-child(4) { box-shadow-color: var(--lime); }
.arcade-grid button:hover { transform: translate(-2px,-2px); filter: brightness(1.18); }
.arcade-grid button > b { color: var(--orange); font: 700 10px var(--mono); }
.arcade-icon { grid-row: 1 / 4; width: 62px; height: 62px; display: grid; place-items: center; color: #180914; border: 2px solid #180914; background: var(--lime); box-shadow: 4px 4px 0 var(--pink); font: 900 22px var(--mono); }
.arcade-grid strong { align-self: end; font: 25px/1 var(--editorial); }.arcade-grid small { color: #9fc6c3; font: 9px var(--mono); }

.game-app { min-height: 100%; color: #f7eee8; background: #071719; font-family: var(--mono); }
.game-toolbar { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 12px; color: #180914; background: #e9dcc4; border-bottom: 2px solid #745f4f; font: 700 11px var(--mono); }
.game-toolbar button, .rpg-app button { min-height: 32px; padding: 5px 12px; border: 2px solid #25111f; color: #fff; background: var(--pink); box-shadow: inset 1px 1px #ff9bc9; cursor: pointer; font: 700 10px var(--mono); }
.game-toolbar button:hover, .rpg-app button:hover { color: #180914; background: var(--lime); }
.snake-stage { position: relative; width: min(100%, 390px); margin: 24px auto; padding: 16px; border: 1px solid var(--cyan); background: #061012; box-shadow: 7px 7px 0 var(--pink); }
#snake-canvas { width: 100%; aspect-ratio: 1; display: block; image-rendering: pixelated; }
.game-overlay { position: absolute; inset: 16px; display: grid; place-items: center; align-content: center; gap: 12px; color: white; background: rgba(5,12,14,.78); text-align: center; }
.game-overlay[hidden] { display: none; }.game-overlay strong { color: var(--lime); font: 900 30px var(--mono); }.game-overlay span { max-width: 230px; font: 11px/1.5 var(--mono); }

.mine-grid { width: min(100%, 450px); aspect-ratio: 1; display: grid; grid-template-columns: repeat(9, 1fr); gap: 2px; margin: 24px auto; padding: 10px; border: 2px solid #e9dcc4; background: #665448; box-shadow: 8px 8px 0 var(--pink); }
.mine-cell { min-width: 0; min-height: 0; display: grid; place-items: center; border: 2px solid; border-color: #fff2d6 #6c5a49 #6c5a49 #fff2d6; color: #17212a; background: #d7c8aa; cursor: pointer; font: 900 15px var(--mono); }
.mine-cell.is-open { border: 1px solid #74675b; color: #074a6c; background: #bfb3a0; }.mine-cell.is-mine { color: white; background: #b7144c; }

.solitaire-board { min-height: 580px; padding: 22px; overflow: auto; background: #0d6459; background-image: repeating-linear-gradient(135deg, transparent 0 8px, rgba(255,255,255,.025) 8px 16px); }
.sol-top { display: grid; grid-template-columns: 76px 76px 1fr; gap: 14px; margin-bottom: 24px; }.foundation-row { justify-self: end; display: flex; gap: 12px; }
.card-slot, .playing-card { width: 68px; height: 94px; padding: 5px; border: 1px solid #25111f; border-radius: 5px; background: rgba(255,255,255,.12); font: 700 15px var(--mono); }
.stock-slot { color: white; border: 4px double #fff; background: repeating-linear-gradient(45deg,#db2777 0 5px,#5c1646 5px 10px); cursor: pointer; }
.stock-slot.is-empty { color: var(--lime); background: rgba(0,0,0,.12); }.foundation { color: rgba(255,255,255,.5); font-size: 25px; }
.tableau { display: grid; grid-template-columns: repeat(7, 76px); gap: clamp(8px, 2vw, 24px); min-width: 660px; }.tableau-pile { min-height: 360px; }
.playing-card { position: relative; display: grid; grid-template-columns: 1fr auto; flex: 0 0 auto; margin-top: -64px; color: #171217; background: #fffaf0; box-shadow: 2px 3px 0 rgba(0,0,0,.28); cursor: pointer; text-align: left; }
.tableau-pile .playing-card:first-child { margin-top: 0; }.playing-card.red { color: #c61f4d; }.playing-card span { align-self: end; justify-self: end; font-size: 25px; }.playing-card.is-down { background: repeating-linear-gradient(45deg,#443a8d 0 5px,#f14b9b 5px 10px); }
.playing-card.is-selected { outline: 4px solid var(--lime); transform: translateY(-5px); }.waste-slot .playing-card, .foundation .playing-card { margin: -6px; }

.rpg-app { position: relative; min-height: 540px; overflow: hidden; color: #fff4dd; background: #130d18 center/cover no-repeat; font-family: var(--mono); }
.rpg-title { display: grid; place-items: center; background-image: linear-gradient(rgba(5,2,8,.1),rgba(5,2,8,.7)), url('/assets/rpg/rpg_title.png'); }
.rpg-title-inner { display: grid; justify-items: center; gap: 17px; padding: 32px; text-align: center; text-shadow: 3px 3px #000; }.rpg-title-inner p, .rpg-title-inner small { font: 10px var(--mono); }.rpg-title-inner h1 { margin: 0; color: #ffd166; font: 900 56px/.84 var(--mono); }
.rpg-town { background-image: linear-gradient(rgba(8,3,11,.18),rgba(8,3,11,.78)), url('/assets/rpg/rpg_town.png'); }
.rpg-hud { min-height: 42px; display: flex; align-items: center; justify-content: space-around; gap: 9px; padding: 8px; color: #ffe66d; background: rgba(9,5,12,.9); border-bottom: 2px solid #c44873; font: 700 10px var(--mono); }
.rpg-town-menu { position: absolute; left: 8%; right: 8%; bottom: 9%; padding: 22px; border: 2px solid #f0d8a7; background: rgba(18,8,16,.9); box-shadow: 8px 8px 0 #7f245d; }.rpg-town-menu p { color: var(--orange); font: 9px var(--mono); }.rpg-town-menu h2 { margin: 7px 0 18px; color: #fff4dd; font: 30px var(--editorial); }.rpg-town-menu > div { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }.rpg-town-menu strong { display: block; margin-top: 15px; color: var(--cyan); font: 10px/1.5 var(--mono); }
.rpg-battle { padding-bottom: 150px; background-image: linear-gradient(rgba(10,4,13,.3),rgba(10,4,13,.85)), url('/assets/rpg/bg_cave.png'); }.rpg-battle.is-boss { background-image: linear-gradient(rgba(10,4,13,.2),rgba(10,4,13,.8)), url('/assets/rpg/bg_lava.png'); }
.rpg-enemy { width: min(320px,70%); display: grid; justify-items: center; gap: 7px; margin: 28px auto 10px; }.rpg-enemy p { margin: 0; color: #ffd166; font: 700 16px var(--mono); }.rpg-enemy img { width: min(220px,80%); aspect-ratio: 1; object-fit: contain; image-rendering: pixelated; filter: drop-shadow(0 10px 8px #000); }.rpg-enemy > div { width: 100%; height: 12px; border: 2px solid #f4eadb; background: #41121e; }.rpg-enemy i { height: 100%; display: block; background: #ff4f6d; transition: width .2s; }.rpg-enemy strong { font: 10px var(--mono); }
.rpg-message { margin: 8px 12%; color: #d5c9ce; text-align: center; font: 11px/1.5 var(--mono); }.rpg-actions { position: absolute; left: 8%; right: 8%; bottom: 25px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }

.derekamp { min-height: 100%; color: #b8ff72; background: #111217; font-family: var(--mono); }.derekamp > header { min-height: 70px; display: flex; align-items: center; justify-content: space-between; padding: 13px 16px; border-bottom: 2px solid #4b4150; background: #221626; }.derekamp header div { display: grid; gap: 7px; }.derekamp header small { color: var(--pink); font-size: 10px; }.derekamp header strong { font-size: 18px; }.derekamp header > span { color: var(--cyan); font-size: 13px; }
.amp-display { padding: 13px 15px; border-bottom: 1px solid #4b4150; }.amp-eq { height: 52px; display: flex; align-items: end; gap: 4px; overflow: hidden; }.amp-eq i { width: 4%; height: 18%; background: linear-gradient(var(--lime),var(--orange),var(--pink)); animation: eq .8s ease-in-out infinite alternate; }.amp-eq i:nth-child(3n){height:70%}.amp-eq i:nth-child(4n){height:40%}.amp-eq i:nth-child(5n){height:90%}.derekamp:not(.is-playing) .amp-eq i { animation-play-state: paused; height: 12%; }.amp-display input { width: 100%; accent-color: var(--pink); }
.amp-controls { display: grid; grid-template-columns: 52px 64px 52px 1fr; gap: 7px; padding: 10px 14px; border-bottom: 1px solid #4b4150; }.amp-controls button { min-height: 38px; border: 1px solid #6b5969; color: #f5edf0; background: #2a2430; cursor: pointer; font: 700 12px var(--mono); }.amp-controls button:hover { color: #171217; background: var(--lime); }.amp-controls input { width: 100%; accent-color: var(--cyan); }
.amp-playlist { max-height: 390px; overflow-y: auto; }.track-row { width: 100%; min-height: 44px; display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 8px; padding: 7px 12px; border: 0; border-bottom: 1px solid #352b36; color: #d7cbd2; background: transparent; cursor: pointer; text-align: left; font: 10px var(--mono); }.track-row b { color: var(--orange); }.track-row small { color: #b8aeb7; font-size: 10px; }.track-row:hover, .track-row.is-active { color: #171217; background: var(--lime); }.track-row.is-active small, .track-row.is-active b { color: #542341; }

.photo-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }.photo-grid button { min-width: 0; padding: 0; overflow: hidden; border: 1px solid #347174; color: #f4e9e5; background: #111d20; box-shadow: 4px 4px 0 var(--pink); cursor: pointer; }.photo-grid button:hover { transform: translate(-2px,-2px); box-shadow: 7px 7px 0 var(--cyan); }.photo-grid img { width: 100%; aspect-ratio: 4/3; display: block; object-fit: cover; }.photo-grid span { display: block; padding: 8px; overflow: hidden; font: 9px var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.paint-app { min-height: 100%; background: #bfb39a; }.paint-toolbar { min-height: 52px; display: flex; align-items: center; gap: 14px; padding: 8px 12px; color: #25111f; border-bottom: 2px solid #5f5043; background: #eadfc8; font: 700 10px var(--mono); }.paint-toolbar label { display: flex; align-items: center; gap: 7px; }.paint-toolbar button { min-height: 34px; padding: 5px 11px; border: 2px solid; border-color: #fff6de #6f5c4c #6f5c4c #fff6de; background: #d8cbb2; cursor: pointer; font: 700 9px var(--mono); }.paint-stage { padding: 15px; overflow: auto; }.paint-stage canvas { width: 100%; min-width: 650px; display: block; border: 1px solid #3d302c; background: white; box-shadow: 5px 5px #766659; cursor: crosshair; }

.settings-panel { display: grid; gap: 26px; }.settings-panel section { padding: 20px; border: 1px solid #3b7472; background: #102022; }.settings-panel h2 { margin: 0 0 18px; color: #fff6ed; font: 25px var(--editorial); }.theme-choices { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }.theme-choices button { min-height: 130px; display: grid; gap: 8px; padding: 10px; border: 1px solid #5d4a59; color: #f5e9e6; background: #1b151d; cursor: pointer; text-align: left; }.theme-choices button:hover, .theme-choices button.is-active { border-color: var(--lime); box-shadow: 0 0 0 2px var(--lime); }.theme-choices i { height: 56px; background: linear-gradient(#2a1147,#7b2b8f,#ff5470,#ff9a3d); }.theme-choices button:nth-child(2) i { background: linear-gradient(#090710 47%,#4b0c3a 50%,#ff8354); }.theme-choices button:nth-child(3) i { background: linear-gradient(#100b08,#3b2112,#9b4c1b,#e89a35); }.theme-choices strong { font: 700 11px var(--mono); }.theme-choices small { color: #9e8e96; font: 9px var(--mono); }.setting-toggle { min-height: 42px; display: flex; align-items: center; gap: 10px; color: #e9dcda; font: 11px var(--mono); }.setting-toggle input { width: 18px; height: 18px; accent-color: var(--pink); }

/* Retro does not mean unreadable. */
.brand-button { font-size: 12px; }.brand-date, .signal-copy, .icon-command, #system-clock { font-size: 10px; }
.desktop-icon { font-size: 11px; }.start-menu-grid span { font-size: 11px; }.start-menu-grid small, .start-menu > footer button { font-size: 9px; }
.browser-tabs a, .window-status, .proof-item span, .section-heading p, .now-manifesto > p:first-child, .newsletter > div p { font-size: 10px; }
.kicker, .portrait-signal, .hero-portrait figcaption span, .story-copy p, .now-playing header, .now-playing dt, .newsletter label, .form-status { font-size: 10px; }
.app-header p, .app-header strong, .journal-row time, .journal-row span, .project-card p:first-child, .video-card p, .contact-form label, .article-meta { font-size: 10px; }
.taskbar button, .tray { font-size: 10px; }

@media (max-width: 720px) {
  .mobile-dock { grid-template-columns: repeat(7, 1fr); }
  .mobile-dock button { font-size: 9px; }
  .arcade-grid, .theme-choices { grid-template-columns: 1fr; }
  .arcade-grid button { min-height: 130px; }
  .game-toolbar { flex-wrap: wrap; }
  .mine-grid { width: 100%; }
  .solitaire-board { padding: 13px; }.tableau { transform-origin: top left; transform: scale(.73); min-height: 500px; }.sol-top { grid-template-columns: 62px 62px 1fr; }.foundation-row { gap: 5px; }.card-slot, .playing-card { width: 56px; height: 80px; }
  .rpg-app { min-height: 100%; }.rpg-title-inner h1 { font-size: 44px; }.rpg-town-menu { left: 4%; right: 4%; }.rpg-actions { left: 4%; right: 4%; }
  .photo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.paint-toolbar { flex-wrap: wrap; }.paint-stage canvas { min-width: 560px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

/* Definitive fusion layer */
[hidden] { display: none !important; }
.static-route-content { max-width: 900px; margin: 80px auto; padding: 40px; color: #201019; background: #fffaf0; }
.static-route-content a { color: #a80f58; }
.js .static-route-content { display: none; }

.intro-screen { position: fixed; z-index: 20000; inset: 0; overflow: hidden; color: #281923; background: #08070a; transition: opacity .4s ease, filter .4s ease; }
.intro-screen.is-leaving { opacity: 0; filter: brightness(2); }
.intro-video, .intro-mobile-still { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.intro-mobile-still { display: none; background: #120a11 url('/assets/intro/basement-mobile.jpg') center/cover no-repeat; }
.intro-atmosphere { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at center, transparent 35%, rgba(0,0,0,.24) 75%, rgba(0,0,0,.72) 120%); }
.intro-atmosphere::after { content: ""; position: absolute; inset: 0; opacity: .25; background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(10,3,8,.35) 3px 4px); }
.intro-ui { position: absolute; left: 50%; top: 36.5%; transform: translate(-50%, -50%); width: min(360px, 68vw); }
.intro-login-card, .intro-connection-panel { width: 100%; border: 2px solid #2d2025; background: #efe7df; box-shadow: 5px 5px 0 rgba(20,7,14,.75); opacity: 0; transform: scale(.96); transition: opacity .25s, transform .25s; }
.intro-login-card.is-visible, .intro-connection-panel.is-visible { opacity: 1; transform: scale(1); }
.intro-login-card > header, .intro-connection-panel > header { height: 28px; display: flex; align-items: center; justify-content: space-between; padding: 0 9px; color: white; background: linear-gradient(90deg, #e82c87, #ed6b50); font: 700 10px var(--mono); }
.intro-card-body { display: grid; gap: 10px; padding: 14px 17px 16px; }
.intro-card-body h2 { margin: 0 0 2px; font: 700 12px var(--mono); }
.intro-card-body label { display: grid; grid-template-columns: 92px 1fr; align-items: center; gap: 7px; font: 10px var(--mono); }
.intro-card-body input { width: 100%; height: 30px; padding: 0 8px; border: 1px solid #e68db5; border-radius: 0; background: #fff9f4; font: 11px var(--mono); }
.intro-remember { justify-self: start; display: flex; align-items: center; gap: 8px; padding: 0; border: 0; background: transparent; cursor: pointer; font: 10px var(--mono); }
.intro-remember i { width: 14px; height: 14px; display: grid; place-items: center; border: 1px solid #bb7d96; background: white; color: #d71870; font-style: normal; }
.intro-connect { justify-self: end; min-width: 145px; height: 42px; border: 2px solid #6a133c; color: white; background: #ad1258; box-shadow: inset 2px 2px #ed6b9f, 3px 3px 0 #a9a09a; cursor: pointer; font: 700 11px var(--mono); }
.intro-connect:hover { color: #24141d; background: var(--lime); }
.intro-skip { position: absolute; z-index: 3; right: 22px; top: 20px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.45); color: white; background: rgba(11,6,10,.78); cursor: pointer; font: 10px var(--mono); }
.intro-connection-panel { color: #241824; background: #f4eee3; }
.intro-connection-panel > header { justify-content: center; color: #25151f; background: #d9d3c9; border-bottom: 1px solid #63565a; font-size: 10px; }
.intro-connect-brand { height: 75px; display: flex; align-items: center; justify-content: center; gap: 8px; color: #124986; }
.intro-connect-brand strong { font: 900 36px var(--ui); letter-spacing: 0; }
.intro-connect-brand em { color: #f03a91; font: italic 27px var(--editorial); }
.intro-connect-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 0 13px; }
.intro-connect-steps div { min-height: 78px; display: grid; place-items: center; align-content: center; gap: 6px; padding: 7px; border: 2px solid #767071; color: #4f4650; background: #d8d2e7; text-align: center; font: 10px/1.35 var(--mono); }
.intro-connect-steps b { width: 26px; height: 26px; display: grid; place-items: center; color: #5b4474; background: #f8db55; border: 2px solid #3a2d3a; border-radius: 50%; font: 700 12px var(--mono); }
.intro-connect-steps .is-complete { color: #182f34; border-color: #168aa1; background: #b9eced; }
.intro-connect-steps .is-complete b { color: white; background: #ed368a; }
.intro-connection-panel > p { margin: 12px 14px 7px; color: #4d3c44; font: 10px var(--mono); text-align: center; }
.intro-progress { height: 9px; margin: 0 14px 15px; border: 1px solid #665b60; background: white; }
.intro-progress i { width: 3%; height: 100%; display: block; background: linear-gradient(90deg, #f33b91, #ff7b49, #50eedb); transition: width .45s ease; }
.intro-active .boot-flash { display: none; }
.privacy-choice { position: fixed; z-index: 19500; right: 18px; bottom: 54px; width: min(520px, calc(100% - 36px)); display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px; color: #20121a; border: 2px solid #20121a; background: #fff8e9; box-shadow: 7px 7px 0 var(--pink); }.privacy-choice[hidden] { display: none; }.privacy-choice strong { font: 700 11px var(--mono); }.privacy-choice p { margin: 5px 0 0; font: 14px/1.4 var(--editorial); }.privacy-choice > div:last-child { display: flex; gap: 7px; }.privacy-choice button { min-height: 40px; padding: 0 12px; color: #20121a; border: 2px solid #20121a; background: var(--cyan); font: 700 11px var(--mono); }.privacy-choice button:last-child { background: var(--lime); }

.start-menu { position: fixed; z-index: 9000; left: 8px; bottom: 43px; width: min(620px, calc(100vw - 16px)); height: min(760px, calc(100vh - 88px)); display: flex; flex-direction: column; overflow: hidden; color: #fff7ec; border: 2px solid #f1e5c9; background: #160c14; box-shadow: 10px 10px 0 rgba(0,0,0,.62), inset 0 0 0 1px #714254; }
.start-profile { min-height: 66px; display: grid; grid-template-columns: 42px 1fr 32px; align-items: center; gap: 11px; padding: 9px 11px; color: #1a0914; background: linear-gradient(90deg, #f63f91, #ff7548); border-bottom: 2px solid #1b0d16; }
.start-avatar { width: 42px; height: 42px; display: grid; place-items: center; color: #fff; border: 2px solid #27101d; background: #27101d; box-shadow: 3px 3px 0 #c4f34d; font: 900 20px var(--mono); }
.start-identity { min-width: 0; display: grid; gap: 5px; }.start-identity strong { font: 900 14px var(--mono); }.start-identity small { display: flex; align-items: center; gap: 7px; font: 700 10px var(--mono); }.start-identity i { width: 8px; height: 8px; background: #2c8b4f; box-shadow: 0 0 0 2px rgba(255,255,255,.45); }
.start-close { width: 30px; height: 28px; padding: 0; border: 2px solid #381425; color: #381425; background: #f4e8d2; box-shadow: inset 1px 1px #fff, inset -1px -1px #7b6654; cursor: pointer; font: 900 17px var(--mono); }.start-close:hover { color: #fff; background: #a90f50; }
.start-menu-scroll { min-height: 0; flex: 1; overflow-y: auto; scrollbar-color: #f63f91 #2a1622; }
.start-pinned, .start-library, .start-recent { padding: 14px; }.start-library, .start-recent { border-top: 1px solid #593044; }
.start-section-heading { min-height: 24px; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }.start-section-heading strong { color: var(--cyan); font: 900 11px var(--mono); }.start-section-heading span { color: #c3aeb7; font: 10px var(--mono); }
.start-pinned-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.start-tile { position: relative; min-height: 104px; display: grid; grid-template-columns: 54px 1fr 23px; align-items: center; gap: 11px; padding: 12px; border: 1px solid #74445a; color: #fff9ef; background: #24131f; box-shadow: 5px 5px 0 var(--pink); cursor: pointer; text-align: left; }.start-tile:nth-child(2) { box-shadow-color: var(--cyan); }.start-tile:nth-child(3) { box-shadow-color: var(--lime); }.start-tile:nth-child(4) { box-shadow-color: var(--orange); }.start-tile:hover, .start-tile:focus-visible { z-index: 1; color: #160c14; border-color: #160c14; background: var(--cyan); outline: 2px solid #fff; transform: translate(-2px,-2px); }
.start-tile-icon { width: 52px; height: 52px; display: grid; place-items: center; color: #160c14; border: 2px solid #160c14; background: var(--lime); box-shadow: 3px 3px 0 var(--pink); font: 900 25px var(--mono); }.tile-journal .start-tile-icon { background: #fff4df; }.tile-watch .start-tile-icon { color: #fff; background: var(--pink); }.tile-contact .start-tile-icon { background: var(--orange); }
.start-tile > span:nth-child(2) { min-width: 0; display: grid; gap: 5px; }.start-tile strong { font: 900 13px var(--mono); }.start-tile small { color: #d2bdc6; font: 11px/1.35 var(--mono); }.start-tile > b { align-self: start; justify-self: end; color: var(--orange); font: 900 11px var(--mono); }.start-tile:hover small, .start-tile:hover > b, .start-tile:focus-visible small, .start-tile:focus-visible > b { color: #3c2430; }
.start-app-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 8px; }.start-app-grid button { min-height: 58px; display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 10px; padding: 7px 9px; border: 1px solid transparent; color: #fff8ed; background: transparent; cursor: pointer; text-align: left; }.start-app-grid button:hover, .start-app-grid button:focus-visible { color: #160c14; border-color: var(--cyan); background: #f5e8d2; outline: 0; }.start-app-grid button > span:last-child { display: grid; gap: 3px; font: 900 12px var(--mono); }.start-app-grid small { color: #c1abb5; font: 10px var(--mono); }.start-app-grid button:hover small, .start-app-grid button:focus-visible small { color: #5d4651; }
.start-app-icon { width: 36px; height: 36px; display: grid; place-items: center; color: #160c14; border: 2px solid #160c14; box-shadow: 3px 3px 0 #7c425f; font: 900 18px var(--mono); }.icon-cyan { background: var(--cyan); }.icon-yellow { background: var(--yellow); }.icon-orange { background: var(--orange); }.icon-pink { background: var(--pink); }.icon-lime { background: var(--lime); }
.start-recent > button { width: 100%; min-height: 48px; display: grid; grid-template-columns: 25px 1fr auto; align-items: center; gap: 8px; padding: 7px 9px; border: 1px solid transparent; color: #fff7ec; background: transparent; cursor: pointer; text-align: left; }.start-recent > button:hover { color: #160c14; border-color: var(--orange); background: var(--orange); }.start-recent > button > span:first-child { color: var(--pink); font: 900 18px var(--mono); }.start-recent > button > span:nth-child(2) { display: grid; gap: 3px; }.start-recent strong { font: 900 11px var(--mono); }.start-recent small, .start-recent time { color: #c5afb8; font: 10px var(--mono); }.start-recent > button:hover span, .start-recent > button:hover small, .start-recent > button:hover time { color: #321724; }
.start-empty { margin: 0; padding: 18px; color: #f5cddf; text-align: center; font: 11px var(--mono); }
.start-search { min-height: 50px; display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 7px; padding: 7px 11px; border-top: 1px solid #714254; background: #21111c; }.start-search > span { color: var(--cyan); font: 900 22px var(--mono); }.start-search input { width: 100%; min-width: 0; height: 34px; padding: 0 10px; border: 1px solid #8b6073; color: #fff8ee; background: #0f0b0e; font: 11px var(--mono); }.start-search input:focus { border-color: var(--cyan); outline: 2px solid rgba(80,238,219,.28); }.start-search kbd { padding: 4px 6px; border: 1px solid #76606b; color: #c9b8c0; background: #100b0f; font: 9px var(--mono); }
.start-menu > footer { min-height: 44px; display: flex; justify-content: space-between; gap: 8px; padding: 6px 10px; border-top: 1px solid #5a3547; background: #120a10; }.start-menu > footer button { min-height: 30px; border: 1px solid transparent; color: var(--lime); background: transparent; cursor: pointer; font: 900 10px var(--mono); }.start-menu > footer button:hover { color: #160c14; border-color: var(--lime); background: var(--lime); }

.desktop-icon:hover, .desktop-icon.is-active { border-color: transparent; background: transparent; }
.desktop-icon.is-active .icon-art, .desktop-icon:focus-visible .icon-art { filter: saturate(1.35) brightness(1.25) drop-shadow(0 0 6px var(--cyan)); }

.proof-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 2px solid var(--ink); background: #1a1018; }
.proof-item { min-height: 78px; display: flex; align-items: center; gap: 12px; padding: 14px 20px; border-right: 1px solid #5c3448; }
.proof-item:last-child { border-right: 0; }
.proof-item strong { color: var(--lime); font: 900 27px var(--mono); }
.proof-item:nth-child(2) strong { color: var(--pink); }.proof-item:nth-child(3) strong { color: var(--cyan); }.proof-item:nth-child(4) strong { color: var(--orange); }
.proof-item span { color: #eee0df; font: 7px/1.5 var(--mono); }

.ways-section { padding: 62px 48px 70px; color: #f8eee5; background: #24121d; border-top: 7px solid var(--pink); }
.ways-section .section-heading h2 { color: #fff6ed; }
.ways-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.way-card { width: 100%; min-height: 225px; padding: 23px; color: inherit; border: 1px solid #714155; background: #160d14; box-shadow: 7px 7px 0 var(--orange); cursor: pointer; text-align: left; }
.way-card:nth-child(2) { box-shadow-color: var(--cyan); }.way-card:nth-child(3) { box-shadow-color: var(--lime); }
.way-card:hover, .way-card:focus-visible { border-color: var(--cyan); outline: 3px solid var(--pink); transform: translate(-3px,-3px); }
.way-card span { color: var(--orange); font: 8px var(--mono); }
.way-card h3 { max-width: 320px; margin: 35px 0 15px; color: #fff8ef; font: 27px/1.07 var(--editorial); }
.way-card p { color: #cdbdc4; font: 14px/1.55 var(--editorial); }

.about-layout, .feature-file { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 35px; }
.about-note { align-self: start; padding: 20px; color: #1b0b15; border: 2px solid #26111f; background: #ffd969; box-shadow: 7px 7px 0 var(--pink); transform: rotate(1.5deg); }
.about-note strong, .about-note span { font: 700 9px var(--mono); }.about-note p { font: 16px/1.5 var(--editorial); }
.feature-file > aside { min-height: 330px; display: grid; align-content: center; padding: 24px; color: #fff7eb; border: 1px solid var(--pink); background: repeating-linear-gradient(135deg, #250f1d 0 14px, #311225 14px 28px); box-shadow: 8px 8px 0 var(--pink); text-align: center; }
.feature-file > aside span, .feature-file > aside small { font: 8px var(--mono); }.feature-file > aside strong { margin: 15px 0 30px; color: var(--pink); font: 900 35px/.9 var(--mono); }
.file-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px; }
.resource-grid > * { min-height: 180px; display: block; padding: 20px; color: inherit; border: 1px solid #3d7472; background: #102022; box-shadow: 6px 6px 0 var(--pink); cursor: pointer; text-align: left; text-decoration: none; }
.resource-grid > :nth-child(2) { box-shadow-color: var(--orange); }.resource-grid > :nth-child(3) { box-shadow-color: var(--cyan); }.resource-grid > :nth-child(4) { box-shadow-color: var(--lime); }
.resource-grid b { color: var(--orange); font: 8px var(--mono); }.resource-grid h2 { color: var(--paper); font: 24px var(--editorial); }.resource-grid p { color: #c8babc; font: 14px/1.5 var(--editorial); }
.journal-row { text-decoration: none; }
.journal-load-more { min-height: 52px; border: 1px solid var(--pink); color: var(--pink); background: #25131d; cursor: pointer; font: 700 9px var(--mono); }
.journal-load-more:hover { color: var(--ink); background: var(--lime); border-color: var(--lime); }
.journal-load-more span { float: right; padding-right: 12px; }
.app-end-link { margin-top: 24px; }
.mobile-dock { display: none; }

@media (max-aspect-ratio: 5 / 4) and (min-width: 721px) {
  .intro-ui { top: 36%; }
}

@media (max-width: 720px) {
  .browser-bar { gap: 3px; padding-inline: 4px; }
  .browser-controls { gap: 2px; }
  .browser-nav, .browser-star { min-width: 38px; height: 38px; }
  .browser-address-wrap { height: 38px; }
  .browser-address { height: 35px; min-width: 0; font-size: 16px; }.browser-history-button { width: 36px; height: 35px; }.browser-suggestions { width: calc(100vw - 8px); left: auto; right: -43px; max-height: 54svh; }.browser-suggestion { min-height: 54px; }
  html { min-height: 100%; background: #170b16; }
  body { height: auto; min-height: 100%; overflow-x: hidden; overflow-y: auto; padding: 44px 0 72px; }
  body::after { z-index: 8500; }
  .wallpaper { position: fixed; }
  .desktop { position: relative; inset: auto; min-height: 100vh; overflow: visible; }
  .home-window, .home-window.is-maximized { position: relative !important; inset: auto !important; left: auto !important; top: auto !important; width: 100% !important; height: auto !important; min-height: 0; display: block; border: 0; background: transparent; box-shadow: none; resize: none; }
  .home-window > .window-titlebar, .home-window > .browser-bar, .home-window > .browser-tabs, .home-window > .window-status { display: none; }
  .home-window .home-scroll { height: auto; min-height: 0; overflow: visible; overscroll-behavior: auto; }
  .hero { display: flex; flex-direction: column; }
  .hero-copy { order: 1; padding: 44px 20px 34px; }
  .hero-portrait { order: 2; width: calc(100% - 32px); height: 56vh; min-height: 400px; margin: 0 16px 25px; }
  .hero h1 { font-size: clamp(48px, 16vw, 66px); }
  .proof-strip { grid-template-columns: 1fr 1fr; }
  .proof-item { min-height: 72px; padding: 12px 15px; border-bottom: 1px solid #5c3448; }
  .proof-item:nth-child(2) { border-right: 0; }
  .ways-section { padding: 42px 20px 50px; }
  .ways-grid { grid-template-columns: 1fr; gap: 13px; }
  .way-card { min-height: 190px; }
  .about-layout, .feature-file { grid-template-columns: 1fr; }
  .about-note { margin: 20px 4px; transform: rotate(.5deg); }
  .resource-grid { grid-template-columns: 1fr; }
  .taskbar { display: none; }
  .mobile-dock { position: fixed; z-index: 8900; left: 0; right: 0; bottom: 0; height: 60px; display: grid; grid-template-columns: repeat(7, 1fr); color: #f9ede6; border-top: 2px solid var(--pink); background: rgba(18,8,16,.97); }
  .mobile-dock button { min-width: 0; display: grid; place-items: center; align-content: center; gap: 3px; padding: 4px 2px; border: 0; border-right: 1px solid #4e2e40; color: inherit; background: transparent; font: 9px var(--mono); }
  .mobile-dock b { color: var(--cyan); font-size: 15px; }
  .mobile-dock button:active { color: var(--ink); background: var(--lime); }
  .app-window, .app-window.is-maximized { position: fixed !important; z-index: 8800 !important; inset: 44px 0 72px !important; width: 100% !important; height: auto !important; display: flex; border: 0; resize: none; }
  .app-window .window-titlebar { display: flex; }
  .app-window .window-controls button:first-child, .app-window .window-controls button:nth-child(2) { display: none; }
  .app-window .browser-bar { height: 48px; flex-basis: 48px; display: flex; }
  .app-window .window-status { display: none; }
  .app-window .app-body { overflow-y: auto; }
  .journal-row { grid-template-columns: 72px 1fr; }
  .journal-row .journal-tag { grid-column: 2; }
  .start-menu { bottom: 77px; left: 7px; width: calc(100vw - 14px); height: min(78svh, 700px); }
  .start-profile { min-height: 60px; grid-template-columns: 38px 1fr 32px; padding: 7px 9px; }
  .start-avatar { width: 38px; height: 38px; }
  .start-pinned, .start-library, .start-recent { padding: 12px; }
  .start-pinned-grid, .start-app-grid { grid-template-columns: 1fr; }
  .start-tile { min-height: 88px; grid-template-columns: 48px 1fr 20px; }
  .start-tile-icon { width: 46px; height: 46px; font-size: 22px; }
  .start-app-grid button { min-height: 54px; }
  .start-search { grid-template-columns: 24px 1fr; }
  .start-search kbd { display: none; }
  .intro-video { display: none; }
  .intro-mobile-still { display: block; }
  .intro-ui { top: 44%; width: min(350px, 88vw); }
  .intro-skip { top: 12px; right: 12px; }
  .intro-card-body label { grid-template-columns: 82px 1fr; }
  .intro-connect-steps div { min-height: 70px; padding: 4px; }
}

/* Final legibility pass: preserve the palette without making interface text guesswork. */
.browser-star { color: #97164e; }
.browser-star:hover { color: #241019; background: var(--lime); }
.ticker-content b { color: #71143e; }
.latest-section .section-heading p,
.latest-section .text-command,
.story-copy span { color: #a30f55; }
.proof-item span,
.way-card span,
.site-footer,
.start-menu > footer button { font-size: 11px; }
.newsletter form button { color: #fff; background: #ad1258; font-size: 10px; }
.newsletter form button:hover { color: #fff; background: #241019; }
.window-status { color: #5e4952; }
.start-mark { color: #241019; }
.tray-signal { color: #176657; }
.mobile-dock button { font-size: 10px; }

/* Practical reading floor for dense retro UI. */
.brand-date,
.signal-copy,
.icon-command,
#system-clock,
.browser-tabs a,
.window-status,
.proof-item span,
.section-heading p,
.now-manifesto > p:first-child,
.newsletter > div p,
.kicker,
.portrait-signal,
.hero-portrait figcaption span,
.story-copy p,
.now-playing header,
.now-playing dt,
.newsletter label,
.form-status,
.app-header p,
.app-header strong,
.journal-row time,
.journal-row span,
.project-card p:first-child,
.video-card p,
.contact-form label,
.article-meta,
.about-note strong,
.about-note span,
.feature-file > aside span,
.feature-file > aside small,
.resource-grid b,
.journal-load-more { font-size: 11px; }
.start-identity small,
.start-section-heading span,
.start-app-grid small,
.start-recent small,
.start-recent time { font-size: 11px; }

/* Arcade DX: rebuilt games, scalable boards, and readable controls. */
.arcade-grid button { position: relative; min-height: 210px; grid-template-columns: 78px 1fr; grid-template-rows: auto auto auto 1fr; align-content: start; padding: 20px; overflow: hidden; }
.arcade-grid button > b { grid-column: 1 / -1; font-size: 11px; }
.arcade-icon { grid-row: 2 / 5; width: 70px; height: 70px; align-self: start; font-size: 24px; }
.arcade-grid strong { align-self: start; color: #fff8ee; font: 27px/1.05 var(--editorial); }
.arcade-grid small { color: #b8d6d3; font: 11px/1.45 var(--mono); }
.arcade-grid em { align-self: end; justify-self: start; padding: 5px 7px; color: #170b15; background: var(--orange); font: 900 9px var(--mono); font-style: normal; }
.arcade-grid button:nth-child(2) em { background: var(--cyan); }.arcade-grid button:nth-child(3) em { background: var(--pink); color: #fff; }.arcade-grid button:nth-child(4) em { background: var(--lime); }
.arcade-snake { background: var(--lime); }.arcade-mines { background: var(--cyan); }.arcade-cards { color: #fff; background: var(--pink); }.arcade-rpg { background: var(--orange); }
.game-app { min-height: 100%; background: radial-gradient(circle at 50% 10%, #123537 0, #071719 55%); }
.game-toolbar { min-height: 54px; flex-wrap: wrap; justify-content: flex-start; padding: 9px 14px; font-size: 11px; }
.game-toolbar > strong { margin-right: auto; }.game-toolbar > button:last-child { margin-left: auto; }
.game-toolbar button, .rpg-app button, .game-toolbar select { font-size: 11px; }
.game-toolbar button:disabled, .rpg-app button:disabled { opacity: .45; cursor: not-allowed; filter: grayscale(.7); }
.game-toolbar select { min-height: 30px; margin-left: 5px; border: 1px solid #735d4b; color: #241019; background: #fff8e9; font-family: var(--mono); }
.game-help { margin: 0; padding: 9px 14px; color: #c8d9d7; border-bottom: 1px solid #28605e; background: #0b2426; font: 11px/1.45 var(--mono); }

.snake-layout { min-height: calc(100% - 54px); display: grid; grid-template-columns: minmax(330px, 430px) minmax(150px, 210px); justify-content: center; align-items: center; gap: clamp(18px,4vw,46px); padding: clamp(18px,4vw,42px); }
.snake-stage { width: min(100%, 420px); margin: 0; padding: 16px; }
.snake-stage canvas { max-width: 100%; }
.game-overlay { backdrop-filter: blur(3px); }.game-overlay strong { font-size: clamp(28px,4vw,42px); }.game-overlay span { max-width: 280px; font-size: 12px; }.game-overlay button { min-height: 36px; padding: 7px 16px; color: #160c14; border: 2px solid #160c14; background: var(--lime); box-shadow: 4px 4px 0 var(--pink); font: 900 11px var(--mono); cursor: pointer; }
.snake-side { display: grid; gap: 22px; align-content: center; }
.snake-side > p { display: grid; gap: 5px; margin: 0; padding: 18px; color: #160c14; border: 2px solid #160c14; background: var(--orange); box-shadow: 6px 6px 0 var(--pink); text-align: center; }
.snake-side > p b { font: 900 34px var(--mono); }.snake-side > p span { font: 900 10px var(--mono); }.snake-side > small { color: #b9d4d1; font: 11px/1.5 var(--mono); }
.snake-dpad { display: grid; grid-template: repeat(3,48px) / repeat(3,48px); justify-content: center; gap: 4px; }
.snake-dpad button { border: 2px solid #071719; color: #071719; background: var(--cyan); box-shadow: 3px 3px 0 var(--pink); cursor: pointer; font: 900 16px var(--mono); touch-action: manipulation; }.snake-dpad button:active { transform: translate(2px,2px); box-shadow: 1px 1px 0 var(--pink); }.snake-dpad button:nth-child(1) { grid-area: 1 / 2; }.snake-dpad button:nth-child(2) { grid-area: 2 / 1; }.snake-dpad button:nth-child(3) { grid-area: 2 / 2; }.snake-dpad button:nth-child(4) { grid-area: 2 / 3; }

.mine-levels { display: flex; gap: 4px; padding: 10px 14px; border-bottom: 1px solid #6a5647; background: #e9dcc4; }
.mine-levels button { min-height: 34px; padding: 6px 12px; border: 1px solid #6b5748; color: #3a2930; background: #fff8e9; cursor: pointer; font: 900 10px var(--mono); }.mine-levels button:hover, .mine-levels button.is-active { color: #fff; border-color: #6f113c; background: #ad1258; }
.mine-toolbar { justify-content: center; gap: clamp(18px,7vw,70px); background: #c9b99b; }.mine-toolbar > span { min-width: 88px; text-align: center; }.mine-face { width: 44px; height: 38px; margin: 0 !important; padding: 0 !important; font-size: 15px !important; }
.mine-status { margin: 0; padding: 9px 14px; color: var(--lime); background: #102426; text-align: center; font: 900 11px var(--mono); }
.mine-board-wrap { padding: clamp(14px,3vw,28px); overflow: auto; }
.mine-grid { --mine-size: 9; width: min(100%, 600px); min-width: min(520px,100%); aspect-ratio: 1; grid-template-columns: repeat(var(--mine-size), minmax(18px,1fr)); margin: 0 auto; padding: clamp(6px,1vw,10px); gap: clamp(1px,.25vw,3px); touch-action: manipulation; }
.mine-cell { font-size: clamp(9px,1.25vw,16px); user-select: none; }.mine-cell:not(.is-open):hover { filter: brightness(1.12); }.mine-cell.is-open.n1 { color:#075da8; }.mine-cell.is-open.n2 { color:#16723a; }.mine-cell.is-open.n3 { color:#a90f34; }.mine-cell.is-open.n4 { color:#4b2c83; }.mine-cell.is-open.n5, .mine-cell.is-open.n6, .mine-cell.is-open.n7, .mine-cell.is-open.n8 { color:#5c2716; }

.solitaire-toolbar { position: sticky; z-index: 4; top: 0; }.solitaire-toolbar strong { color: #751242; }
.solitaire-board { --card-w: clamp(58px,6vw,82px); --card-h: calc(var(--card-w) * 1.38); min-height: 650px; padding: clamp(16px,3vw,30px); background-color: #0b665d; box-shadow: inset 0 0 80px rgba(0,0,0,.28); }
.sol-top { grid-template-columns: var(--card-w) var(--card-w) 1fr; gap: clamp(9px,1.5vw,18px); margin-bottom: 28px; }.foundation-row { gap: clamp(8px,1.2vw,16px); }
.card-slot, .playing-card { width: var(--card-w); height: var(--card-h); font-size: clamp(12px,1.4vw,17px); }
.tableau { grid-template-columns: repeat(7,var(--card-w)); gap: clamp(8px,1.4vw,22px); min-width: calc(var(--card-w) * 7 + 80px); justify-content: space-between; }.tableau-pile { min-height: 430px; }.playing-card { margin-top: calc(var(--card-h) * -.66); }.playing-card span { font-size: clamp(20px,2.2vw,30px); }.playing-card.is-selected { z-index: 3; outline-color: #ffd969; box-shadow: 0 0 0 2px #102724, 0 0 18px #ffd969; }

.rpg-app { min-height: max(600px,100%); }.rpg-title-inner > span { max-width: 430px; color: #fff4dd; font: 900 11px/1.5 var(--mono); }.rpg-title-inner h1 i { color: var(--pink); font-size: .45em; font-style: normal; }
.rpg-class-select { display: grid; align-content: center; padding: clamp(22px,5vw,56px); background: radial-gradient(circle at top,#38203d,#100912 70%); }.rpg-class-select header { margin-bottom: 24px; text-align: center; }.rpg-class-select header p { color: var(--orange); font: 900 11px var(--mono); }.rpg-class-select header h2 { margin: 7px 0; color: #fff4dd; font: 42px var(--editorial); }.rpg-class-select header span { color: #cdbdc5; font: 12px var(--mono); }
.rpg-class-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }.rpg-class-grid button { min-height: 270px; display: grid; align-content: start; justify-items: center; gap: 12px; padding: 20px; color: #fff6e8; border: 1px solid #87526b; background: #21121f; box-shadow: 7px 7px 0 var(--pink); text-align: center; }.rpg-class-grid button:nth-child(2) { box-shadow-color: var(--cyan); }.rpg-class-grid button:nth-child(3) { box-shadow-color: var(--orange); }.rpg-class-grid button > b { width: 64px; height: 64px; display: grid; place-items: center; color: #160c14; background: var(--lime); font: 900 30px var(--mono); }.rpg-class-grid strong { font: 900 16px var(--mono); }.rpg-class-grid span { color: #cabac2; font: 11px/1.5 var(--mono); }.rpg-class-grid small { color: var(--cyan); font: 10px var(--mono); }.rpg-class-grid em { margin-top: auto; padding: 6px 8px; color: #160c14; background: var(--orange); font: 900 10px var(--mono); font-style: normal; }
.rpg-hud { min-height: 64px; display: grid; grid-template-columns: auto minmax(120px,1fr) minmax(120px,1fr) auto auto; gap: 14px; padding: 9px 14px; font-size: 11px; }.rpg-hero-id { display: grid; gap: 3px; }.rpg-hero-id strong { color: var(--cyan); }.rpg-meter { display: grid; gap: 4px; }.rpg-meter i { height: 8px; display: block; border: 1px solid #f4e8d7; background: #421520; }.rpg-meter i b { height: 100%; display: block; background: #ff486a; }.rpg-meter.xp i b { background: var(--cyan); }.rpg-energy { color: var(--orange); letter-spacing: 2px; }
.rpg-scene { min-height: 536px; display: grid; grid-template-columns: minmax(240px,.8fr) minmax(360px,1.2fr); align-items: center; gap: clamp(20px,5vw,70px); padding: clamp(24px,5vw,60px); background: linear-gradient(rgba(8,3,11,.35),rgba(8,3,11,.75)), url('/assets/rpg/rpg_town.png') center/cover; }.rpg-town-art { display: grid; justify-items: center; gap: 9px; color: #fff; text-shadow: 2px 2px #000; }.rpg-town-art b { font-size: clamp(90px,12vw,160px); line-height: .8; }.rpg-town-art span, .rpg-town-art i { font: 900 11px var(--mono); font-style: normal; }
.rpg-town-menu { position: static; padding: clamp(20px,3vw,32px); }.rpg-town-menu > div { grid-template-columns: repeat(2,1fr); margin-top: 18px; }.rpg-town-menu > div button:first-child { grid-column: 1 / -1; background: var(--orange); color: #1a0c14; }.rpg-town-menu strong { min-height: 44px; font-size: 11px; }
.rpg-battle { padding: 0; }.rpg-battlefield { min-height: 536px; display: grid; grid-template-columns: minmax(280px,.9fr) minmax(360px,1.1fr); gap: clamp(20px,5vw,70px); align-items: center; padding: clamp(24px,5vw,60px); }.rpg-enemy { width: min(360px,100%); margin: 0 auto; }.rpg-enemy img { width: min(250px,82%); }.rpg-enemy strong { font-size: 11px; }.rpg-combat-panel { padding: 18px; border: 2px solid #f0d8a7; background: rgba(18,8,16,.9); box-shadow: 8px 8px 0 #7f245d; }.rpg-message { min-height: 48px; margin: 0 0 14px; color: #f3e9e1; text-align: left; font-size: 12px; }.rpg-actions { position: static; grid-template-columns: 1fr 1fr; }.rpg-actions button { min-height: 62px; display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 8px; text-align: left; }.rpg-actions button > b { color: #160c14; font-size: 15px; }.rpg-actions button span { display: grid; gap: 4px; font: 900 10px var(--mono); }.rpg-actions button small { color: #ffd4e6; font: 9px var(--mono); }.rpg-actions button:hover small { color: #3e2630; }

@media (max-width: 820px) {
  .snake-layout { grid-template-columns: 1fr; }.snake-side { grid-template-columns: auto 1fr; align-items: center; }.snake-side > p { display: none; }.snake-side > small { max-width: 260px; }
  .rpg-class-grid { grid-template-columns: 1fr; }.rpg-class-grid button { min-height: 190px; }
  .rpg-scene, .rpg-battlefield { grid-template-columns: 1fr; }.rpg-town-art { display: none; }.rpg-hud { grid-template-columns: 1fr 1fr; }.rpg-hud > span:last-child { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .arcade-grid button { min-height: 185px; }.game-toolbar { gap: 8px 14px; }.game-toolbar > button:last-child { margin-left: 0; }
  .snake-layout { padding: 14px; }.snake-stage { padding: 9px; }.game-overlay { inset: 9px; }.snake-side { grid-template-columns: 1fr; }.snake-side > small { text-align: center; }.snake-dpad { grid-template: repeat(3,44px) / repeat(3,44px); }
  .mine-levels { overflow-x: auto; }.mine-levels button { flex: 0 0 auto; }.mine-toolbar { justify-content: space-between; gap: 8px; }.mine-toolbar > span { min-width: 65px; }.mine-board-wrap { padding: 8px; }.mine-grid { min-width: 320px; padding: 5px; }.mine-cell { border-width: 1px; }
  .solitaire-board { --card-w: 58px; min-height: 610px; padding: 14px; }.sol-top { min-width: 510px; }.tableau { min-width: 510px; gap: 14px; }.solitaire-toolbar strong { width: 100%; order: 4; }
  .rpg-app { min-height: 100%; }.rpg-class-select { align-content: start; }.rpg-class-select header h2 { font-size: 34px; }.rpg-class-grid button { min-height: 175px; }.rpg-scene, .rpg-battlefield { min-height: 100%; padding: 18px; }.rpg-town-menu > div, .rpg-actions { grid-template-columns: 1fr; }.rpg-town-menu > div button:first-child { grid-column: auto; }.rpg-actions button { min-height: 54px; }.rpg-hud { position: sticky; top: 0; z-index: 2; }
}

.rpg-class-grid button:hover strong,
.rpg-class-grid button:hover span,
.rpg-class-grid button:hover small { color: #20101a; }
.rpg-class-grid button:hover em { color: #fff; background: #7c1244; }
.sound-toggle,
.system-actions > button,
.taskbar button,
.tray,
.window-titlebar,
.browser-nav,
.browser-address,
.browser-star { font-size: 11px; }
.address-bar span,
.story-visual span,
.story-visual b,
.story-visual i,
.story-copy > span,
.arcade-grid em,
.rpg-actions button small { font-size: 10px; }

/* Launch-readiness additions. */
body.article-reading .home-window { visibility: hidden; }
.project-card .project-proof { margin-top: 16px; padding-top: 12px; color: #d9ff8e; border-top: 1px solid #315c5d; font: 11px/1.5 var(--mono); }
.contact-form select { width: 100%; padding: 11px; color: var(--paper); border: 1px solid #427775; border-radius: 0; background: #101314; font: 13px var(--ui); }
.article-conversion { display: grid; grid-template-columns: 112px 1fr; gap: 22px; margin-top: 56px; padding: 24px; border: 1px solid var(--cyan); background: #112224; box-shadow: 7px 7px 0 var(--pink); }
.article-conversion img { width: 112px; height: 112px; object-fit: cover; border: 1px solid var(--pink); }
.article-conversion > div > p:first-child, .article-related > p { margin: 0 0 8px; color: var(--orange); font: 11px var(--mono); }
.article-conversion h2 { margin: 0 0 8px; color: var(--paper); font: 700 28px var(--editorial); }
.article-conversion p { margin: 0; color: #d9cfd1; font: 16px/1.55 var(--editorial); }
.article-related { margin: 34px 0 10px; padding-top: 25px; border-top: 1px solid #356b6c; }
.article-related > div { display: grid; gap: 9px; }
.article-related a { display: block; padding: 13px 15px; color: var(--paper); border: 1px solid #315c5d; background: #102022; text-decoration: none; font: 16px/1.35 var(--editorial); }
.article-related a:hover, .article-related a:focus-visible { color: #160c14; border-color: var(--lime); background: var(--lime); }
.intro-remember input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.intro-remember:focus-within i { outline: 2px solid #ad1258; outline-offset: 2px; }

/* Nostalgia does not require eye strain. */
.brand-date, .signal-copy, .icon-command, #system-clock,
.desktop-icon, .start-menu-grid span, .start-menu-grid small,
.browser-tabs a, .window-status, .proof-item span, .section-heading p,
.kicker, .portrait-signal, .story-copy p, .now-playing header,
.app-header p, .app-header strong, .journal-row time, .journal-row span,
.project-card p:first-child, .video-card p, .contact-form label, .article-meta,
.taskbar button, .tray { font-size: 12px; }

@media (max-width: 720px) {
  body.article-reading .home-window { display: none !important; visibility: hidden; }
  .text-command { min-height: 44px; display: inline-flex; align-items: center; }
  .brand-button,
  .system-actions button { min-height: 44px; }
  .latest-section .section-heading .text-command,
  .site-footer .text-command { padding-block: 10px; }
  body.article-reading .desktop { min-height: calc(100svh - 116px); }
  .article-window, .article-window.is-maximized { position: relative !important; inset: auto !important; width: 100% !important; height: auto !important; min-height: calc(100svh - 116px); }
  .article-window .app-body { height: auto; min-height: calc(100svh - 116px); overflow: visible; }
  .article-window .window-title, .article-window .address-bar { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .article-shell h1 { font-size: clamp(30px, 10vw, 42px); line-height: 1.06; }
  .article-content { font-size: 18px; line-height: 1.72; }
  .article-conversion { grid-template-columns: 72px 1fr; gap: 14px; padding: 17px; }
  .article-conversion img { width: 72px; height: 72px; }
  .article-conversion .file-actions { grid-column: 1 / -1; }
  .mobile-dock { height: 72px; }
  .mobile-dock button { min-width: 44px; min-height: 44px; font-size: 12px; }
  .app-window .window-titlebar { min-height: 48px; }
  .app-window .window-controls { padding-right: 2px; }
  .app-window .window-controls button { width: 46px; height: 46px; font-size: 18px; }
  .app-window .window-title, .app-window .address-bar { font-size: 12px; }
  .app-window input, .app-window select, .app-window textarea, .newsletter-form input { font-size: 16px; }
  .offer-grid { grid-template-columns: 1fr; }
  .contact-paths { grid-template-columns: 1fr; }
  .work-center-intro { grid-template-columns: 1fr; }
  .work-center-intro .command { justify-self: start; }
  .work-center-section > header { grid-template-columns: 1fr; }
  .work-center-section > header span { grid-column: auto; }
  .work-offer-grid, .work-support-grid { grid-template-columns: 1fr; }
  .work-offer-card { padding: 18px; }
  .privacy-choice { bottom: 84px; align-items: stretch; flex-direction: column; }.privacy-choice > div:last-child { justify-content: flex-end; }.privacy-choice button { min-height: 44px; font-size: 12px; }
}
.web-window .app-body { padding: 0; overflow: hidden; background: #f4ead6; }
.web-browser-start { min-height: 100%; display: grid; align-content: center; justify-items: center; gap: 14px; padding: clamp(28px,5vw,70px); color: #26141f; background-color: #f6ecd9; background-image: linear-gradient(rgba(170,33,91,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(170,33,91,.08) 1px,transparent 1px); background-size: 24px 24px; text-align: center; }
.web-browser-start > p:first-child { color: #9f1452; font: 900 11px var(--mono); }.web-browser-start h1 { margin: 0; font: italic clamp(40px,6vw,78px)/.95 var(--editorial); }.web-browser-start > p { max-width: 600px; margin: 0; font: 17px/1.5 var(--editorial); }
.web-browser-start > div { width: min(760px,100%); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin-top: 15px; }.web-browser-start button { min-height: 72px; display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 10px; padding: 10px; color: #26141f; border: 2px solid #26141f; background: #fff9ec; box-shadow: 5px 5px 0 var(--pink); cursor: pointer; text-align: left; }.web-browser-start button:hover,.web-browser-start button:focus-visible { background: var(--cyan); transform: translate(-2px,-2px); box-shadow: 7px 7px 0 var(--orange); outline: 3px solid #26141f; }.web-browser-start button b { font: 900 25px var(--mono); }.web-browser-start button span { min-width: 0; display: grid; gap: 4px; }.web-browser-start button strong { font: 900 11px var(--mono); }.web-browser-start button small { overflow: hidden; color: #765564; font: 10px var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.web-browser-view { height: 100%; min-height: 0; display: flex; flex-direction: column; color: #26141f; background: #f5ead6; }
.web-browser-view > header { min-height: 35px; flex: 0 0 auto; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 5px 10px; border-bottom: 1px solid #8f7c65; background: #d9ccb2; box-shadow: inset 0 1px white; font: 900 10px var(--mono); }.web-browser-view > header span { color: #8b174b; }.web-browser-view > header strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.web-browser-view > header a { min-height: 25px; display: inline-flex; align-items: center; padding: 0 8px; color: #26141f; border: 1px solid #655649; background: var(--lime); text-decoration: none; }.web-browser-view > header a:hover,.web-browser-view > header a:focus-visible { color: white; background: #a71254; outline: 2px solid #26141f; }
.web-frame-wrap { position: relative; min-height: 0; flex: 1; background: white; }.web-frame-wrap iframe { width: 100%; height: 100%; display: block; border: 0; background: white; }.web-frame-loading { position: absolute; z-index: 2; inset: 0; display: grid; place-items: center; margin: 0; color: var(--cyan); background: #0b2021; font: 900 12px var(--mono); }.web-frame-loading::after { content: ''; width: 160px; height: 8px; position: absolute; top: calc(50% + 28px); border: 1px solid var(--cyan); background: linear-gradient(90deg,var(--pink) 0 55%,transparent 55%); animation: web-loading 1.1s steps(5) infinite; }
@keyframes web-loading { 50% { background-position: 80px 0; } }
.web-browser-view > footer { min-height: 26px; flex: 0 0 auto; display: flex; align-items: center; padding: 5px 9px; color: #5d4b51; border-top: 1px solid #9c8b72; background: #e5d9c2; font: 10px var(--mono); }
.web-embed-blocked { min-height: 100%; display: grid; align-content: center; justify-items: center; gap: 12px; padding: clamp(28px,6vw,80px); color: #f8eee4; background: radial-gradient(circle at 50% 20%,#183c3d,#0b1719 68%); text-align: center; }.web-embed-blocked > div { width: 78px; height: 78px; display: grid; place-items: center; color: #1e1018; border: 3px solid var(--paper); background: var(--orange); box-shadow: 8px 8px 0 var(--pink); font: 900 39px var(--mono); }.web-embed-blocked > p:first-of-type { margin: 14px 0 0; color: var(--cyan); font: 900 11px var(--mono); }.web-embed-blocked h1 { margin: 0; font: italic clamp(39px,6vw,76px)/.95 var(--editorial); }.web-embed-blocked > p:not(:first-of-type) { max-width: 660px; margin: 0 0 12px; color: #ded3d0; font: 17px/1.55 var(--editorial); }.web-embed-blocked .text-command { margin-top: 7px; }
@media (max-width: 720px) {
  .web-browser-start > div { grid-template-columns: 1fr; }.web-browser-view > header { grid-template-columns: 1fr auto; }.web-browser-view > header strong { display: none; }.web-browser-view > header a { min-height: 34px; }.web-browser-view > footer { font-size: 11px; }.web-embed-blocked { padding: 24px 18px; }
  .web-window .app-body { overflow: hidden !important; }
}
