:root {
  --space: #07131d;
  --space-center: #0a1b27;
  --structure: #0c202b;
  --surface: #0c202b;
  --surface-raised: #102a37;
  --cyan: #67e4d6;
  --blue: #5da8ff;
  --violet: #9a7cff;
  --gold: #f2be72;
  --coral: #ff8e7a;
  --text: #f2f6f5;
  --text-body: #d3e1de;
  --muted: #9fb3b0;
  --muted-strong: #b9cac7;
  --glass: rgba(12, 32, 43, .88);
  --glass-strong: rgba(7, 19, 29, .96);
  --line: rgba(103, 228, 214, .24);
  --shadow: 0 28px 80px rgba(0, 0, 0, .48);
  color-scheme: dark;
  font-family: "Noto Sans SC", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }
html, body, #app { width: 100%; height: 100%; min-height: 100%; margin: 0; }
body { background: var(--space); color: var(--text); overflow: hidden; }
button, input, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }

.screen {
  position: relative;
  width: 100vw;
  height: 100vh;
  min-height: 800px;
  margin: 0 auto;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 52%, rgba(20, 78, 93, .22), transparent 36%),
    radial-gradient(circle at 24% 20%, rgba(74, 88, 173, .12), transparent 28%),
    linear-gradient(145deg, #07131d, #0a1b27 54%, #07131d);
}

.screen::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(circle at 50% 50%, #000, transparent 82%);
}

.stars { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.stars::before, .stars::after { content: ""; position: absolute; inset: -40%; background-image: radial-gradient(#fff 0.8px, transparent .9px); background-size: 57px 57px; opacity: .25; transform: rotate(12deg); }
.stars::after { background-size: 91px 91px; opacity: .18; transform: rotate(-7deg); }
.stars i { position: absolute; width: 3px; height: 3px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 12px var(--cyan); }
.stars i:nth-child(1){left:8%;top:16%}.stars i:nth-child(2){left:18%;top:72%}.stars i:nth-child(3){left:35%;top:9%}.stars i:nth-child(4){left:57%;top:18%}.stars i:nth-child(5){left:74%;top:8%}.stars i:nth-child(6){left:88%;top:27%}.stars i:nth-child(7){left:92%;top:77%}.stars i:nth-child(8){left:68%;top:88%}.stars i:nth-child(9){left:42%;top:83%}.stars i:nth-child(10){left:12%;top:42%}

.icon { display: inline-grid; width: 20px; height: 20px; place-items: center; flex: 0 0 auto; }
.icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

.brand { position: relative; z-index: 2; display: flex; align-items: center; gap: 12px; font-weight: 600; letter-spacing: .04em; }
.brand-glyph { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(103,228,214,.36); border-radius: 50%; color: var(--cyan); box-shadow: inset 0 0 16px rgba(103,228,214,.12), 0 0 22px rgba(103,228,214,.08); }
.eyebrow { color: var(--cyan); font: 500 12px/1.6 "IBM Plex Mono", monospace; letter-spacing: .16em; text-transform: uppercase; }
.lead { max-width: 720px; color: var(--text-body); font-size: 16px; line-height: 1.85; }

.btn { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 10px; padding: 0 22px; border: 1px solid rgba(103,228,214,.46); border-radius: 13px; background: rgba(36, 126, 139, .24); color: var(--text); font-weight: 600; letter-spacing: .02em; box-shadow: inset 0 0 18px rgba(103,228,214,.06); }
.btn.primary { background: linear-gradient(180deg, rgba(65,171,178,.48), rgba(16,75,86,.68)); box-shadow: inset 0 0 20px rgba(103,228,214,.16), 0 10px 30px rgba(26,130,139,.2); }
.btn.gold { border-color: rgba(242,190,114,.52); background: linear-gradient(180deg, rgba(170,112,45,.54), rgba(73,42,14,.82)); color: #fff5dc; box-shadow: inset 0 0 20px rgba(242,190,114,.15), 0 12px 34px rgba(167,102,32,.18); }
.btn.secondary { border-color: rgba(159,179,176,.34); background: rgba(12,32,43,.82); color: var(--text-body); }
.btn.ghost { border-color: rgba(159,179,176,.26); background: rgba(7,19,29,.72); color: var(--text-body); }
.text-btn { border: 0; background: none; color: var(--muted-strong); padding: 8px 10px; }
.actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 26px; }
.centered { margin-left: auto; margin-right: auto; text-align: center; }

/* Lifeform */
.lifeform { position: relative; display: grid; place-items: center; filter: drop-shadow(0 0 34px rgba(97,208,214,.2)); }
.lifeform.hero { width: 480px; height: 480px; }
.lifeform.large { width: 400px; height: 400px; }
.lifeform.medium { width: 310px; height: 310px; }
.lifeform.small { width: 210px; height: 210px; }
.life-core { position: absolute; z-index: 3; width: 29%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 45% 42%, #fff 0 4%, #ffe8af 8%, #f1b65e 20%, rgba(169,96,49,.74) 36%, rgba(55,35,68,.34) 60%, transparent 72%); box-shadow: 0 0 22px #ffe0a2, 0 0 72px rgba(245,185,109,.75), 0 0 130px rgba(112,190,201,.35); }
.life-core::before, .life-core::after { content:""; position:absolute; inset:-34%; border:1px solid rgba(242,190,114,.34); border-radius:47% 53% 52% 48%; transform:rotate(22deg); }
.life-core::after { inset:-58%; border-color:rgba(103,228,214,.18); transform:rotate(-31deg); }
.life-core span { position:absolute; inset:28%; border:1px solid rgba(255,255,255,.5); border-radius:50%; box-shadow:0 0 18px #fff; }
.orbit { position:absolute; border:1px solid rgba(111,205,216,.2); border-radius:50%; }
.orbit-a{width:64%;height:28%;transform:rotate(18deg)}.orbit-b{width:38%;height:76%;transform:rotate(52deg);border-color:rgba(154,124,255,.2)}.orbit-c{width:82%;height:48%;transform:rotate(-38deg);border-color:rgba(242,190,114,.16)}
.tendril { position:absolute; left:50%; top:49%; width:43%; height:2px; transform-origin:left center; background:linear-gradient(90deg,rgba(255,223,164,.95),rgba(103,228,214,.48),transparent); box-shadow:0 0 10px rgba(103,228,214,.8); border-radius:50%; }
.tendril::before,.tendril::after{content:"";position:absolute;height:1px;width:48%;left:35%;top:-9px;background:linear-gradient(90deg,rgba(103,228,214,.55),transparent);transform:rotate(-23deg);transform-origin:left}.tendril::after{top:9px;transform:rotate(25deg);background:linear-gradient(90deg,rgba(154,124,255,.5),transparent)}
.t1{transform:rotate(-5deg)}.t2{transform:rotate(52deg)}.t3{transform:rotate(111deg)}.t4{transform:rotate(174deg)}.t5{transform:rotate(228deg)}.t6{transform:rotate(304deg)}
.lifeform.awakening .life-core,.lifeform.growth .life-core{box-shadow:0 0 28px #fff3cc,0 0 100px rgba(242,190,114,.92),0 0 180px rgba(103,228,214,.48)}

/* Cover */
.cover-screen { display: grid; grid-template-columns: 55% 45%; align-items: center; padding: 72px 98px; }
.cover-copy { position: relative; z-index: 4; }
.cover-copy h1 { margin: 22px 0; font-size: 54px; line-height: 1.28; letter-spacing: -.04em; }
.cover-copy h1 em { color: #f1d4a2; font-style: normal; text-shadow: 0 0 34px rgba(242,190,114,.25); }
.cover-copy > p { max-width: 660px; color: var(--text-body); font-size: 19px; line-height: 1.9; }
.cover-actions { display:flex; gap:16px; margin-top:38px; }
.cover-meta { display:flex; gap:26px; margin-top:52px; color:var(--muted); font-size:12px; }
.cover-meta span { padding-left:14px; border-left:1px solid rgba(103,228,214,.28); }
.cover-life { position:relative; z-index:2; display:grid; place-items:center; }
.life-caption { position:absolute; right:15px; bottom:62px; display:flex; flex-direction:column; padding:14px 18px; border:1px solid rgba(103,228,214,.2); border-radius:12px; background:rgba(3,12,19,.66); backdrop-filter:blur(12px); }
.life-caption span { color:var(--muted); font:10px "IBM Plex Mono",monospace; letter-spacing:.12em; }.life-caption b{margin-top:6px;color:var(--gold);font-size:14px}
.cover-ring { position:absolute; right:-90px; top:50%; width:760px; height:760px; border:1px solid rgba(103,228,214,.12); border-radius:50%; transform:translateY(-50%); }
.cover-ring.ring-two { right:24px; width:540px; height:540px; border-color:rgba(154,124,255,.13); }

/* Registration ritual */
.ritual-screen { padding:0 74px 60px; }
.ritual-header { position:relative; z-index:5; height:108px; display:grid; grid-template-columns:240px 1fr 240px; align-items:center; border-bottom:1px solid rgba(103,228,214,.12); }
.secure { justify-self:end; color:var(--muted); font:10px "IBM Plex Mono",monospace; letter-spacing:.08em; }
.ritual-progress { display:flex; justify-content:center; gap:0; }
.ritual-step { position:relative; display:flex; align-items:center; gap:8px; min-width:140px; color:var(--muted); font-size:11px; }
.ritual-step::after { content:""; width:45px; height:1px; margin-left:8px; background:rgba(103,228,214,.14); }.ritual-step:last-child::after{display:none}
.ritual-step span { display:grid; width:24px; height:24px; place-items:center; border:1px solid rgba(145,170,167,.2); border-radius:50%; font:9px "IBM Plex Mono",monospace; }
.ritual-step.is-on { color:#d5e8e5; }.ritual-step.is-on span { color:var(--cyan); border-color:rgba(103,228,214,.48); box-shadow:0 0 16px rgba(103,228,214,.14); }
.ritual-grid { position:relative; z-index:3; display:grid; grid-template-columns:minmax(0, 1.35fr) minmax(390px,.65fr); gap:74px; min-height:760px; align-items:center; }
.ritual-main { padding:56px 18px 40px 40px; }
.ritual-main h2 { margin:14px 0 10px; font-size:38px; line-height:1.35; }
.ritual-aside { position:relative; min-height:610px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-left:1px solid rgba(103,228,214,.13); }
.ritual-aside::before { content:""; position:absolute; width:460px; height:460px; border:1px solid rgba(103,228,214,.09); border-radius:50%; }
.aside-copy { position:relative; z-index:3; width:350px; margin-top:10px; padding:20px 22px; border:1px solid rgba(103,228,214,.14); border-radius:14px; background:rgba(3,13,20,.72); backdrop-filter:blur(12px); }
.aside-copy > span { color:var(--cyan); font:10px "IBM Plex Mono",monospace; letter-spacing:.12em; }.aside-copy h3{margin:10px 0;font-size:17px;line-height:1.6}.aside-copy p{margin:0;color:var(--text-body);font-size:12px;line-height:1.7}

.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:30px; }
.form-grid label, .beacon-form label { display:flex; flex-direction:column; gap:8px; color:var(--muted-strong); font-size:12px; }
.form-grid label.wide { grid-column:1/-1; }
input, textarea { width:100%; border:1px solid rgba(103,228,214,.28); border-radius:12px; outline:0; background:rgba(12,32,43,.92); color:var(--text-body); box-shadow:inset 0 0 20px rgba(103,228,214,.03); }
input { height:48px; padding:0 15px; } textarea { min-height:112px; resize:none; padding:14px 15px; line-height:1.75; }
.profile-form { gap:12px 16px; margin-top:24px; }
.profile-form input, .profile-form select { height:42px; }
.profile-form textarea { min-height:76px; }
.profile-form select { width:100%; padding:0 13px; border:1px solid rgba(103,228,214,.28); border-radius:12px; outline:0; background:rgba(12,32,43,.92); color:var(--text-body); }
.field-private { margin-left:5px; color:var(--muted); font-size:9px; font-style:normal; font-weight:400; }
.profile-use { display:flex; gap:11px; align-items:flex-start; margin-top:14px; padding:12px 15px; border-left:2px solid var(--cyan); background:rgba(22,83,91,.16); color:var(--text-body); font-size:11px; line-height:1.6; }
.profile-use .icon { width:17px; height:17px; color:var(--cyan); }
.profile-use span { flex:0 0 auto; color:var(--cyan); font-weight:600; }
.profile-use p { margin:0; }
.profile-recycle-bin { margin-top:12px; padding:12px 0; border-top:1px solid rgba(103,228,214,.18); border-bottom:1px solid rgba(103,228,214,.12); }
.profile-recycle-bin > header { display:grid; grid-template-columns:34px minmax(0,1fr) 32px; align-items:center; gap:11px; }
.profile-recycle-bin > header > span { display:grid; width:32px; height:32px; place-items:center; border:1px solid rgba(103,228,214,.3); border-radius:50%; color:var(--cyan); font-size:17px; }
.profile-recycle-bin > header > div { min-width:0; }
.profile-recycle-bin h3 { margin:0; color:var(--text); font-size:13px; }
.profile-recycle-bin header p { margin:3px 0 0; color:var(--muted); font-size:9px; line-height:1.5; }
.profile-recycle-bin header strong { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; background:rgba(103,228,214,.12); color:var(--cyan); font:11px "IBM Plex Mono",monospace; }
.profile-recycle-list { display:grid; gap:7px; margin-top:10px; }
.profile-recycle-item { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 10px; border:1px solid rgba(145,170,167,.14); border-radius:8px; background:rgba(8,31,42,.42); }
.profile-recycle-item > div { display:grid; gap:3px; min-width:0; }
.profile-recycle-item b { overflow:hidden; color:var(--text-body); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.profile-recycle-item small { color:var(--muted); font-size:9px; }
.profile-recycle-item button { flex:0 0 auto; min-height:34px; padding:0 12px; border:1px solid rgba(103,228,214,.32); border-radius:7px; background:rgba(17,75,82,.38); color:#d3f4ef; font-size:10px; cursor:pointer; }
.profile-recycle-item button:hover, .profile-recycle-item button:focus-visible { border-color:var(--cyan); background:rgba(27,113,112,.54); }
.profile-recycle-empty { margin:10px 0 0; color:var(--muted); font-size:10px; }
.profile-recycle-status { min-height:1.4em; margin:7px 0 0; color:var(--cyan); font-size:9px; }
.profile-recycle-status.is-error { color:#ffad92; }
html[data-screen="register"], html[data-screen="register"] body, html[data-screen="register"] #app { height:auto; min-height:100%; }
html[data-screen="register"] body { overflow-x:hidden; overflow-y:auto; }
html[data-screen="register"] .screen { width:100%; height:auto; min-height:100vh; overflow:visible; }
.privacy-note { display:flex; gap:12px; margin-top:18px; padding:15px 17px; border:1px solid rgba(93,168,255,.26); border-radius:12px; background:rgba(24,56,81,.24); color:var(--muted-strong); font-size:12px; line-height:1.6; }.privacy-note b{color:var(--text-body)}

html[data-screen="register"] .ritual-main { padding-top:30px; padding-bottom:12px; }
html[data-screen="question"], html[data-screen="question"] body,
html[data-screen="dna"], html[data-screen="dna"] body,
html[data-screen="awakening"], html[data-screen="awakening"] body,
html[data-screen="key"], html[data-screen="key"] body { height:auto; min-height:100%; overflow-x:hidden; overflow-y:auto; }
html[data-screen="question"] .screen, html[data-screen="dna"] .screen,
html[data-screen="awakening"] .screen, html[data-screen="key"] .screen { height:auto; min-height:100vh; overflow:visible; }
html[data-screen="register"] .ritual-main h2 { margin:8px 0 5px; font-size:34px; }
html[data-screen="register"] .ritual-main .lead { margin:0; font-size:14px; line-height:1.65; }
html[data-screen="register"] .profile-form { gap:8px 16px; margin-top:16px; }
html[data-screen="register"] .profile-form label { gap:4px; font-size:11px; }
html[data-screen="register"] .profile-form input,
html[data-screen="register"] .profile-form select { height:38px; }
html[data-screen="register"] .profile-form textarea { min-height:60px; padding-top:10px; padding-bottom:10px; }
html[data-screen="register"] .profile-use { margin-top:10px; padding:8px 12px; font-size:10px; line-height:1.45; }
html[data-screen="register"] .privacy-note { margin-top:8px; padding:9px 12px; font-size:10px; line-height:1.45; }
html[data-screen="register"] .privacy-note .icon { width:16px; height:16px; }
html[data-screen="register"] .actions { margin-top:12px; }
html[data-screen="register"] .actions .btn { min-height:42px; }

.option-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:30px; }
.option { position:relative; display:grid; grid-template-columns:34px 1fr; gap:3px 12px; min-height:104px; padding:17px; text-align:left; border:1px solid rgba(159,179,176,.24); border-radius:14px; background:rgba(12,32,43,.86); }
.option > span { grid-row:1/3; display:grid; width:30px; height:30px; place-items:center; border:1px solid rgba(159,179,176,.3); border-radius:50%; color:var(--muted); font:10px "IBM Plex Mono",monospace; }.option b{font-size:14px}.option small{color:var(--muted);font-size:11px}.option > .icon{position:absolute;right:14px;top:14px;color:var(--cyan);opacity:0}.option.is-selected{border-color:rgba(103,228,214,.56);background:linear-gradient(135deg,rgba(28,94,104,.38),rgba(12,32,43,.94));box-shadow:inset 0 0 26px rgba(103,228,214,.08),0 0 20px rgba(103,228,214,.05)}.option.is-selected>span{color:var(--cyan);border-color:rgba(103,228,214,.56)}.option.is-selected>.icon{opacity:1}
.question-foot { display:flex; align-items:center; gap:12px; margin-top:26px; }.question-foot .btn{margin-left:auto}
.question-meter{position:relative;height:5px;margin:20px 0 8px;border-radius:999px;background:rgba(159,179,176,.14)}.question-meter i{display:block;width:var(--v);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--cyan),var(--blue));box-shadow:0 0 12px rgba(103,228,214,.32)}.question-meter span{position:absolute;right:0;top:-20px;color:var(--muted);font:9px "IBM Plex Mono",monospace}.question-next.is-disabled{pointer-events:none;opacity:.42;filter:saturate(.45)}
.dna-viz { position:relative; z-index:2; display:flex; align-items:center; gap:18px; }
.dna-bars { width:190px; display:flex; flex-direction:column; gap:16px; }.dna-bars span{position:relative;height:24px;border-bottom:2px solid rgba(103,228,214,.08)}.dna-bars span::after{content:"";position:absolute;left:0;bottom:-2px;width:var(--v);height:2px;background:linear-gradient(90deg,var(--cyan),var(--violet));box-shadow:0 0 8px rgba(103,228,214,.5)}.dna-bars b{color:var(--muted);font-size:10px;font-weight:500}

.dna-review { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:28px; }.dna-card{min-height:255px;padding:22px;border:1px solid rgba(103,228,214,.24);border-radius:15px;background:rgba(12,32,43,.88)}.dna-card.inference{border-color:rgba(154,124,255,.3)}.dna-card header{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--text);font-size:13px}.dna-card header b{color:var(--cyan);font:10px "IBM Plex Mono",monospace}.dna-card.inference header b{color:var(--violet)}.dna-card-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}.dna-card-header-actions .text-btn{margin:0;padding:4px 0;color:var(--cyan);font-size:10px;white-space:nowrap}.dna-card ul{display:flex;flex-direction:column;gap:13px;margin:20px 0 0;padding:0;list-style:none;color:var(--text-body);font-size:12px;line-height:1.55}.dna-card li::before{content:"✦";margin-right:9px;color:var(--cyan)}.dna-card.inference li::before{color:var(--violet)}
.dna-primary-action { display:grid; grid-template-columns:1fr auto auto; gap:20px; align-items:center; margin-top:22px; padding:16px 18px; border:1px solid rgba(242,190,114,.36); border-radius:14px; background:linear-gradient(90deg,rgba(92,60,24,.38),rgba(12,32,43,.84)); box-shadow:inset 0 0 28px rgba(242,190,114,.05); }
.dna-primary-action span { color:var(--gold); font:10px "IBM Plex Mono",monospace; letter-spacing:.12em; }
.dna-primary-action p { margin:5px 0 0; color:var(--text-body); font-size:11px; line-height:1.55; }
.dna-primary-action label { display:flex; align-items:center; gap:7px; color:var(--muted-strong); font-size:10px; white-space:nowrap; }
.dna-primary-action input { width:auto; height:auto; margin:0; }
.dna-primary-action .btn { min-height:44px; white-space:nowrap; }
.dna-revoke-note { margin:10px 0 0; color:var(--muted); font-size:10px; text-align:right; }
.consent-row{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding:13px 16px;border:1px solid rgba(103,228,214,.12);border-radius:10px;color:#b5c8c5;font-size:12px}.consent-row input{width:auto;height:auto;margin-right:8px}.consent-row>span{color:#6e8582}
.inference-list li{display:grid;grid-template-columns:1fr auto;gap:4px 12px}.inference-list li::before{grid-row:1/3}.inference-list li b{color:var(--text);font-size:12px}.inference-list li span{grid-column:1/2;color:var(--text-body);font-size:10px}.inference-list li em{grid-column:2;grid-row:1/3;align-self:center;color:var(--violet);font:normal 9px "IBM Plex Mono",monospace}.inference-evidence{margin-top:14px;padding:15px 18px;border:1px solid rgba(154,124,255,.22);border-radius:12px;background:rgba(49,35,81,.13)}.inference-evidence header{display:flex;justify-content:space-between;margin-bottom:8px;color:var(--text-body);font-size:11px}.inference-evidence header b{color:var(--violet);font:9px "IBM Plex Mono",monospace}.inference-evidence details{border-top:1px solid rgba(159,179,176,.12);padding:8px 0;color:var(--muted-strong);font-size:10px}.inference-evidence summary{cursor:pointer;color:var(--text-body)}.inference-evidence p{margin:7px 0;color:var(--muted);line-height:1.6}.inference-evidence>.text-btn{display:inline-block;margin-top:4px}
.profile-facts { gap:7px !important; margin-top:15px !important; }
.profile-facts li { display:grid; grid-template-columns:105px 1fr; gap:8px; align-items:baseline; }
.profile-facts li::before { display:none; }
.profile-facts li b { color:var(--muted); font-size:10px; font-weight:500; }
.profile-facts li span { color:var(--text-body); font-size:11px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dna-card.confirmed > .text-btn { margin-top:12px; padding-left:0; color:var(--cyan); font-size:10px; }
.inference-note { margin:14px 0 0; color:var(--muted); font-size:10px; line-height:1.55; }
.dna-helix{position:relative;z-index:2;width:190px;height:350px}.dna-helix::before,.dna-helix::after{content:"";position:absolute;left:50%;top:0;width:66px;height:100%;border-left:2px solid rgba(103,228,214,.58);border-right:2px solid rgba(154,124,255,.58);border-radius:50%;transform:translateX(-50%) rotate(14deg);box-shadow:0 0 20px rgba(103,228,214,.1)}.dna-helix::after{transform:translateX(-50%) rotate(-14deg)}.dna-helix i{position:absolute;left:42px;right:42px;height:1px;background:linear-gradient(90deg,var(--cyan),var(--violet));opacity:.55}.dna-helix i:nth-child(1){top:10%}.dna-helix i:nth-child(2){top:25%}.dna-helix i:nth-child(3){top:40%}.dna-helix i:nth-child(4){top:55%}.dna-helix i:nth-child(5){top:70%}.dna-helix i:nth-child(6){top:85%}

/* Awakening and key */
.minimal-header { position:relative; z-index:6; height:88px; display:flex; align-items:center; justify-content:space-between; padding:0 72px; border-bottom:1px solid rgba(103,228,214,.16); color:var(--muted); font:10px "IBM Plex Mono",monospace; letter-spacing:.1em; }
.awakening-screen { min-height:800px; }
.awakening-screen .minimal-header { position:absolute; left:0; right:0; top:0; }
.awakening-ritual {
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(420px, .95fr) minmax(560px, 1.05fr);
  gap:clamp(36px, 5vw, 96px);
  align-items:center;
  width:min(1440px, calc(100% - 96px));
  min-height:calc(100vh - 88px);
  min-height:712px;
  margin:88px auto 0;
  padding:42px 0 58px;
}
.awakening-stage {
  position:relative;
  display:grid;
  min-height:610px;
  place-items:center;
  isolation:isolate;
}
.awakening-stage::before {
  content:"";
  position:absolute;
  width:min(38vw, 510px);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle, rgba(242,190,114,.17) 0 2%, rgba(103,228,214,.09) 18%, rgba(93,168,255,.045) 44%, transparent 70%);
  filter:blur(2px);
  animation:stage-breath 5.8s ease-in-out infinite;
}
.awakening-stage::after {
  content:"";
  position:absolute;
  width:min(35vw, 470px);
  height:min(35vw, 470px);
  border:1px solid rgba(103,228,214,.1);
  border-radius:48% 52% 51% 49%;
  box-shadow:inset 0 0 70px rgba(103,228,214,.04), 0 0 80px rgba(103,228,214,.04);
  animation:stage-drift 22s linear infinite;
}
.awakening-stage .lifeform { --lifeform-scale:clamp(.78, 2vw, 1); position:relative; z-index:3; transform:scale(var(--lifeform-scale)); animation:lifeform-breathe 3.6s ease-in-out infinite; }
.awakening-stage .life-core { animation:core-breathe 1.8s ease-in-out infinite; }
.stage-orbit { position:absolute; z-index:1; border:1px solid rgba(103,228,214,.16); border-radius:50%; pointer-events:none; }
.stage-orbit.orbit-one { width:min(38vw, 500px); height:min(15vw, 202px); transform:rotate(-24deg); animation:orbit-turn 18s linear infinite; }
.stage-orbit.orbit-two { width:min(26vw, 350px); height:min(38vw, 500px); border-color:rgba(154,124,255,.16); transform:rotate(31deg); animation:orbit-turn 23s linear infinite reverse; }
.stage-orbit.orbit-three { width:min(45vw, 590px); height:min(28vw, 370px); border-color:rgba(242,190,114,.13); transform:rotate(45deg); animation:orbit-turn 28s linear infinite; }
.ritual-motes { position:absolute; z-index:4; inset:12%; pointer-events:none; }
.ritual-motes i { position:absolute; width:4px; height:4px; border-radius:50%; background:var(--cyan); box-shadow:0 0 14px var(--cyan); animation:mote-float 4.8s ease-in-out infinite; }
.ritual-motes i:nth-child(1){left:14%;top:26%;animation-delay:-.5s}.ritual-motes i:nth-child(2){left:72%;top:15%;width:3px;height:3px;animation-delay:-2.3s}.ritual-motes i:nth-child(3){left:84%;top:56%;background:var(--gold);box-shadow:0 0 14px var(--gold);animation-delay:-1.2s}.ritual-motes i:nth-child(4){left:23%;top:77%;width:2px;height:2px;animation-delay:-3.6s}.ritual-motes i:nth-child(5){left:61%;top:82%;background:var(--gold);box-shadow:0 0 14px var(--gold);animation-delay:-.8s}.ritual-motes i:nth-child(6){left:47%;top:8%;width:2px;height:2px;animation-delay:-2.8s}
.stage-caption { position:absolute; z-index:5; left:50%; bottom:24px; width:min(100%, 360px); max-width:90%; transform:translateX(-50%); display:grid; gap:7px; text-align:center; }
.stage-caption span { color:var(--cyan); font:9px "IBM Plex Mono",monospace; letter-spacing:.17em; }
.stage-caption b { color:var(--muted-strong); font-size:12px; font-weight:500; }

.ideal-altar {
  position:relative;
  z-index:6;
  width:100%;
  max-width:720px;
  justify-self:end;
  padding:clamp(30px, 3.2vw, 48px);
  border:1px solid rgba(242,190,114,.44);
  border-radius:8px;
  background:
    linear-gradient(120deg, rgba(111,67,22,.18), transparent 42%),
    radial-gradient(circle at 80% 0, rgba(103,228,214,.11), transparent 33%),
    rgba(5,16,24,.91);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025), inset 0 0 70px rgba(242,190,114,.045), 0 34px 85px rgba(0,0,0,.44), 0 0 54px rgba(242,190,114,.07);
  overflow:hidden;
}
.ideal-altar::before { content:""; position:absolute; inset:13px; border:1px solid rgba(103,228,214,.12); clip-path:polygon(0 0, 32px 0, 43px 11px, calc(100% - 43px) 11px, calc(100% - 32px) 0, 100% 0, 100% 32px, calc(100% - 11px) 43px, calc(100% - 11px) calc(100% - 43px), 100% calc(100% - 32px), 100% 100%, calc(100% - 32px) 100%, calc(100% - 43px) calc(100% - 11px), 43px calc(100% - 11px), 32px 100%, 0 100%, 0 calc(100% - 32px), 11px calc(100% - 43px), 11px 43px, 0 32px); pointer-events:none; }
.ideal-altar::after { content:""; position:absolute; left:-15%; right:-15%; top:-115%; height:155px; background:linear-gradient(180deg, transparent, rgba(103,228,214,.11), transparent); transform:rotate(14deg); animation:altar-scan 8s linear infinite; pointer-events:none; }
.altar-corners { position:absolute; inset:0; pointer-events:none; background:linear-gradient(var(--gold),var(--gold)) 0 0/42px 2px no-repeat, linear-gradient(var(--gold),var(--gold)) 0 0/2px 42px no-repeat, linear-gradient(var(--gold),var(--gold)) 100% 0/42px 2px no-repeat, linear-gradient(var(--gold),var(--gold)) 100% 0/2px 42px no-repeat, linear-gradient(var(--gold),var(--gold)) 0 100%/42px 2px no-repeat, linear-gradient(var(--gold),var(--gold)) 0 100%/2px 42px no-repeat, linear-gradient(var(--gold),var(--gold)) 100% 100%/42px 2px no-repeat, linear-gradient(var(--gold),var(--gold)) 100% 100%/2px 42px no-repeat; opacity:.76; }
.ideal-altar > * { position:relative; z-index:1; }
.ideal-altar .eyebrow { color:#efd49e; font-size:10px; }
.ideal-altar h1 { max-width:500px; margin:17px 0 14px; color:var(--text); font-size:clamp(36px, 3.25vw, 52px); line-height:1.2; font-weight:650; letter-spacing:0; }
.ideal-altar h1 em { display:inline-block; color:#ffe2a7; font-style:normal; text-shadow:0 0 28px rgba(242,190,114,.32); }
.altar-lead { max-width:520px; margin:0; color:var(--text-body); font-size:14px; line-height:1.8; }
.ideal-field { display:flex; flex-direction:column; gap:9px; margin-top:28px; }
.ideal-field > span { display:flex; align-items:center; gap:10px; color:#fff0cb; font-size:13px; font-weight:600; }
.ideal-field > span::after { content:"PRIVATE / EDITABLE"; color:var(--muted); font:9px "IBM Plex Mono",monospace; font-weight:400; letter-spacing:.1em; }
.ideal-field textarea { min-height:170px; padding:20px 21px; border:1px solid rgba(242,190,114,.58); border-radius:6px; background:linear-gradient(135deg, rgba(99,61,23,.28), rgba(12,32,43,.85)); color:var(--text); font-size:16px; line-height:1.8; box-shadow:inset 0 0 34px rgba(242,190,114,.065), 0 0 0 1px rgba(103,228,214,.08); transition:border-color .25s ease, box-shadow .25s ease, background .25s ease; }
.ideal-field textarea::placeholder { color:#9da9a0; opacity:1; }
.ideal-field textarea:focus { border-color:var(--gold); background:linear-gradient(135deg, rgba(113,69,25,.4), rgba(12,43,51,.94)); box-shadow:inset 0 0 42px rgba(242,190,114,.1), 0 0 0 3px rgba(242,190,114,.09), 0 0 34px rgba(242,190,114,.08); }
.ideal-field small { display:flex; align-items:center; gap:6px; color:var(--muted-strong); font-size:10px; line-height:1.45; }
.ideal-field small .icon { width:14px; height:14px; color:var(--cyan); }
.injection-console { display:grid; grid-template-columns:1fr auto; gap:16px; align-items:center; margin-top:26px; padding-top:19px; border-top:1px solid rgba(103,228,214,.16); }
.injection-readout { display:grid; gap:6px; }
.injection-readout span { color:var(--muted); font:9px "IBM Plex Mono",monospace; letter-spacing:.12em; }
.injection-readout b { color:var(--cyan); font-size:12px; font-weight:600; }
.injection-trigger { min-width:242px; min-height:56px; border-radius:6px; font-size:13px; transition:transform .25s ease, box-shadow .25s ease, filter .25s ease; }
.injection-trigger:hover { transform:translateY(-2px); box-shadow:inset 0 0 24px rgba(242,190,114,.19), 0 17px 36px rgba(167,102,32,.31), 0 0 28px rgba(242,190,114,.18); }
.injection-trigger .icon { width:18px; height:18px; }
.injection-state { min-height:18px; margin:14px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
.injection-bridge { position:absolute; z-index:5; left:25%; width:41%; top:50%; height:54px; pointer-events:none; opacity:.72; }
.injection-bridge::before { content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:linear-gradient(90deg, rgba(103,228,214,.05), rgba(103,228,214,.37) 38%, rgba(242,190,114,.54) 72%, rgba(242,190,114,.06)); box-shadow:0 0 12px rgba(103,228,214,.22); }
.injection-bridge i { position:absolute; right:0; top:calc(50% - 3px); width:6px; height:6px; border-radius:50%; background:#fff7d7; box-shadow:0 0 15px var(--gold), 0 0 26px var(--cyan); opacity:0; }
.injection-bridge i:nth-child(1){animation:signal-idle 4.8s linear infinite}.injection-bridge i:nth-child(2){animation:signal-idle 4.8s 1s linear infinite}.injection-bridge i:nth-child(3){animation:signal-idle 4.8s 2s linear infinite}.injection-bridge i:nth-child(4){animation:signal-idle 4.8s 3s linear infinite}.injection-bridge i:nth-child(5){animation:signal-idle 4.8s 4s linear infinite}
.injection-overlay { position:absolute; z-index:11; inset:0; display:grid; place-content:center; justify-items:center; gap:13px; padding:24px; text-align:center; background:radial-gradient(circle at 32% 50%, rgba(242,190,114,.13), transparent 20%), rgba(4,13,20,0); opacity:0; pointer-events:none; transition:opacity .45s ease, background .45s ease; }
.injection-core { display:grid; width:92px; height:92px; place-items:center; border:1px solid rgba(242,190,114,.78); border-radius:50%; color:#fff5d7; background:radial-gradient(circle, rgba(255,255,255,.75) 0 4%, rgba(242,190,114,.56) 18%, rgba(103,228,214,.24) 48%, transparent 70%); box-shadow:0 0 46px rgba(242,190,114,.62), 0 0 96px rgba(103,228,214,.3); transform:scale(.45); }
.injection-core .icon { width:38px; height:38px; }
.injection-overlay > span { color:#d9f3ed; font:10px "IBM Plex Mono",monospace; letter-spacing:.16em; opacity:0; transform:translateY(8px); }
.injection-overlay > b { color:#fff1ca; font-size:clamp(20px, 2.2vw, 30px); font-weight:600; opacity:0; transform:translateY(8px); }
.awakening-ritual.is-injecting .ideal-altar { animation:altar-resolve .65s ease forwards; }
.awakening-ritual.is-injecting .ideal-field textarea { color:rgba(242,246,245,.7); border-color:rgba(103,228,214,.58); }
.awakening-ritual.is-injecting .injection-trigger { filter:saturate(.55); transform:none; }
.awakening-ritual.is-injecting .awakening-stage::before { animation:stage-breath .9s ease-in-out infinite; }
.awakening-ritual.is-injecting .awakening-stage .lifeform { animation:lifeform-breathe .9s ease-in-out infinite; }
.awakening-ritual.is-injecting .awakening-stage .life-core { animation:core-injection .9s ease-in-out infinite; }
.awakening-ritual.is-injecting .stage-orbit { border-color:rgba(242,190,114,.52); animation-duration:4s; }
.awakening-ritual.is-injecting .injection-bridge { opacity:1; }
.awakening-ritual.is-injecting .injection-bridge::before { height:2px; background:linear-gradient(90deg, rgba(103,228,214,.76), #fff3c7 46%, rgba(242,190,114,.9)); box-shadow:0 0 18px var(--cyan), 0 0 30px var(--gold); }
.awakening-ritual.is-injecting .injection-bridge i { animation:signal-inject .95s linear infinite; }
.awakening-ritual.is-injecting .injection-bridge i:nth-child(2){animation-delay:.18s}.awakening-ritual.is-injecting .injection-bridge i:nth-child(3){animation-delay:.36s}.awakening-ritual.is-injecting .injection-bridge i:nth-child(4){animation-delay:.54s}.awakening-ritual.is-injecting .injection-bridge i:nth-child(5){animation-delay:.72s}
.awakening-ritual.is-injecting .injection-overlay { opacity:1; background:radial-gradient(circle at 32% 50%, rgba(242,190,114,.18), transparent 22%), rgba(4,13,20,.35); }
.awakening-ritual.is-injecting .injection-core { animation:injection-core .95s .2s ease-in-out infinite alternate; }
.awakening-ritual.is-injecting .injection-overlay > span { animation:overlay-rise .45s .18s ease forwards; }
.awakening-ritual.is-injecting .injection-overlay > b { animation:overlay-rise .45s .36s ease forwards; }
@keyframes stage-breath { 0%,100%{transform:scale(.94);opacity:.68}50%{transform:scale(1.08);opacity:1} }
@keyframes stage-drift { to{transform:rotate(360deg)} }
@keyframes orbit-turn { to{transform:rotate(360deg)} }
@keyframes lifeform-breathe { 0%,100%{transform:scale(calc(var(--lifeform-scale, 1) * .94))}50%{transform:scale(calc(var(--lifeform-scale, 1) * 1.035))} }
@keyframes core-breathe { 0%,100%{transform:scale(.92);filter:brightness(.9)}50%{transform:scale(1.09);filter:brightness(1.22)} }
@keyframes core-injection { 0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.42);filter:brightness(1.7)} }
@keyframes mote-float { 0%,100%{transform:translate3d(0,0,0);opacity:.32}50%{transform:translate3d(9px,-16px,0);opacity:1} }
@keyframes altar-scan { to{transform:translateY(820px) rotate(14deg)} }
@keyframes signal-idle { 0%,67%,100%{transform:translateX(0);opacity:0}72%{opacity:.85}88%{transform:translateX(-100%);opacity:.25} }
@keyframes signal-inject { 0%{transform:translateX(0) scale(.7);opacity:0}10%{opacity:1}85%{opacity:1}100%{transform:translateX(-100%) scale(1.15);opacity:0} }
@keyframes altar-resolve { to{filter:brightness(.72) saturate(.72);transform:scale(.985)} }
@keyframes injection-core { from{transform:scale(.78);filter:brightness(1)}to{transform:scale(1.24);filter:brightness(1.6)} }
@keyframes overlay-rise { to{opacity:1;transform:translateY(0)} }
.key-object{position:relative;width:190px;height:190px;margin:0 auto 18px;display:grid;place-items:center}.key-object .key-icon{position:relative;z-index:2;width:76px;height:76px;color:var(--gold);filter:drop-shadow(0 0 18px rgba(242,190,114,.7))}.key-halo{position:absolute;inset:0;border:1px solid rgba(242,190,114,.3);border-radius:50%;box-shadow:inset 0 0 44px rgba(242,190,114,.08),0 0 60px rgba(242,190,114,.12)}
.ritual-main>.key-object~h2{text-align:center}.ritual-main>.key-object~.eyebrow{text-align:center}.key-rights{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px auto;max-width:760px}.key-right{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;min-width:0;padding:13px;border:1px solid rgba(103,228,214,.2);border-radius:10px;background:rgba(12,32,43,.68);color:var(--text-body);font-size:11px;text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.key-right:hover,.key-right:focus-visible{border-color:rgba(103,228,214,.58);background:rgba(27,92,99,.34);transform:translateY(-1px)}.key-right .icon{color:var(--cyan)}.key-right > b{color:var(--muted);font-size:9px;font-weight:500;white-space:nowrap}.key-right-dialog{width:min(520px,calc(100vw - 32px));padding:0;border:1px solid rgba(103,228,214,.36);border-radius:10px;background:#081923;color:var(--text);box-shadow:0 30px 90px rgba(0,0,0,.58)}.key-right-dialog::backdrop{background:rgba(1,7,12,.72);backdrop-filter:blur(5px)}.key-right-dialog article{padding:24px}.key-right-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.key-right-dialog header span{color:var(--cyan);font:9px "IBM Plex Mono",monospace;letter-spacing:.12em}.key-right-dialog h2{margin:7px 0 0;font-size:20px;line-height:1.45}.key-right-dialog header button{width:32px;height:32px;border:0;background:transparent;color:var(--muted-strong);font-size:24px;cursor:pointer}.key-right-dialog p{margin:18px 0 0;color:var(--text-body);font-size:13px;line-height:1.8}
.key-code{position:relative;z-index:2;width:min(360px,100%);padding:24px;border:1px solid rgba(242,190,114,.22);border-radius:16px;background:rgba(13,17,22,.76);box-shadow:inset 0 0 35px rgba(242,190,114,.04)}.key-code-heading{display:grid;gap:7px;padding-bottom:15px;border-bottom:1px solid rgba(242,190,114,.16)}.key-code-heading span{color:var(--gold);font-size:13px;font-weight:600}.key-code-heading b{color:var(--muted);font-size:10px;font-weight:400;line-height:1.5}.key-code dl{display:grid;gap:14px;margin:0}.key-code dl div{display:grid;gap:4px}.key-code dt{color:#718984;font:9px "IBM Plex Mono",monospace;letter-spacing:.12em}.key-code dd{margin:0;color:#e9d6ad;font:15px "IBM Plex Mono",monospace}.key-code small{color:var(--muted);font-size:9px;line-height:1.5}.key-code dd.ok{color:var(--cyan);font-family:inherit;font-size:14px}.key-code > p{margin:18px 0 0;color:var(--muted);font-size:10px;line-height:1.6}
.boarding-console { display:grid; grid-template-columns:1fr auto; gap:26px; align-items:center; max-width:760px; margin:28px auto 0; padding:22px 24px; border:1px solid rgba(242,190,114,.46); border-radius:9px; background:linear-gradient(90deg, rgba(101,61,20,.28), rgba(12,32,43,.84)); box-shadow:inset 0 0 30px rgba(242,190,114,.07), 0 12px 34px rgba(0,0,0,.16); }
.boarding-console > div { display:grid; gap:9px; }.boarding-console span { color:var(--muted-strong); font:11px "IBM Plex Mono",monospace; letter-spacing:.13em; }.boarding-console b { color:var(--cyan); font-size:18px; font-weight:650; }.boarding-trigger { min-width:294px; min-height:70px; border-radius:6px; font-size:16px; }.boarding-trigger .icon { width:23px; height:23px; }.boarding-state { min-height:22px; max-width:760px; margin:14px auto 0; color:var(--muted-strong); text-align:center; font-size:14px; line-height:1.55; }
.boarding-ritual { position:fixed; z-index:20; inset:0; display:grid; place-content:center; justify-items:center; gap:30px; overflow:hidden; background:radial-gradient(circle at 50% 50%, rgba(29,103,118,0), rgba(3,11,18,0) 56%); opacity:0; pointer-events:none; transition:opacity .35s ease, background .35s ease; }
.boarding-window { position:relative; display:grid; width:min(42vw, 520px); min-width:330px; aspect-ratio:1; place-items:center; border:10px solid rgba(16,42,55,.86); border-radius:50%; background:radial-gradient(circle, rgba(255,243,201,.95) 0 2%, rgba(242,190,114,.55) 7%, rgba(103,228,214,.28) 17%, rgba(7,24,36,.63) 39%, rgba(2,9,15,.94) 67%); box-shadow:inset 0 0 0 2px rgba(103,228,214,.38), inset 0 0 90px rgba(0,0,0,.88), 0 0 0 1px rgba(242,190,114,.54), 0 0 90px rgba(103,228,214,.18); transform:scale(.62); }
.boarding-window::before { content:""; position:absolute; inset:-28px; border:1px solid rgba(103,228,214,.24); border-radius:50%; box-shadow:0 0 36px rgba(103,228,214,.11); }.boarding-window::after { content:""; position:absolute; inset:34px; border:1px solid rgba(242,190,114,.25); border-radius:50%; }
.window-ring { position:absolute; border:1px solid rgba(103,228,214,.25); border-radius:50%; }.window-ring.ring-a{width:119%;height:44%;transform:rotate(-25deg)}.window-ring.ring-b{width:52%;height:118%;border-color:rgba(154,124,255,.27);transform:rotate(37deg)}.window-ring.ring-c{width:145%;height:82%;border-color:rgba(242,190,114,.19);transform:rotate(47deg)}
.window-shutters { position:absolute; z-index:5; inset:0; overflow:hidden; border-radius:50%; }.window-shutters i { position:absolute; width:56%; height:56%; background:linear-gradient(135deg, #06121b, #0b2631); box-shadow:inset 0 0 28px rgba(103,228,214,.13); transition:transform 1s cubic-bezier(.2,.75,.2,1); }.window-shutters i:nth-child(1){left:0;top:0;transform-origin:0 0;clip-path:polygon(0 0,100% 0,0 100%)}.window-shutters i:nth-child(2){right:0;top:0;transform-origin:100% 0;clip-path:polygon(0 0,100% 0,100% 100%)}.window-shutters i:nth-child(3){left:0;bottom:0;transform-origin:0 100%;clip-path:polygon(0 0,0 100%,100% 100%)}.window-shutters i:nth-child(4){right:0;bottom:0;transform-origin:100% 100%;clip-path:polygon(100% 0,0 100%,100% 100%)}
.window-core { position:relative; z-index:6; display:grid; width:22%; aspect-ratio:1; place-items:center; border:1px solid rgba(255,244,207,.8); border-radius:50%; color:#fff9e5; background:radial-gradient(circle, #fff 0 5%, #ffe5a1 15%, rgba(242,190,114,.68) 39%, rgba(103,228,214,.16) 69%, transparent 72%); box-shadow:0 0 34px var(--gold),0 0 76px var(--cyan); opacity:0; transform:scale(.4); }.window-core .icon{width:38%;height:38%}
.boarding-readout { position:relative; z-index:6; display:grid; justify-items:center; gap:9px; text-align:center; opacity:0; transform:translateY(16px); }.boarding-readout span{color:#d7f3ee;font:10px "IBM Plex Mono",monospace;letter-spacing:.16em}.boarding-readout b{color:#fff0c8;font-size:clamp(21px,2.25vw,31px);font-weight:600}.boarding-readout p{margin:0;color:var(--muted-strong);font-size:12px}
.boarding-streaks { position:absolute; inset:0; opacity:0; }.boarding-streaks i { position:absolute; left:50%; top:50%; width:1px; height:var(--h, 44vh); transform-origin:0 0; background:linear-gradient(180deg, rgba(103,228,214,0), rgba(103,228,214,.66), rgba(242,190,114,.2), transparent); box-shadow:0 0 8px var(--cyan); }.boarding-streaks i:nth-child(1){--h:76vh;transform:rotate(4deg)}.boarding-streaks i:nth-child(2){--h:63vh;transform:rotate(49deg)}.boarding-streaks i:nth-child(3){--h:72vh;transform:rotate(101deg)}.boarding-streaks i:nth-child(4){--h:70vh;transform:rotate(152deg)}.boarding-streaks i:nth-child(5){--h:80vh;transform:rotate(211deg)}.boarding-streaks i:nth-child(6){--h:61vh;transform:rotate(273deg)}.boarding-streaks i:nth-child(7){--h:75vh;transform:rotate(321deg)}
.ritual-screen.is-boarding .ritual-header, .ritual-screen.is-boarding .ritual-grid { filter:brightness(.48) saturate(.7); transform:scale(.985); transition:filter .45s ease, transform .45s ease; }.ritual-screen.is-boarding .boarding-ritual { opacity:1; background:radial-gradient(circle at 50% 50%, rgba(36,111,127,.2), rgba(3,11,18,.87) 57%); }.ritual-screen.is-boarding .boarding-window { animation:boarding-window-enter .8s .12s cubic-bezier(.16,.9,.22,1) both; }.ritual-screen.is-boarding .boarding-streaks { animation:boarding-streaks .82s 1.3s ease-out both; }.ritual-screen.is-boarding .window-shutters i:nth-child(1){transform:translate(-89%,-89%)}.ritual-screen.is-boarding .window-shutters i:nth-child(2){transform:translate(89%,-89%)}.ritual-screen.is-boarding .window-shutters i:nth-child(3){transform:translate(-89%,89%)}.ritual-screen.is-boarding .window-shutters i:nth-child(4){transform:translate(89%,89%)}.ritual-screen.is-boarding .window-core{animation:boarding-core .9s 1.03s ease-in-out both}.ritual-screen.is-boarding .window-ring{animation:boarding-ring 4.2s 1s linear infinite}.ritual-screen.is-boarding .ring-b{animation-direction:reverse}.ritual-screen.is-boarding .ring-c{animation-duration:5.6s}.ritual-screen.is-boarding .boarding-readout{animation:boarding-readout .5s 1.35s ease forwards}
@keyframes boarding-window-enter{from{transform:scale(.62);filter:brightness(.6)}to{transform:scale(1);filter:brightness(1)}}@keyframes boarding-streaks{0%{opacity:0;transform:scale(.48)}35%{opacity:1}100%{opacity:.18;transform:scale(1.5)}}@keyframes boarding-core{0%{opacity:0;transform:scale(.4)}65%{opacity:1;transform:scale(1.25)}100%{opacity:1;transform:scale(1)}}@keyframes boarding-ring{to{transform:rotate(360deg)}}@keyframes boarding-readout{to{opacity:1;transform:translateY(0)}}

/* Home runtime fallback: the formal cockpit module replaces this immediately. */
.home-screen { display:grid; place-items:center; background:#000; }
.home-runtime-status { color:rgba(160,190,188,.7); font:11px "IBM Plex Mono",monospace; letter-spacing:.08em; }
.module-loading-screen { display:grid; place-items:center; background:var(--space); }
.module-loading-label { color:var(--muted); font:10px/1.5 "IBM Plex Mono",Consolas,monospace; letter-spacing:.1em; }

/* Cockpit atom */
.cockpit-screen { padding:0 46px; }.cockpit-arch{position:absolute;left:110px;right:100px;top:-60px;bottom:65px;border:34px solid rgba(14,34,46,.84);border-radius:48% 48% 20% 20%;box-shadow:inset 0 0 0 3px rgba(93,168,255,.15),inset 0 -40px 80px rgba(0,0,0,.6),0 0 70px #000;pointer-events:none}
.cockpit-top{position:relative;z-index:8;height:104px;display:grid;grid-template-columns:240px 1fr 240px;align-items:center}.command-bar{justify-self:center;display:flex;padding:8px 12px;border:1px solid rgba(159,179,176,.26);border-radius:24px;background:rgba(7,19,29,.9);box-shadow:var(--shadow)}.command-bar button,.command-bar a{display:flex;align-items:center;gap:9px;padding:10px 26px;border:0;border-right:1px solid rgba(159,179,176,.2);background:none;color:var(--text-body)}.command-bar>*:last-child{border-right:0}.flight-status{justify-self:end;color:var(--muted);font:10px "IBM Plex Mono",monospace}
.cockpit-nav{position:absolute;z-index:7;left:45px;top:120px;bottom:92px;width:138px;display:flex;flex-direction:column;gap:10px;padding:18px 13px;border:1px solid rgba(93,168,255,.22);border-radius:18px;background:rgba(12,32,43,.9);box-shadow:inset 0 0 24px rgba(93,168,255,.04)}.cockpit-nav a{display:flex;align-items:center;gap:8px;padding:13px 11px;border:1px solid rgba(159,179,176,.17);border-radius:9px;color:var(--muted-strong);font-size:11px}.cockpit-nav a.active{color:var(--text);border-color:rgba(103,228,214,.48);background:rgba(23,95,105,.3);box-shadow:inset 0 0 18px rgba(103,228,214,.08)}
.atom-universe{position:absolute;z-index:3;left:190px;right:358px;top:100px;bottom:70px;display:grid;place-items:center}.atom-universe .lifeform{transform:scale(.78)}.neural-line{position:absolute;left:50%;top:49%;height:2px;transform-origin:left;background:linear-gradient(90deg,rgba(242,190,114,.9),rgba(103,228,214,.5),transparent);box-shadow:0 0 10px rgba(103,228,214,.6)}.neural-line.l1{width:320px;transform:rotate(-36deg)}.neural-line.l2{width:360px;transform:rotate(8deg)}.neural-line.l3{width:350px;transform:rotate(142deg)}.atom-node{position:absolute;display:flex;align-items:center;gap:10px;color:#b5cbc8;font-size:12px}.atom-node i{width:66px;height:66px;border:1px solid rgba(93,168,255,.46);border-radius:50%;background:radial-gradient(circle,#9dc9ff 0 8%,#3566b2 18%,rgba(45,79,160,.35) 48%,transparent 70%);box-shadow:0 0 30px rgba(93,168,255,.35)}.atom-node.selected i{width:92px;height:92px;border-color:rgba(242,190,114,.62);background:radial-gradient(circle,#fff3c7 0 7%,#7d77ff 14%,#3c4cae 36%,rgba(51,75,154,.34) 60%,transparent 72%);box-shadow:0 0 44px rgba(154,124,255,.55),0 0 0 10px rgba(93,168,255,.08)}.node-a{left:100px;top:95px}.node-b{right:30px;top:300px}.node-c{right:125px;bottom:90px}.node-d{left:70px;bottom:130px}
.context-stack{position:absolute;z-index:7;right:42px;top:118px;width:300px;display:flex;flex-direction:column;gap:12px}.context-card{padding:18px;border:1px solid rgba(93,168,255,.22);border-radius:14px;background:rgba(3,12,20,.84);box-shadow:inset 0 0 24px rgba(93,168,255,.04),0 18px 35px rgba(0,0,0,.26)}.context-card>span{color:#79918f;font:10px "IBM Plex Mono",monospace;letter-spacing:.1em}.context-card h3{margin:10px 0;font-size:17px}.context-card p{color:#819996;font-size:11px;line-height:1.65}.context-card small{color:#63817e}.context-card.violet{border-color:rgba(154,124,255,.28)}.context-card.gold{border-color:rgba(242,190,114,.34)}.context-card .btn{width:100%;margin-top:12px}.metric{margin-top:13px}.metric b{display:block;color:#8da5a2;font-size:10px;font-weight:500}.metric i{display:block;width:var(--v);height:3px;margin-top:6px;background:linear-gradient(90deg,#4f5eb8,var(--violet));box-shadow:0 0 8px rgba(154,124,255,.45)}

/* Learning */
.learn-screen{padding:0 48px 42px;background:linear-gradient(135deg,#07131d,#0a1b27 48%,#07131d)}.learn-header{height:84px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border-bottom:1px solid rgba(103,228,214,.18)}.back-link{display:flex;align-items:center;gap:8px;color:var(--muted-strong);font-size:12px}.learn-header>div:nth-child(2){justify-self:center;text-align:center}.learn-header>div span,.learn-header>div b{display:block}.learn-header>div span{color:var(--muted);font:9px "IBM Plex Mono",monospace}.learn-header>div b{margin-top:4px;font-size:13px}.save-state{justify-self:end;color:var(--muted)!important;font:10px "IBM Plex Mono",monospace}.learning-grid{display:grid;grid-template-columns:1fr 2fr 1fr;gap:16px;height:815px;padding-top:16px}.source-rail,.content-column,.notes-column{min-width:0;padding:20px;border:1px solid rgba(103,228,214,.18);border-radius:15px;background:rgba(12,32,43,.88)}.content-column{background:rgba(16,42,55,.94);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}.source-rail{overflow:hidden}.source-rail>header,.content-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.source-rail>header span,.content-label span{color:var(--cyan);font:10px "IBM Plex Mono",monospace;letter-spacing:.08em}.source-rail>header b,.content-label b{color:var(--muted);font-size:9px}.source-card{margin-bottom:11px;padding:15px;border:1px solid rgba(159,179,176,.2);border-radius:11px;background:rgba(7,19,29,.68)}.source-card.selected{border-color:rgba(103,228,214,.46);box-shadow:inset 0 0 20px rgba(103,228,214,.06)}.source-card span{color:var(--muted);font-size:9px}.source-card h3{margin:8px 0;color:var(--text-body);font-size:12px;line-height:1.45}.source-card p{margin:0;color:var(--muted);font-size:10px}.source-card>b{display:inline-block;margin-top:9px;padding:3px 7px;border-radius:999px;background:rgba(103,228,214,.12);color:var(--cyan);font-size:8px}.ghost-add{width:100%;padding:10px;border:1px dashed rgba(159,179,176,.3);border-radius:9px;background:none;color:var(--muted);font-size:10px}
.content-column{padding:30px 40px;overflow:hidden}.content-column h1{margin:24px 0 20px;color:var(--text);font-size:28px;line-height:1.5}.content-column>p{color:var(--text-body);font-size:14px;line-height:2}.content-column blockquote{margin:28px 0;padding:20px 22px;border-left:2px solid var(--blue);background:rgba(30,69,102,.24);color:var(--text-body);font-size:13px;line-height:1.85}.content-column blockquote span,.ai-draft span{display:block;margin-bottom:9px;color:#9dc9ff;font:9px "IBM Plex Mono",monospace;letter-spacing:.08em}.ai-draft{padding:18px;border:1px solid rgba(154,124,255,.3);border-radius:11px;background:rgba(49,35,81,.2)}.ai-draft span{color:#c2b9ff}.ai-draft p{margin:0;color:var(--text-body);font-size:12px;line-height:1.8}.clip-button{display:flex;align-items:center;gap:8px;margin-top:22px;padding:11px 15px;border:1px solid rgba(93,168,255,.34);border-radius:9px;background:rgba(38,82,127,.24);color:#bcdcff;font-size:11px}
.notes-column{display:flex;flex-direction:column}.content-label .saved{color:var(--cyan)}.notes-column textarea{flex:0 0 300px;min-height:300px;color:var(--text-body);font-size:12px;line-height:1.95}.note-tools{display:flex;gap:6px;margin:10px 0}.note-tools button{flex:1;padding:8px 4px;border:1px solid rgba(159,179,176,.22);border-radius:7px;background:rgba(7,19,29,.72);color:var(--muted-strong);font-size:9px}.self-check{margin:15px 0;padding:14px;border:1px solid rgba(242,190,114,.26);border-radius:10px;background:rgba(100,68,27,.18)}.self-check span{color:var(--gold);font-size:11px}.self-check p{margin:7px 0 0;color:var(--muted-strong);font-size:10px;line-height:1.55}.notes-column>.btn{margin-top:auto;width:100%}

/* Evidence */
.evidence-screen{padding:0 72px}.evidence-layout{position:relative;z-index:3;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;min-height:820px;padding:40px 70px}.evidence-copy h2{margin:16px 0;font-size:40px;line-height:1.45}.probe{margin-top:34px;padding:22px;border:1px solid rgba(154,124,255,.24);border-radius:14px;background:rgba(34,27,66,.18)}.probe span{color:var(--violet);font:9px "IBM Plex Mono",monospace}.probe h3{font-size:16px;line-height:1.65}.probe p{color:#7e9592;font-size:11px;line-height:1.7}.evidence-card-large{padding:30px;border:1px solid rgba(242,190,114,.28);border-radius:18px;background:rgba(5,13,20,.88);box-shadow:0 34px 80px rgba(0,0,0,.38),inset 0 0 35px rgba(242,190,114,.03)}.evidence-card-large header{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid rgba(145,170,167,.12)}.evidence-card-large header span{color:#d7e4e2}.evidence-card-large header b{padding:5px 9px;border:1px solid rgba(242,190,114,.24);border-radius:999px;color:var(--gold);font:9px "IBM Plex Mono",monospace}.evidence-section{padding:20px 0;border-bottom:1px solid rgba(145,170,167,.1)}.evidence-section span{color:#6d8784;font:9px "IBM Plex Mono",monospace}.evidence-section p{color:#b8c9c6;line-height:1.85}.boundary{display:flex;gap:18px;margin:18px 0;padding:14px;border-radius:9px;background:rgba(255,142,122,.08);color:#9baea9;font-size:11px}.boundary b{color:var(--coral)}.evidence-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}

/* Growth */
.growth-screen{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;padding:80px 100px 40px}.growth-screen .minimal-header{position:absolute;top:0;left:0;right:0}.growth-stage{position:relative;display:grid;place-items:center;height:740px}.energy-path{position:absolute;left:54%;top:47%;width:330px;height:4px;transform:rotate(-24deg);transform-origin:left;background:linear-gradient(90deg,#fff3c7,var(--gold),var(--violet),transparent);box-shadow:0 0 18px rgba(242,190,114,.8)}.energy-path i,.energy-path b,.energy-path span{position:absolute;width:8px;height:8px;top:-2px;border-radius:50%;background:#fff;box-shadow:0 0 16px var(--gold)}.energy-path i{left:20%}.energy-path b{left:50%}.energy-path span{left:78%}.target-branch{position:absolute;right:16px;top:210px;width:190px;height:190px;border:1px solid rgba(154,124,255,.28);border-radius:50%;box-shadow:0 0 44px rgba(154,124,255,.2),inset 0 0 30px rgba(154,124,255,.08)}.target-branch::before{content:"";position:absolute;inset:36%;border-radius:50%;background:radial-gradient(circle,#fff,#8a7cff 25%,transparent 70%);box-shadow:0 0 30px var(--violet)}.target-branch i{position:absolute;left:50%;top:50%;width:100px;height:1px;transform-origin:left;background:linear-gradient(90deg,var(--violet),transparent)}.target-branch i:nth-child(1){transform:rotate(30deg)}.target-branch i:nth-child(2){transform:rotate(150deg)}.target-branch i:nth-child(3){transform:rotate(270deg)}.target-branch b{position:absolute;left:50%;bottom:-34px;transform:translateX(-50%);white-space:nowrap;font-size:12px;color:#c2b9ff}.growth-log{position:relative;z-index:4;padding:36px;border:1px solid rgba(242,190,114,.24);border-radius:18px;background:rgba(4,12,19,.84);box-shadow:var(--shadow)}.growth-log h2{font-size:34px;line-height:1.48}.growth-log>p{color:#8fa5a2;line-height:1.75}.growth-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:28px 0}.growth-stats span{padding:15px 8px;border:1px solid rgba(145,170,167,.12);border-radius:10px;text-align:center;color:#6e8784;font-size:9px}.growth-stats b{display:block;margin-bottom:5px;color:var(--gold);font:20px "IBM Plex Mono",monospace}.audit{display:grid;gap:7px;padding:16px;border:1px solid rgba(103,228,214,.14);border-radius:11px;background:rgba(25,65,71,.1)}.audit span{color:#607b78;font:9px "IBM Plex Mono",monospace}.audit b{color:#aebfbc;font-size:11px}.audit button{justify-self:start;border:0;background:none;color:var(--cyan);padding:5px 0;font-size:10px}.growth-log>.btn{width:100%;margin-top:24px}

/* Beacon */
.beacon-screen{padding:0 72px}.beacon-layout{position:relative;z-index:3;display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:center;min-height:820px;padding:45px 85px}.beacon-orbit{position:relative;display:grid;place-items:center;height:600px}.beacon-core{position:relative;z-index:3;display:grid;width:110px;height:110px;place-items:center;border:1px solid rgba(242,190,114,.48);border-radius:50%;background:radial-gradient(circle,rgba(255,247,220,.95),rgba(242,190,114,.5) 20%,rgba(103,228,214,.12) 58%,transparent 70%);box-shadow:0 0 55px rgba(242,190,114,.46),0 0 130px rgba(103,228,214,.2)}.beacon-core .icon{width:40px;height:40px;color:#fff}.beacon-wave{position:absolute;border:1px solid rgba(103,228,214,.16);border-radius:50%}.beacon-wave.w1{width:250px;height:250px}.beacon-wave.w2{width:390px;height:390px;border-color:rgba(154,124,255,.12)}.beacon-wave.w3{width:540px;height:540px;border-color:rgba(242,190,114,.1)}.beacon-orbit>span{position:absolute;bottom:20px;color:#69817e;font:10px "IBM Plex Mono",monospace;letter-spacing:.1em}.beacon-form{padding:18px 30px}.beacon-form h2{font-size:38px;line-height:1.45}.beacon-form label{margin-top:16px}.beacon-form textarea{min-height:120px}.visibility{margin-top:20px}.visibility>span{display:block;margin-bottom:9px;color:#92aaa7;font-size:11px}.visibility button{margin-right:7px;padding:10px 13px;border:1px solid rgba(145,170,167,.15);border-radius:9px;background:rgba(4,15,23,.72);color:#7c9491;font-size:10px}.visibility button.is-selected{border-color:rgba(103,228,214,.36);color:#c7e4df;background:rgba(27,92,99,.22)}.visibility .icon{display:inline-grid;width:14px;height:14px;margin-right:5px;vertical-align:-3px}.beacon-note{margin-top:15px;padding:12px 14px;border-left:2px solid var(--gold);background:rgba(96,64,24,.1);color:#897f6f;font-size:10px;line-height:1.6}

@media (max-width: 1100px) {
  .screen { width: 100vw; min-height: 100vh; }
  .cover-screen { grid-template-columns:1fr; padding:42px 28px; }.cover-copy h1{font-size:40px}.cover-life{position:absolute;right:-160px;bottom:-130px;opacity:.5}.cover-meta{flex-wrap:wrap}.ritual-header{grid-template-columns:1fr auto}.ritual-progress{display:none}.ritual-grid{grid-template-columns:1fr}.ritual-aside{display:none}.ritual-main{padding:40px 10px}.learning-grid{grid-template-columns:1fr}.source-rail,.notes-column{display:none}.cockpit-nav{display:none}.context-stack{right:20px}.atom-universe{left:20px;right:330px}.evidence-layout,.beacon-layout{grid-template-columns:1fr}.growth-screen{grid-template-columns:1fr}.growth-stage{opacity:.45;position:absolute;inset:80px 0}.growth-log{max-width:560px;margin-left:auto}.home-reference{object-position:center}.home-note{white-space:nowrap}
  html[data-screen="register"], html[data-screen="register"] body { height:auto; min-height:100%; overflow-x:hidden; overflow-y:auto; }
  html[data-screen="register"] .screen { width:100%; height:auto; min-height:100vh; overflow:visible; }
  html[data-screen="register"] .ritual-screen { padding:0 24px 28px; }
  html[data-screen="register"] .ritual-header { height:74px; }
  html[data-screen="register"] .secure { font-size:8px; }
  html[data-screen="register"] .ritual-main { padding:28px 0 12px; }
  html[data-screen="register"] .form-grid { grid-template-columns:1fr; }
  html[data-screen="register"] .profile-form { gap:10px; }
  html[data-screen="register"] .profile-recycle-bin > header { grid-template-columns:32px minmax(0,1fr) 30px; }
  html[data-screen="register"] .profile-recycle-item { align-items:stretch; flex-direction:column; }
  html[data-screen="register"] .profile-recycle-item button { width:100%; }
  html[data-screen="register"] .actions { justify-content:stretch; }
  html[data-screen="register"] .actions .btn { width:100%; }
  .dna-primary-action { grid-template-columns:1fr; gap:10px; }
  .dna-primary-action .btn { width:100%; }
  html[data-screen="awakening"], html[data-screen="awakening"] body { height:auto; min-height:100%; overflow-x:hidden; overflow-y:auto; }
  html[data-screen="awakening"] .screen { height:auto; min-height:100vh; overflow:visible; }
  html[data-screen="awakening"] .minimal-header { position:relative; height:70px; padding:0 24px; }
  html[data-screen="awakening"] .minimal-header > span { font-size:8px; }
  .awakening-ritual { grid-template-columns:minmax(0, 1fr); gap:14px; width:min(650px, calc(100% - 40px)); min-height:0; margin:0 auto; padding:18px 0 42px; }
  .awakening-stage { min-height:370px; order:2; }
  .awakening-stage .lifeform { --lifeform-scale:.72; }
  .awakening-stage .lifeform.hero { width:min(480px,100%); height:min(480px,100%); }
  .awakening-stage::before { width:340px; }
  .awakening-stage::after { width:320px; height:320px; }
  .stage-orbit.orbit-one { width:340px; height:128px; }
  .stage-orbit.orbit-two { width:235px; height:340px; }
  .stage-orbit.orbit-three { width:390px; height:230px; }
  .stage-caption { bottom:8px; }
  .ideal-altar { order:1; width:100%; min-width:0; justify-self:stretch; max-width:none; padding:29px 25px 27px; }
  .ideal-altar h1 { margin:13px 0 11px; font-size:36px; }
  .altar-lead { font-size:13px; line-height:1.7; }
  .ideal-field { margin-top:21px; }
  .ideal-field textarea { min-height:150px; padding:16px; font-size:15px; }
  .injection-console { grid-template-columns:1fr; gap:14px; }
  .injection-trigger { width:100%; min-width:0; }
  .injection-bridge { display:none; }
  .injection-overlay { position:fixed; z-index:20; }
  html[data-screen="key"], html[data-screen="key"] body { height:auto; min-height:100%; overflow-x:hidden; overflow-y:auto; }
  html[data-screen="key"] .screen { height:auto; min-height:100vh; overflow:visible; }
  html[data-screen="key"] .ritual-screen { padding:0 24px 32px; }
  html[data-screen="key"] .ritual-main { padding:30px 0 14px; }
  .key-rights { grid-template-columns:1fr; margin:22px auto; }
  .boarding-console { grid-template-columns:1fr; gap:15px; text-align:center; }
  .boarding-console > div { justify-items:center; }
  .boarding-trigger { width:100%; min-width:0; font-size:16px; }
  .boarding-ritual { position:fixed; gap:24px; }
  .boarding-window { width:min(72vw, 470px); min-width:270px; }
}

@media (min-width: 1101px) and (max-height: 850px) {
  .ritual-header { height:82px; }
  .ritual-grid { min-height:690px; }
  html[data-screen="register"] .ritual-main { padding-top:18px; padding-bottom:6px; }
  html[data-screen="register"] .ritual-main h2 { font-size:30px; }
  html[data-screen="register"] .ritual-main .lead { font-size:12px; line-height:1.45; }
  html[data-screen="register"] .profile-form { margin-top:10px; gap:5px 12px; }
  html[data-screen="register"] .profile-form label { gap:2px; font-size:10px; }
  html[data-screen="register"] .profile-form input,
  html[data-screen="register"] .profile-form select { height:33px; }
  html[data-screen="register"] .profile-form textarea { min-height:48px; padding-top:6px; padding-bottom:6px; line-height:1.35; }
  html[data-screen="register"] .profile-use { margin-top:6px; padding:6px 10px; font-size:9px; line-height:1.3; }
  html[data-screen="register"] .profile-recycle-bin { margin-top:6px; padding:7px 0; }
  html[data-screen="register"] .profile-recycle-list { margin-top:6px; }
  html[data-screen="register"] .privacy-note { margin-top:5px; padding:6px 10px; font-size:9px; line-height:1.3; }
  html[data-screen="register"] .actions { margin-top:7px; }
  html[data-screen="register"] .actions .btn { min-height:34px; font-size:11px; }
  html[data-screen="key"] .ritual-main { padding:12px 8px 8px; }
  html[data-screen="key"] .key-object { width:132px; height:132px; margin-bottom:8px; }
  html[data-screen="key"] .key-object .key-icon { width:56px; height:56px; }
  html[data-screen="key"] .ritual-main > .key-object ~ h2 { margin:6px 0; font-size:30px; }
  html[data-screen="key"] .ritual-main .lead { margin:0 auto; font-size:12px; line-height:1.55; }
  html[data-screen="key"] .key-rights { gap:8px; margin:14px auto; }
  html[data-screen="key"] .key-rights span { padding:9px 11px; font-size:10px; }
  html[data-screen="key"] .boarding-console { gap:18px; margin-top:12px; padding:16px 20px; }
  html[data-screen="key"] .boarding-console span { font-size:11px; }
  html[data-screen="key"] .boarding-console b { font-size:17px; }
  html[data-screen="key"] .boarding-trigger { min-height:58px; font-size:16px; }
  html[data-screen="key"] .boarding-trigger .icon { width:21px; height:21px; }
  html[data-screen="key"] .boarding-state { margin-top:9px; font-size:13px; }
}

/* Readability pass: semantic color roles take priority over decorative legacy tones. */
.probe p,
.evidence-section p,
.growth-log > p { color: var(--text-body); }

.evidence-section span,
.beacon-orbit > span,
.audit span { color: var(--muted); }

.boundary,
.beacon-note { color: var(--muted-strong); }

.visibility > span { color: var(--muted-strong); }
.visibility button {
  border-color: rgba(159,179,176,.24);
  background: rgba(12,32,43,.84);
  color: var(--muted-strong);
}
.visibility button.is-selected {
  border-color: rgba(103,228,214,.46);
  background: rgba(27,92,99,.3);
  color: var(--text);
}

@media (max-width: 560px) {
  html[data-screen="awakening"] .minimal-header .brand { gap:8px; font-size:12px; }
  html[data-screen="awakening"] .minimal-header .brand-glyph { width:30px; height:30px; }
  html[data-screen="awakening"] .minimal-header > span { display:none; }
  .awakening-ritual { width:calc(100% - 28px); }
  .ideal-altar { padding:25px 18px 22px; }
  .ideal-altar::before { inset:9px; }
  .ideal-altar h1 { font-size:32px; }
  .ideal-field > span::after { font-size:8px; }
  .ideal-field textarea { min-height:142px; font-size:14px; }
  .injection-readout { text-align:center; }
  .boarding-window { width:78vw; min-width:0; border-width:7px; }
  .boarding-window::before { inset:-18px; }
  .boarding-readout { width:calc(100% - 36px); }
  .boarding-readout span { font-size:8px; }
  .boarding-readout b { font-size:22px; }
  .boarding-readout p { font-size:10px; }
  .awakening-stage { min-height:320px; }
  .awakening-stage .lifeform { --lifeform-scale:.61; }
  .awakening-stage::before { width:280px; }
  .awakening-stage::after { width:270px; height:270px; }
  .stage-orbit.orbit-one { width:280px; height:108px; }
  .stage-orbit.orbit-two { width:195px; height:280px; }
  .stage-orbit.orbit-three { width:320px; height:190px; }
  .stage-caption b { font-size:10px; }
}

@media (prefers-reduced-motion: reduce) {
  .awakening-stage::before,
  .awakening-stage::after,
  .awakening-stage .lifeform,
  .awakening-stage .life-core,
  .stage-orbit,
  .ritual-motes i,
  .ideal-altar::after,
  .injection-bridge i,
  .awakening-ritual.is-injecting .injection-core,
  .awakening-ritual.is-injecting .injection-overlay > span,
  .awakening-ritual.is-injecting .injection-overlay > b,
  .ritual-screen.is-boarding .boarding-window,
  .ritual-screen.is-boarding .boarding-streaks,
  .ritual-screen.is-boarding .window-core,
  .ritual-screen.is-boarding .window-ring,
  .ritual-screen.is-boarding .boarding-readout { animation:none !important; }
  .awakening-ritual.is-injecting .injection-overlay,
  .awakening-ritual.is-injecting .injection-overlay > span,
  .awakening-ritual.is-injecting .injection-overlay > b { opacity:1; transform:none; }
  .awakening-ritual.is-injecting .injection-core { transform:scale(1); }
  .ritual-screen.is-boarding .boarding-window { transform:scale(1); }
  .ritual-screen.is-boarding .boarding-streaks { opacity:.2; }
  .ritual-screen.is-boarding .window-shutters i { transition:none; }
  .ritual-screen.is-boarding .window-core,
  .ritual-screen.is-boarding .boarding-readout { opacity:1; transform:none; }
}

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