:root {
  --bg: #050b08;
  --surface: #0a1510;
  --surface-2: #0e1d15;
  --line: rgba(94, 224, 148, 0.18);
  --line-strong: rgba(94, 224, 148, 0.42);
  --green: #35c63c;
  --green-soft: #76e49e;
  --cyan: #33b7e6;
  --gold: #e8c468;
  --text: #edf5f0;
  --muted: #91ad9c;
  --faint: #587064;
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--text);
  background:
    linear-gradient(rgba(5, 11, 8, 0.92), rgba(5, 11, 8, 0.97)),
    repeating-linear-gradient(90deg, transparent 0 79px, rgba(83, 175, 119, 0.05) 80px),
    repeating-linear-gradient(0deg, transparent 0 79px, rgba(83, 175, 119, 0.05) 80px);
  font-family: "Avenir Next", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
  line-height: 1.55;
}

a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.ambient { position: fixed; border-radius: 50%; filter: blur(100px); pointer-events: none; z-index: -1; opacity: .18; }
.ambient-one { width: 520px; height: 520px; background: var(--green); top: 80px; right: -260px; }
.ambient-two { width: 440px; height: 440px; background: var(--cyan); top: 900px; left: -280px; opacity: .08; }

.site-header {
  width: min(calc(100% - 36px), var(--max));
  height: 86px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
}
.brand { display: inline-flex; align-items: center; gap: 13px; }
.brand-mark {
  position: relative; width: 40px; height: 40px; border: 1px solid var(--line-strong);
  border-radius: 50%; display: grid; place-items: center; transform: rotate(-18deg);
}
.brand-mark::before, .brand-mark::after {
  content: ""; position: absolute; inset: 8px 1px; border: 1px solid var(--cyan); border-radius: 50%; transform: rotate(64deg);
}
.brand-mark::after { transform: rotate(-64deg); border-color: var(--green); }
.brand-mark span { width: 7px; height: 7px; background: var(--text); border-radius: 50%; box-shadow: 0 0 16px var(--green); }
.brand-copy { display: flex; flex-direction: column; line-height: 1.05; letter-spacing: .08em; }
.brand-copy strong { font-size: 16px; }
.brand-copy small { color: var(--green-soft); font-size: 9px; letter-spacing: .32em; margin-top: 6px; }
nav { display: flex; gap: 30px; color: var(--muted); font-size: 13px; }
nav a:hover, nav a:focus-visible { color: var(--text); }
.header-cta { border: 1px solid var(--line-strong); padding: 10px 16px; border-radius: 999px; color: var(--green-soft); font-size: 12px; background: transparent; cursor: pointer; }

.section { width: min(calc(100% - 36px), var(--max)); margin-inline: auto; }
.hero { min-height: 760px; padding: 92px 0 110px; display: grid; grid-template-columns: 1.05fr .95fr; gap: 74px; align-items: center; }
.eyebrow { color: var(--green-soft); font: 700 11px/1.3 ui-monospace, monospace; letter-spacing: .19em; }
.eyebrow span { display: inline-block; width: 28px; height: 1px; background: var(--green); vertical-align: middle; margin-right: 10px; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(48px, 5.5vw, 78px); line-height: .99; letter-spacing: -.055em; margin: 24px 0 28px; max-width: 760px; }
h1 em { color: var(--green-soft); font-style: normal; font-weight: 500; }
.hero-lead { color: var(--muted); font-size: 18px; max-width: 650px; }
.hero-lead strong { color: var(--text); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 34px 0 44px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 20px; border-radius: 8px; border: 1px solid var(--line-strong); font-weight: 700; font-size: 13px; cursor: pointer; }
.button.primary { background: var(--green); color: #031008; border-color: var(--green); box-shadow: 0 0 30px rgba(53,198,60,.15); }
.button.secondary { color: var(--text); background: rgba(10,21,16,.72); }
.button:hover:not(.disabled), .button:focus-visible:not(.disabled) { transform: translateY(-1px); filter: brightness(1.08); }
.button.disabled { opacity: .45; cursor: not-allowed; }
.proof-strip { display: flex; margin: 0; gap: 40px; }
.proof-strip div { border-left: 1px solid var(--line); padding-left: 14px; }
.proof-strip dt { font: 600 20px ui-monospace, monospace; color: var(--text); }
.proof-strip dd { margin: 4px 0 0; color: var(--faint); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }

.boot-window {
  background: linear-gradient(150deg, rgba(16,34,24,.94), rgba(6,15,10,.96));
  border: 1px solid var(--line-strong); border-radius: 18px; overflow: hidden;
  box-shadow: 0 32px 90px rgba(0,0,0,.46), inset 0 1px rgba(255,255,255,.03);
}
.window-bar { height: 46px; padding: 0 16px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid var(--line); color: var(--faint); font: 600 9px ui-monospace, monospace; letter-spacing: .12em; }
.window-bar b { justify-self: end; color: var(--green-soft); font-size: 9px; }
.window-lights { display: flex; gap: 6px; }
.window-lights i { width: 6px; height: 6px; border-radius: 50%; background: var(--faint); }
.window-lights i:nth-child(2) { background: var(--gold); }
.window-lights i:nth-child(3) { background: var(--green); }
.companion-stage { height: 245px; position: relative; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 45%, rgba(53,198,60,.12), transparent 52%); }
.companion-stage p { position: absolute; bottom: 16px; margin: 0; color: var(--muted); font-size: 11px; letter-spacing: .08em; }
.companion { position: relative; width: 104px; height: 104px; border-radius: 44% 56% 52% 48%; background: linear-gradient(135deg, #7ff0b2, #1f8f68 60%, #1462a1); box-shadow: 0 0 42px rgba(77,218,137,.32); animation: breathe 4s ease-in-out infinite; }
.companion::before { content: ""; position: absolute; inset: 8px; border: 1px solid rgba(255,255,255,.22); border-radius: inherit; }
.companion-core { position: absolute; width: 28px; height: 28px; border-radius: 50%; background: rgba(230,255,242,.35); left: 38px; top: 39px; filter: blur(1px); }
.companion-eye { position: absolute; top: 40px; width: 7px; height: 9px; background: #06120b; border-radius: 50%; }
.eye-left { left: 30px; } .eye-right { right: 30px; }
.orbit { position: absolute; border: 1px solid rgba(51,183,230,.27); border-radius: 50%; width: 176px; height: 66px; transform: rotate(20deg); }
.orbit-b { transform: rotate(-58deg); border-color: rgba(53,198,60,.28); }
.transcript { height: 200px; overflow-y: auto; border-top: 1px solid var(--line); padding: 16px 18px; background: rgba(3,9,6,.48); font-size: 12px; }
.system-line { color: var(--faint); font: 10px/1.5 ui-monospace, monospace; }
.system-line span { color: var(--gold); margin-right: 7px; }
.message { display: grid; grid-template-columns: 82px 1fr; gap: 10px; margin-top: 12px; }
.message b { color: var(--green-soft); font-size: 10px; letter-spacing: .05em; }
.message.user b { color: var(--cyan); }
.message p { color: var(--muted); margin: 0; }
.composer { margin: 12px; border: 1px solid var(--line-strong); background: var(--surface); border-radius: 10px; display: flex; padding: 6px; }
.composer input { min-width: 0; flex: 1; background: transparent; border: 0; outline: 0; color: var(--text); padding: 8px 10px; }
.composer input::placeholder { color: var(--faint); }
.composer button { border: 0; background: var(--green); color: #031008; border-radius: 7px; padding: 0 12px; font-weight: 800; cursor: pointer; }
.composer button span { display: none; }
.preview-note { color: var(--faint); margin: 0 18px 14px; text-align: center; font-size: 9px; }

.principle-band { padding: 110px max(18px, calc((100% - var(--max))/2)); border-block: 1px solid var(--line); background: rgba(8,18,13,.88); }
.principle-band > p { color: var(--faint); font: 700 10px ui-monospace, monospace; letter-spacing: .2em; }
.principle-band > h2 { font-size: clamp(42px, 5vw, 70px); line-height: 1.04; letter-spacing: -.045em; margin-bottom: 62px; }
.principle-band > h2 span { color: var(--green-soft); }
.doctrine-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); }
.doctrine-grid article { padding: 28px 28px 8px 0; border-right: 1px solid var(--line); min-height: 190px; }
.doctrine-grid article + article { padding-left: 28px; }
.doctrine-grid article:last-child { border-right: 0; }
.doctrine-grid article > span { color: var(--green); font: 10px ui-monospace, monospace; }
.doctrine-grid h3 { margin: 40px 0 10px; font-size: 17px; }
.doctrine-grid p { color: var(--muted); font-size: 13px; }

.system-section, .device-section { padding: 120px 0; }
.section-heading { max-width: 760px; margin-bottom: 60px; }
.section-heading h2, .flock-copy h2, .proof-copy h2, .download-section h2 { font-size: clamp(38px, 4vw, 60px); line-height: 1.05; letter-spacing: -.04em; margin: 20px 0; }
.section-heading > p:last-child, .flock-copy > p, .proof-copy > p, .download-section > div > p:last-child { color: var(--muted); font-size: 16px; }
.layer-stack { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.layer-stack article { min-height: 96px; display: grid; grid-template-columns: 58px 1fr auto; gap: 18px; align-items: center; padding: 16px 24px; border-bottom: 1px solid var(--line); background: linear-gradient(90deg, rgba(14,29,21,.8), rgba(7,16,11,.65)); }
.layer-stack article:last-child { border-bottom: 0; }
.layer-stack i { color: var(--faint); font: normal 10px ui-monospace, monospace; }
.layer-stack h3 { margin: 0 0 4px; font-size: 17px; }
.layer-stack p { margin: 0; color: var(--muted); font-size: 12px; }
.layer-stack b { color: var(--green-soft); font: 9px ui-monospace, monospace; letter-spacing: .15em; }

.flock-section { min-height: 700px; border-block: 1px solid var(--line); background: #07110c; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; }
.flock-visual { height: 700px; position: relative; overflow: hidden; background: radial-gradient(circle at 46% 50%, rgba(53,198,60,.1), transparent 48%); }
.flock-copy { max-width: 520px; padding: 70px; }
.flock-copy ul { list-style: none; padding: 0; margin: 32px 0 0; display: grid; gap: 14px; color: var(--muted); font-size: 13px; }
.flock-copy li span { display: inline-block; width: 7px; height: 7px; border: 1px solid var(--green); border-radius: 50%; margin-right: 12px; box-shadow: 0 0 10px var(--green); }
.node { position: absolute; width: 128px; min-height: 82px; border: 1px solid var(--line-strong); background: rgba(7,19,12,.94); border-radius: 12px; padding: 18px; display: flex; flex-direction: column; justify-content: end; z-index: 2; }
.node i { position: absolute; top: 15px; right: 15px; width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px var(--green); }
.node b { font-size: 10px; letter-spacing: .05em; }
.node small { color: var(--faint); font: 8px ui-monospace, monospace; letter-spacing: .08em; margin-top: 4px; }
.node.hub { width: 156px; min-height: 110px; left: 42%; top: 42%; transform: translate(-50%,-50%); border-color: var(--green); box-shadow: 0 0 50px rgba(53,198,60,.14); }
.node.hub b { color: var(--green-soft); font-size: 12px; }
.node.n1 { left: 8%; top: 17%; } .node.n2 { right: 10%; top: 12%; } .node.n3 { left: 12%; bottom: 13%; } .node.n4 { right: 8%; bottom: 17%; }
.mesh-line { position: absolute; height: 1px; background: linear-gradient(90deg, transparent, rgba(53,198,60,.55), transparent); width: 320px; left: 29%; top: 39%; transform-origin: left center; z-index: 1; }
.l1 { transform: rotate(-148deg); } .l2 { transform: rotate(-43deg); width: 300px; } .l3 { transform: rotate(143deg); width: 300px; } .l4 { transform: rotate(41deg); } .l5 { transform: rotate(90deg); width: 170px; opacity: .25; }

.device-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.device-grid article { border: 1px solid var(--line); border-radius: 12px; padding: 26px; min-height: 245px; background: var(--surface); display: flex; flex-direction: column; }
.device-grid span { align-self: start; border: 1px solid var(--line-strong); border-radius: 999px; padding: 4px 9px; color: var(--green-soft); font: 9px ui-monospace, monospace; letter-spacing: .1em; }
.device-grid h3 { margin: 48px 0 12px; }
.device-grid p { color: var(--muted); font-size: 13px; }
.device-grid b { margin-top: auto; color: var(--faint); font: 9px ui-monospace, monospace; letter-spacing: .1em; }
.tier-three span, .tier-four span { color: var(--gold); border-color: rgba(232,196,104,.35); }

.proof-section { display: grid; grid-template-columns: 1fr 1fr; min-height: 670px; border-block: 1px solid var(--line); }
.proof-copy { padding: 100px max(36px, calc((100vw - var(--max))/2)); padding-right: 70px; }
.check-list { margin-top: 34px; }
.check-list p { color: var(--muted); font-size: 12px; border-top: 1px solid var(--line); padding: 13px 0; margin: 0; }
.check-list i { display: inline-block; width: 52px; color: var(--green); font: normal 9px ui-monospace, monospace; }
.check-list .not-yet i { color: var(--gold); }
.boot-log { margin: 0; padding: 100px 8%; background: #020604; color: #78d998; border-left: 1px solid var(--line); overflow: auto; display: grid; align-items: center; font: 13px/1.8 ui-monospace, monospace; }

.download-section { width: min(calc(100% - 36px), var(--max)); margin: 0 auto; padding: 120px 0; display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: center; }
.download-card { border: 1px solid var(--line-strong); border-radius: 16px; background: var(--surface); padding: 28px; }
.artifact-title { display: flex; gap: 16px; align-items: center; margin-bottom: 24px; }
.artifact-title > div { min-width: 0; }
.artifact-title strong, .artifact-title small { display: block; }
.artifact-title small { color: var(--muted); font-size: 10px; margin-top: 4px; }
.artifact-icon { width: 42px; height: 42px; border: 1px solid var(--green); border-radius: 9px; position: relative; flex: 0 0 auto; }
.artifact-icon::after { content: ""; position: absolute; width: 13px; height: 13px; background: var(--green); left: 14px; top: 14px; box-shadow: 0 0 14px var(--green); }
.download-card .button { width: 100%; }
.secondary-download { display: block; margin-top: 13px; color: var(--green-soft); text-align: center; font-size: 11px; cursor: pointer; }
.secondary-download:hover, .secondary-download:focus-visible { color: var(--text); }
.download-card dl { margin: 26px 0 0; border-top: 1px solid var(--line); }
.download-card dl div { display: grid; grid-template-columns: 90px 1fr; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); font: 10px ui-monospace, monospace; }
.download-card dt { color: var(--faint); }
.download-card dd { margin: 0; color: var(--muted); overflow-wrap: anywhere; }
.artifact-warning { color: var(--gold); font-size: 10px; margin: 18px 0 0; }

footer { min-height: 150px; border-top: 1px solid var(--line); width: min(calc(100% - 36px), var(--max)); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; color: var(--faint); font-size: 10px; }
.footer-brand { justify-self: start; }
footer > p { margin: 0; text-align: center; }
.footer-right { text-align: right; }

body.world-open { overflow: hidden; }
.world-preview {
  --world-primary: #53e094;
  --world-secondary: #33b7e6;
  position: fixed;
  inset: 0;
  z-index: 100;
  padding: 18px;
  background: rgba(1, 5, 3, .88);
  backdrop-filter: blur(18px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .28s ease, visibility .28s ease;
}
.world-preview.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.world-preview-shell {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--world-primary) 52%, transparent);
  border-radius: 22px;
  background: #030806;
  box-shadow: 0 35px 120px rgba(0, 0, 0, .72);
}
.world-topbar {
  height: 62px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 22px;
  border-bottom: 1px solid color-mix(in srgb, var(--world-primary) 22%, transparent);
  background: rgba(4, 12, 8, .94);
  font: 700 10px ui-monospace, monospace;
  letter-spacing: .12em;
}
.world-wordmark { display: flex; align-items: center; gap: 11px; }
.world-wordmark strong { color: var(--text); }
.world-mini-orb { width: 20px; height: 20px; border-radius: 50%; background: var(--world-primary); box-shadow: 0 0 20px var(--world-primary); }
.world-state { display: flex; gap: 10px; }
.world-state span { border: 1px solid color-mix(in srgb, var(--world-primary) 35%, transparent); border-radius: 99px; padding: 5px 9px; color: var(--world-primary); }
.world-topbar > button, .world-chat-head button {
  justify-self: end;
  border: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font: 600 10px ui-monospace, monospace;
}
.world-topbar > button:hover, .world-chat-head button:hover { color: var(--text); }
.world-desktop {
  position: relative;
  height: calc(100% - 62px);
  overflow: hidden;
  background:
    radial-gradient(circle at 27% 48%, color-mix(in srgb, var(--world-primary) 19%, transparent), transparent 28%),
    radial-gradient(circle at 78% 12%, color-mix(in srgb, var(--world-secondary) 10%, transparent), transparent 32%),
    linear-gradient(145deg, #07120d, #020604 68%);
}
.world-grid {
  position: absolute;
  inset: 0;
  opacity: .22;
  background-image:
    linear-gradient(color-mix(in srgb, var(--world-primary) 16%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--world-primary) 16%, transparent) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(90deg, #000, transparent 72%);
}
.world-desktop[data-pattern="rings"] .world-grid { background-size: 82px 82px; transform: rotate(12deg) scale(1.3); }
.world-desktop[data-pattern="stars"] .world-grid { background-size: 31px 31px; transform: rotate(45deg); opacity: .13; }
.world-desktop[data-pattern="calm"] .world-grid { opacity: .07; background-size: 120px 120px; }
.avatar-zone {
  position: absolute;
  inset: 0 50% 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 44px;
}
.living-avatar {
  position: relative;
  width: 172px;
  height: 172px;
  transform: none;
  border-radius: 44% 56% 52% 48%;
  background: linear-gradient(135deg, color-mix(in srgb, var(--world-primary) 88%, white), var(--world-primary) 44%, var(--world-secondary));
  box-shadow: 0 0 42px color-mix(in srgb, var(--world-primary) 48%, transparent), 0 28px 70px rgba(0,0,0,.4);
  animation: world-float 4.2s ease-in-out infinite;
  cursor: pointer;
  outline: none;
  transition: width .5s ease, height .5s ease, border-radius .5s ease, filter .5s ease;
}
.living-avatar:focus-visible { box-shadow: 0 0 0 3px #fff, 0 0 50px var(--world-primary); }
.living-avatar::before, .living-avatar::after { content: ""; position: absolute; opacity: 0; transition: .4s ease; }
.living-avatar[data-form="dragon"] { border-radius: 48% 48% 58% 58%; rotate: -2deg; }
.living-avatar[data-form="dragon"]::before, .living-avatar[data-form="dragon"]::after {
  opacity: 1; top: -38px; width: 0; height: 0; border-left: 27px solid transparent; border-right: 6px solid transparent; border-bottom: 64px solid var(--world-primary);
}
.living-avatar[data-form="dragon"]::before { left: 18px; transform: rotate(-24deg); }
.living-avatar[data-form="dragon"]::after { right: 18px; transform: scaleX(-1) rotate(-24deg); }
.living-avatar[data-form="fox"]::before, .living-avatar[data-form="fox"]::after {
  opacity: 1; top: -42px; width: 70px; height: 78px; background: var(--world-primary); clip-path: polygon(50% 0, 100% 100%, 0 80%);
}
.living-avatar[data-form="fox"]::before { left: -2px; transform: rotate(-15deg); }
.living-avatar[data-form="fox"]::after { right: -2px; transform: scaleX(-1) rotate(-15deg); }
.living-avatar[data-form="person"] { width: 142px; height: 188px; border-radius: 50% 50% 42% 42%; }
.living-avatar[data-form="cloud"] { width: 205px; height: 118px; border-radius: 58% 62% 48% 55%; filter: saturate(.7) brightness(1.15); }
.living-avatar[data-size="small"] { width: 118px; height: 118px; }
.living-avatar[data-size="large"] { width: 215px; height: 215px; }
.avatar-glow { position: absolute; inset: 15%; border-radius: inherit; background: rgba(255,255,255,.2); filter: blur(12px); }
.avatar-face { position: absolute; left: 50%; top: 46%; transform: translate(-50%,-50%); display: flex; gap: 34px; }
.avatar-face i { width: 10px; height: 14px; border-radius: 50%; background: #041008; box-shadow: inset 2px 2px rgba(255,255,255,.16); animation: world-blink 5.4s infinite; }
.avatar-spark { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: white; box-shadow: 0 0 12px white; animation: world-orbit 5s linear infinite; }
.spark-one { left: -26px; top: 20%; }
.spark-two { right: -19px; bottom: 18%; animation-direction: reverse; animation-duration: 3.8s; }
.avatar-speech {
  position: static;
  width: min(330px, 38vw);
  color: var(--muted);
  text-align: center;
  font-size: 12px;
}
.world-chat {
  position: absolute;
  right: 4%;
  top: 5%;
  bottom: 5%;
  width: min(560px, 48%);
  display: grid;
  grid-template-rows: auto 1fr auto auto auto;
  border: 1px solid color-mix(in srgb, var(--world-primary) 35%, transparent);
  border-radius: 18px;
  background: rgba(5, 14, 9, .87);
  box-shadow: 0 28px 90px rgba(0,0,0,.42);
  backdrop-filter: blur(20px);
  overflow: hidden;
}
.world-chat-head { min-height: 64px; padding: 15px 17px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid color-mix(in srgb, var(--world-primary) 20%, transparent); }
.world-chat-head strong, .world-chat-head small { display: block; }
.world-chat-head strong { color: var(--world-primary); }
.world-chat-head small { margin-top: 3px; color: var(--faint); font: 8px ui-monospace, monospace; letter-spacing: .14em; }
.world-transcript { overflow-y: auto; padding: 16px 18px; }
.world-system { color: var(--faint); font: 9px/1.5 ui-monospace, monospace; border-left: 2px solid var(--gold); padding-left: 10px; }
.world-message { display: grid; grid-template-columns: 72px 1fr; gap: 9px; margin-top: 17px; }
.world-message b { color: var(--world-primary); font: 700 9px/1.5 ui-monospace, monospace; letter-spacing: .07em; }
.world-message.user b { color: var(--world-secondary); }
.world-message p { margin: 0; color: var(--muted); font-size: 12px; }
.world-message.error p { color: #f0b5a7; }
.world-choices { padding: 0 16px; display: flex; gap: 7px; flex-wrap: wrap; }
.world-choices:empty { display: none; }
.world-choices button { border: 1px solid color-mix(in srgb, var(--world-primary) 34%, transparent); color: var(--world-primary); background: transparent; border-radius: 99px; padding: 6px 10px; font-size: 10px; cursor: pointer; }
.world-choices button:hover, .world-choices button:focus-visible { background: color-mix(in srgb, var(--world-primary) 14%, transparent); }
.world-composer { margin: 12px 14px 7px; min-height: 54px; display: flex; border: 1px solid color-mix(in srgb, var(--world-primary) 44%, transparent); border-radius: 12px; padding: 6px; background: rgba(1,5,3,.68); }
.world-composer input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text); padding: 0 10px; }
.world-composer input::placeholder { color: var(--faint); }
.world-composer button { border: 0; border-radius: 8px; padding: 0 14px; background: var(--world-primary); color: #031008; font-weight: 800; cursor: pointer; }
.world-composer button:disabled { opacity: .5; cursor: wait; }
.world-composer button i { display: none; font-style: normal; }
.world-fineprint { padding: 0 18px 12px; margin: 0; color: var(--faint); font: 8px/1.45 ui-monospace, monospace; }

@keyframes breathe {
  0%,100% { transform: translateY(0) scale(1) rotate(-2deg); }
  50% { transform: translateY(-8px) scale(1.035) rotate(2deg); }
}

@keyframes world-float {
  0%,100% { margin-top: 0; rotate: -2deg; }
  50% { margin-top: -15px; rotate: 2deg; }
}
@keyframes world-blink { 0%,46%,50%,100% { scale: 1 1; } 48% { scale: 1 .08; } }
@keyframes world-orbit { from { transform: rotate(0) translateX(18px) rotate(0); } to { transform: rotate(360deg) translateX(18px) rotate(-360deg); } }

@media (max-width: 980px) {
  nav { display: none; }
  .hero { grid-template-columns: 1fr; padding-top: 70px; }
  .hero-copy { max-width: 760px; }
  .boot-window { max-width: 650px; width: 100%; justify-self: center; }
  .doctrine-grid, .device-grid { grid-template-columns: 1fr 1fr; }
  .doctrine-grid article:nth-child(2) { border-right: 0; }
  .flock-section { grid-template-columns: 1fr; }
  .flock-visual { order: 2; height: 560px; }
  .flock-copy { max-width: none; padding: 80px 36px; }
  .proof-section { grid-template-columns: 1fr; }
  .proof-copy { padding: 90px 36px; }
  .boot-log { border-left: 0; border-top: 1px solid var(--line); min-height: 500px; padding: 70px 36px; }
  .download-section { grid-template-columns: 1fr; gap: 34px; }
  .world-preview { padding: 8px; }
  .world-preview-shell { border-radius: 14px; }
  .avatar-zone { right: 61%; }
  .living-avatar { width: 130px; height: 130px; }
  .avatar-speech { width: 33vw; }
  .world-chat { right: 2.5%; width: 59%; }
}

@media (max-width: 620px) {
  .site-header { height: 74px; }
  .header-cta { display: none; }
  .hero { padding: 56px 0 80px; gap: 48px; }
  h1 { font-size: 47px; }
  .proof-strip { gap: 16px; }
  .proof-strip div { padding-left: 9px; }
  .window-bar { grid-template-columns: 1fr 1fr; }
  .window-bar > span { display: none; }
  .doctrine-grid, .device-grid { grid-template-columns: 1fr; }
  .doctrine-grid article, .doctrine-grid article + article { border-right: 0; padding: 24px 0; min-height: 160px; }
  .layer-stack article { grid-template-columns: 34px 1fr; }
  .layer-stack b { display: none; }
  .flock-visual { transform: scale(.78); transform-origin: center; margin-inline: -70px; }
  .node.n2, .node.n4 { right: 1%; }
  .node.n1, .node.n3 { left: 1%; }
  footer { grid-template-columns: 1fr; gap: 22px; padding: 36px 0; text-align: center; }
  .footer-brand { justify-self: center; }
  .footer-right { text-align: center; }
  .world-preview { padding: 0; }
  .world-preview-shell { border: 0; border-radius: 0; }
  .world-topbar { height: 54px; padding: 0 13px; grid-template-columns: 1fr auto; }
  .world-state { display: none; }
  .world-desktop { height: calc(100% - 54px); }
  .avatar-zone { inset: 0 0 61% 0; gap: 18px; }
  .living-avatar { width: 100px; height: 100px; }
  .living-avatar[data-form="person"] { height: 118px; }
  .living-avatar[data-form="cloud"] { width: 145px; height: 86px; }
  .avatar-speech { width: 84vw; font-size: 10px; }
  .world-chat { left: 3%; right: 3%; top: 39%; bottom: 2%; width: auto; }
  .world-chat-head { min-height: 52px; padding: 10px 13px; }
  .world-transcript { padding: 10px 13px; }
  .world-message { grid-template-columns: 58px 1fr; margin-top: 12px; }
  .world-composer { min-height: 48px; margin: 8px; }
  .world-composer button span { display: none; }
  .world-composer button i { display: block; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .companion { animation: none; }
  .living-avatar, .avatar-face i, .avatar-spark { animation: none; }
  .button { transition: none; }
}
