.peony-shell, .peony-auth {
  --ink: #282725;
  --muted: #78746e;
  --paper: #fffdfa;
  --ivory: #f4f1eb;
  --line: #dfd9cf;
  --gold: #ae9271;
  --gold-dark: #876c4e;
  --blush: #eadbd7;
  --green: #4e755e;
  --rail: #242524;
  --rail-soft: #30312f;
  --danger: #9d564e;
  --serif: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --sans: Tahoma, "Noto Sans Arabic", Arial, sans-serif;
}

.peony-shell *, .peony-auth * { box-sizing: border-box; }
body:has(.peony-shell), body.peony-auth-body { margin: 0; background: var(--ivory); color: var(--ink); font-family: var(--sans); }
.peony-shell button, .peony-shell textarea, .peony-shell input, .peony-auth button, .peony-auth textarea, .peony-auth input { font: inherit; }
.peony-shell button, .peony-shell a, .peony-auth button, .peony-auth a { -webkit-tap-highlight-color: transparent; }
.peony-shell button, .peony-auth button { cursor: pointer; }
.peony-shell a, .peony-auth a { color: inherit; text-decoration: none; }

.peony-shell { min-height: 100vh; display: block; background: var(--ivory); }
.main-frame { width: calc(100% - 276px); min-width: 0; min-height: 100vh; margin-left: 276px; }
.route-content { min-height: calc(100vh - 72px); }
.shell-topbar { height: 72px; position: sticky; top: 0; z-index: 30; display: grid; grid-template-columns: minmax(180px, 1fr) minmax(210px, 330px) minmax(230px, 370px) auto; gap: 14px; align-items: center; padding: 0 26px; background: color-mix(in srgb, var(--paper) 87%, transparent); backdrop-filter: blur(18px); border-bottom: 1px solid var(--line); }
.topbar-section { display: flex; align-items: center; gap: 9px; min-width: 0; }
.topbar-section b { font-size: 12px; white-space: nowrap; }
.topbar-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px #4e755e17; }
.breadcrumb { font: 10px var(--serif); color: #a09b92; letter-spacing: .08em; direction: ltr; }
.mobile-menu { display: none; border: 0; background: transparent; color: var(--ink); }
.global-search, .topbar-command { height: 40px; border: 1px solid var(--line); border-radius: 11px; background: #ffffffad; color: var(--muted); display: flex; align-items: center; gap: 9px; padding: 0 11px; }
.global-search span, .topbar-command span { flex: 1; text-align: start; font-size: 10px; }
.topbar-command { color: #5a4b3c; border-color: #d3c4b2; background: #fffdf8; box-shadow: 0 7px 20px #5b46320b; }
kbd { direction: ltr; font: 9px Arial, sans-serif; color: #928b82; border: 1px solid #d9d4cb; background: #f7f4ee; border-radius: 5px; padding: 3px 6px; }
.owner-chip { display: flex; align-items: center; gap: 9px; direction: ltr; }
.owner-avatar { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: #f6eee4; font: 10px Arial; border: 1px solid #55524e; }
.owner-chip > span { display: flex; flex-direction: column; text-align: left; }
.owner-chip b { font: 11px Arial; }
.owner-chip small { color: #928e88; font-size: 8px; margin-top: 3px; }

.side-rail { position: fixed; inset: 0 auto 0 0; z-index: 40; width: 276px; height: 100vh; color: #d7d3cd; background: radial-gradient(circle at 40% 0, #3a3731 0, var(--rail) 38%); display: flex; flex-direction: column; border-inline-start: 1px solid #171817; overflow: auto; }
.mobile-close { display: none; }
.brand-lockup { margin: 19px 22px 12px; height: 146px; display: grid; place-items: center; overflow: hidden; border-radius: 18px; background: #fff; box-shadow: 0 16px 45px #0002; }
.brand-lockup img { width: 124px; height: 124px; object-fit: contain; display: block; }
.locale-switch { margin: 0 22px 14px; padding: 4px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 2px; background: #ffffff0a; border: 1px solid #ffffff12; border-radius: 9px; direction: rtl; }
.locale-switch button { min-width: 0; height: 25px; border: 0; border-radius: 6px; background: transparent; color: #999994; font-size: 7px; }
.locale-switch button.active { color: #282725; background: #e9dfd1; box-shadow: 0 3px 10px #0003; }
.primary-nav { padding: 2px 14px; display: grid; gap: 3px; }
.rail-link { position: relative; height: 48px; padding: 0 13px; display: flex; align-items: center; gap: 13px; color: #9c9d99; border-radius: 10px; transition: .18s ease; }
.rail-link:hover { color: white; background: #ffffff08; }
.rail-link span { font-size: 10px; }
.rail-link.active { color: #f5efe7; background: linear-gradient(90deg, #ffffff05, #ae927125); }
.rail-link.active svg { color: #cfb18d; }
.rail-link.active i { position: absolute; inset-inline-end: -14px; width: 3px; height: 24px; border-radius: 3px 0 0 3px; background: #c3a17c; box-shadow: 0 0 16px #c4a27d88; }
.rail-bottom { margin-top: auto; padding: 12px 14px 17px; border-top: 1px solid #ffffff0c; }
.angel-status { direction: ltr; margin-top: 6px; min-height: 56px; display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; color: #d9d6cf; border: 1px solid #ffffff12; background: #ffffff08; border-radius: 12px; padding: 9px 11px; }
.angel-status > div { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 50%; background: #1a1c1b; color: #c6a37f; position: relative; }
.angel-status > div i { position: absolute; width: 8px; height: 8px; border: 2px solid var(--rail); border-radius: 50%; background: #69a478; bottom: 0; right: 0; }
.angel-status > span { display: flex; flex-direction: column; }
.angel-status b { font: 10px Arial; letter-spacing: .12em; }
.angel-status small { font-size: 7px; color: #8f918d; margin-top: 4px; }
.signout { display: none; }

.dashboard-page, .module-page { max-width: 1540px; margin: auto; padding: 34px 34px 60px; }
.dashboard-heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 24px; }
.eyebrow { color: var(--gold-dark); font: 700 8px Arial, sans-serif; letter-spacing: .16em; direction: ltr; }
.dashboard-heading h1, .module-page-heading h1 { margin: 7px 0 4px; font: 500 clamp(28px, 3.1vw, 46px)/1.15 var(--serif); letter-spacing: -.035em; }
.dashboard-heading p, .module-page-heading p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.8; }
.readiness-pill, .empty-badge { display: flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid #d3ddd5; color: #4d7359; background: #f4faf5; border-radius: 20px; font-size: 8px; }
.readiness-pill span { width: 7px; height: 7px; border-radius: 50%; background: #5e916d; box-shadow: 0 0 0 5px #5e916d16; }

.command-canvas { min-height: 390px; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr); overflow: hidden; border: 1px solid #dcd4c9; border-radius: 25px; background: linear-gradient(125deg, #fffdfa 0%, #faf7f1 52%, #efe8de 100%); box-shadow: 0 25px 80px #382c1c0d; position: relative; }
.command-canvas:before { content: ""; position: absolute; width: 480px; height: 480px; border: 1px solid #ae927119; border-radius: 50%; inset-inline-end: -110px; top: -90px; box-shadow: 0 0 0 55px #ae92710c, 0 0 0 110px #ae927108; }
.canvas-copy { padding: 47px 48px; position: relative; z-index: 2; }
.canvas-kicker { display: flex; align-items: center; gap: 7px; color: var(--gold-dark); font: 8px Arial; letter-spacing: .14em; direction: ltr; justify-content: flex-end; }
.canvas-copy h2 { margin: 15px 0 13px; font: 500 clamp(34px, 4vw, 62px)/1.16 var(--serif); letter-spacing: -.055em; }
.canvas-copy > p { max-width: 590px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.9; }
.angel-prompt { width: min(600px, 100%); height: 58px; margin-top: 28px; padding: 0 16px; display: flex; align-items: center; gap: 12px; border: 1px solid #d7c9b8; border-radius: 15px; color: #7a6a59; background: #fffefa; box-shadow: 0 14px 38px #614d3411; transition: .2s; }
.angel-prompt:hover { transform: translateY(-2px); border-color: #b89c7c; box-shadow: 0 18px 46px #614d341c; }
.angel-prompt span { flex: 1; text-align: start; font-size: 11px; }
.trust-row { display: flex; gap: 17px; margin-top: 14px; color: #75716b; }
.trust-row span { display: flex; align-items: center; gap: 5px; font-size: 8px; }
.trust-row svg { color: var(--green); }
.brand-core { position: relative; display: grid; place-items: center; min-height: 360px; direction: ltr; }
.core-orbit { position: absolute; border-radius: 50%; border: 1px solid #ae927143; }
.orbit-one { width: 285px; height: 285px; animation: core-orbit 25s linear infinite; }
.orbit-two { width: 218px; height: 218px; border-style: dashed; animation: core-orbit 19s linear reverse infinite; }
.core-logo { width: 150px; height: 150px; display: grid; place-items: center; overflow: hidden; border-radius: 48%; background: #fff; border: 1px solid #d8c5ad; box-shadow: 0 24px 70px #6d54342b, inset 0 0 40px #ae92710d; transform: rotate(45deg); }
.core-logo img { width: 128px; height: 128px; object-fit: contain; transform: rotate(-45deg); }
.core-label { position: absolute; bottom: 43px; color: #776652; font-size: 8px; letter-spacing: .1em; }
.core-signal { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 7px #ae927117; }
.signal-a { top: 62px; left: 31%; }.signal-b { top: 45%; right: 14%; }.signal-c { bottom: 72px; left: 20%; }

.governance-strip { margin: 14px 0; min-height: 84px; padding: 15px 22px; display: grid; grid-template-columns: repeat(6, 1fr); align-items: center; border: 1px solid var(--line); border-radius: 16px; background: #fbfaf6; }
.governance-step { position: relative; display: flex; align-items: center; justify-content: center; gap: 8px; color: #77746e; }
.governance-step:not(:last-child):after { content: ""; position: absolute; width: 34%; height: 1px; inset-inline-end: 83%; background: #d4cdc2; }
.governance-step span { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid #d4cdc2; border-radius: 50%; color: #897963; font: 9px Arial; background: white; }
.governance-step b { font-size: 8px; font-weight: 500; white-space: nowrap; }
.governance-step.authority span { color: white; background: var(--gold-dark); border-color: var(--gold-dark); box-shadow: 0 0 0 6px #ae927112; }
.governance-step.authority b { color: var(--gold-dark); font-weight: 700; }

.journey-panel, .module-section { margin-top: 14px; border: 1px solid var(--line); border-radius: 20px; background: var(--paper); padding: 24px; }
.panel-title { display: flex; align-items: flex-end; justify-content: space-between; }
.panel-title h2 { font: 500 22px var(--serif); margin: 5px 0 0; }
.empty-badge { color: #80786e; background: #f7f4ef; border-color: #e1dcd3; }
.panel-title > a { display: flex; align-items: center; gap: 5px; color: var(--gold-dark); font-size: 9px; }
.journey-track { margin: 34px 12px 24px; display: grid; grid-template-columns: repeat(7, 1fr); }
.journey-stage { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.journey-stage span { width: 29px; height: 29px; z-index: 2; display: grid; place-items: center; border: 1px solid #ccb99e; background: #fffefa; color: var(--gold-dark); border-radius: 50%; font: 8px Arial; }
.journey-stage b { font-size: 8px; font-weight: 500; }
.journey-stage i { position: absolute; z-index: 1; top: 14px; inset-inline-start: 50%; width: 100%; height: 1px; background: linear-gradient(90deg, #cdbca5 50%, transparent 50%); background-size: 8px 1px; }
.journey-empty { display: flex; align-items: center; gap: 13px; padding: 15px 17px; border: 1px dashed #d8d0c5; border-radius: 12px; background: #faf8f4; color: #7c776f; }
.journey-empty svg { color: var(--gold-dark); }
.journey-empty > div { display: flex; flex-direction: column; }
.journey-empty b { font-size: 9px; color: #55514c; }
.journey-empty span { font-size: 8px; margin-top: 4px; line-height: 1.6; }
.module-grid { margin-top: 20px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.module-card { min-height: 160px; padding: 17px; border: 1px solid #e0dbd2; border-radius: 14px; background: #faf9f5; position: relative; transition: .2s; }
.module-card:hover { transform: translateY(-2px); background: white; box-shadow: 0 15px 38px #4234240c; }
.module-icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #d7c8b6; border-radius: 11px; color: var(--gold-dark); background: #fffdfa; }
.module-card > span { position: absolute; top: 18px; inset-inline-end: 16px; padding: 4px 6px; border-radius: 5px; color: #77716b; background: #eeeae3; font-size: 7px; }
.module-card h3 { margin: 18px 0 5px; font: 500 17px var(--serif); }
.module-card p { margin: 0; color: #86817a; font-size: 8px; line-height: 1.7; }
.foundation-callout { margin-top: 14px; min-height: 78px; display: flex; align-items: center; gap: 14px; padding: 16px 20px; border-radius: 15px; color: #e8e2d9; background: var(--rail); }
.foundation-callout svg { color: #c5a480; }
.foundation-callout > div { display: flex; flex-direction: column; }
.foundation-callout b { font: 500 13px var(--serif); }
.foundation-callout span { margin-top: 5px; color: #a8a7a2; font-size: 8px; }

.module-page { padding-top: 58px; }
.module-page-heading { max-width: 760px; }
.module-page-heading h1 { font-size: clamp(42px, 6vw, 80px); }
.module-page-heading p { max-width: 690px; font-size: 12px; }
.module-foundation { margin-top: 38px; padding: 23px; border: 1px solid var(--line); background: var(--paper); border-radius: 20px; }
.foundation-status { display: flex; align-items: center; gap: 12px; padding-bottom: 20px; border-bottom: 1px solid #e5e0d8; }
.foundation-status > span { width: 11px; height: 11px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 7px #4e755e15; }
.foundation-status > div { display: flex; flex-direction: column; }
.foundation-status b { font-size: 10px; }
.foundation-status small { font-size: 8px; color: var(--muted); margin-top: 4px; }
.foundation-grid { margin-top: 20px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.foundation-grid article { min-height: 190px; padding: 17px; border: 1px solid #e2ddd5; border-radius: 14px; background: #faf8f4; position: relative; overflow: hidden; }
.foundation-grid article > span { color: #b49a7b; font: 10px Arial; letter-spacing: .1em; }
.foundation-grid h2 { margin: 32px 0 8px; font: 500 16px/1.5 var(--serif); }
.foundation-grid p { margin: 0; color: #8c877f; font-size: 8px; line-height: 1.8; }
.foundation-grid i { position: absolute; width: 120px; height: 120px; border: 1px solid #ae927118; border-radius: 50%; bottom: -75px; inset-inline-end: -40px; box-shadow: 0 0 0 18px #ae92710b; }
.next-gate { margin-top: 14px; padding: 24px 25px; border-radius: 17px; color: #e7e1d8; background: linear-gradient(120deg, #292a28, #39362f); }
.next-gate > span { color: #c7aa87; font-size: 8px; }
.next-gate h2 { margin: 9px 0 5px; font: 500 20px var(--serif); }
.next-gate p { max-width: 780px; margin: 0; color: #aaa8a3; font-size: 8px; line-height: 1.8; }

/* Brain control room */
.brain-control-page { max-width: 1500px; margin: auto; padding: 30px 34px 76px; }
.brain-control-hero { min-height: 480px; position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(380px, .9fr) minmax(480px, 1.1fr); align-items: center; color: #eee8df; border: 1px solid #ffffff12; border-radius: 28px; background: #0d0f0e; box-shadow: 0 35px 100px #34291c22; }
.brain-control-hero:after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, #0b0d0c 0%, #0b0d0cee 35%, #0b0d0c22 66%, #0b0d0c69 100%); }
.brain-control-copy { z-index: 3; padding: 54px; }
.brain-control-copy .eyebrow { color: #c4a27b; }
.brain-control-copy h1 { max-width: 650px; margin: 12px 0 13px; font: 500 clamp(38px, 4.7vw, 70px)/1.12 var(--serif); letter-spacing: -.05em; text-wrap: balance; }
.brain-control-copy p { max-width: 610px; margin: 0; color: #9d9c96; font-size: 11px; line-height: 2; }
.brain-control-copy button { width: min(430px, 100%); min-height: 50px; margin-top: 25px; padding: 0 14px; display: flex; align-items: center; gap: 10px; color: #e4c9a7; border: 1px solid #be996d52; border-radius: 11px; background: #ffffff08; }
.brain-control-copy button span { flex: 1; text-align: start; font-size: 10px; }
.brain-control-visual { position: absolute; inset: 0; direction: ltr; }
.brain-control-visual > img { position: absolute; right: 0; top: 0; width: 72%; height: 100%; object-fit: cover; object-position: 77% center; filter: saturate(.86) brightness(.8); }
.brain-control-mark { position: absolute; z-index: 3; right: 26px; top: 25px; padding: 8px 10px; display: flex; align-items: center; gap: 8px; color: #d0ac82; border: 1px solid #ffffff14; border-radius: 11px; background: #080a09a8; backdrop-filter: blur(8px); }
.brain-control-mark > span { display: flex; flex-direction: column; }
.brain-control-mark b { color: #eee5da; font: 9px Arial; letter-spacing: .18em; }
.brain-control-mark small { margin-top: 4px; color: #7f776e; font: 6px Arial; letter-spacing: .13em; }
.brain-evidence-section, .brain-maturity-section, .brain-learning-section { margin-top: 14px; padding: 30px; border: 1px solid var(--line); border-radius: 22px; background: var(--paper); }
.brain-evidence-section > header { display: grid; grid-template-columns: .8fr 1.2fr; gap: 35px; align-items: end; }
.brain-evidence-section h2, .brain-maturity-section h2, .brain-learning-section h2 { margin: 8px 0 0; font: 500 clamp(27px, 3vw, 43px)/1.2 var(--serif); letter-spacing: -.04em; }
.brain-evidence-section > header p, .brain-maturity-section > header p, .brain-learning-section > header p { max-width: 760px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.9; }
.brain-evidence-grid { margin-top: 27px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; direction: ltr; }
.brain-evidence-grid article { min-height: 158px; padding: 17px; position: relative; overflow: hidden; border: 1px solid #e1dbd2; border-radius: 14px; background: #f7f4ef; }
.brain-evidence-grid article > span { position: absolute; top: 17px; right: 16px; color: #a98d6c; font: 8px Arial; }
.brain-evidence-grid article > b { display: block; color: #3e382f; font: 500 38px/1 var(--serif); }
.brain-evidence-grid h3 { margin: 15px 0 15px; font: 500 12px var(--serif); }
.brain-evidence-grid small { display: flex; align-items: center; gap: 5px; color: #66806d; font-size: 7px; }
.brain-maturity-section > header, .brain-learning-section > header { max-width: 780px; }
.brain-maturity-section > header p, .brain-learning-section > header p { margin-top: 8px; }
.brain-maturity-grid { margin-top: 28px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.brain-maturity-grid article { min-height: 210px; padding: 18px; position: relative; border: 1px solid #dfd9d0; border-radius: 15px; background: #faf8f4; }
.brain-maturity-grid article > div { display: flex; align-items: center; justify-content: space-between; color: #987a58; }
.brain-maturity-grid article > div > span { font: 8px Arial; letter-spacing: .1em; }
.brain-maturity-grid h3 { margin: 31px 0 8px; font: 500 17px var(--serif); }
.brain-maturity-grid p { min-height: 48px; margin: 0; color: #807b74; font-size: 8px; line-height: 1.8; }
.brain-maturity-grid small { margin-top: 15px; padding-top: 11px; display: flex; align-items: center; gap: 5px; border-top: 1px solid #e5dfd6; color: #817970; font-size: 7px; }
.brain-maturity-grid .maturity-ready { border-color: #d2dfd5; background: #f5f9f5; }
.brain-maturity-grid .maturity-ready small { color: #51705b; }
.brain-maturity-grid .maturity-pending small, .brain-maturity-grid .maturity-review small { color: #957346; }
.brain-maturity-grid .maturity-locked { color: #e5ded4; border-color: #3b3c39; background: #262725; }
.brain-maturity-grid .maturity-locked p { color: #9b9b96; }
.brain-maturity-grid .maturity-locked small { color: #d0ae84; border-top-color: #ffffff10; }
.learning-contract { margin-top: 27px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.learning-contract > article { padding: 20px; border: 1px solid #dcd8d0; border-radius: 15px; }
.learning-contract > article > div { display: flex; align-items: center; gap: 9px; margin-bottom: 15px; }
.learning-contract h3 { margin: 0; font: 500 17px var(--serif); }
.learning-contract p { margin: 7px 0 0; display: flex; align-items: flex-start; gap: 8px; color: #716e68; font-size: 9px; line-height: 1.65; }
.learning-contract p svg { flex: 0 0 auto; margin-top: 2px; }
.learning-allowed { color: #4f7158; background: #f4f8f4; }
.learning-denied { color: #956055; background: #faf4f2; }
.calibration-sequence { margin-top: 9px; padding: 22px; border: 1px solid #dfd9d0; border-radius: 15px; background: #faf8f4; }
.calibration-sequence > h3 { margin: 0 0 19px; font: 500 18px var(--serif); }
.calibration-sequence > div { display: grid; grid-template-columns: repeat(5, 1fr); direction: ltr; }
.calibration-sequence article { min-width: 0; position: relative; padding: 0 12px; }
.calibration-sequence span { width: 30px; height: 30px; position: relative; z-index: 2; display: grid; place-items: center; color: #8f704e; border: 1px solid #cfb28f; border-radius: 50%; background: #fff; font: 8px Arial; }
.calibration-sequence p { margin: 11px 0 0; color: #6f6b64; font-size: 8px; line-height: 1.65; }
.calibration-sequence i { position: absolute; left: 42px; right: -12px; top: 15px; height: 1px; background: linear-gradient(90deg, #cfb28f, #cfb28f33); }
.brain-owner-gate { min-height: 110px; margin-top: 14px; padding: 22px 26px; display: grid; grid-template-columns: auto 1fr auto; gap: 17px; align-items: center; color: #e8e1d7; border-radius: 17px; background: radial-gradient(circle at 82% 50%, #4b3c2b, #242522 42%, #161715); }
.brain-owner-gate > svg { color: #c9a47b; }
.brain-owner-gate h2 { margin: 0; font: 500 20px var(--serif); }
.brain-owner-gate p { max-width: 800px; margin: 6px 0 0; color: #96958f; font-size: 8px; line-height: 1.8; }
.brain-owner-gate button { min-height: 41px; padding: 0 13px; display: flex; align-items: center; gap: 9px; color: #e0c6a5; border: 1px solid #c6a17552; border-radius: 9px; background: #ffffff08; font-size: 8px; }

.command-scrim, .mobile-scrim { position: fixed; inset: 0; z-index: 80; border: 0; background: #1d1c1a8c; backdrop-filter: blur(7px); }
.mobile-scrim { display: none; }
.angel-command-modal { position: fixed; z-index: 90; top: 9vh; left: 50%; transform: translateX(-50%); width: min(720px, 92vw); max-height: 82vh; overflow: auto; padding: 27px; border: 1px solid #d9d0c4; border-radius: 22px; background: #fcfaf6; box-shadow: 0 40px 120px #17120d45; direction: inherit; }
.modal-close { position: absolute; top: 18px; inset-inline-end: 18px; width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #ddd6cc; border-radius: 50%; background: white; color: #7a756f; }
.modal-brand { display: flex; align-items: center; gap: 10px; direction: ltr; }
.modal-brand > span { width: 42px; height: 42px; display: grid; place-items: center; color: var(--gold-dark); border: 1px solid #d9c8b3; border-radius: 13px; background: #fffefa; }
.modal-brand > div { display: flex; flex-direction: column; }
.modal-brand b { font: 12px Arial; letter-spacing: .14em; }
.modal-brand small { margin-top: 3px; color: #948e86; font: 7px Arial; }
.angel-command-modal > h2, .execution-preview h2 { margin: 27px 0 8px; font: 500 29px/1.35 var(--serif); }
.angel-command-modal > p { margin: 0; max-width: 590px; color: var(--muted); font-size: 9px; line-height: 1.8; }
.command-textarea { min-height: 116px; margin-top: 22px; padding: 15px; display: flex; align-items: flex-start; gap: 10px; border: 1px solid #d8c8b5; border-radius: 15px; background: white; color: var(--gold-dark); }
.command-textarea textarea { min-height: 82px; flex: 1; resize: none; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 11px; line-height: 1.8; }
.command-textarea textarea::placeholder { color: #aba59e; }
.suggested-prompts { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.suggested-prompts button { padding: 7px 9px; border: 1px solid #ded9d1; border-radius: 7px; color: #75716b; background: #f7f4ef; font-size: 8px; }
.prepare-action { width: 100%; height: 46px; margin-top: 18px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 11px; color: white; background: var(--rail); font-size: 10px; }
.prepare-action:disabled { cursor: not-allowed; opacity: .35; }
.preview-label { display: inline-block; margin-top: 23px; padding: 5px 8px; color: var(--gold-dark); border: 1px solid #dacbb9; border-radius: 6px; background: #f5eee5; font-size: 7px; }
.execution-preview h2 { font-size: 23px; }
.preview-steps { margin-top: 18px; display: grid; gap: 7px; }
.preview-steps > div { min-height: 45px; padding: 0 12px; display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 8px; border: 1px solid #e0dbd3; border-radius: 9px; background: white; }
.preview-steps span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: var(--gold-dark); background: #f1e9df; font: 8px Arial; }
.preview-steps b { font-size: 9px; font-weight: 500; }
.preview-steps svg { color: var(--green); }
.authority-note { margin-top: 11px; padding: 13px; display: flex; align-items: center; gap: 10px; border: 1px solid #d7ded8; border-radius: 10px; color: var(--green); background: #f2f7f3; }
.authority-note > span { display: flex; flex-direction: column; }
.authority-note b { font-size: 9px; }.authority-note small { margin-top: 3px; color: #778179; font-size: 7px; }
.preview-actions { margin-top: 16px; display: flex; justify-content: flex-end; gap: 8px; }
.preview-actions button { height: 39px; padding: 0 14px; border: 1px solid #d9d4cc; border-radius: 9px; color: #716c66; background: white; font-size: 9px; }
.preview-actions .approve-demo { border-color: var(--gold-dark); color: white; background: var(--gold-dark); }

@keyframes core-orbit { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { *, *:before, *:after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

@media (max-width: 1180px) {
  .main-frame { width: calc(100% - 238px); margin-left: 238px; }
  .side-rail { width: 238px; }
  .shell-topbar { grid-template-columns: 1fr minmax(220px, 340px) auto; }
  .global-search { display: none; }
  .command-canvas { grid-template-columns: 1fr 310px; }
  .canvas-copy { padding: 40px 34px; }
  .foundation-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .peony-shell { display: block; }
  .main-frame { width: 100%; margin-left: 0; }
  .side-rail { position: fixed; right: 0; left: auto; top: 0; width: min(290px, 88vw); transform: translateX(105%); transition: .25s ease; }
  .side-rail.mobile-open { transform: translateX(0); }
  .mobile-close { display: grid; place-items: center; position: absolute; top: 10px; left: 10px; z-index: 3; width: 34px; height: 34px; border: 1px solid #ffffff19; border-radius: 50%; background: #161817; color: white; }
  .mobile-scrim { z-index: 35; }
  .side-rail.mobile-open ~ .mobile-scrim { display: block; }
  .mobile-menu { display: grid; place-items: center; }
  .shell-topbar { grid-template-columns: 1fr minmax(190px, 300px) auto; padding: 0 15px; }
  .owner-chip > span, .breadcrumb { display: none; }
  .command-canvas { grid-template-columns: 1fr; }
  .brand-core { min-height: 300px; order: -1; }
  .governance-strip { overflow-x: auto; grid-template-columns: repeat(6, 120px); justify-content: start; }
  .module-grid { grid-template-columns: repeat(2, 1fr); }
  .journey-track { overflow-x: auto; grid-template-columns: repeat(7, 110px); justify-content: start; padding-bottom: 8px; }
  .dashboard-page, .module-page { padding-inline: 18px; }
}

@media (max-width: 620px) {
  .shell-topbar { grid-template-columns: 1fr 43px; }
  .topbar-command { width: 43px; padding: 0; justify-content: center; }
  .topbar-command span, .topbar-command kbd { display: none; }
  .owner-chip { display: none; }
  .dashboard-page { padding-top: 24px; }
  .dashboard-heading { align-items: flex-start; gap: 15px; }
  .readiness-pill { max-width: 112px; line-height: 1.5; }
  .command-canvas { border-radius: 19px; }
  .canvas-copy { padding: 29px 22px; }
  .brand-core { min-height: 250px; }
  .orbit-one { width: 225px; height: 225px; }.orbit-two { width: 180px; height: 180px; }.core-logo { width: 126px; height: 126px; }.core-logo img { width: 108px; height: 108px; }
  .trust-row { flex-direction: column; gap: 7px; }
  .panel-title { align-items: flex-start; gap: 12px; }.empty-badge { max-width: 120px; line-height: 1.5; }
  .journey-panel, .module-section { padding: 18px; }
  .module-grid { grid-template-columns: 1fr; }
  .foundation-callout { align-items: flex-start; }.foundation-callout span { line-height: 1.7; }
  .foundation-grid { grid-template-columns: 1fr; }
  .module-page { padding-top: 36px; }
  .angel-command-modal { top: 3vh; max-height: 94vh; padding: 21px; }
  .preview-actions { flex-direction: column; }.preview-actions button { width: 100%; }
}

/* Institutional home — PEONY × ANGEL OS */
.home-shell .route-content { background: #101110; }
.home-shell .shell-topbar { color: #e7e2da; background: #171817e8; border-bottom-color: #ffffff12; }
.home-shell .topbar-dot { background: #c7a37b; box-shadow: 0 0 0 5px #c7a37b17; }
.home-shell .breadcrumb { color: #767873; }
.home-shell .global-search, .home-shell .topbar-command { color: #aaa8a2; border-color: #ffffff16; background: #ffffff08; box-shadow: none; }
.home-shell .topbar-command { color: #e2c7a5; border-color: #c09b6f47; }
.home-shell kbd { color: #9c9b96; border-color: #ffffff1b; background: #ffffff08; }
.home-shell .owner-avatar { background: #ece4d9; color: #242523; border-color: #fff; }
.home-shell .mobile-menu { color: #e7e2da; }

.institutional-home { overflow: hidden; background: #f1eee8; }
.neural-hero { min-height: 720px; position: relative; overflow: hidden; isolation: isolate; padding: clamp(28px, 4vh, 48px) clamp(18px, 3vw, 46px) 78px; color: #f0ebe3; background: radial-gradient(circle at 70% 16%, #5e4b3722, transparent 31%), #101110; }
.neural-hero:before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .12; pointer-events: none; background-image: linear-gradient(#ffffff08 1px, transparent 1px), linear-gradient(90deg, #ffffff08 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg, black, transparent 60%); }
.neural-command-stage { width: min(1500px, 100%); height: clamp(650px, calc(100svh - 128px), 840px); min-height: 650px; margin: auto; position: relative; overflow: hidden; isolation: isolate; border: 1px solid #ffffff13; border-radius: 34px; background: #0b0d0c; box-shadow: 0 46px 130px #0008, inset 0 1px #ffffff12; direction: ltr; }
.neural-command-stage:before { content: ""; position: absolute; z-index: 4; inset: 12px; pointer-events: none; border: 1px solid #ffffff0a; border-radius: 25px; }
.neural-command-stage:after { content: ""; position: absolute; z-index: 1; left: 0; top: 0; bottom: 0; width: 59%; pointer-events: none; background: linear-gradient(90deg, #080a09f5 0%, #0b0d0cdb 58%, #0b0d0c30 100%); }
.hero-language-copy { position: absolute; z-index: 6; left: clamp(28px, 4.1vw, 68px); top: clamp(48px, 7.5%, 68px); width: min(47%, 620px); min-width: 360px; padding: 8px clamp(14px, 1.6vw, 25px) 8px 0; color: #f0ebe3; border-inline-start: 1px solid #b6926852; background: linear-gradient(90deg, #0d0f0ebe, #0d0f0e1a); backdrop-filter: blur(4px); box-shadow: -28px 0 80px #07080778; direction: inherit; }
[dir="rtl"] .hero-language-copy { direction: rtl; text-align: right; }
[dir="ltr"] .hero-language-copy { direction: ltr; text-align: left; }
.command-identity { margin-bottom: 20px; display: grid; grid-template-columns: 40px auto 1fr; gap: 10px; align-items: center; direction: ltr; }
.command-identity > img { width: 40px; height: 40px; object-fit: contain; padding: 2px; border: 1px solid #d1b18b; border-radius: 11px; background: #fff; box-shadow: 0 10px 30px #0008; }
.command-identity > span { display: flex; flex-direction: column; }
.command-identity b { color: #efe7dc; font: 10px Arial; letter-spacing: .18em; }
.command-identity small { margin-top: 4px; color: #82786d; font: 6px Arial; letter-spacing: .13em; }
.command-identity > i { height: 1px; margin-inline-start: 9px; background: linear-gradient(90deg, #a9866061, transparent); }
.hero-eyebrow { display: flex; align-items: center; gap: 8px; color: #caa982; font: 8px Arial, sans-serif; letter-spacing: .17em; }
.hero-eyebrow i { width: 19px; height: 1px; background: #caa982; box-shadow: 0 0 10px #caa982; }
.hero-language-copy h1 { margin: 14px 0 11px; max-width: 570px; font: 500 clamp(34px, 3.5vw, 60px)/1.18 var(--serif); letter-spacing: -.045em; text-wrap: balance; overflow-wrap: anywhere; }
.hero-language-copy > p { max-width: 550px; margin: 0; color: #aaa8a1; font-size: 10px; line-height: 2; overflow-wrap: anywhere; }
.institutional-command { width: 100%; height: 52px; margin-top: 17px; padding: 0 13px; display: flex; align-items: center; gap: 10px; color: #e7d7c4; border: 1px solid #bd9a7157; border-radius: 12px; background: linear-gradient(90deg, #c19c7214, #ffffff06); box-shadow: inset 0 1px #ffffff0b; transition: .22s ease; }
.institutional-command:hover { border-color: #d1ae85; transform: translateY(-2px); box-shadow: 0 14px 40px #0004, inset 0 1px #ffffff12; }
.institutional-command span { flex: 1; text-align: start; font-size: 10px; }
.hero-trust { margin-top: 11px; display: flex; flex-wrap: wrap; gap: 13px; color: #96968f; }
.hero-trust span { display: flex; align-items: center; gap: 5px; font-size: 7px; }
.hero-trust svg { color: #bea17e; }
.neural-systems { margin-top: 17px; display: flex; flex-wrap: wrap; gap: 6px; color: #e4c59f; }
.neural-systems span { width: max-content; max-width: 100%; display: flex; align-items: center; gap: 7px; padding: 6px 9px; border: 1px solid #c4a47d20; border-radius: 20px; background: #1113106e; font: 7px Arial, sans-serif; letter-spacing: .05em; }
.neural-systems i { width: 4px; height: 4px; border-radius: 50%; background: #c5a27a; box-shadow: 0 0 9px #c5a27a; animation: status-pulse 2.4s ease infinite; }
.neural-art { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.92) contrast(1.06) brightness(.88); animation: neural-breathe 12s ease-in-out infinite alternate; }
.neural-vignette { position: absolute; z-index: -2; inset: 0; pointer-events: none; background: linear-gradient(180deg, #0d0e0d08 48%, #0d0e0db0 100%), radial-gradient(circle at 73% 38%, transparent 0, transparent 24%, #080a092c 62%, #080a09aa 100%); }
.neural-vignette:after { content: ""; position: absolute; inset: 0; opacity: .11; background-image: radial-gradient(#fff 0.6px, transparent 0.7px); background-size: 7px 7px; mix-blend-mode: soft-light; }
.brain-engraving { position: absolute; z-index: 5; left: 75.2%; top: 84.7%; width: 20%; transform: translate(-50%, -50%) perspective(500px) rotateX(8deg); display: flex; flex-direction: column; align-items: center; pointer-events: none; direction: ltr; text-align: center; filter: drop-shadow(0 2px 1px #000); }
.brain-engraving span { color: #caa67c; font: 500 clamp(16px, 1.6vw, 26px)/1 var(--serif); letter-spacing: .28em; text-indent: .28em; text-shadow: 0 1px #f6dbb45e, 0 -1px #1a120b, 0 0 18px #cb9a6359; }
.brain-engraving small { margin-top: 6px; color: #90775d; font: 5px Arial; letter-spacing: .22em; text-shadow: 0 -1px #080604; }
.core-state { position: absolute; z-index: 5; top: 28px; right: 28px; max-width: 290px; padding: 7px 10px; display: flex; align-items: center; gap: 7px; color: #b1a79a; border: 1px solid #ffffff15; border-radius: 20px; background: #0c0d0ca8; backdrop-filter: blur(8px); direction: ltr; font: 7px Arial; letter-spacing: .09em; }
.core-state i { width: 6px; height: 6px; border-radius: 50%; background: #caa77f; box-shadow: 0 0 12px #caa77f; animation: status-pulse 1.8s ease infinite; }
.core-state b { max-width: 170px; overflow: hidden; color: #e5c49e; font: 7px var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.neural-thread { position: absolute; z-index: 3; left: 38%; width: 30%; height: 1px; transform-origin: left; background: linear-gradient(90deg, transparent, #d4aa7675, #d4aa7612); pointer-events: none; }
.neural-thread i { position: absolute; top: -2px; width: 5px; height: 5px; border-radius: 50%; background: #f5d8b4; box-shadow: 0 0 7px 2px #e4b984, 0 0 18px 4px #c69a65; animation: thread-travel 3.6s ease-in-out infinite; }
.thread-one { top: 38%; transform: rotate(5deg); }
.thread-two { top: 51%; transform: rotate(-1deg); }
.thread-two i { animation-delay: -1.2s; }
.thread-three { top: 64%; transform: rotate(-7deg); }
.thread-three i { animation-delay: -2.4s; }
.discovery-metrics { position: absolute; z-index: 6; left: 4.2%; bottom: 22px; width: min(48%, 640px); min-height: 51px; display: grid; grid-template-columns: repeat(3, 1fr); direction: ltr; border-top: 1px solid #ffffff12; background: linear-gradient(90deg, #090b0ad1, transparent); }
.discovery-metrics > div { min-width: 0; padding: 10px 13px; display: grid; grid-template-columns: auto 1fr; gap: 8px; align-items: center; border-inline-end: 1px solid #ffffff0c; }
.discovery-metrics b { color: #d5b187; font: 500 16px var(--serif); }
.discovery-metrics small { color: #777872; font: 6px/1.55 var(--sans); }
.hero-version { position: absolute; z-index: 6; left: clamp(28px, 4.2vw, 68px); right: clamp(28px, 4.2vw, 68px); bottom: 24px; display: flex; align-items: center; justify-content: center; gap: 11px; color: #6f706c; font: 7px Arial, sans-serif; letter-spacing: .14em; direction: ltr; }
.hero-version:before, .hero-version:after { content: ""; height: 1px; flex: 1; background: linear-gradient(90deg, transparent, #ffffff15); }
.hero-version:after { transform: rotate(180deg); }
.hero-version b { width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid #9d8468; border-radius: 50%; color: #ae9271; }
.hero-version span { white-space: nowrap; }

.proof-ribbon { min-height: 110px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; border-bottom: 1px solid #d6d0c6; background: #f6f3ed; }
.proof-ribbon > div { position: relative; height: 100%; padding: 0 25px; display: flex; align-items: center; justify-content: center; gap: 10px; }
.proof-ribbon span { color: #aa8e6c; font: 8px Arial; letter-spacing: .1em; }
.proof-ribbon b { font: 500 11px var(--serif); }
.proof-ribbon i { position: absolute; inset-inline-end: 0; width: 1px; height: 30%; background: #d6d0c6; }

.operating-architecture { padding: 100px max(5vw, 40px) 90px; background: linear-gradient(180deg, #f1eee8, #fbfaf7); }
.architecture-heading { max-width: 820px; margin: 0 auto 54px; text-align: center; }
.architecture-heading h2, .authority-copy h2, .modules-heading h2 { margin: 9px 0 11px; font: 500 clamp(32px, 4vw, 58px)/1.2 var(--serif); letter-spacing: -.045em; text-wrap: balance; }
.architecture-heading p { max-width: 680px; margin: auto; color: #77736d; font-size: 10px; line-height: 1.9; }
.architecture-stage { max-width: 1240px; min-height: 520px; margin: auto; display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: center; }
.architecture-core { min-height: 460px; position: relative; display: grid; place-items: center; isolation: isolate; }
.architecture-core:before { content: ""; position: absolute; z-index: -2; width: 330px; height: 330px; border-radius: 50%; background: radial-gradient(circle, #d6b99226 0, #c4a0700c 47%, transparent 68%); filter: blur(3px); }
.architecture-core img { width: 205px; height: 205px; object-fit: contain; position: relative; z-index: 2; border: 1px solid #d7c7b4; border-radius: 34px; background: white; box-shadow: 0 32px 90px #59452f1f; animation: logo-float 5s ease-in-out infinite; }
.architecture-core > span { position: absolute; bottom: 35px; display: flex; align-items: center; gap: 7px; color: #856d53; font: 8px Arial; letter-spacing: .15em; direction: ltr; }
.core-halo { position: absolute; border: 1px solid #b99a7438; border-radius: 50%; animation: halo-turn 25s linear infinite; }
.halo-one { width: 350px; height: 350px; }
.halo-two { width: 430px; height: 430px; border-style: dashed; animation-direction: reverse; animation-duration: 35s; }
.core-halo:before, .core-halo:after { content: ""; position: absolute; width: 8px; height: 8px; border: 2px solid #f4f0ea; border-radius: 50%; background: #ad8b63; box-shadow: 0 0 14px #ad8b63; }
.core-halo:before { left: 12%; top: 20%; }.core-halo:after { right: 14%; bottom: 18%; }
.architecture-layers { display: grid; gap: 8px; }
.architecture-layers > div { min-height: 72px; padding: 0 18px; display: grid; grid-template-columns: 38px 1fr 125px; gap: 12px; align-items: center; border: 1px solid #ddd7ce; border-radius: 13px; background: #ffffffa8; box-shadow: 0 8px 24px #46372508; transition: .2s; }
.architecture-layers > div:hover { border-color: #c9b397; background: white; box-shadow: 0 15px 40px #4637250d; }
.architecture-layers span { color: #a48766; font: 8px Arial; }
.architecture-layers b { font: 500 14px var(--serif); }
.architecture-layers i { height: 1px; position: relative; overflow: visible; background: #dfd7cd; }
.architecture-layers em { position: absolute; left: 0; top: -1px; width: 36%; height: 3px; border-radius: 4px; background: linear-gradient(90deg, transparent, #b58e62, transparent); animation: layer-scan 3.2s ease-in-out infinite; }

.authority-section { min-height: 560px; padding: 84px max(5vw, 40px); display: grid; grid-template-columns: minmax(300px, .85fr) minmax(560px, 1.15fr); gap: 70px; align-items: center; color: #e7e1d8; background: radial-gradient(circle at 83% 45%, #3d352c 0, #242522 32%, #141514 72%); }
.authority-copy { max-width: 560px; }
.authority-copy .eyebrow { color: #c2a27d; }
.authority-copy h2 { font-size: clamp(34px, 4.3vw, 64px); }
.authority-copy p { max-width: 540px; margin: 0; color: #9a9994; font-size: 9px; line-height: 1.9; }
.authority-copy button { margin-top: 22px; height: 43px; padding: 0 14px; display: flex; align-items: center; gap: 10px; border: 1px solid #c09c7047; border-radius: 9px; color: #ddc8ad; background: #ffffff07; font-size: 9px; }
.execution-path { display: grid; gap: 8px; }
.execution-node { min-height: 64px; position: relative; display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: center; padding: 0 16px; border: 1px solid #ffffff11; border-radius: 12px; background: #ffffff07; }
.execution-node > span { width: 30px; height: 30px; z-index: 2; display: grid; place-items: center; border: 1px solid #ffffff1a; border-radius: 50%; color: #c9aa83; background: #191a18; font: 8px Arial; }
.execution-node > b { font: 500 12px var(--serif); }
.execution-node > i { position: absolute; left: 31px; top: 48px; width: 1px; height: 25px; background: linear-gradient(#b9956d, transparent); }
[dir="rtl"] .execution-node > i { left: auto; right: 31px; }
.execution-node.human-gate { border-color: #c19d6f75; background: linear-gradient(90deg, #ae8a6030, #ffffff07); box-shadow: 0 0 0 5px #ae8a6009, inset 0 1px #ffffff0e; }
.human-gate > span { color: #1b1c1a; background: #caaa82; border-color: #e2c49e; box-shadow: 0 0 24px #c6a27852; }
.human-gate em { position: absolute; inset-inline-end: 13px; display: flex; align-items: center; gap: 5px; padding: 5px 7px; color: #ddc4a5; border: 1px solid #d0ac7d44; border-radius: 5px; font: normal 7px Arial; letter-spacing: .1em; }

.os-modules { padding: 92px max(5vw, 40px) 78px; background: #f4f1eb; }
.modules-heading { max-width: 1240px; margin: auto; display: flex; align-items: flex-end; justify-content: space-between; }
.modules-heading h2 { font-size: clamp(32px, 4vw, 56px); }
.modules-heading > span { display: flex; align-items: center; gap: 6px; color: #806e5c; font: 7px Arial; letter-spacing: .1em; }
.os-module-grid { max-width: 1240px; margin: 36px auto 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.os-module { min-height: 205px; position: relative; padding: 18px; overflow: hidden; border: 1px solid #ddd6cd; border-radius: 15px; background: #faf8f4; transition: .25s ease; }
.os-module:hover { z-index: 2; transform: translateY(-5px); border-color: #bfa483; background: white; box-shadow: 0 25px 60px #4c382118; }
.module-index { position: absolute; top: 19px; inset-inline-end: 18px; color: #a98a65; font: 8px Arial; letter-spacing: .1em; }
.os-module-icon { width: 43px; height: 43px; display: grid; place-items: center; color: #8f7456; border: 1px solid #d6c4ad; border-radius: 12px; background: #fffdf9; transition: .25s; }
.os-module:hover .os-module-icon { color: #f7eee3; border-color: #967650; background: #9b7b57; transform: rotate(-4deg) scale(1.06); }
.os-module h3 { margin: 37px 0 5px; font: 500 20px var(--serif); }
.os-module p { margin: 0; color: #918b83; font-size: 8px; }
.module-arrow { position: absolute; bottom: 17px; inset-inline-end: 17px; color: #a98c69; transition: .2s; }
.os-module:hover .module-arrow { transform: translate(-3px, -3px); }
.module-beam { position: absolute; left: -35%; right: -35%; bottom: -70px; height: 95px; opacity: 0; border-radius: 50%; background: radial-gradient(ellipse, #d1ad7b6e, transparent 68%); transition: .25s; }
.os-module:hover .module-beam { opacity: 1; bottom: -49px; }
.patient-flow-preview { max-width: 1240px; min-height: 92px; margin: 0 auto 78px; padding: 0 19px; display: grid; grid-template-columns: 290px 1fr auto; gap: 20px; align-items: center; color: #dfd8ce; border: 1px solid #ffffff10; border-radius: 15px; background: #20211f; box-shadow: 0 25px 60px #2e241923; }
.patient-flow-preview > div:first-child { display: flex; align-items: center; gap: 10px; color: #bea17e; }
.patient-flow-preview > div:first-child > span { display: flex; flex-direction: column; }
.patient-flow-preview b { color: #e7e1d8; font: 9px Arial; letter-spacing: .08em; }
.patient-flow-preview small { margin-top: 4px; color: #858681; font: 6px Arial; }
.flow-line { display: flex; align-items: center; justify-content: space-between; position: relative; }
.flow-line:before { content: ""; position: absolute; left: 0; right: 0; height: 1px; background: #ae8d654d; }
.flow-line span { width: 24px; height: 24px; z-index: 2; display: grid; place-items: center; color: #d2b28b; border: 1px solid #a888615c; border-radius: 50%; background: #20211f; }
.flow-state { color: #9a9a95; font: 7px Arial; letter-spacing: .08em; }

@keyframes neural-breathe { from { transform: scale(1.005); } to { transform: scale(1.035); } }
@keyframes status-pulse { 50% { opacity: .35; transform: scale(.72); } }
@keyframes thread-travel { from { left: 0; opacity: 0; } 14% { opacity: 1; } 86% { opacity: 1; } to { left: 100%; opacity: 0; } }
@keyframes logo-float { 50% { transform: translateY(-9px); box-shadow: 0 43px 100px #59452f25; } }
@keyframes halo-turn { to { transform: rotate(360deg); } }
@keyframes layer-scan { 0%, 100% { left: 0; opacity: .2; } 50% { left: 64%; opacity: 1; } }

@media (max-width: 1180px) {
  .neural-hero { min-height: 680px; }
  .neural-command-stage { height: 690px; }
  .hero-language-copy { width: 50%; min-width: 340px; }
  .discovery-metrics { display: none; }
  .architecture-stage { gap: 30px; }
  .authority-section { grid-template-columns: 1fr 1.15fr; gap: 35px; }
  .os-module-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .neural-hero { min-height: 0; padding: 24px 18px 70px; }
  .neural-command-stage { height: 940px; min-height: 940px; }
  .neural-command-stage:after { width: 100%; background: linear-gradient(180deg, transparent 10%, #0b0d0c30 35%, #0b0d0cf8 56%, #0b0d0c 100%); }
  .neural-art { height: 56%; object-position: 70% center; }
  .neural-vignette { background: radial-gradient(circle at 67% 24%, transparent 0, transparent 24%, #080a0942 68%, #080a09b5 100%); }
  .hero-language-copy { left: 28px; right: 28px; top: auto; bottom: 42px; transform: none; width: auto; min-width: 0; max-width: none; padding: 22px 20px; border: 1px solid #ffffff0f; border-radius: 20px; background: linear-gradient(135deg, #111310d1, #11131072); box-shadow: 0 28px 80px #0004; }
  .command-identity { margin-bottom: 16px; }
  .brain-engraving { left: 72%; top: 48%; width: 30%; }
  .neural-thread { left: 12%; width: 58%; }
  .thread-one { top: 27%; }.thread-two { top: 34%; }.thread-three { top: 41%; }
  .hero-version span:last-child { display: none; }
  .proof-ribbon { grid-template-columns: repeat(2, 1fr); }
  .proof-ribbon > div { min-height: 80px; border-bottom: 1px solid #ded8cf; }
  .architecture-stage { grid-template-columns: 1fr; }
  .architecture-core { min-height: 430px; }
  .authority-section { grid-template-columns: 1fr; }
  .execution-path { max-width: 680px; width: 100%; }
  .patient-flow-preview { grid-template-columns: 1fr; padding: 18px; }
  .flow-state { text-align: center; }
}

@media (max-width: 620px) {
  .neural-hero { padding: 12px 10px 62px; }
  .neural-command-stage { height: 900px; min-height: 900px; border-radius: 23px; }
  .neural-command-stage:before { inset: 8px; border-radius: 16px; }
  .neural-art { height: 45%; object-position: 71% center; }
  .brain-engraving { left: 71%; top: 38.5%; width: 38%; }
  .brain-engraving span { font-size: 14px; }
  .brain-engraving small { display: none; }
  .hero-language-copy { left: 14px; right: 14px; bottom: 24px; padding: 18px 16px; border-radius: 17px; }
  .command-identity { grid-template-columns: 36px auto 1fr; margin-bottom: 13px; }
  .command-identity > img { width: 36px; height: 36px; }
  .hero-language-copy h1 { font-size: clamp(30px, 9vw, 40px); }
  .hero-language-copy > p { font-size: 9px; }
  .institutional-command { height: auto; min-height: 50px; }
  .institutional-command kbd { display: none; }
  .hero-trust { gap: 8px 12px; }
  .neural-systems span { padding: 5px 8px; }
  .core-state { top: 18px; right: 18px; }
  .hero-version { left: 18px; right: 18px; bottom: 17px; }
  .hero-version span { display: none; }
  .proof-ribbon { min-height: 0; }
  .proof-ribbon > div { padding: 0 10px; justify-content: flex-start; }
  .proof-ribbon b { font-size: 9px; }
  .operating-architecture, .authority-section, .os-modules { padding: 64px 18px; }
  .architecture-heading { text-align: start; }
  .architecture-core { min-height: 360px; transform: scale(.82); margin: -35px 0; }
  .architecture-layers > div { grid-template-columns: 31px 1fr 62px; }
  .architecture-layers b { font-size: 11px; }
  .modules-heading { align-items: flex-start; gap: 12px; }
  .modules-heading > span { display: none; }
  .os-module-grid { grid-template-columns: 1fr; }
  .patient-flow-preview { margin: 0 18px 55px; }
  .flow-line { order: 3; }
}

@media (max-width: 1100px) {
  .brain-control-page { padding: 24px 22px 65px; }
  .brain-control-hero { grid-template-columns: 1fr; }
  .brain-control-copy { max-width: 60%; padding: 42px 36px; }
  .brain-control-visual > img { width: 78%; }
  .brain-evidence-grid { grid-template-columns: repeat(2, 1fr); }
  .brain-maturity-grid { grid-template-columns: repeat(2, 1fr); }
  .calibration-sequence > div { grid-template-columns: 1fr; gap: 8px; }
  .calibration-sequence article { min-height: 46px; display: grid; grid-template-columns: 36px 1fr; gap: 11px; align-items: center; }
  .calibration-sequence p { margin: 0; }
  .calibration-sequence i { left: 27px; right: auto; top: 39px; width: 1px; height: 15px; }
}

@media (max-width: 760px) {
  .brain-control-page { padding: 15px 12px 52px; }
  .brain-control-hero { min-height: 720px; align-items: end; border-radius: 21px; }
  .brain-control-hero:after { background: linear-gradient(180deg, transparent 5%, #0b0d0c50 34%, #0b0d0cf8 58%, #0b0d0c 100%); }
  .brain-control-copy { max-width: none; padding: 30px 23px; }
  .brain-control-copy h1 { font-size: clamp(36px, 11vw, 52px); }
  .brain-control-visual > img { width: 100%; height: 58%; top: 0; object-position: 70% center; }
  .brain-control-mark { right: 17px; top: 17px; }
  .brain-evidence-section, .brain-maturity-section, .brain-learning-section { padding: 22px 17px; border-radius: 18px; }
  .brain-evidence-section > header { grid-template-columns: 1fr; gap: 12px; }
  .brain-evidence-grid, .brain-maturity-grid, .learning-contract { grid-template-columns: 1fr; }
  .brain-owner-gate { grid-template-columns: auto 1fr; padding: 20px; }
  .brain-owner-gate button { grid-column: 1 / -1; justify-content: center; }
}

/* Laravel bridge: original Shell visual language with legacy governed modules inside the route canvas. */
.peony-laravel-shell .main-frame { min-width: 0; }
.peony-laravel-shell .route-content { background: var(--ivory); }
.peony-legacy-content { min-height: calc(100vh - 72px); padding: 26px 34px 58px; color: var(--ink); }
.peony-legacy-content > .d-flex { min-width: 0; }
.peony-legacy-content .container-fluid { max-width: 1540px; margin-inline: auto; }
.peony-legacy-content .card { border-color: #ded7cc; border-radius: 18px; box-shadow: 0 16px 44px #382c1c0c; }
.peony-legacy-content .btn-primary { background: #4e755e; border-color: #4e755e; }
.peony-legacy-content .btn-primary:hover { background: #3d624c; border-color: #3d624c; }
.peony-legacy-footer { max-width: 1540px; margin-inline: auto; padding: 0 34px 28px; }
.peony-laravel-shell .side-rail .angel-status { width: 100%; border: 0; text-align: inherit; cursor: pointer; }
.peony-laravel-shell .side-rail .angel-status > i { margin-inline-start: auto; }
.peony-laravel-shell .side-rail .rail-link > i { width: 20px; text-align: center; }
.peony-laravel-shell .peony-logout-form { margin: 8px 14px 0; }
.peony-laravel-shell .signout { width: 100%; cursor: pointer; }
.peony-laravel-shell .angel-command-modal[hidden] { display: none !important; }
.peony-laravel-shell [hidden] { display: none !important; }
.peony-laravel-shell .angel-command-modal { z-index: 1000; }
.peony-laravel-shell .mobile-scrim { border: 0; }

.peony-auth-body { min-height: 100vh; background: #0b0d0c; }
.peony-auth { position: relative; min-height: 100vh; overflow: hidden; color: #f0ebe3; background: radial-gradient(circle at 76% 12%, #8e6d4948, transparent 28%), #101110; }
.peony-auth-art { position: absolute; inset: 0; opacity: .26; background: linear-gradient(90deg, #090b0af5 0%, #0b0d0cc4 51%, #0b0d0c38 100%), url('/angel/peony-neural-command-core-v3.png') center/cover no-repeat; filter: saturate(.82) contrast(1.05); }
.peony-auth-header, .peony-auth-stage, .peony-auth-footer { position: relative; z-index: 1; width: min(1440px, calc(100% - 48px)); margin-inline: auto; }
.peony-auth-header { min-height: 102px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid #ffffff15; }
.peony-auth-brand { display: flex; align-items: center; gap: 12px; color: #f0ebe3; text-decoration: none; direction: ltr; }
.peony-auth-brand img { width: 58px; height: 58px; padding: 4px; object-fit: contain; border: 1px solid #d1b18b; border-radius: 16px; background: #fff; box-shadow: 0 10px 30px #0008; }
.peony-auth-brand span { display: flex; flex-direction: column; gap: 3px; }
.peony-auth-brand b { font: 500 15px var(--serif); letter-spacing: .25em; }
.peony-auth-brand small { color: #a29789; font: 7px Arial; letter-spacing: .17em; }
.peony-auth-locales { display: flex; gap: 4px; padding: 4px; border: 1px solid #ffffff1a; border-radius: 10px; background: #ffffff0b; }
.peony-auth-locales button { min-width: 39px; padding: 6px 7px; color: #aaa69e; border: 0; border-radius: 6px; background: transparent; font-size: 8px; cursor: pointer; }
.peony-auth-locales button.active { color: #272624; background: #e9dfd1; }
.peony-auth-stage { min-height: calc(100vh - 161px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 470px); gap: clamp(36px, 9vw, 160px); align-items: center; padding: 68px 4vw; }
.peony-auth-intro { max-width: 620px; }
.peony-auth-intro > span { display: flex; align-items: center; gap: 8px; color: #caa982; font: 8px Arial; letter-spacing: .18em; direction: ltr; }
.peony-auth-intro h1 { max-width: 610px; margin: 20px 0 16px; color: #f2ece2; font: 500 clamp(38px, 5vw, 70px)/1.16 var(--serif); letter-spacing: -.045em; }
.peony-auth-intro p { max-width: 540px; color: #afa99f; font-size: 12px; line-height: 2; }
.peony-auth-proof { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 26px; }
.peony-auth-proof span { display: flex; align-items: center; gap: 6px; padding: 7px 10px; color: #c6b9aa; border: 1px solid #ffffff14; border-radius: 20px; background: #0d0f0e8c; font-size: 8px; }
.peony-auth-proof i { color: #caa982; }
.peony-auth-panel { padding: 1px; border: 1px solid #ffffff1f; border-radius: 26px; background: linear-gradient(145deg, #ffffff1a, #ffffff05); box-shadow: 0 35px 100px #0008; backdrop-filter: blur(18px); }
.peony-login-card { padding: clamp(28px, 4vw, 47px); border-radius: 25px; background: linear-gradient(155deg, #181a18ec, #101211ee); }
.peony-login-mark { display: flex; align-items: center; gap: 12px; direction: ltr; }
.peony-login-mark > span { width: 39px; height: 39px; display: grid; place-items: center; color: #d5b187; border: 1px solid #bf9b723f; border-radius: 12px; background: #c39d7310; }
.peony-login-mark div { display: flex; flex-direction: column; gap: 3px; }
.peony-login-mark b { color: #e7ded2; font: 700 10px Arial; letter-spacing: .18em; }
.peony-login-mark small { color: #82796f; font: 6px Arial; letter-spacing: .13em; }
.peony-login-card h2 { margin: 28px 0 8px; color: #f1ebe1; font: 500 33px/1.2 var(--serif); }
.peony-login-card > p:not(.peony-login-boundary) { margin: 0 0 27px; color: #aaa59d; font-size: 10px; line-height: 1.9; }
.peony-login-form { display: grid; gap: 16px; }
.peony-field { display: grid; gap: 7px; }
.peony-field label { color: #cec7bc; font-size: 9px; }
.peony-field > span { display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 13px; border: 1px solid #ffffff1b; border-radius: 11px; background: #ffffff08; transition: border-color .2s ease, background .2s ease; }
.peony-field > span:focus-within { border-color: #c7a37b; background: #ffffff0d; }
.peony-field i { color: #b99a76; font-size: 14px; }
.peony-field input { width: 100%; min-width: 0; color: #f1ece4; border: 0; outline: 0; background: transparent; font-size: 11px; }
.peony-field input::placeholder { color: #77746e; }
.peony-remember { display: flex; align-items: center; gap: 8px; color: #a9a59d; font-size: 9px; cursor: pointer; }
.peony-remember input { accent-color: #c09a70; }
.peony-login-submit { height: 49px; display: flex; align-items: center; justify-content: center; gap: 10px; color: #261f18; border: 1px solid #e3c7a3; border-radius: 12px; background: linear-gradient(100deg, #cfac83, #f0d1af); box-shadow: 0 12px 30px #c09a7022; font-weight: 700; font-size: 10px; cursor: pointer; transition: transform .2s ease, filter .2s ease; }
.peony-login-submit:hover { filter: brightness(1.05); transform: translateY(-1px); }
.peony-login-boundary { display: flex; gap: 8px; margin: 20px 0 0; padding-top: 17px; color: #817d75; border-top: 1px solid #ffffff0d; font-size: 8px; line-height: 1.8; }
.peony-login-boundary i { color: #b99a76; margin-top: 3px; }
.peony-login-card .alert { margin-bottom: 16px; font-size: 10px; }
.peony-auth-footer { min-height: 59px; display: flex; align-items: center; justify-content: center; gap: 11px; color: #777872; border-top: 1px solid #ffffff10; font: 7px Arial; letter-spacing: .14em; direction: ltr; }
.peony-auth-footer b { color: #d0ae85; font: 500 14px var(--serif); }
@media (max-width: 880px) { .peony-auth-stage { grid-template-columns: 1fr; gap: 36px; padding: 40px 3vw 70px; } .peony-auth-intro { max-width: 720px; } .peony-auth-intro h1 { font-size: clamp(34px, 8vw, 54px); } .peony-auth-panel { max-width: 540px; width: 100%; } }
@media (max-width: 620px) { .peony-auth-header, .peony-auth-stage, .peony-auth-footer { width: min(100% - 30px, 1440px); } .peony-auth-header { min-height: 82px; } .peony-auth-brand img { width: 43px; height: 43px; } .peony-auth-brand small { display: none; } .peony-auth-locales button { min-width: 0; padding: 5px; font-size: 7px; } .peony-auth-stage { min-height: auto; padding-top: 32px; } .peony-auth-intro h1 { margin-top: 14px; } .peony-login-card { padding: 25px 20px; } .peony-legacy-content { padding: 18px 15px 45px; } }
