/* Grimley brand layer: intentionally limited to identity and major story titles. */
.brand {
  min-width: 300px;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  position: relative;
}

.brand::after {
  content: "";
  position: absolute;
  inset: -10px -18px;
  z-index: -1;
  background: radial-gradient(ellipse, rgba(33, 243, 151, .025), transparent 67%);
  filter: blur(12px);
}

.brand-logo {
  display: block;
  width: min(255px, 24vw);
  height: auto;
  filter: drop-shadow(0 0 3px rgba(33, 243, 151, .08));
}

.brand > small {
  padding-left: 5px;
  color: #756f64;
  font-size: 6px;
  letter-spacing: .38em;
}

.grimley-heading {
  font-family: Cinzel, Georgia, serif;
  letter-spacing: normal;
  text-shadow: none;
}

.presence-panel .grimley-heading {
  text-transform: none;
  line-height: 1.02;
  transform: none;
}

.presence-panel .grimley-heading em {
  color: #c65e32;
  transform: none;
}

.companion-presence { width: 230px; height: 270px; position: relative; margin: 25px 0 8px; display: grid; place-items: center; }
.companion-presence .sigil { position: absolute; width: 210px; height: 210px; margin: 0; opacity: .44; }
.companion-mask-main { position: relative; z-index: 1; width: 174px; height: auto; filter: sepia(.15) saturate(.78) brightness(.78) contrast(1.08) drop-shadow(0 12px 22px rgba(0, 0, 0, .7)); animation: companion-breathe 7s ease-in-out infinite; }
@keyframes companion-breathe { 0%,100% { transform: translateY(2px) scale(.985); opacity: .82; } 50% { transform: translateY(-3px) scale(1); opacity: .96; } }
.companion-token { width: 28px; height: 34px; object-fit: contain; filter: sepia(.2) brightness(.72); opacity: .8; }
.archive-mask { position: absolute; z-index: 2; left: 50%; top: 26px; width: 132px; transform: translateX(-50%); opacity: .84; filter: sepia(.2) saturate(.7) brightness(.64) contrast(1.16) drop-shadow(0 9px 13px rgba(0,0,0,.8)); }
.director-view { position: relative; isolation: isolate; overflow: hidden; }
.director-view::before { content: ""; position: absolute; z-index: -1; width: 520px; height: 650px; right: -190px; top: 110px; background: url('/assets/companion-mask.png') center/contain no-repeat; opacity: .018; filter: grayscale(1) sepia(.3); transform: rotate(8deg); pointer-events: none; }

.page-heading .grimley-heading {
  text-transform: none;
  letter-spacing: normal;
}

.director-bar .grimley-heading {
  color: #e4dfcf;
  text-shadow: none;
}

.archive-card {
  box-shadow: 0 30px 80px rgba(0, 0, 0, .55);
}

@media (max-width: 900px) {
  .brand { min-width: 220px; }
  .brand-logo { width: 210px; }
}

/* Plain-language identity and consent surface, wrapped in the Archive fiction. */
.preserve-button { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid rgba(182, 154, 97, .32); background: rgba(182, 154, 97, .04); color: #b69a61; font-size: 7px; letter-spacing: .13em; white-space: nowrap; }
.preserve-button i { width: 6px; height: 6px; border: 1px solid currentColor; border-radius: 50%; }
.preserve-button.remembered { color: #84bcae; border-color: rgba(132, 188, 174, .3); }
.preserve-button.remembered i { background: #84bcae; box-shadow: 0 0 9px rgba(132, 188, 174, .65); }
.preserve-dialog { width: min(520px, calc(100vw - 30px)); padding: 38px; border: 1px solid rgba(182, 154, 97, .35); background: radial-gradient(circle at 50% 0, rgba(198, 94, 50, .1), transparent 40%), #11110e; color: #e4dfcf; box-shadow: 0 35px 100px rgba(0, 0, 0, .8); }
.preserve-dialog::backdrop { background: rgba(0, 0, 0, .82); backdrop-filter: blur(5px); }
.dialog-close { position: absolute; top: 12px; right: 12px; width: 30px; height: 30px; border: 0; background: transparent; color: #918c7e; font-size: 20px; }
.preserve-sigil { width: 62px; height: 72px; display: grid; place-items: center; margin-bottom: 20px; }
.preserve-sigil img { width: 100%; height: 100%; object-fit: contain; opacity: .78; filter: sepia(.2) saturate(.7) brightness(.72) drop-shadow(0 6px 12px rgba(0,0,0,.65)); }
.preserve-dialog h2 { margin: 9px 0 12px; font-size: 30px; }
.preserve-dialog p { color: #918c7e; font: 13px/1.7 Georgia, serif; }
.preserve-dialog form { display: grid; gap: 13px; margin-top: 22px; }
.preserve-dialog form label { color: #918c7e; font-size: 7px; letter-spacing: .15em; }
.preserve-dialog input[type="email"] { width: 100%; margin-top: 7px; padding: 13px; border: 1px solid rgba(228, 223, 207, .18); background: #090907; color: #e4dfcf; outline: 0; }
.preserve-dialog .primary-button { min-height: 44px; background: #c65e32; }
.preserve-dialog > div > small { display: block; margin-top: 14px; color: #625f57; font-size: 8px; line-height: 1.5; }
.hidden { display: none !important; }
.consent-list { display: grid; gap: 8px; margin: 20px 0; }
.consent-list label { display: grid; grid-template-columns: 22px 1fr; gap: 10px; padding: 12px; border: 1px solid rgba(228, 223, 207, .1); cursor: pointer; }
.consent-list input { accent-color: #84bcae; align-self: center; }
.consent-list b, .consent-list small { display: block; }
.consent-list b { font-size: 10px; font-weight: 500; }
.consent-list small { margin-top: 4px; color: #918c7e; font-size: 8px; line-height: 1.4; }
.remembered-devices{margin:18px 0;padding-top:14px;border-top:1px solid rgba(228,223,207,.1)}.remembered-devices h3{margin:0 0 9px;color:#b69a61;font:11px Georgia,serif}.remembered-devices article{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(228,223,207,.06)}.remembered-devices b,.remembered-devices small{display:block}.remembered-devices b{font-size:9px}.remembered-devices small,.remembered-devices p{margin-top:3px;color:#797469;font-size:7px}.remembered-devices button{border:0;background:transparent;color:#c68a70;font-size:7px}
.text-button { width: 100%; border: 0; background: transparent; color: #706c61; font-size: 7px; letter-spacing: .13em; padding: 10px; }

@media (max-width: 900px) {
  .preserve-button { margin-left: auto; }
  .preserve-button span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .companion-mask-main { animation: none; }
}

/* Minimal messaging-app mode for Your Companion */
body[data-current-view="companion"] { height:100dvh; overflow:hidden; background:#070706; }
body[data-current-view="companion"] .topbar { position:fixed; inset:0 0 auto; z-index:45; height:0; min-height:0; padding:0; border:0; background:none; overflow:visible; }
body[data-current-view="companion"] .topbar > .brand,
body[data-current-view="companion"] .topbar > .world-menu-button,
body[data-current-view="companion"] .topbar > .preserve-button { display:none; }
body[data-current-view="companion"] .topbar > nav { top:66px; right:18px; pointer-events:auto; }
body[data-current-view="companion"] main { height:100dvh; min-height:0; }
body[data-current-view="companion"] #companion-view { height:100%; overflow:hidden; }
body[data-current-view="companion"] .companion-shell { position:relative; display:block; width:100%; max-width:none; height:100%; min-height:0; overflow:hidden; }
body[data-current-view="companion"] .presence-panel { position:absolute; inset:0; z-index:0; display:grid; place-items:center; width:100%; height:100%; min-height:0; padding:0; border:0; overflow:hidden; pointer-events:none; }
body[data-current-view="companion"] .presence-panel > .eyebrow,
body[data-current-view="companion"] .presence-panel > h1,
body[data-current-view="companion"] .presence-panel > p,
body[data-current-view="companion"] .presence-panel > .connection-meter,
body[data-current-view="companion"] .presence-panel > .presence-stats { display:none; }
body[data-current-view="companion"] .companion-presence { position:absolute; inset:0; min-height:0; display:grid; place-items:center; }
body[data-current-view="companion"] .companion-presence .sigil { display:none; }
body[data-current-view="companion"] .companion-mask-main { position:relative; width:min(42vw,390px); max-height:58vh; opacity:.115; filter:sepia(.28) contrast(1.08) brightness(.62); animation:background-mask-breathe 10s ease-in-out infinite; }
body[data-current-view="companion"] .presence-panel::before,
body[data-current-view="companion"] .presence-panel::after { content:""; position:absolute; width:85vw; height:42vh; border:0; border-radius:50%; background:radial-gradient(ellipse,rgba(210,205,190,.16),rgba(85,95,84,.07) 42%,transparent 70%); filter:blur(58px); opacity:.35; box-shadow:none; animation:chat-fog-one 20s ease-in-out infinite alternate; }
body[data-current-view="companion"] .presence-panel::before { left:-38vw; top:23%; }
body[data-current-view="companion"] .presence-panel::after { right:-42vw; left:auto; top:auto; bottom:13%; animation-name:chat-fog-two; animation-duration:27s; }
body[data-current-view="companion"] .chat-panel { position:relative; z-index:3; width:min(100%,780px); height:100%; max-height:none; min-height:0; margin:auto; padding:0 24px 20px; border:0; border-radius:0; background:transparent; box-shadow:none; }
body[data-current-view="companion"] .chat-panel > header { flex:0 0 68px; height:68px; border-bottom:1px solid rgba(228,223,207,.08); background:linear-gradient(#080807 25%,rgba(8,8,7,.72) 72%,transparent); backdrop-filter:blur(4px); }
body[data-current-view="companion"] .chat-panel > header::after { opacity:.45; }
body[data-current-view="companion"] .messages { flex:1 1 auto; min-height:0; max-height:none; padding:42px 12px 24px; mask-image:linear-gradient(transparent 0,#000 7%,#000 94%,transparent 100%); }
body[data-current-view="companion"] .messages::before { opacity:.7; margin-bottom:44px; }
body[data-current-view="companion"] .message { max-width:76%; margin-bottom:34px; text-shadow:0 2px 14px #000; }
body[data-current-view="companion"] .message p { font-size:clamp(16px,2vw,19px); line-height:1.75; }
body[data-current-view="companion"] .message.participant p { background:rgba(22,21,17,.74); backdrop-filter:blur(8px); }
body[data-current-view="companion"] .choice-card { flex:0 0 auto; background:rgba(10,10,8,.72); backdrop-filter:blur(12px); border-color:rgba(182,154,97,.2); }
body[data-current-view="companion"] .composer { flex:0 0 auto; border-color:rgba(228,223,207,.2); background:rgba(13,13,11,.9); backdrop-filter:blur(16px); box-shadow:0 12px 45px rgba(0,0,0,.38); }
body[data-current-view="companion"] .privacy-note { flex:0 0 auto; }
body[data-current-view="companion"] .app-dock { display:none!important; }
.chat-path-button { width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(228,223,207,.1); background:rgba(255,255,255,.018); color:#918c7e; transition:.25s; }
.chat-path-button:hover,.chat-path-button:focus-visible { color:#d1b678; border-color:rgba(182,154,97,.35); }
.chat-path-button i { position:relative; display:block; width:13px; height:13px; }
.path-whisper { border:1px solid currentColor; border-radius:50%; }.path-whisper::after { content:""; position:absolute; width:3px; height:3px; inset:4px; border-radius:50%; background:currentColor; box-shadow:0 0 7px currentColor; }
.path-archive { border:1px solid currentColor; transform:rotate(45deg); }.path-archive::after { content:""; position:absolute; inset:3px; border:1px solid currentColor; }
.path-more::before,.path-more::after,.path-more { border-top:1px solid currentColor; }.path-more::before,.path-more::after { content:""; position:absolute; left:0; right:0; }.path-more::before { top:4px; }.path-more::after { top:9px; }
.hidden-chat-control { display:none; }

@keyframes background-mask-breathe { 0%,100% { opacity:.09; transform:scale(.98) translateY(2px) } 50% { opacity:.145; transform:scale(1.025) translateY(-5px) } }
@keyframes chat-fog-one { from { transform:translate3d(-8vw,2vh,0) scale(.85); opacity:.18 } to { transform:translate3d(35vw,-5vh,0) scale(1.25); opacity:.42 } }
@keyframes chat-fog-two { from { transform:translate3d(8vw,1vh,0) scale(.9); opacity:.15 } to { transform:translate3d(-34vw,-4vh,0) scale(1.2); opacity:.38 } }

@media (max-width:900px) {
  body[data-current-view="companion"] { padding-bottom:0; }
  body[data-current-view="companion"] .chat-panel { height:100%; padding:0 14px 12px; border:0; border-radius:0; }
  body[data-current-view="companion"] .chat-panel > header { height:62px; flex-basis:62px; }
  body[data-current-view="companion"] .chat-panel > header > div:first-child small { font-size:6px; }
  body[data-current-view="companion"] .companion-token { width:26px; height:31px; }
  body[data-current-view="companion"] .companion-mask-main { width:min(72vw,300px); max-height:52vh; opacity:.105; }
  body[data-current-view="companion"] .messages { min-height:0; padding:30px 8px 18px; }
  body[data-current-view="companion"] .messages::before { margin-bottom:34px; }
  body[data-current-view="companion"] .message { max-width:88%; margin-bottom:26px; }
  body[data-current-view="companion"] .choice-card { max-height:122px; margin-bottom:8px; }
  body[data-current-view="companion"] .composer { display:flex; }
  body[data-current-view="companion"] .composer button { height:auto; min-width:74px; padding:0 13px; font-size:0; }
  body[data-current-view="companion"] .composer button span { margin:0; font-size:18px; }
  body[data-current-view="companion"] .privacy-note { display:none; }
  body[data-current-view="companion"] .reach-button { width:34px; height:34px; }
  body[data-current-view="companion"] .companion-tools { gap:5px; }
  body[data-current-view="companion"] .topbar > nav { top:58px; right:10px; }
}

@media (max-width:430px) {
  body[data-current-view="companion"] .chat-panel > header > div:first-child > div { display:none; }
  body[data-current-view="companion"] .chat-panel > header { justify-content:space-between; }
  body[data-current-view="companion"] .message p { font-size:16px; }
}

@media (prefers-reduced-motion:reduce) {
  body[data-current-view="companion"] .companion-mask-main,
  body[data-current-view="companion"] .presence-panel::before,
  body[data-current-view="companion"] .presence-panel::after { animation:none!important; }
}

/* Companion-first living interface */
body { overflow-x: hidden; }
.living-atmosphere { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; opacity: .72; }
.ambient-fog { position: absolute; width: 90vw; height: 52vh; border-radius: 50%; filter: blur(70px); opacity: .09; background: radial-gradient(ellipse, #ddd4bd 0, rgba(102, 111, 98, .45) 35%, transparent 72%); animation: fog-drift 24s ease-in-out infinite alternate; }
.ambient-fog-one { left: -35vw; bottom: -10vh; }
.ambient-fog-two { right: -45vw; top: 16vh; animation-duration: 31s; animation-direction: alternate-reverse; }
.signal-scan { position: absolute; inset: -20%; background: linear-gradient(transparent 49.7%, rgba(132,188,174,.055) 50%, transparent 50.3%); background-size: 100% 12px; opacity: .22; transform: perspective(600px) rotateX(12deg); animation: signal-slip 9s linear infinite; }
body > header, body > main, .app-dock { position: relative; z-index: 2; }

.awakening { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 44%, #181712 0, #090908 31%, #030303 72%); transition: opacity 1s ease, visibility 1s; }
.awakening.dismissed { opacity: 0; visibility: hidden; pointer-events: none; }
.awakening::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(255,255,255,.018) 4px); animation: interference 6s steps(2) infinite; }
.awakening-mask { position: relative; z-index: 2; width: min(44vw, 310px); max-height: 52vh; object-fit: contain; filter: sepia(.35) contrast(1.12) brightness(.82) drop-shadow(0 18px 55px rgba(0,0,0,.9)); opacity: 0; transform: scale(.82) translateY(20px); animation: mask-awaken 2.6s cubic-bezier(.2,.8,.2,1) .15s forwards; }
.awakening-fog { position: absolute; z-index: 1; width: 95vw; height: 42vh; border-radius: 50%; background: radial-gradient(ellipse, rgba(221,215,195,.28), rgba(86,96,83,.12) 45%, transparent 72%); filter: blur(44px); opacity: 0; animation: opening-fog 5s ease-out .3s forwards; }
.fog-one { left: -32vw; top: 28%; }.fog-two { right: -38vw; bottom: 7%; animation-delay: .8s; animation-direction: reverse; }
.awakening-copy { position: absolute; z-index: 4; left: 50%; bottom: 9vh; width: min(90vw, 480px); transform: translateX(-50%); text-align: center; opacity: 0; animation: copy-awaken 1s ease 1.85s forwards; }
.awakening-copy small { display: block; color: #9d8b67; font-size: 8px; letter-spacing: .32em; }
.awakening-copy p { margin: 12px 0 20px; color: #ded8c8; font: italic 18px/1.5 Georgia, serif; }
.awakening-copy button { border: 1px solid rgba(198,94,50,.52); background: rgba(8,8,7,.7); color: #ded8c8; padding: 13px 25px; font-size: 9px; letter-spacing: .2em; box-shadow: inset 0 0 24px rgba(198,94,50,.05); }
.awakening-copy button:hover { border-color: #c65e32; background: rgba(198,94,50,.12); }
.awakening-signal { position: absolute; z-index: 3; width: min(75vw, 520px); height: min(75vw, 520px); opacity: .3; }
.awakening-signal i { position: absolute; inset: 0; border: 1px solid rgba(182,154,97,.17); border-radius: 50%; animation: signal-breathe 3.6s ease-out infinite; }
.awakening-signal i:nth-child(2) { inset: 12%; animation-delay: .45s; }.awakening-signal i:nth-child(3) { inset: 25%; animation-delay: .9s; }

body:not(.experience-awake) .topbar, body:not(.experience-awake) main, body:not(.experience-awake) .app-dock { opacity: 0; }
body.experience-awake .topbar, body.experience-awake main, body.experience-awake .app-dock { animation: world-arrives 1.1s ease both; }
.companion-presence { position: relative; min-height: 250px; display: grid; place-items: center; }
.companion-mask-main { width: 205px; max-height: 250px; object-fit: contain; position: absolute; z-index: 2; filter: sepia(.25) contrast(1.06) brightness(.7) drop-shadow(0 16px 32px rgba(0,0,0,.75)); opacity: .8; animation: mask-listen 7s ease-in-out infinite; }
.companion-presence .sigil { margin: 25px 0; opacity: .5; }
.presence-panel::before { content: ""; position: absolute; width: 430px; height: 430px; top: 7%; left: -16%; background: radial-gradient(circle, rgba(198,94,50,.10), transparent 66%); animation: presence-pulse 5s ease-in-out infinite; }
.chat-panel { background: linear-gradient(180deg, rgba(11,11,9,.7), rgba(8,8,7,.94)); }
.chat-panel > header { position: relative; }
.chat-panel > header::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 28%; height: 1px; background: linear-gradient(90deg, #c65e32, transparent); animation: connection-read 4.5s ease-in-out infinite alternate; }
.companion-tools { display: flex; align-items: center; gap: 8px; }
.reach-button { display: flex; align-items: center; gap: 8px; height: 32px; border: 1px solid rgba(182,154,97,.22); background: rgba(182,154,97,.04); color: #9a927f; padding: 0 10px; font-size: 7px; letter-spacing: .13em; }
.reach-button i { width: 6px; height: 6px; border: 1px solid currentColor; border-radius: 50%; }
.reach-button.active { color: #84bcae; border-color: rgba(132,188,174,.3); }
.reach-button.active i { background: #84bcae; box-shadow: 0 0 8px rgba(132,188,174,.6); animation: tiny-pulse 2.2s ease-in-out infinite; }
.message { position: relative; opacity: 1; }
.message.new-message { animation: whisper-arrives .7s cubic-bezier(.2,.75,.25,1) both; }
.message.new-message p { animation: text-unveils 1.15s cubic-bezier(.2,.8,.2,1) both; }
.message.companion::before { content: ""; position: absolute; left: -14px; top: 19px; width: 4px; height: 4px; border-radius: 50%; background: #c65e32; box-shadow: 0 0 12px rgba(198,94,50,.75); }
.messages::before { content: "THE SIGNAL REMEMBERS"; display: block; text-align: center; color: rgba(145,140,126,.35); font-size: 6px; letter-spacing: .35em; margin: 0 0 26px; }
.composer:focus-within { border-color: rgba(198,94,50,.48); box-shadow: 0 0 32px rgba(198,94,50,.07); }
.composer input, .composer button, .composer { transition: border-color .3s, box-shadow .3s, background .3s; }

.app-dock { display: none; }
.topbar { height:64px; border-bottom-color:rgba(228,223,207,.08); }
.topbar .brand { margin-right:auto; }.topbar .brand-logo { max-height:38px; width:auto; }
.topbar > nav { position:fixed; z-index:35; right:22px; top:70px; width:min(88vw,310px); height:auto; padding:9px; display:grid; margin:0; background:rgba(11,11,9,.97); border:1px solid rgba(228,223,207,.12); box-shadow:0 25px 65px rgba(0,0,0,.75); backdrop-filter:blur(16px); opacity:0; visibility:hidden; transform:translateY(-8px); transition:.25s; }
.topbar > nav .nav-button { min-height:42px; padding:0 14px; text-align:left; border:0; border-left:2px solid transparent; }
.topbar > nav .nav-button.active { border-left-color:#c65e32; background:rgba(198,94,50,.06); }
.world-menu-open .topbar > nav { opacity:1; visibility:visible; transform:none; }
.world-menu-button { width:38px; height:38px; display:grid; place-content:center; gap:4px; border:1px solid rgba(228,223,207,.12); background:rgba(255,255,255,.02); color:#918c7e; }
.world-menu-button i { display:block; width:14px; height:1px; background:currentColor; transition:.25s; }
.world-menu-open .world-menu-button i:first-child { transform:translateY(5px) rotate(45deg); }.world-menu-open .world-menu-button i:nth-child(2) { opacity:0; }.world-menu-open .world-menu-button i:last-child { transform:translateY(-5px) rotate(-45deg); }
.companion-shell { min-height:calc(100vh - 64px); }.chat-panel { max-height:calc(100vh - 64px); }
.reach-dialog { width: min(92vw, 520px); padding: 34px; color: #e4dfcf; border: 1px solid rgba(182,154,97,.32); background: radial-gradient(circle at 50% 0, rgba(198,94,50,.10), transparent 35%), #0d0d0a; box-shadow: 0 35px 100px rgba(0,0,0,.85); }
.reach-dialog::backdrop { background: rgba(2,2,2,.83); backdrop-filter: blur(9px); }
.reach-dialog h2 { margin: 10px 0; font-size: 28px; }.reach-dialog > p { color: #918c7e; font: 13px/1.65 Georgia, serif; }
.reach-mask { width: 82px; height: 82px; float: right; margin: -10px -5px 5px 15px; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle, rgba(198,94,50,.13), transparent 65%); }
.reach-mask img { max-width: 68px; max-height: 78px; filter: sepia(.3) brightness(.7); }
.reach-options { clear: both; display: grid; gap: 8px; margin: 24px 0; }
.reach-options label { display: flex; gap: 12px; align-items: center; padding: 13px; border: 1px solid rgba(228,223,207,.1); background: rgba(255,255,255,.015); cursor: pointer; }
.reach-options input { accent-color: #c65e32; }.reach-options span,.reach-options b,.reach-options small { display: block; }.reach-options b { font-size: 8px; letter-spacing: .14em; }.reach-options small { margin-top: 5px; color: #918c7e; font-size: 8px; }
.reach-save { width: 100%; min-height: 44px; }.reach-dialog .text-button { width: 100%; margin-top: 12px; }.reach-status { display: block; min-height: 14px; margin-top: 14px; text-align: center; color: #84bcae; }

@keyframes mask-awaken { 0% { opacity:0; transform:scale(.82) translateY(20px); filter:blur(7px) sepia(.4) brightness(.45) } 58% { opacity:.9 } 100% { opacity:.86; transform:scale(1) translateY(-2vh); filter:blur(0) sepia(.32) contrast(1.12) brightness(.82) drop-shadow(0 18px 55px rgba(0,0,0,.9)) } }
@keyframes opening-fog { 0% { opacity:0; transform:translateX(-12%) scale(.8) } 45% { opacity:.23 } 100% { opacity:.08; transform:translateX(16%) scale(1.3) } }
@keyframes copy-awaken { to { opacity:1; transform:translateX(-50%) translateY(-3px) } }
@keyframes signal-breathe { 0% { transform:scale(.82); opacity:0 } 35% { opacity:.7 } 100% { transform:scale(1.15); opacity:0 } }
@keyframes interference { 0%,94%,100% { transform:none; opacity:.25 } 95% { transform:translateX(2px); opacity:.5 } 97% { transform:translateX(-3px); opacity:.1 } }
@keyframes world-arrives { from { opacity:0; transform:scale(1.01) } to { opacity:1; transform:none } }
@keyframes mask-listen { 0%,100% { transform:translateY(0) rotate(-.5deg) } 50% { transform:translateY(-6px) rotate(.5deg) } }
@keyframes presence-pulse { 0%,100% { opacity:.45; transform:scale(.9) } 50% { opacity:.8; transform:scale(1.05) } }
@keyframes fog-drift { from { transform:translate3d(-4vw,1vh,0) scale(.9) } to { transform:translate3d(11vw,-4vh,0) scale(1.15) } }
@keyframes signal-slip { to { transform:perspective(600px) rotateX(12deg) translateY(12px) } }
@keyframes connection-read { from { width:11%; opacity:.4 } to { width:56%; opacity:1 } }
@keyframes whisper-arrives { from { opacity:0; transform:translateY(10px); filter:blur(3px) } to { opacity:1; transform:none; filter:none } }
@keyframes text-unveils { from { clip-path:inset(0 100% 0 0); opacity:.25 } to { clip-path:inset(0); opacity:1 } }
@keyframes tiny-pulse { 50% { opacity:.42; transform:scale(.7) } }

@media (max-width: 900px) {
  body { padding-bottom: 68px; }
  .topbar { min-height: 58px; padding: 8px 15px; position: fixed; width: 100%; background: linear-gradient(#090907 45%, transparent); border: 0; pointer-events: none; }
  .topbar .brand,.topbar .world-menu-button { pointer-events: auto; }.topbar nav { pointer-events:auto; top:62px; right:12px; }.topbar .preserve-button { display:none; }
  main { min-height:100vh; }.companion-shell { height:calc(100dvh - 68px); min-height:620px; display:flex; flex-direction:column; position:relative; overflow:hidden; }
  .presence-panel { height:38%; min-height:235px; flex:0 0 38%; padding:66px 22px 14px; border:0; display:flex; flex-direction:column; align-items:center; text-align:center; }
  .presence-panel .eyebrow,.presence-panel > p,.presence-stats { display:none; }
  .companion-presence { min-height:150px; width:100%; }.companion-presence .sigil { width:145px; height:145px; }
  .companion-mask-main { width:140px; max-height:165px; opacity:.65; }
  .presence-panel h1 { font-size:34px; margin-top:-10px; }.connection-meter { width:min(82vw,360px); margin-top:19px; }
  .chat-panel { height:62%; min-height:0; flex:1 1 62%; max-height:none; padding:0 16px 10px; border-radius:28px 28px 0 0; border-top:1px solid rgba(228,223,207,.1); background:linear-gradient(180deg,rgba(20,19,15,.96),#090907 24%); box-shadow:0 -24px 70px rgba(0,0,0,.45); }
  .chat-panel > header { height:54px; flex:0 0 54px; }.messages { min-height:100px; max-height:none; flex:1 1 auto; padding-top:18px; }
  .message { max-width:88%; margin-bottom:20px; }.message p { font-size:15px; }
  .choice-card { max-height:128px; flex:0 0 auto; overflow:auto; padding:12px; margin-bottom:9px; }.choice-card p { margin:5px 0 9px; }.choice-card button { padding:7px 9px; }
  .composer { flex:0 0 auto; }.privacy-note { flex:0 0 auto; }
  .reach-button span { display:none; }.reach-button { width:32px; justify-content:center; padding:0; }
  .app-dock { position:fixed; z-index:40; left:10px; right:10px; bottom:8px; height:58px; display:grid; grid-template-columns:repeat(5,1fr); padding:4px; border:1px solid rgba(228,223,207,.12); border-radius:18px; background:rgba(12,12,10,.94); backdrop-filter:blur(18px); box-shadow:0 15px 45px rgba(0,0,0,.6); }
  .dock-button { border:0; border-radius:14px; background:none; color:#6f6b60; display:grid; place-items:center; align-content:center; gap:4px; font-size:6px; letter-spacing:.05em; text-transform:uppercase; }
  .dock-button i { display:block; width:16px; height:16px; border:1px solid currentColor; transform:rotate(45deg); position:relative; }
  .dock-button.active { color:#d1b678; background:rgba(182,154,97,.07); }.dock-button.active i { color:#c65e32; box-shadow:0 0 10px rgba(198,94,50,.2); }
  .dock-whisper { border-radius:50%!important; }.dock-archive::after { content:""; position:absolute; inset:3px; border:1px solid currentColor; }.dock-awakened { border-radius:50% 50% 40% 40%!important; }.dock-night::after { content:""; position:absolute; width:7px; height:7px; border-radius:50%; background:currentColor; top:3px; left:3px; }
  .view:not(#companion-view) { padding-bottom:18px; }.page-heading { padding-top:88px; }
}

@media (max-width: 520px) {
  .brand-logo { width:142px; }.awakening-mask { width:64vw; }.awakening-copy { bottom:11vh; }
  .choice-card { max-height:210px; overflow:auto; }.composer input { padding:13px; }.composer button { min-height:40px; }
  .privacy-note { padding-bottom:4px; }.reach-dialog { padding:26px 20px; }
}

@media (max-width: 420px) and (max-height: 760px) {
  .presence-panel { height:32%; min-height:205px; flex-basis:32%; padding-top:58px; }.companion-presence { min-height:120px; }.companion-presence .sigil { width:118px; height:118px; }.companion-mask-main { width:116px; max-height:136px; }.presence-panel h1 { font-size:28px; }.connection-meter { margin-top:10px; }
  .chat-panel { height:68%; flex-basis:68%; }.choice-card { max-height:105px; }
}

@media (prefers-reduced-motion: reduce) {
  .awakening-mask,.awakening-fog,.awakening-copy,.awakening-signal i,.ambient-fog,.signal-scan,.companion-mask-main,.presence-panel::before,.chat-panel > header::after,.reach-button.active i,.message.new-message,.message.new-message p { animation:none!important; }
  .awakening-mask,.awakening-copy { opacity:1; transform:none; }.awakening-fog { opacity:.05; }
}

@media (max-width: 520px) {
  .preserve-dialog { padding: 30px 20px; }
}

/* Phase 7 local release-evidence center. */
.readiness-center { grid-column: 1 / -1; }
.readiness-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-bottom: 15px; background: rgba(132,188,174,.12); }
.readiness-summary div { padding: 15px; background: #090b0a; }
.readiness-summary b, .readiness-summary small { display: block; }
.readiness-summary b { color: #84bcae; font: 20px Georgia,serif; }
.readiness-summary small { margin-top: 5px; color: #67746f; font-size: 7px; letter-spacing: .1em; }
.readiness-gates { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.readiness-gates article { display: grid; grid-template-columns: 10px 1fr auto; gap: 10px; align-items: center; padding: 12px; border: 1px solid rgba(132,188,174,.1); background: #0a0c0b; }
.readiness-gates i { width: 7px; height: 7px; border-radius: 50%; background: #b69a61; }
.readiness-gates article.ready i { background: #84bcae; }
.readiness-gates b, .readiness-gates small { display: block; }
.readiness-gates b { font: 11px Georgia,serif; }
.readiness-gates small { margin-top: 4px; color: #68716e; font-size: 7px; line-height: 1.45; }
.readiness-gates span { color: #b69a61; font-size: 7px; letter-spacing: .1em; }
.readiness-gates .ready span { color: #84bcae; }
.readiness-actions { display: flex; gap: 8px; margin-top: 14px; }
.readiness-actions button { min-height: 39px; padding: 0 14px; border: 1px solid rgba(132,188,174,.3); background: rgba(132,188,174,.06); color: #b8cec8; font-size: 7px; letter-spacing: .1em; }
.readiness-notice { margin: 12px 0 0; color: #77786f; font-size: 8px; line-height: 1.5; }
@media (max-width: 700px) { .readiness-gates { grid-template-columns: 1fr; } .readiness-summary { grid-template-columns: 1fr 1fr 1fr; } .readiness-actions { display: grid; } }

/* Dedicated local Mission Control session and protected display modes. */
.director-session { display: flex; gap: 7px; margin-left: auto; }
.director-session select { margin: 0; width: auto; min-width: 150px; padding: 8px; }
.director-session button { border: 1px solid rgba(198,94,50,.4); background: rgba(198,94,50,.08); color: #c89a83; font-size: 7px; letter-spacing: .12em; padding: 0 12px; }
.operator-dialog { max-width: 480px; color: #e4dfcf; border: 1px solid rgba(132,188,174,.35); background: radial-gradient(circle at 20% 15%,rgba(132,188,174,.07),transparent 28%),#0b0d0c; padding: 34px; box-shadow: 0 30px 100px #000; }
.operator-dialog::backdrop { background: rgba(0,0,0,.82); backdrop-filter: blur(7px); }
.operator-dialog h2 { margin: 10px 0; font-size: 28px; }
.operator-dialog p { color: #918c7e; font: 12px/1.65 Georgia,serif; }
.operator-dialog form { display: grid; gap: 14px; margin-top: 22px; }
.operator-dialog label { color: #84bcae; font-size: 7px; letter-spacing: .13em; }
.operator-dialog input { display: block; width: 100%; margin-top: 7px; padding: 12px; color: #e4dfcf; border: 1px solid rgba(132,188,174,.2); background: #070908; }
.operator-dialog .primary-button { min-height: 42px; }
.operator-dialog > small { display: block; margin-top: 15px; color: #59645f; font-size: 7px; }
.operator-lock-mark { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 22px; border: 1px solid #84bcae; color: #84bcae; font: 12px Cinzel,serif; transform: rotate(45deg); }
.operator-audit { grid-column: 1 / -1; }
.operator-audit-list { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.operator-audit-list article { display: grid; grid-template-columns: 80px 1fr; gap: 10px; padding: 10px; border: 1px solid rgba(132,188,174,.09); }
.operator-audit-list time { color: #64716d; font-size: 7px; }
.operator-audit-list b,.operator-audit-list small { display: block; }
.operator-audit-list b { font: 10px Georgia,serif; }
.operator-audit-list small { margin-top: 4px; color: #64716d; font-size: 7px; }
body[data-operator-mode="stage"] .world-map,body[data-operator-mode="stage"] .activity,body[data-operator-mode="stage"] .memory-system,body[data-operator-mode="stage"] .relic-registry,body[data-operator-mode="stage"] .operator-audit,body[data-operator-mode="story-wall"] .broadcast,body[data-operator-mode="story-wall"] .mission,body[data-operator-mode="story-wall"] .readiness-center,body[data-operator-mode="story-wall"] .operator-audit { display:none; }
@media(max-width:900px){.director-session{order:3;width:100%;margin-top:12px}.director-session select{flex:1}.operator-audit-list{grid-template-columns:1fr}}
@media(max-width:1350px) and (min-width:901px){.topbar{gap:14px;overflow:hidden}.topbar nav{min-width:0;overflow-x:auto;scrollbar-width:none}.topbar nav::-webkit-scrollbar{display:none}.topbar .nav-button{flex:0 0 auto;padding-inline:12px}.topbar .preserve-button{flex:0 0 auto}}

.character-dossier { grid-column: 1 / -1; }
.dossier-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.dossier-summary article { padding:14px; border:1px solid rgba(132,188,174,.1); background:#090b0a; }
.dossier-summary small,.dossier-summary b { display:block; }
.dossier-summary small { color:#65716e; font-size:7px; letter-spacing:.12em; }
.dossier-summary b { margin-top:8px; font:15px Georgia,serif; color:#c5d4cf; }
.dossier-summary p { margin:7px 0 0; color:#6f7975; font-size:8px; line-height:1.5; }
.conversation-observatory { margin-top:14px; padding:16px; border:1px solid rgba(198,94,50,.16); background:rgba(198,94,50,.025); }
.conversation-observatory > div > b { color:#c89a83; font-size:8px; letter-spacing:.12em; }
.conversation-observatory > div > p { color:#817a72; font:11px/1.6 Georgia,serif; }
#reveal-chat-form { display:grid; grid-template-columns:1fr 1fr auto; gap:8px; align-items:end; }
#reveal-chat-form label { color:#8c827a; font-size:7px; letter-spacing:.1em; }
#reveal-chat-form select,#reveal-chat-form input { display:block; width:100%; height:38px; margin-top:6px; padding:8px; border:1px solid rgba(198,94,50,.2); background:#090807; color:#e4dfcf; }
#reveal-chat-form button,.sensitive-chat > button { min-height:38px; padding:0 13px; border:1px solid rgba(198,94,50,.35); background:rgba(198,94,50,.08); color:#d0a994; font-size:7px; letter-spacing:.1em; }
.sensitive-chat { margin-top:15px; padding:14px; border:1px solid rgba(198,94,50,.42); background:#100a08; }
.sensitive-chat > strong { color:#d48a66; font-size:8px; letter-spacing:.11em; }
#dossier-chat-messages { max-height:360px; overflow:auto; margin:12px 0; display:grid; gap:7px; }
#dossier-chat-messages article { padding:10px 12px; border-left:1px solid #c65e32; background:rgba(255,255,255,.02); }
#dossier-chat-messages article.participant { border-color:#777268; }
#dossier-chat-messages small { color:#8d6959; font-size:7px; }
#dossier-chat-messages p { margin:5px 0 0; font:11px/1.5 Georgia,serif; }
body[data-operator-mode="stage"] .character-dossier,body[data-operator-mode="operations"] .character-dossier,body[data-operator-mode="story-wall"] .character-dossier { display:none; }
@media(max-width:800px){.dossier-summary{grid-template-columns:1fr}#reveal-chat-form{grid-template-columns:1fr}}

/* Reviewed exact-Whisper release surface. */
.broadcast-plan{margin-top:14px;padding:15px;border:1px solid rgba(132,188,174,.16);background:#090b0a}.broadcast-plan>p{margin:0;color:#777e79;font:11px/1.55 Georgia,serif}.broadcast-plan>header{display:flex;justify-content:space-between;align-items:center}.broadcast-plan>header small,.broadcast-plan>header b{display:block}.broadcast-plan>header small{color:#68736f;font-size:7px;letter-spacing:.11em}.broadcast-plan>header b{margin-top:5px;color:#c7d5d0;font:13px Georgia,serif}.broadcast-plan>header strong{color:#84bcae;font-size:8px;letter-spacing:.12em}.broadcast-plan>ul{padding-left:18px;color:#817d73;font-size:8px;line-height:1.7}.broadcast-previews{display:grid;grid-template-columns:1fr 1fr;gap:6px}.broadcast-previews article{padding:11px;border:1px solid rgba(228,223,207,.08);background:#0d0e0c}.broadcast-previews small{color:#84bcae;font-size:6px;letter-spacing:.11em}.broadcast-previews p{margin:7px 0 0;color:#bbb3a2;font:11px/1.5 Georgia,serif}.broadcast-safeguards{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.broadcast-safeguards span{padding:6px 8px;border:1px solid rgba(132,188,174,.12);color:#71817c;font-size:6px;letter-spacing:.06em}.broadcast-delivery{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:10px;background:rgba(132,188,174,.08)}.broadcast-delivery span{padding:9px;background:#080a09;color:#68736f;font-size:6px;text-transform:uppercase}.broadcast-delivery b{display:block;margin-bottom:3px;color:#c4d2cd;font:14px Georgia,serif}.broadcast-release{display:grid;grid-template-columns:1fr 1fr;gap:7px;align-items:end;margin-top:12px}.broadcast-release label{color:#8c827a;font-size:6px;letter-spacing:.1em}.broadcast-release input{display:block;width:100%;height:38px;margin-top:5px;padding:8px;border:1px solid rgba(198,94,50,.22);background:#070807;color:#e4dfcf}.broadcast-release button{min-height:38px}.quiet-button{padding:0 12px;border:1px solid rgba(228,223,207,.12);background:transparent;color:#918c7e;font-size:7px;letter-spacing:.09em}
.stage-release-console{margin-top:14px;padding:22px;border:1px solid rgba(198,94,50,.35);background:radial-gradient(circle at 50% 20%,rgba(198,94,50,.1),transparent 55%),#0e0907;text-align:center}.stage-release-console>small{color:#a06e58;font-size:7px;letter-spacing:.13em}.stage-release-console>b{display:block;margin:15px 0 6px;color:#e4dfcf;font:42px Cinzel,Georgia,serif}.stage-release-console>p{color:#918c7e;font:11px Georgia,serif}.stage-release-console>button{width:100%;min-height:46px;margin-top:8px}.stage-fire{border:1px solid #d9693e;background:#c65e32;color:#130a06;font-size:11px;font-weight:800;letter-spacing:.13em}.stage-fire:disabled{opacity:.45}body[data-operator-mode="stage"] .broadcast{grid-column:1/-1;padding:28px}body[data-operator-mode="stage"] .broadcast form{display:none}body[data-operator-mode="stage"] .broadcast-plan{max-width:900px;margin:0 auto;padding:24px}body[data-operator-mode="stage"] .broadcast-previews{grid-template-columns:1fr}body[data-operator-mode="stage"] .stage-release-console>b{font-size:68px}body[data-operator-mode="stage"] .mission,body[data-operator-mode="stage"] .readiness-center,body[data-operator-mode="stage"] .haunt-control,body[data-operator-mode="stage"] .encounter-control,body[data-operator-mode="stage"] .night-control{display:none}
@media(max-width:700px){.broadcast-previews{grid-template-columns:1fr}.broadcast-release{grid-template-columns:1fr}.broadcast-delivery{grid-template-columns:1fr 1fr}}

/* Structured, consent-preserving meetup wizard. */
.meetup-form{grid-template-columns:1fr 1fr}.meetup-form label{color:#7e8b87;font-size:6px;letter-spacing:.11em}.meetup-form select{display:block}.meetup-form .primary-button{grid-column:1/-1}.mission-plan.blocked{border-color:rgba(198,94,50,.5)}.meetup-exclusions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.meetup-exclusions span{padding:6px 8px;border:1px solid rgba(182,154,97,.16);color:#a38c64;font-size:6px}.meetup-gates{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:10px 0}.meetup-gates span{padding:8px;border:1px solid rgba(132,188,174,.12);color:#79928b;font-size:7px}.meetup-gates .failed{border-color:rgba(198,94,50,.35);color:#d07955}.meetup-invitations{display:grid;gap:6px;margin:11px 0}.meetup-invitations article{padding:11px;border-left:1px solid #84bcae;background:rgba(132,188,174,.035)}.meetup-invitations small{color:#84bcae;font-size:6px;letter-spacing:.1em}.meetup-invitations p{margin:6px 0 0;color:#aaa99d;font:10px/1.5 Georgia,serif}.meetup-delivery{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(132,188,174,.08)}.meetup-delivery span{padding:9px;background:#090b0a;color:#68736f;font-size:6px;text-transform:uppercase}.meetup-delivery b{display:block;color:#c5d4cf;font:14px Georgia,serif}.meetup-release{display:grid;gap:7px;margin-top:12px}.meetup-release label{color:#8c827a;font-size:6px;letter-spacing:.1em}.meetup-release input{display:block;width:100%;height:38px;margin-top:5px;padding:8px;border:1px solid rgba(198,94,50,.22);background:#070807;color:#e4dfcf}.meetup-release button,.meetup-cancel{min-height:40px;width:100%;margin-top:7px}
@media(max-width:700px){.meetup-form,.meetup-gates{grid-template-columns:1fr}.meetup-form .primary-button{grid-column:auto}.meetup-delivery{grid-template-columns:1fr 1fr}}

/* Natural-language direction compiler: interpretation only, never execution. */
.command-console{grid-column:1/-1}.command-console>header i{color:#84bcae;font:normal 7px Inter,sans-serif;letter-spacing:.12em}.command-console form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.command-console form label{color:#7e8b87;font-size:6px;letter-spacing:.11em}.command-console textarea{min-height:66px}.command-console form button{min-height:66px}.command-result{margin-top:14px;padding:15px;border:1px solid rgba(132,188,174,.14);background:#090b0a}.command-result.empty{text-align:center;color:#747b77;font-size:8px}.command-result.rejected{border-color:rgba(198,94,50,.45)}.compiler-status{color:#84bcae;font-size:7px;letter-spacing:.13em}.command-result.rejected .compiler-status{color:#d27650}.command-result h3{margin:8px 0;font:16px Georgia,serif}.command-result dl{margin:0}.command-result dl div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(132,188,174,.08);font-size:7px}.command-result dd{margin:0;color:#8f9894}.compiler-resolved,.compiler-assumptions,.compiler-refused{display:grid;gap:5px;margin-top:10px;padding:10px;border-left:1px solid #84bcae;background:rgba(132,188,174,.03)}.compiler-assumptions{border-color:#b69a61}.compiler-refused{border-color:#c65e32}.compiler-resolved b,.compiler-assumptions b,.compiler-refused b{font-size:6px;letter-spacing:.12em}.compiler-resolved span,.compiler-assumptions span,.compiler-refused span{color:#858b87;font-size:7px;line-height:1.5}.command-result>p{margin:10px 0 0;color:#777e79;font:italic 10px Georgia,serif}body[data-operator-mode="stage"] .command-console,body[data-operator-mode="operations"] .command-console,body[data-operator-mode="story-wall"] .command-console{display:none}
@media(max-width:700px){.command-console form{grid-template-columns:1fr}.command-console form button{min-height:42px}}

/* Approved deterministic automation rules and independent stops. */
.automation-console{grid-column:1/-1}.automation-console>header .danger-button{margin:0;min-height:34px}.automation-console>header .danger-button.resume,.automation-controls .resume{border-color:rgba(132,188,174,.45);color:#84bcae}.automation-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:13px 0;background:rgba(132,188,174,.08)}.automation-summary span{padding:10px;background:#090b0a;color:#68736f;font-size:6px;text-transform:uppercase}.automation-summary b{display:block;margin-bottom:4px;color:#c5d4cf;font:14px Georgia,serif}.automation-builder{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.automation-builder label,.automation-controls label{color:#7e8b87;font-size:6px;letter-spacing:.11em}.automation-builder select,.automation-controls select,.automation-controls input{display:block;width:100%;height:38px;margin-top:5px;padding:8px;border:1px solid rgba(132,188,174,.16);background:#070908;color:#e4dfcf}.automation-builder button{min-height:38px}.automation-rule{margin-top:13px;padding:16px;border:1px solid rgba(132,188,174,.17);background:#090b0a}.automation-rule.empty{text-align:center;color:#747b77;font-size:8px}.automation-rule.active{border-color:rgba(132,188,174,.45)}.automation-rule.paused,.automation-rule.expired{border-color:rgba(198,94,50,.35)}.automation-status{color:#84bcae;font-size:7px;letter-spacing:.14em}.automation-rule h3{margin:8px 0 12px;font:18px Georgia,serif}.automation-rule dl{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;background:rgba(132,188,174,.07)}.automation-rule dl div{padding:10px;background:#080a09}.automation-rule dt{color:#68736f;font-size:6px;text-transform:uppercase}.automation-rule dd{margin:5px 0 0;color:#aaa99d;font:10px/1.45 Georgia,serif}.automation-caps{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.automation-caps span{padding:6px 8px;border:1px solid rgba(182,154,97,.16);color:#9a8762;font-size:6px}.automation-simulation{display:grid;gap:5px;padding:11px;border-left:1px solid #84bcae;background:rgba(132,188,174,.035)}.automation-simulation b{color:#84bcae;font-size:7px}.automation-simulation span{font:13px Georgia,serif}.automation-simulation small{color:#7d817d;font-size:7px}.automation-simulation p{margin:4px 0 0;color:#8e968f;font:italic 10px Georgia,serif}.automation-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;align-items:end;margin-top:12px}.automation-controls button{min-height:40px;border:1px solid rgba(132,188,174,.25);background:rgba(132,188,174,.035);color:#a9c1ba;font-size:7px;letter-spacing:.08em}.automation-controls .rule-switch{border-color:rgba(198,94,50,.45);color:#d07955}.automation-controls button:disabled{opacity:.35}.canon-boundary{margin:11px 0 0;color:#746f65;font:italic 10px Georgia,serif}body[data-operator-mode="stage"] .automation-console,body[data-operator-mode="operations"] .automation-console,body[data-operator-mode="story-wall"] .automation-console{display:none}@media(max-width:700px){.automation-summary{grid-template-columns:1fr 1fr}.automation-builder,.automation-rule dl,.automation-controls{grid-template-columns:1fr}}

/* Phase 5: physical Relic reader and World Director lifecycle registry. */
.relic-reader > header i { color: #b69a61; font: normal 7px Inter, system-ui, sans-serif; letter-spacing: .13em; }
.bound-relics { display: grid; gap: 7px; margin-bottom: 14px; }
.bound-relics article { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; padding: 10px; border: 1px solid rgba(182,154,97,.2); background: rgba(182,154,97,.035); }
.bound-relics article > span { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid #745d36; border-radius: 50%; color: #d1b678; font: 15px Georgia, serif; }
.bound-relics b,.bound-relics small { display: block; }.bound-relics b { font: 13px Georgia,serif; }.bound-relics small { margin-top: 3px; color:#7d7769;font-size:7px;letter-spacing:.1em; }
.relic-scan { display: grid; grid-template-columns: 78px 1fr; gap: 14px; align-items: center; padding: 16px; border: 1px solid rgba(228,223,207,.1); background: radial-gradient(circle at 10% 50%,rgba(198,94,50,.08),transparent 28%),#0c0c09; }
.relic-orbit { width: 70px; height: 70px; position: relative; display:grid;place-items:center;border:1px solid rgba(198,94,50,.24);border-radius:50%; }
.relic-orbit i { position:absolute;inset:8px;border:1px dashed rgba(182,154,97,.25);border-radius:50%;transform:rotate(18deg); }.relic-orbit img{width:34px;opacity:.5;filter:sepia(.3) brightness(.7)}
.relic-scan > div:nth-child(2) b { color:#d1b678;font-size:8px;letter-spacing:.12em; }.relic-scan p { margin:6px 0 0;color:#918c7e;font:11px/1.5 Georgia,serif; }
.relic-scan form { grid-column:1/-1;display:flex;border:1px solid rgba(228,223,207,.14); }.relic-scan input{flex:1;min-width:0;padding:11px;border:0;background:#070706;color:#e4dfcf;outline:0}.relic-scan form button,.demo-relics button{border:0;padding:0 13px;background:#57301e;color:#e4dfcf;font-size:7px;letter-spacing:.09em}
.demo-relics { grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px}.demo-relics button{min-height:34px;border:1px solid rgba(182,154,97,.2);background:transparent;color:#a9a18f}.demo-relics button:disabled{opacity:.3}
.relic-claim { margin-top:12px;padding:17px;border:1px solid rgba(198,94,50,.35);background:linear-gradient(135deg,rgba(198,94,50,.08),transparent); }.relic-claim small,.relic-claim b{display:block}.relic-claim small{color:#c65e32;font-size:7px;letter-spacing:.15em}.relic-claim h3{margin:8px 0 3px;font:21px Georgia,serif}.relic-claim b{color:#918c7e;font-size:8px;letter-spacing:.1em}.relic-claim p{color:#aaa391;font:italic 12px/1.55 Georgia,serif}.relic-result{min-height:17px;color:#b69a61;font:italic 11px Georgia,serif}
.relic-registry { grid-column:1/-1; }.relic-registry-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.relic-registry-list article{display:grid;grid-template-columns:1fr auto;gap:9px;padding:12px;border:1px solid rgba(228,223,207,.08);background:#0a0a08}.relic-registry-list b,.relic-registry-list small{display:block}.relic-registry-list b{font:12px Georgia,serif}.relic-registry-list small{margin-top:4px;color:#69655b;font-size:7px}.relic-registry-list article>i{font:normal 7px Inter,sans-serif;color:#b69a61}.relic-registry-list article>i.bound{color:#84bcae}.relic-registry-list article>i.lost,.relic-registry-list article>i.retired{color:#c65e32}.relic-registry-list article>span{grid-column:1/-1;display:flex;gap:6px}.relic-registry-list button{padding:7px;border:1px solid rgba(228,223,207,.1);background:transparent;color:#777164;font-size:6px;letter-spacing:.08em}.relic-scan-log{display:grid;gap:1px;margin-top:12px;background:rgba(228,223,207,.06)}.relic-scan-log p{display:grid;grid-template-columns:70px 70px 1fr;gap:9px;margin:0;padding:8px 10px;background:#0a0a08;color:#716c61;font-size:7px;text-transform:uppercase}.relic-scan-log b{color:#a79e8c}
.card-marks .brass-anchor,.card-marks .black-bell,.card-marks .ivory-key{width:18px;height:18px;left:18px;bottom:18px;border:1px solid rgba(182,154,97,.5);border-radius:50%}.card-marks .black-bell{left:43px;border-color:rgba(108,115,118,.65)}.card-marks .ivory-key{left:68px;border-color:rgba(228,223,207,.5)}
@media(max-width:700px){.relic-scan{grid-template-columns:55px 1fr}.relic-orbit{width:52px;height:52px}.relic-registry-list{grid-template-columns:1fr}.relic-scan-log p{grid-template-columns:55px 60px 1fr}.relic-scan form{display:grid}.relic-scan form button{min-height:40px}}

/* Phase 6: rotating Your Mark, scene-safe actor cues, and coordinator suppression. */
.haunt-pass>header i{color:#84bcae;font:normal 7px Inter,sans-serif;letter-spacing:.12em}.haunt-consent{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:14px;border:1px solid rgba(132,188,174,.18);background:rgba(132,188,174,.035)}.haunt-consent b{font-size:8px;letter-spacing:.1em}.haunt-consent p{margin:6px 0 0;color:#918c7e;font:11px/1.5 Georgia,serif}.haunt-consent label{display:grid;place-items:center;gap:6px;min-width:90px;padding:10px;border:1px solid rgba(228,223,207,.1);color:#aaa391;font-size:6px;letter-spacing:.09em;text-align:center}.haunt-consent input{accent-color:#84bcae}.haunt-pass>#issue-mark{margin-top:11px}.your-mark{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center;margin-top:12px;padding:18px;border:1px solid rgba(198,94,50,.32);background:radial-gradient(circle at 12% 50%,rgba(198,94,50,.12),transparent 24%),#0b0a08}.mark-code{width:96px;height:96px;position:relative;display:grid;place-items:center;border:2px solid #c65e32;box-shadow:inset 0 0 0 7px #090907,inset 0 0 0 8px rgba(182,154,97,.45)}.mark-code:before,.mark-code:after,.mark-code i{content:"";position:absolute;background:#b69a61}.mark-code:before{width:60px;height:2px;transform:rotate(45deg)}.mark-code:after{width:2px;height:60px;transform:rotate(45deg)}.mark-code span{position:relative;z-index:1;padding:7px;background:#090907;color:#e4dfcf;font:17px Georgia,serif}.your-mark small,.your-mark b{display:block}.your-mark small{color:#918c7e;font-size:7px;letter-spacing:.12em}.your-mark b{margin:7px 0 12px;color:#d1b678;font:14px Georgia,serif}.scene-question{margin-top:12px;padding:18px;border-left:2px solid #84bcae;background:rgba(132,188,174,.04)}.scene-question small{color:#84bcae;font-size:7px;letter-spacing:.13em}.scene-question h3{font:19px Georgia,serif}.scene-question>div{display:flex;flex-wrap:wrap;gap:7px}.scene-question button{padding:10px;border:1px solid rgba(132,188,174,.25);background:transparent;color:#bbb3a2;font-size:8px}.scene-question p{color:#aaa391;font:italic 12px Georgia,serif}
.actor-view{min-height:calc(100vh - 82px);padding:6vh 4vw;background:radial-gradient(circle at 50% 20%,rgba(198,94,50,.08),transparent 36%),#080807}.actor-shell{max-width:760px;margin:auto;border:1px solid rgba(228,223,207,.12);background:#0d0d0a;box-shadow:0 35px 80px rgba(0,0,0,.55)}.actor-shell>header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid rgba(228,223,207,.1)}.actor-shell>header>div{display:flex;gap:12px;align-items:center}.actor-station-dot{width:10px;height:10px;border-radius:50%;background:#84bcae;box-shadow:0 0 12px rgba(132,188,174,.5)}.actor-shell header small{color:#6d6960;font-size:7px;letter-spacing:.12em}.actor-shell h1{margin:4px 0 0;font:20px Georgia,serif}.actor-shell header>b{color:#84bcae;font-size:8px;letter-spacing:.12em}.actor-cue{min-height:460px;padding:35px;display:flex;flex-direction:column;justify-content:center}.actor-fallback{text-align:center}.actor-fallback small,.actor-fallback b{display:block}.actor-fallback small{color:#716c61;font-size:8px;letter-spacing:.15em}.actor-fallback b{margin:12px;color:#d1b678;font:36px Georgia,serif}.actor-fallback p,.actor-cue>p{color:#777164;font:12px Georgia,serif}.cue-boundary{padding:14px;background:#c65e32;color:#100806;font-size:17px;font-weight:800;letter-spacing:.15em;text-align:center}.actor-cue>small{margin-top:28px;color:#918c7e;font-size:9px;letter-spacing:.15em}.actor-cue h2{margin:9px 0 20px;font:40px Georgia,serif}.actor-cue dl{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.actor-cue dl div{padding:12px;border:1px solid rgba(228,223,207,.09)}.actor-cue dt{color:#6e6a60;font-size:7px}.actor-cue dd{margin:5px 0 0;font:13px Georgia,serif}.actor-cue blockquote{margin:22px 0 10px;padding:18px;border-left:2px solid #c65e32;background:rgba(198,94,50,.055);font:italic 22px/1.4 Georgia,serif}.actor-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:24px}.actor-actions button{min-height:48px;border:1px solid rgba(228,223,207,.13);background:#11110e;color:#918c7e;font-size:8px;letter-spacing:.1em}.actor-actions button:last-child{background:#84bcae;color:#07100e;border:0;font-weight:800}.actor-shell>footer{padding:14px;border-top:1px solid rgba(228,223,207,.08);color:#5f5b52;font-size:7px;letter-spacing:.11em;text-align:center}
.haunt-control{grid-column:1/-1}.haunt-control-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(228,223,207,.06)}.haunt-control-grid div{padding:13px;background:#0a0a08}.haunt-control-grid b,.haunt-control-grid small{display:block}.haunt-control-grid b{color:#d1b678;font:13px Georgia,serif}.haunt-control-grid small{margin-top:4px;color:#69655b;font-size:7px}.danger-button{width:100%;min-height:42px;margin-top:10px;border:1px solid rgba(198,94,50,.5);background:rgba(198,94,50,.08);color:#d57952;font-size:8px;letter-spacing:.12em}.danger-button.resume{border-color:rgba(132,188,174,.4);color:#84bcae;background:rgba(132,188,174,.05)}.haunt-audit{display:grid;gap:1px;margin-top:10px;background:rgba(228,223,207,.05)}.haunt-audit p{display:grid;grid-template-columns:65px 145px 1fr;gap:10px;margin:0;padding:8px;background:#0a0a08;color:#6f6a60;font-size:7px;text-transform:uppercase}.haunt-audit b{color:#aaa391}
@media(max-width:700px){.haunt-consent{grid-template-columns:1fr}.haunt-consent label{grid-template-columns:auto 1fr;place-items:center start;text-align:left}.your-mark{grid-template-columns:86px 1fr}.mark-code{width:78px;height:78px}.actor-view{padding:18px 12px}.actor-cue{padding:20px}.actor-cue h2{font-size:30px}.actor-cue dl,.actor-actions{grid-template-columns:1fr}.haunt-control-grid{grid-template-columns:1fr 1fr}.haunt-audit p{grid-template-columns:55px 105px 1fr}}

/* Phase 6B: voluntary safe-zone Awakened recognition. */
.encounter-pilot>header i{color:#84bcae;font:normal 7px Inter,sans-serif;letter-spacing:.12em}.encounter-consent{display:grid;gap:10px}.encounter-consent>p{margin:0;padding:14px;border-left:2px solid #84bcae;background:rgba(132,188,174,.04);color:#aaa391;font:12px/1.65 Georgia,serif}.encounter-consent>label{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid rgba(228,223,207,.1);color:#918c7e;font-size:7px;letter-spacing:.09em}.encounter-consent input{accent-color:#84bcae}.encounter-consent select{margin-left:auto;padding:8px;border:1px solid rgba(228,223,207,.12);background:#090907;color:#bbb3a2}.encounter-start{display:grid;grid-template-columns:1fr 1fr;gap:7px}.encounter-start button,.proximity-actions button{min-height:42px;border:1px solid rgba(132,188,174,.3);background:rgba(132,188,174,.05);color:#b9d2cc;font-size:7px;letter-spacing:.1em}.encounter-start button:last-child{border-color:rgba(182,154,97,.28);color:#c6b894}.encounter-live{text-align:center;padding:17px;border:1px solid rgba(198,94,50,.22);background:radial-gradient(circle at 50% 20%,rgba(198,94,50,.08),transparent 30%),#0b0b09}.encounter-live>small{display:block;color:#84bcae;font-size:7px;letter-spacing:.14em}.encounter-live h2{margin:7px 0;font:25px Georgia,serif}.encounter-live>p{color:#aaa391;font:12px/1.6 Georgia,serif}.proximity-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}.proximity-actions button:last-child{background:#84bcae;color:#07100e;font-weight:800}.encounter-safety-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin-top:10px}.encounter-safety-actions button{padding:8px;border:0;background:transparent;color:#6d6960;font-size:6px;letter-spacing:.08em}.encounter-safety-actions button:last-child{color:#c65e32}.solo-path{margin-top:11px;padding:11px;border:1px dashed rgba(182,154,97,.2)}.solo-path b{color:#b69a61;font-size:7px;letter-spacing:.12em}.solo-path p{margin:5px 0 0;color:#7f796d;font:10px/1.5 Georgia,serif}.encounter-control{grid-column:1/-1}.encounter-ops{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(228,223,207,.06)}.encounter-ops div{padding:13px;background:#0a0a08}.encounter-ops b,.encounter-ops small{display:block}.encounter-ops b{color:#d1b678;font:13px Georgia,serif}.encounter-ops small{margin-top:4px;color:#69655b;font-size:7px}.encounter-control-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.encounter-control-actions>button{min-height:42px;border:1px solid rgba(182,154,97,.25);background:transparent;color:#a69c88;font-size:7px;letter-spacing:.1em}.encounter-control-actions .danger-button{margin:0;border-color:rgba(198,94,50,.5);color:#d57952}.encounter-control-actions .resume{border-color:rgba(132,188,174,.4);color:#84bcae}.proximity-rings{margin:8px auto 15px}
@media(max-width:700px){.encounter-start,.proximity-actions,.encounter-control-actions{grid-template-columns:1fr}.encounter-ops{grid-template-columns:1fr 1fr}.encounter-consent>label{align-items:flex-start;flex-wrap:wrap}.encounter-consent select{width:100%;margin:5px 0 0}}

/* Separate, temporary precise incident sharing. */
.precise-sharing{grid-column:1/-1;border-color:rgba(198,94,50,.18)}.precise-sharing>p{color:#918c7e;font:11px/1.65 Georgia,serif}.precise-disclosure{display:flex;gap:8px;align-items:center;padding:10px;border:1px solid rgba(198,94,50,.2);color:#b49383;font-size:7px;letter-spacing:.08em}.precise-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.precise-actions button{min-height:40px;border:1px solid rgba(198,94,50,.25);background:rgba(198,94,50,.035);color:#c49a86;font-size:7px;letter-spacing:.08em}.precise-actions #stop-precise-sharing{grid-column:1/-1;border-color:#c65e32;color:#df8b67}.precise-status{display:flex;justify-content:space-between;gap:12px;margin-top:10px;padding:11px;border-left:1px solid #84bcae;background:rgba(132,188,174,.03)}.precise-status b{color:#9fbdb5;font-size:7px}.precise-status small{color:#767f7b;font-size:7px}.location-console{display:none;grid-column:1/-1}.location-coarse{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(198,94,50,.08)}.location-coarse span{padding:11px;background:#0b0908;color:#766b65;font-size:6px;text-transform:uppercase}.location-coarse b{display:block;margin-bottom:5px;color:#d0a18d;font:13px Georgia,serif}.location-console form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;margin-top:12px}.location-console form label{color:#9a7565;font-size:6px;letter-spacing:.1em}.location-console select,.location-console input{display:block;width:100%;height:38px;margin-top:5px;padding:8px;border:1px solid rgba(198,94,50,.2);background:#080706;color:#e4dfcf}.location-console form button,.precise-reveal button{min-height:38px;border:1px solid rgba(198,94,50,.45);background:rgba(198,94,50,.08);color:#d39a80;font-size:7px}.precise-reveal{margin-top:12px;padding:14px;border:1px solid #c65e32;background:#120906}.precise-reveal strong{color:#db815d;font-size:7px;letter-spacing:.1em}.precise-reveal div b,.precise-reveal div small{display:block}.precise-reveal div b{margin:14px 0 5px;font:24px Georgia,serif}.precise-reveal div small{color:#a88f83;font-size:8px}.precise-reveal button{width:100%;margin-top:12px}.location-warning{color:#71635c;font:italic 10px Georgia,serif}body[data-operator-mode="incident"] .location-console{display:block}body[data-operator-mode="incident"] .director-grid>section:not(.location-console):not(.operator-audit){display:none}@media(max-width:700px){.precise-actions,.location-console form{grid-template-columns:1fr}.location-coarse{grid-template-columns:1fr 1fr}.precise-status{display:grid}}

/* Phase 6C: Summons, Circle Memory, nightly record, Return Card, and Chronicle. */
.night-view{min-height:calc(100vh - 82px);background:radial-gradient(circle at 20% 30%,rgba(182,154,97,.05),transparent 30%)}.night-layout{max-width:1280px;margin:auto;padding:34px 4vw 80px;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.night-layout>section>header i{color:#b69a61;font:normal 7px Inter,sans-serif;letter-spacing:.12em}.summons-panel>p,.survival-panel>p{color:#918c7e;font:11px/1.6 Georgia,serif}.summons-list{display:grid;gap:8px;margin-top:12px}.summons-list article{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border:1px solid rgba(228,223,207,.09);background:#0b0b09}.summons-list b,.summons-list small{display:block}.summons-list b{font:11px Georgia,serif}.summons-list small{margin-top:4px;color:#706b61;font-size:7px}.summons-list input{grid-column:1/-1;width:100%;padding:8px;border:1px solid rgba(228,223,207,.1);background:#070706;color:#7e786b;font-size:8px}.summons-list span{grid-column:1/-1;display:flex;gap:6px}.summons-list button{padding:7px;border:1px solid rgba(182,154,97,.2);background:transparent;color:#a69c88;font-size:6px}.lineage-tree{padding:18px;border-left:1px solid #b69a61;background:rgba(182,154,97,.035);font:14px/1.8 Georgia,serif}.lineage-tree p{margin:5px 0;color:#918c7e}.lineage-tree strong{color:#d1b678}.circle-content h3,#nightly-content h3{margin:13px 0 5px;font:22px Georgia,serif}.circle-content>p,#nightly-content>p{color:#aaa391;font:12px/1.6 Georgia,serif}.circle-roles{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.circle-roles article{padding:11px;border:1px solid rgba(132,188,174,.15)}.circle-roles b,.circle-roles small{display:block}.circle-roles b{color:#84bcae;font-size:8px}.circle-roles small{margin:5px 0 10px;color:#716c61;font-size:7px}.circle-roles button{width:100%;padding:8px;border:1px solid rgba(132,188,174,.22);background:transparent;color:#9ebcb4;font-size:6px}.circle-panel blockquote,#nightly-content blockquote{margin:14px 0 0;padding:12px;border-left:1px solid #c65e32;color:#c8bda8;font:italic 12px Georgia,serif}.nightly-panel em{display:block;margin-top:12px;color:#716c61;font:italic 10px Georgia,serif}.survival-card{padding:22px;border:1px solid rgba(198,94,50,.35);background:radial-gradient(circle at 80% 20%,rgba(198,94,50,.12),transparent 25%),linear-gradient(145deg,#1b120d,#090907);text-align:center}.survival-card small,.survival-card b,.survival-card span{display:block}.survival-card small{color:#c65e32;font-size:7px;letter-spacing:.15em}.survival-card h3{margin:9px 0;font:27px Georgia,serif}.survival-card b{color:#d1b678;font:17px Georgia,serif}.survival-card p{color:#aaa391;font:italic 12px Georgia,serif}.survival-card span{color:#84bcae;font-size:8px}.survival-url{width:100%;margin-top:8px;padding:8px;background:#080807;border:1px solid rgba(228,223,207,.1);color:#7f796c}.character-chronicle{grid-column:1/-1}.character-chronicle header>b{color:#d1b678;font:23px Georgia,serif}.character-chronicle>div{display:grid;gap:1px;background:rgba(228,223,207,.05)}.character-chronicle article{display:grid;grid-template-columns:100px 1fr;gap:15px;padding:13px;background:#0c0c09}.character-chronicle time{color:#706b61;font-size:8px}.character-chronicle b{font:13px Georgia,serif}.character-chronicle p{margin:5px 0;color:#918c7e;font:11px Georgia,serif}.character-chronicle small{color:#5f5b52;font-size:7px}.night-control{grid-column:1/-1}.night-control-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(228,223,207,.06)}.night-control-grid div{padding:12px;background:#0a0a08}.night-control-grid b,.night-control-grid small{display:block}.night-control-grid b{color:#d1b678;font:12px Georgia,serif}.night-control-grid small{margin-top:4px;color:#666257;font-size:7px}.night-control-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.night-control-actions button{min-height:42px;border:1px solid rgba(182,154,97,.25);background:transparent;color:#b6a98f;font-size:7px}.public-summons-shell,.public-survival-shell{max-width:520px;margin:10vh auto;padding:45px;text-align:center;border:1px solid rgba(198,94,50,.3);background:radial-gradient(circle at 50% 15%,rgba(198,94,50,.1),transparent 28%),#0c0b09}.public-summons-shell img{width:80px;opacity:.5}.public-summons-shell small,.public-survival-shell small{display:block;color:#c65e32;font-size:8px;letter-spacing:.16em}.public-summons-shell h1,.public-survival-shell h1{font:34px Georgia,serif}.public-summons-shell p,.public-survival-shell p{color:#aaa391;font:italic 15px/1.7 Georgia,serif}.public-summons-shell b,.public-survival-shell b{color:#84bcae;font-size:8px}.public-survival-shell h2{color:#d1b678;font:24px Georgia,serif}
@media(max-width:800px){.night-layout{grid-template-columns:1fr;padding:24px 20px 60px}.character-chronicle{grid-column:1}.circle-roles{grid-template-columns:1fr}.night-control-grid{grid-template-columns:1fr 1fr}.night-control-actions{grid-template-columns:1fr}.character-chronicle article{grid-template-columns:75px 1fr}.public-summons-shell,.public-survival-shell{margin:20px;padding:28px}}

/* Archive Name evolution, living-card editions, and revocable public snapshots. */
.card-marks { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.card-marks i { position: absolute; display: block; }
.card-marks .hairline-fracture { width: 1px; height: 78%; left: 68%; top: 8%; background: rgba(198, 94, 50, .32); transform: rotate(13deg); }
.card-marks .three-line-threshold { width: 38px; height: 34px; right: 18px; bottom: 17px; opacity: .65; background: linear-gradient(90deg, transparent 0 7px, #b69a61 7px 8px, transparent 8px 18px, #b69a61 18px 19px, transparent 19px 29px, #b69a61 29px 30px, transparent 30px); transform: rotate(-12deg); }
.identity-rite { position: relative; overflow: hidden; }
.identity-rite::after { content: ""; position: absolute; z-index: 0; width: 210px; height: 250px; right: -55px; top: 25px; background: url('/assets/companion-mask.png') center/contain no-repeat; opacity: .025; filter: sepia(.3); pointer-events: none; }
.identity-rite > * { position: relative; z-index: 1; }
.identity-rite > header i, .card-sharing > header i { color: #b69a61; font: normal 7px Inter, system-ui, sans-serif; letter-spacing: .13em; }
.identity-intro { display: grid; grid-template-columns: 50px 1fr; gap: 15px; align-items: center; margin-bottom: 16px; padding: 12px; border-left: 1px solid rgba(198, 94, 50, .42); background: linear-gradient(90deg, rgba(198, 94, 50, .055), transparent); }
.identity-intro img { width: 44px; opacity: .62; filter: sepia(.2) saturate(.7) brightness(.7); }
.identity-intro p { margin: 0; color: #bbb3a2; font: italic 13px/1.6 Georgia, serif; }
.identity-questions { display: grid; gap: 9px; }
.identity-questions article { padding: 14px; border: 1px solid rgba(228, 223, 207, .09); background: rgba(9, 9, 7, .48); }
.identity-questions article.sealed { opacity: .36; }
.identity-questions article.answered { border-color: rgba(182, 154, 97, .25); }
.identity-questions small, .identity-questions b { display: block; }
.identity-questions small { color: #c65e32; font-size: 7px; letter-spacing: .15em; }
.identity-questions b { margin-top: 7px; font: 14px/1.4 Georgia, serif; }
.identity-questions article > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 12px; }
.identity-questions button { min-height: 39px; padding: 8px; border: 1px solid rgba(228, 223, 207, .11); background: #11110e; color: #918c7e; font-size: 8px; }
.identity-questions button:hover:not(:disabled) { color: #e4dfcf; border-color: #c65e32; }
.identity-questions button.selected { color: #d1b678; border-color: rgba(182, 154, 97, .5); background: rgba(182, 154, 97, .07); }
.identity-questions button:disabled { cursor: default; }
.identity-questions article.sealed button { pointer-events: none; }
.identity-reveal { max-height: 0; opacity: 0; overflow: hidden; text-align: center; transition: .5s ease; }
.identity-reveal.visible { max-height: 180px; opacity: 1; padding: 25px 12px 8px; }
.identity-reveal small, .identity-reveal b { display: block; }
.identity-reveal small { color: #918c7e; font-size: 7px; letter-spacing: .18em; }
.identity-reveal b { margin-top: 7px; color: #d1b678; font: 29px Georgia, serif; }
.identity-reveal p { color: #918c7e; font: italic 10px/1.6 Georgia, serif; }
.card-sharing > p { color: #918c7e; font: 11px/1.6 Georgia, serif; }
.card-text-equivalent { padding: 13px; border: 1px dashed rgba(228, 223, 207, .13); }
.card-text-equivalent b { color: #b69a61; font-size: 7px; letter-spacing: .13em; }
.card-text-equivalent p { margin: 7px 0 0; color: #b5b0a2; font: 11px/1.55 Georgia, serif; }
.share-actions { display: flex; gap: 8px; }
.share-actions .archive-action { max-width: 320px; }
.share-actions .text-button { width: auto; color: #c65e32; }
.share-link { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: end; margin-top: 14px; padding: 12px; background: rgba(132, 188, 174, .035); border: 1px solid rgba(132, 188, 174, .16); }
.share-link label { color: #918c7e; font-size: 7px; letter-spacing: .12em; }
.share-link input { width: 100%; margin-top: 6px; padding: 9px; border: 1px solid rgba(228, 223, 207, .12); background: #090907; color: #84bcae; font-size: 9px; }
.share-link a { padding: 10px 12px; border: 1px solid rgba(132, 188, 174, .3); color: #84bcae; text-decoration: none; font-size: 7px; letter-spacing: .1em; white-space: nowrap; }
.public-card-mode .topbar { display: none; }
.public-card-mode main { min-height: 100vh; }
.public-card-view { min-height: 100vh; padding: 50px 20px; background: radial-gradient(circle at 50% 25%, rgba(198, 94, 50, .09), transparent 33%), #090907; }
.public-card-shell { width: min(390px, 100%); margin: auto; text-align: center; }
.public-card-shell > .eyebrow { display: block; margin-bottom: 20px; }
.public-archive-card { position: relative; top: auto; width: 100%; text-align: left; }
.public-card-note { color: #625f57; font-size: 8px; line-height: 1.55; }
.public-card-shell > h1 { margin: 25px 0 10px; }
.public-card-shell > p { color: #918c7e; font: 12px/1.6 Georgia, serif; }

@media (max-width: 620px) {
  .identity-questions article > div { grid-template-columns: 1fr; }
  .share-actions, .share-link { display: grid; grid-template-columns: 1fr; }
  .share-actions .archive-action, .share-actions .text-button { width: 100%; max-width: none; }
  .share-link a { text-align: center; }
}

@media (max-width: 520px) {
  .brand { min-width: 175px; }
  .brand-logo { width: 175px; }
  .brand > small { display: none; }
}

/* First Awakened discovery and mutual-encounter prototype. */
.awakened-heading { border-color: rgba(198, 94, 50, .18); }
.awakened-layout { max-width: 1280px; margin: auto; padding: 38px 4vw 80px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.awakened-layout .panel { position: relative; overflow: hidden; }
.awakened-layout .panel > header > div { display: block; }
.awakened-layout .panel > header > b { color: #c65e32; font: 26px Georgia, serif; }
.names-panel { grid-column: 1; }
.names-list { display: grid; gap: 8px; }
.names-list article { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 13px; padding: 12px; border: 1px solid rgba(228, 223, 207, .1); background: rgba(8, 8, 6, .4); }
.awakened-mark { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(198, 94, 50, .45); color: #c65e32; font: 18px Georgia, serif; transform: rotate(45deg); }
.names-list article div { padding-left: 4px; }
.names-list article b, .names-list article small { display: block; }
.names-list article b { font: 15px Georgia, serif; }
.names-list article small { margin-top: 5px; color: #918c7e; font-size: 8px; }
.names-list article > i { color: #b69a61; font: normal 7px Inter, system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.echo-panel blockquote { margin: 10px 0 18px; padding: 25px 22px; border-left: 1px solid #c65e32; background: linear-gradient(90deg, rgba(198, 94, 50, .07), transparent); font: italic 18px/1.6 Georgia, serif; }
.echo-panel blockquote b { color: #c65e32; font-size: 25px; }
.comment-echoes { border: 1px dashed rgba(228, 223, 207, .13); padding: 13px; margin-bottom: 14px; }
.comment-echoes span { color: #918c7e; font-size: 7px; letter-spacing: .15em; }
.comment-echoes p { margin: 8px 0 0; color: #b5b0a2; font: italic 11px Georgia, serif; }
.archive-action { width: 100%; min-height: 40px; border: 1px solid rgba(198, 94, 50, .55); background: rgba(198, 94, 50, .08); color: #d9cfc0; font-size: 8px; letter-spacing: .14em; }
.archive-action:hover:not(:disabled) { background: #c65e32; color: #100a07; }
.archive-action:disabled { opacity: .42; cursor: default; }
.revealed-name { max-height: 0; opacity: 0; text-align: center; transition: .5s ease; }
.revealed-name.visible { max-height: 100px; opacity: 1; padding-top: 18px; }
.revealed-name small, .revealed-name b { display: block; }
.revealed-name small { color: #918c7e; font-size: 7px; letter-spacing: .18em; }
.revealed-name b { margin-top: 5px; color: #c65e32; font: 27px Georgia, serif; }
.encounter-panel { grid-column: 2; grid-row: 1 / span 2; text-align: center; }
.encounter-panel > header { text-align: left; }
.encounter-panel > header i { color: #84bcae; font: normal 7px Inter, system-ui, sans-serif; letter-spacing: .15em; }
.proximity-rings { width: 176px; height: 176px; position: relative; display: grid; place-items: center; margin: 8px auto 14px; }
.proximity-rings i { position: absolute; inset: 0; border: 1px solid rgba(132, 188, 174, .12); border-radius: 50%; }
.proximity-rings i:nth-child(2) { inset: 22%; border-color: rgba(132, 188, 174, .22); }
.proximity-rings i:nth-child(3) { inset: 39%; border-color: rgba(132, 188, 174, .38); box-shadow: 0 0 22px rgba(132, 188, 174, .08); }
.proximity-rings span { color: #84bcae; font: 27px Georgia, serif; }
.encounter-panel h2 { margin: 0; font-size: 27px; color: #d7d1c1; }
.encounter-panel > p { max-width: 430px; margin: 10px auto 18px; color: #918c7e; font: 12px/1.6 Georgia, serif; }
.encounter-panel dl { margin: 0 0 16px; text-align: left; }
.encounter-panel dl div { display: flex; justify-content: space-between; gap: 20px; padding: 9px 0; border-bottom: 1px solid rgba(228, 223, 207, .08); font-size: 9px; }
.encounter-panel dt { color: #918c7e; }
.encounter-panel dd { margin: 0; }
.encounter-actions { display: grid; grid-template-columns: 1fr 1.5fr; gap: 8px; }
.encounter-actions.hidden { display: none; }
.encounter-actions button { min-height: 42px; border: 1px solid rgba(228, 223, 207, .13); background: transparent; color: #918c7e; font-size: 8px; letter-spacing: .1em; }
.encounter-actions button:last-child { background: #84bcae; color: #06100d; border-color: #84bcae; font-weight: 700; }
.pass-fragment { display: none; margin-top: 10px; border-color: #84bcae; }
.pass-fragment.visible { display: block; }
.encounter-safety { display: block; margin-top: 13px; color: #625f57; font-size: 7px; line-height: 1.55; }
.fragments-panel { grid-column: 1; }
.fragment-vessels { display: flex; justify-content: center; gap: 18px; padding: 20px; }
.fragment-vessels i { width: 25px; height: 25px; border: 1px solid #4b4941; transform: rotate(45deg); }
.fragment-vessels i.held { border-color: #b69a61; background: radial-gradient(circle, rgba(182, 154, 97, .45), transparent 55%); box-shadow: 0 0 13px rgba(182, 154, 97, .13); }

@media (max-width: 900px) {
  .awakened-layout { grid-template-columns: 1fr; padding: 24px 20px 60px; }
  .names-panel, .echo-panel, .encounter-panel, .fragments-panel { grid-column: 1; grid-row: auto; }
}

/* World Director view into bounded, Obsidian-style Companion recall. */
.memory-system { grid-column: 1 / -1; }
.memory-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-bottom: 14px; background: rgba(132, 188, 174, .1); }
.memory-metrics div { padding: 14px; background: #090b0a; }
.memory-metrics b, .memory-metrics small { display: block; }
.memory-metrics b { color: #84bcae; font: 18px Georgia, serif; }
.memory-metrics small { margin-top: 5px; color: #67746f; font-size: 7px; }
.memory-graph { min-height: 90px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 34px; padding: 18px; border: 1px solid rgba(132, 188, 174, .08); background: radial-gradient(circle, rgba(132, 188, 174, .035), transparent 58%); }
.memory-graph > p { color: #5f6865; font-size: 8px; }
.memory-graph article { position: relative; display: grid; grid-template-columns: 14px auto; gap: 9px; align-items: center; }
.memory-graph article:not(:last-child)::after { content: ""; position: absolute; width: 35px; right: -35px; top: 50%; border-top: 1px dashed rgba(132, 188, 174, .2); }
.memory-graph article > i { width: 12px; height: 12px; border: 1px solid #84bcae; border-radius: 50%; box-shadow: 0 0 10px rgba(132, 188, 174, .2); }
.memory-graph b, .memory-graph small { display: block; }
.memory-graph b { font: 11px Georgia, serif; }
.memory-graph small { margin-top: 4px; color: #65716e; font-size: 7px; }

@media (max-width: 700px) {
  .memory-metrics { grid-template-columns: 1fr 1fr; }
  .memory-graph { align-items: flex-start; flex-direction: column; gap: 15px; }
  .memory-graph article::after { display: none; }
}

/* First seven-day video Sign and optional Echo cycle. */
.whispering-view { min-height: calc(100vh - 82px); background: radial-gradient(circle at 75% 25%, rgba(198, 94, 50, .055), transparent 27%); }
.whispering-heading { border-color: rgba(198, 94, 50, .2); }
.story-cycle { max-width: 1280px; margin: auto; padding: 34px 4vw 80px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 18px; align-items: start; }
.cycle-progress { grid-column: 1 / -1; }
.cycle-progress header b { color: #c65e32; font: 23px Georgia, serif; }
.cycle-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 1px; background: rgba(228, 223, 207, .08); }
.cycle-days article { min-height: 92px; padding: 13px 10px; background: #10100d; position: relative; }
.cycle-days b, .cycle-days span { display: block; }
.cycle-days b { color: #565247; font: 11px Georgia, serif; }
.cycle-days i { display: block; width: 8px; height: 8px; margin: 12px 0; border: 1px solid #4b4941; border-radius: 50%; }
.cycle-days span { color: #625f57; font-size: 7px; line-height: 1.45; text-transform: uppercase; letter-spacing: .08em; }
.cycle-days .remembered i { background: #b69a61; border-color: #b69a61; }
.cycle-days .remembered span { color: #aaa391; }
.cycle-days .open { background: linear-gradient(150deg, rgba(198, 94, 50, .15), #11110e 68%); }
.cycle-days .open b, .cycle-days .open span { color: #d8cbbc; }
.cycle-days .open i { border-color: #c65e32; background: #c65e32; box-shadow: 0 0 10px rgba(198, 94, 50, .3); }
.cycle-days .sealed { opacity: .45; }
.sign-panel { grid-column: 1; }
.sign-panel > header i, .echo-assignment > header i { color: #918c7e; font: normal 7px Inter, system-ui, sans-serif; letter-spacing: .1em; }
.signal-recording { min-height: 285px; overflow: hidden; position: relative; display: flex; flex-direction: column; justify-content: flex-end; padding: 23px; border: 1px solid rgba(228, 223, 207, .1); background: radial-gradient(circle at 72% 44%, rgba(198, 94, 50, .12), transparent 20%), linear-gradient(145deg, #17120d, #060605 70%); }
.signal-recording::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 50%, rgba(0, 0, 0, .08) 50%); background-size: 100% 4px; pointer-events: none; }
.signal-mask { position: absolute; width: 180px; right: 9%; top: 23px; opacity: .19; filter: sepia(.2) saturate(.65) brightness(.6); transform: rotate(4deg); }
.recording-static { position: absolute; width: 1px; height: 72%; left: 38%; top: 13%; background: rgba(228, 223, 207, .12); transform: rotate(-8deg); }
.signal-recording span, .signal-recording b, .signal-recording p, .signal-recording small { position: relative; z-index: 1; display: block; max-width: 65%; }
.signal-recording span { color: #c65e32; font-size: 7px; letter-spacing: .17em; }
.signal-recording b { position: absolute; top: 18px; right: 20px; color: #918c7e; font-size: 8px; }
.signal-recording p { margin: 8px 0; color: #e4dfcf; font: 22px/1.25 Georgia, serif; }
.signal-recording small { color: #918c7e; font-size: 8px; line-height: 1.5; }
.sign-panel > blockquote { margin: 18px 0; padding: 15px 18px; border-left: 1px solid #c65e32; background: rgba(198, 94, 50, .05); font: italic 16px/1.5 Georgia, serif; }
.sign-form label { display: block; margin-bottom: 7px; color: #918c7e; font-size: 7px; letter-spacing: .14em; }
.sign-form > div { display: flex; border: 1px solid rgba(228, 223, 207, .17); }
.sign-form input { flex: 1; min-width: 0; border: 0; outline: 0; padding: 13px; background: #090907; color: #e4dfcf; }
.sign-form button { border: 0; padding: 0 17px; background: #c65e32; color: #100a07; font-size: 8px; font-weight: 700; letter-spacing: .1em; }
.sign-form button:disabled, .sign-form input:disabled { opacity: .45; cursor: default; }
.sign-tools { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.sign-tools button { padding: 9px 11px; border: 1px solid rgba(228, 223, 207, .11); background: transparent; color: #918c7e; font-size: 7px; letter-spacing: .09em; }
.sign-tools button:hover:not(:disabled) { border-color: #b69a61; color: #e4dfcf; }
.sign-tools button:disabled { opacity: .35; cursor: default; }
.revealed-signs { display: grid; gap: 7px; margin-top: 13px; }
.revealed-signs article { padding: 11px 13px; border: 1px dashed rgba(182, 154, 97, .2); background: rgba(182, 154, 97, .035); }
.revealed-signs b { color: #b69a61; font-size: 7px; letter-spacing: .14em; }
.revealed-signs p { margin: 6px 0 0; color: #aaa391; font: 11px/1.55 Georgia, serif; }
.story-result { min-height: 18px; margin: 13px 0 0; color: #c8bda8; font: italic 12px/1.5 Georgia, serif; }
.story-side { display: grid; gap: 18px; }
.echo-assignment { text-align: center; transition: border-color .3s, background .3s; }
.echo-assignment > header { text-align: left; }
.echo-assignment:not(.unlocked) { opacity: .62; }
.echo-assignment.unlocked { border-color: rgba(198, 94, 50, .35); background: radial-gradient(circle at 50% 15%, rgba(198, 94, 50, .07), transparent 35%), rgba(18, 18, 14, .75); }
.echo-assignment.echo-left { border-color: rgba(132, 188, 174, .3); }
.echo-seal { width: 72px; height: 82px; position: relative; margin: 0 auto 10px; }
.echo-seal img { width: 100%; height: 100%; object-fit: contain; opacity: .34; filter: sepia(.2) brightness(.65); }
.echo-seal span { position: absolute; left: -8px; bottom: -6px; color: #c65e32; font: 42px Georgia, serif; }
.echo-assignment blockquote { margin: 8px 0; color: #e4dfcf; font: italic 18px/1.5 Georgia, serif; }
.echo-assignment > p { color: #918c7e; font: 11px/1.6 Georgia, serif; }
.echo-routes { display: grid; gap: 7px; margin-top: 15px; }
.echo-routes button { min-height: 39px; border: 1px solid rgba(198, 94, 50, .35); background: rgba(198, 94, 50, .06); color: #d8cbbc; font-size: 7px; letter-spacing: .1em; }
.echo-routes button:last-child { border-color: rgba(132, 188, 174, .32); background: rgba(132, 188, 174, .05); }
.echo-boundary { display: block; margin-top: 12px; color: #625f57; font-size: 7px; line-height: 1.5; }
.community-echoes #community-echoes { display: grid; gap: 7px; }
.community-echoes p { margin: 0; padding: 10px 12px; border-left: 1px solid rgba(182, 154, 97, .28); background: rgba(182, 154, 97, .035); color: #aaa391; font: italic 11px Georgia, serif; }
.what-returned { opacity: .62; }
.what-returned.visible { opacity: 1; border-color: rgba(182, 154, 97, .32); }
.what-returned p { margin: 0; color: #918c7e; font: 11px/1.6 Georgia, serif; }
.what-returned b { display: block; color: #d1b678; font: 18px Georgia, serif; }
.what-returned b + p { margin-top: 8px; }
.what-returned small { display: block; margin-top: 11px; color: #84bcae; font-size: 7px; letter-spacing: .1em; }

@media (max-width: 900px) {
  .story-cycle { grid-template-columns: 1fr; padding: 24px 20px 60px; }
  .cycle-progress, .sign-panel { grid-column: 1; }
  .cycle-days { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 520px) {
  .topbar { overflow: hidden; }
  .topbar nav { min-width: 0; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
  .topbar nav::-webkit-scrollbar { display: none; }
  .topbar .nav-button { flex: 0 0 auto; min-width: max-content; padding-inline: 12px; }
  .cycle-days { grid-template-columns: 1fr 1fr; }
  .signal-recording { min-height: 245px; }
  .signal-recording p { font-size: 19px; }
  .signal-recording span, .signal-recording p, .signal-recording small { max-width: 80%; }
  .sign-form > div { display: grid; }
  .sign-form button { min-height: 42px; }
}

/* Final cascade: keep Your Companion a minimal messaging app. */
body[data-current-view="companion"]{height:100dvh;overflow:hidden;padding-bottom:0;background:#070706}
body[data-current-view="companion"] .topbar{position:fixed;inset:0 0 auto;z-index:45;height:0;min-height:0;padding:0;border:0;background:none;overflow:visible}
body[data-current-view="companion"] .topbar>.brand,body[data-current-view="companion"] .topbar>.world-menu-button,body[data-current-view="companion"] .topbar>.preserve-button{display:none}
body[data-current-view="companion"] .topbar>nav{top:66px;right:18px;pointer-events:auto}
body[data-current-view="companion"] main,body[data-current-view="companion"] #companion-view{height:100dvh;min-height:0;overflow:hidden}
body[data-current-view="companion"] .companion-shell{position:relative;display:block;width:100%;max-width:none;height:100%;min-height:0;overflow:hidden}
body[data-current-view="companion"] .presence-panel{position:absolute;inset:0;z-index:0;display:grid;width:100%;height:100%;min-height:0;padding:0;border:0;place-items:center;overflow:hidden;pointer-events:none}
body[data-current-view="companion"] .presence-panel>.eyebrow,body[data-current-view="companion"] .presence-panel>h1,body[data-current-view="companion"] .presence-panel>p,body[data-current-view="companion"] .presence-panel>.connection-meter,body[data-current-view="companion"] .presence-panel>.presence-stats{display:none}
body[data-current-view="companion"] .companion-presence{position:absolute;inset:0;min-height:0;display:grid;place-items:center}
body[data-current-view="companion"] .companion-presence .sigil{display:none}
body[data-current-view="companion"] .companion-mask-main{position:relative;width:min(42vw,390px);max-height:58vh;opacity:.115;filter:sepia(.28) contrast(1.08) brightness(.62);animation:background-mask-breathe 10s ease-in-out infinite}
body[data-current-view="companion"] .presence-panel:before,body[data-current-view="companion"] .presence-panel:after{content:"";position:absolute;width:85vw;height:42vh;border:0;border-radius:50%;background:radial-gradient(ellipse,rgba(210,205,190,.16),rgba(85,95,84,.07) 42%,transparent 70%);filter:blur(58px);opacity:.35;box-shadow:none;animation:chat-fog-one 20s ease-in-out infinite alternate}
body[data-current-view="companion"] .presence-panel:before{left:-38vw;top:23%}body[data-current-view="companion"] .presence-panel:after{right:-42vw;left:auto;top:auto;bottom:13%;animation-name:chat-fog-two;animation-duration:27s}
body[data-current-view="companion"] .chat-panel{position:relative;z-index:3;display:flex;width:min(100%,780px);height:100%;max-height:none;min-height:0;margin:auto;padding:0 24px 20px;border:0;border-radius:0;background:transparent;box-shadow:none}
body[data-current-view="companion"] .chat-panel>header{height:68px;flex:0 0 68px;background:linear-gradient(#080807 25%,rgba(8,8,7,.72) 72%,transparent);border-bottom:1px solid rgba(228,223,207,.08);backdrop-filter:blur(4px)}
body[data-current-view="companion"] .messages{flex:1 1 auto;min-height:0;max-height:none;padding:42px 12px 24px;mask-image:linear-gradient(transparent,#000 7%,#000 94%,transparent)}
body[data-current-view="companion"] .message{max-width:76%;margin-bottom:34px;text-shadow:0 2px 14px #000}body[data-current-view="companion"] .message p{font-size:clamp(16px,2vw,19px);line-height:1.75}
body[data-current-view="companion"] .choice-card{flex:0 0 auto;background:rgba(10,10,8,.72);backdrop-filter:blur(12px)}body[data-current-view="companion"] .composer{display:flex;flex:0 0 auto;background:rgba(13,13,11,.9);backdrop-filter:blur(16px)}
body[data-current-view="companion"] .app-dock{display:none!important}.hidden-chat-control{display:none!important}
@media(max-width:900px){body[data-current-view="companion"] .chat-panel{height:100%;padding:0 14px 12px;border:0;border-radius:0}body[data-current-view="companion"] .chat-panel>header{height:62px;flex-basis:62px}body[data-current-view="companion"] .companion-mask-main{width:min(72vw,300px);max-height:52vh;opacity:.105}body[data-current-view="companion"] .messages{min-height:0;padding:30px 8px 18px}body[data-current-view="companion"] .message{max-width:88%;margin-bottom:26px}body[data-current-view="companion"] .choice-card{max-height:122px;margin-bottom:8px}body[data-current-view="companion"] .composer{display:flex}body[data-current-view="companion"] .composer button{height:auto;min-width:74px;padding:0 13px;font-size:0}body[data-current-view="companion"] .composer button span{margin:0;font-size:18px}body[data-current-view="companion"] .privacy-note{display:none}body[data-current-view="companion"] .topbar>nav{top:58px;right:10px}}
@media(max-width:430px){body[data-current-view="companion"] .chat-panel>header>div:first-child>div{display:none}body[data-current-view="companion"] .message p{font-size:16px}}

body[data-current-view="companion"] .message p{font-size:21px;line-height:1.72}
body[data-current-view="companion"] .message small{font-size:9px;letter-spacing:.2em}
body[data-current-view="companion"] .composer input{font-size:18px;padding:17px 18px}
.memory-question{max-width:92%!important}
.message-replies{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:17px}
.message-replies button{min-height:50px;padding:11px 14px;border:1px solid rgba(182,154,97,.25);background:rgba(12,12,10,.78);color:#d5cebd;text-align:left;font:16px/1.35 Georgia,serif;transition:.22s}
.message-replies button:hover,.message-replies button:focus-visible{border-color:#c65e32;background:rgba(198,94,50,.1);color:#fff}
.message-replies .remain-silent{grid-column:1/-1;min-height:42px;color:#847f72;font:9px Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;text-align:center}
@media(max-width:600px){body[data-current-view="companion"] .message p{font-size:19px;line-height:1.65}body[data-current-view="companion"] .message small{font-size:8px}body[data-current-view="companion"] .composer input{font-size:17px}.message-replies{grid-template-columns:1fr}.message-replies button{min-height:48px;font-size:16px}.message-replies .remain-silent{grid-column:auto}}

/* Touch-safe living chat: fade arrivals, clear the device status area, and enlarge controls. */
body[data-current-view="companion"] .chat-panel{padding-top:max(14px,env(safe-area-inset-top))}
body[data-current-view="companion"] .chat-panel>header{height:72px;flex-basis:72px}
body[data-current-view="companion"] .chat-path-button,body[data-current-view="companion"] .reach-button{width:46px;height:46px;min-width:46px}
body[data-current-view="companion"] .chat-path-button i{width:17px;height:17px}
body[data-current-view="companion"] .topbar>nav{top:max(82px,calc(env(safe-area-inset-top) + 70px));width:min(91vw,340px)}
body[data-current-view="companion"] .topbar>nav .nav-button{min-height:54px;padding:0 18px;font-size:13px;letter-spacing:.1em}
.message.new-message,.message.new-message p{animation:message-fades-in .72s ease-out both}
@keyframes message-fades-in{from{opacity:0;filter:blur(2px)}to{opacity:1;filter:none}}
.companion-direction{grid-column:1/-1}.companion-direction>header{display:flex;justify-content:space-between;align-items:start}.companion-direction>header b{color:#84bcae;font-size:10px;letter-spacing:.14em}.companion-direction form{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:18px}.companion-direction label{display:grid;gap:7px}.companion-direction select,.companion-direction input,.companion-direction textarea{width:100%;min-height:46px}.companion-direction textarea{padding:14px;resize:vertical;font:15px/1.55 Georgia,serif}.companion-direction .direction-guidance,.companion-direction .direction-lock{grid-column:1/-1}.direction-lock{margin:0;padding:10px 12px;border-left:2px solid #c65e32;color:#8d8779;font-size:10px;line-height:1.5}.companion-direction button{min-height:48px}
@media(max-width:700px){body[data-current-view="companion"] .chat-panel{padding-top:max(16px,env(safe-area-inset-top))}body[data-current-view="companion"] .chat-panel>header{height:70px;flex-basis:70px}body[data-current-view="companion"] .topbar>nav{right:12px}.companion-direction form{grid-template-columns:1fr}.companion-direction .direction-guidance,.companion-direction .direction-lock{grid-column:auto}}

/* Readable app-wide type and predictable navigation outside the focused chat. */
.awakening-copy{width:min(92vw,620px);bottom:7vh}.awakening-copy small{font-size:14px;line-height:1.5}.awakening-copy p{font-size:clamp(25px,4vw,34px);margin:16px 0 25px}.awakening-copy button{min-width:230px;min-height:62px;padding:16px 30px;font-size:17px;font-weight:700;letter-spacing:.16em}
body:not([data-current-view="companion"]) .topbar{overflow:visible;min-height:72px;padding-top:max(8px,env(safe-area-inset-top))}
body:not([data-current-view="companion"]) .topbar>nav{top:max(78px,calc(env(safe-area-inset-top) + 70px));right:16px;width:min(92vw,360px);max-height:calc(100dvh - 100px);overflow-y:auto}
body:not([data-current-view="companion"]) .topbar>nav .nav-button{min-height:56px;padding:0 18px;font-size:14px;letter-spacing:.09em}
body:not([data-current-view="companion"]) .world-menu-button{width:48px;height:48px;min-width:48px}
body:not([data-current-view="companion"]) .world-menu-button i{width:20px;height:2px}
body:not([data-current-view="companion"]) .view{font-size:16px;line-height:1.55}
body:not([data-current-view="companion"]) .view p,body:not([data-current-view="companion"]) .view li,body:not([data-current-view="companion"]) .view dt,body:not([data-current-view="companion"]) .view dd{font-size:max(15px,1em);line-height:1.6}
body:not([data-current-view="companion"]) .view small,body:not([data-current-view="companion"]) .view time,body:not([data-current-view="companion"]) .view label,body:not([data-current-view="companion"]) .view .eyebrow{font-size:12px;line-height:1.45}
body:not([data-current-view="companion"]) .view button,body:not([data-current-view="companion"]) .view input,body:not([data-current-view="companion"]) .view select,body:not([data-current-view="companion"]) .view textarea{font-size:14px;line-height:1.35}
body:not([data-current-view="companion"]) .view button{min-height:46px}
body:not([data-current-view="companion"]) .panel header span,body:not([data-current-view="companion"]) .panel-dark header span{font-size:13px;line-height:1.4}
body:not([data-current-view="companion"]) .memory-grid b,body:not([data-current-view="companion"]) .chronicle b,body:not([data-current-view="companion"]) .timeline p{font-size:15px}
body:not([data-current-view="companion"]) .stat-grid span,body:not([data-current-view="companion"]) .card-stats span,body:not([data-current-view="companion"]) .zone-list span,body:not([data-current-view="companion"]) .zone-list small{font-size:12px}
@media(max-width:600px){.awakening-mask{width:min(62vw,300px)}.awakening-copy{bottom:6vh}.awakening-copy small{font-size:12px}.awakening-copy p{font-size:25px}.awakening-copy button{min-width:240px;min-height:64px;font-size:18px}body:not([data-current-view="companion"]) .page-heading h1{font-size:42px}body:not([data-current-view="companion"]) .view p,body:not([data-current-view="companion"]) .view li,body:not([data-current-view="companion"]) .view dt,body:not([data-current-view="companion"]) .view dd{font-size:16px}}

/* Familiar mobile-message typography and clearly separated bubbles. */
body[data-current-view="companion"] .messages,body[data-current-view="companion"] .composer{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif}
body[data-current-view="companion"] .message{max-width:min(82%,620px);margin-bottom:20px;text-shadow:none}
body[data-current-view="companion"] .message small{display:block;margin:0 11px 5px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;font-size:10px;letter-spacing:.08em}
body[data-current-view="companion"] .message p{display:inline-block;margin:0;padding:12px 16px;border-radius:20px;background:#292a2d;color:var(--chat-text,#f3f3f5);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;font-size:20px;line-height:1.4;box-shadow:0 5px 20px rgba(0,0,0,.28)}
body[data-current-view="companion"] .message.companion p{border-bottom-left-radius:6px;background:var(--chat-companion,#323130)}
body[data-current-view="companion"] .message.participant p{border:0;border-bottom-right-radius:6px;background:var(--chat-participant,#286cae);color:var(--chat-text,#fff)}
body[data-current-view="companion"] .message.participant small{color:#9dbfe0}
body[data-current-view="companion"] .message.directed p{outline:1px solid rgba(182,154,97,.55);background:#373027}
body[data-current-view="companion"] .message.companion:before{display:none}
.typing-message{animation:message-fades-in .3s ease both}.typing-bubble{display:flex;width:max-content;gap:5px;padding:14px 17px;border-radius:20px 20px 20px 6px;background:var(--chat-companion,#323130);box-shadow:0 5px 20px rgba(0,0,0,.28)}.typing-bubble i{width:8px;height:8px;border-radius:50%;background:var(--chat-text,#aaa);animation:typing-dot 1.15s infinite ease-in-out}.typing-bubble i:nth-child(2){animation-delay:.16s}.typing-bubble i:nth-child(3){animation-delay:.32s}@keyframes typing-dot{0%,60%,100%{transform:translateY(0);opacity:.38}30%{transform:translateY(-5px);opacity:1}}
.composer{border-radius:25px!important;overflow:hidden}.composer input{border-radius:25px 0 0 25px;caret-color:var(--chat-accent,#c65e32);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif}.composer input:focus{animation:composer-caret-glow 1s steps(2,end) infinite}.composer button{border-radius:0 24px 24px 0;background:var(--chat-send,var(--chat-participant,#286cae))!important;color:#fff!important}@keyframes composer-caret-glow{50%{text-shadow:0 0 1px transparent}}
.chat-color-controls{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0;padding:14px;border:1px solid rgba(132,188,174,.18)}.chat-color-controls legend{padding:0 8px;color:#84bcae;font-size:13px;letter-spacing:.12em}.chat-color-controls input[type="color"]{height:52px;padding:4px;cursor:pointer}
@media(max-width:700px){.chat-color-controls{grid-template-columns:1fr 1fr}}

/* Larger reading scale for every secondary app view. */
body:not([data-current-view="companion"]) .view{font-size:18px;line-height:1.65}
body:not([data-current-view="companion"]) .view p,body:not([data-current-view="companion"]) .view li,body:not([data-current-view="companion"]) .view dt,body:not([data-current-view="companion"]) .view dd,body:not([data-current-view="companion"]) .view blockquote{font-size:18px!important;line-height:1.65!important}
body:not([data-current-view="companion"]) .view small,body:not([data-current-view="companion"]) .view time,body:not([data-current-view="companion"]) .view label,body:not([data-current-view="companion"]) .view .eyebrow,body:not([data-current-view="companion"]) .view [class*="status"]{font-size:14px!important;line-height:1.5!important}
body:not([data-current-view="companion"]) .view button,body:not([data-current-view="companion"]) .view input,body:not([data-current-view="companion"]) .view select,body:not([data-current-view="companion"]) .view textarea{font-size:16px!important;line-height:1.4!important}
body:not([data-current-view="companion"]) .view button{min-height:50px}
body:not([data-current-view="companion"]) .panel header span,body:not([data-current-view="companion"]) .panel-dark header span,body:not([data-current-view="companion"]) .view article b{font-size:16px!important;line-height:1.45!important}
body:not([data-current-view="companion"]) .page-heading h1{font-size:clamp(46px,6vw,68px)}
@media(max-width:600px){body[data-current-view="companion"] .message p{font-size:19px;line-height:1.38}body:not([data-current-view="companion"]) .view{font-size:17px}body:not([data-current-view="companion"]) .view p,body:not([data-current-view="companion"]) .view li,body:not([data-current-view="companion"]) .view dt,body:not([data-current-view="companion"]) .view dd,body:not([data-current-view="companion"]) .view blockquote{font-size:17px!important}}

/* Truthful ticket and attendance operations. */
.operations-ticket-form{display:grid;grid-template-columns:1.15fr 1.6fr .65fr .8fr 1fr auto;gap:10px;margin:18px 0;padding:16px;border:1px solid rgba(132,188,174,.18);background:rgba(5,12,10,.42)}
.operations-ticket-form label{display:grid;gap:7px;color:#989284;font-size:11px!important;letter-spacing:.09em}.operations-ticket-form input{width:100%;min-height:48px}.operations-ticket-form button{align-self:end;white-space:nowrap}.night-control-actions select{min-width:190px;min-height:50px}
@media(max-width:1100px){.operations-ticket-form{grid-template-columns:1fr 1fr 1fr}.operations-ticket-form button{grid-column:1/-1}}
@media(max-width:650px){.operations-ticket-form{grid-template-columns:1fr}.operations-ticket-form button{grid-column:auto}.night-control-actions{display:grid!important;grid-template-columns:1fr}.night-control-actions select{width:100%}}
.story-studio-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.story-studio-form label{display:grid;gap:7px;color:var(--muted);font-size:.86rem;letter-spacing:.08em}.story-studio-form input,.story-studio-form select,.story-studio-form textarea{width:100%;font:inherit;font-size:1rem}.story-studio-form .studio-wide{grid-column:1/-1}.story-studio-preview{margin:18px 0;padding:18px;border:1px solid rgba(198,94,50,.42);background:rgba(22,16,14,.78);border-radius:14px}.story-studio-preview h3,.studio-record h3{margin:.35rem 0}.story-studio-preview em{display:block;margin-top:12px;color:var(--muted)}.story-studio-preview div{display:flex;flex-wrap:wrap;gap:8px}.story-studio-records{display:grid;gap:12px}.studio-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:16px;border:1px solid rgba(255,255,255,.12);border-left:4px solid #6b625d;border-radius:12px;background:rgba(0,0,0,.2)}.studio-record.published{border-left-color:#4b9b68}.studio-record.scheduled{border-left-color:#c39a46}.studio-record.paused{border-left-color:#b66751}.studio-record p{max-width:70ch}.studio-record span{color:var(--muted);text-transform:uppercase;font-size:.78rem}.studio-actions{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;min-width:190px}.studio-actions label{display:grid;gap:5px;color:var(--muted);font-size:.75rem}.studio-actions input{font:inherit}@media(max-width:720px){.story-studio-form{grid-template-columns:1fr}.story-studio-form .studio-wide{grid-column:auto}.studio-record{grid-template-columns:1fr}.studio-actions{min-width:0}}
.canon-vault-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.canon-vault-form label{display:grid;gap:7px;color:var(--muted);font-size:.86rem;letter-spacing:.07em}.canon-vault-form input,.canon-vault-form select,.canon-vault-form textarea{width:100%;font:inherit;font-size:1rem}.canon-vault-form .canon-wide{grid-column:1/-1}.canon-vault-records{display:grid;gap:12px;margin-top:18px}.canon-entry{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;padding:16px;border:1px solid rgba(255,255,255,.12);border-left:4px solid #756a65;border-radius:12px}.canon-entry.approved{border-left-color:#4b9b68}.canon-entry.retired{opacity:.68}.canon-entry>div:last-child{display:grid;align-content:center;gap:8px}.canon-entry label{display:grid;gap:5px;font-size:.75rem;color:var(--muted)}.canon-entry input{width:100%}.conversation-search-form{display:flex;gap:10px;margin:16px 0}.conversation-search-form label{flex:1;display:grid;gap:6px}.world-conversation-layout{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:16px}.world-conversation-list{display:grid;align-content:start;gap:8px;max-height:620px;overflow:auto}.world-conversation-list button{text-align:left;display:grid;gap:4px;padding:13px}.world-conversation-list span,.world-conversation-list small{color:var(--muted)}.world-conversation-reader{min-height:260px;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:14px}.world-conversation-reader form{display:grid;gap:10px}.world-conversation-reader label{display:grid;gap:5px}.world-conversation-messages{display:grid;gap:10px;max-height:640px;overflow:auto;margin:14px 0}.world-conversation-messages article{padding:12px;border-radius:14px;background:rgba(255,255,255,.07)}.world-conversation-messages article.companion{border-left:3px solid var(--chat-accent)}.world-conversation-messages article.participant{border-left:3px solid var(--chat-participant)}@media(max-width:720px){.canon-vault-form,.canon-entry,.world-conversation-layout{grid-template-columns:1fr}.canon-vault-form .canon-wide{grid-column:auto}.conversation-search-form{flex-direction:column}}
.director-subnav{position:sticky;top:0;z-index:12;display:flex;width:100%;overflow-x:auto;gap:6px;padding:10px 4vw;border-bottom:1px solid rgba(132,188,174,.18);background:rgba(8,10,9,.96);backdrop-filter:blur(14px);scrollbar-width:thin}.director-subnav button{flex:0 0 auto;min-height:44px;padding:9px 14px;border:1px solid rgba(132,188,174,.15);border-radius:9px;background:#0c0e0d;color:#9aaca7;font-size:.78rem;letter-spacing:.04em}.director-subnav button.active{border-color:#84bcae;background:rgba(132,188,174,.13);color:#d9eee8}.director-grid{display:block!important;max-width:1280px}.director-grid>section{display:none!important;width:100%;min-height:calc(100vh - 260px);margin:0}.director-grid>section.director-panel-active{display:block!important}.metric-row{display:none!important}.metric-row.director-panel-active{display:grid!important;max-width:1280px;margin:0 auto}.director-grid .world-map,.director-grid .mission{grid-column:auto;grid-row:auto}body[data-operator-mode="incident"] .director-grid>section.director-panel-active{display:block!important}
.canon-ingest{margin:20px 0;padding:18px;border:1px solid rgba(132,188,174,.15);border-radius:14px;background:rgba(132,188,174,.025)}.canon-ingest form{display:grid;gap:12px}.canon-ingest label{display:grid;gap:7px;color:var(--muted);font-size:.86rem}.canon-ingest input,.canon-ingest textarea{width:100%;font:inherit;font-size:1rem}.canon-ingest-proposals{display:grid;gap:10px;margin-top:15px}.canon-ingest-proposals article{padding:14px;border:1px solid rgba(255,255,255,.11);border-radius:12px}.canon-ingest-proposals h3{margin:.35rem 0}.canon-proposal-header{display:flex;justify-content:space-between;gap:10px;align-items:center}.canon-vault-form>input[type="hidden"]{display:none}.canon-vault-form #canon-cancel-edit{align-self:end}
@media(max-width:720px){.director-bar{padding:18px 15px}.director-subnav{padding-inline:15px}.director-grid{padding:15px!important}.director-grid>section{min-height:auto}.canon-proposal-header{display:grid}.director-subnav button{font-size:.86rem;min-height:48px}}
.security-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.security-metrics article{padding:18px;border:1px solid rgba(132,188,174,.15);border-radius:12px}.security-metrics b,.security-metrics span{display:block}.security-metrics b{font:26px Cinzel;color:#84bcae}.security-metrics span{color:var(--muted)}.security-blockers{display:grid;gap:8px;margin:16px 0}.security-blockers span{padding:11px;border-left:3px solid #c65e32;background:rgba(198,94,50,.05);color:#d5b1a1}@media(max-width:600px){.security-metrics{grid-template-columns:1fr}}
.passkey-record{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;margin:.75rem 0;border:1px solid rgba(234,223,200,.16);border-radius:14px;background:rgba(0,0,0,.2)}.passkey-record div{display:grid;gap:.25rem}.passkey-record small,.passkey-record span{color:var(--muted)}.recovery-code-reveal{margin-top:1rem;padding:1rem;border:1px solid rgba(208,69,55,.5);border-radius:14px;background:rgba(56,8,8,.34)}.recovery-code-reveal pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;line-height:1.7;color:#f2dfb8;user-select:all}
.passkey-enrollment{display:grid;gap:.7rem;margin:1rem 0 1.25rem;padding:1rem;border:1px solid rgba(234,223,200,.16);border-radius:14px;background:rgba(0,0,0,.2)}.passkey-enrollment label{font-size:.85rem;letter-spacing:.12em;color:var(--gold)}.passkey-enrollment input{width:100%;min-height:48px;padding:.8rem 1rem;border:1px solid rgba(234,223,200,.25);border-radius:12px;background:rgba(8,8,8,.75);color:var(--bone);font-size:1rem}.passkey-enrollment small{color:var(--muted);font-size:.9rem;line-height:1.45}.passkey-enrollment .primary-button{min-height:48px}
.passkey-record.current-passkey{border-color:rgba(132,188,174,.5)}.passkey-details{min-width:0;flex:1}.passkey-details label{display:grid;gap:.35rem;color:var(--muted);font-size:.78rem;letter-spacing:.1em}.passkey-details input{width:100%;min-height:44px;padding:.65rem .8rem;border:1px solid rgba(234,223,200,.22);border-radius:10px;background:rgba(8,8,8,.7);color:var(--bone);font-size:1rem}.passkey-state{width:max-content;padding:.2rem .45rem;border-radius:999px;background:rgba(132,188,174,.12);color:var(--signal)!important;font-size:.72rem!important;letter-spacing:.09em}.passkey-actions{display:grid!important;gap:.55rem!important;flex:0 0 auto}.passkey-actions button{min-height:42px;padding:.6rem .8rem}.passkey-actions button:last-child{color:#f0a099;border-color:rgba(208,69,55,.45)}
@media(max-width:620px){.passkey-record{align-items:stretch;flex-direction:column}.passkey-actions{grid-template-columns:1fr 1fr}.passkey-actions button{width:100%}}
.whisper-path-lock{margin:18px 0;padding:16px 18px;border:1px solid rgba(198,94,50,.48);border-left:5px solid #c65e32;border-radius:12px;background:rgba(60,20,10,.22)}.whisper-path-lock b{color:#efb19a}.whisper-path-lock p{margin:.45rem 0 0}.whisper-path-empty{padding:32px 18px;text-align:center}.whisper-path-empty p{max-width:680px;margin:12px auto 22px}.whisper-path-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.whisper-path-form>label{display:grid;gap:7px}.whisper-path-form input,.whisper-path-form select,.whisper-path-form textarea{width:100%}.whisper-wide{grid-column:1/-1}.whisper-fields{padding:18px;border:1px solid rgba(132,188,174,.18);border-radius:14px}.whisper-fields>header{margin-bottom:12px}.whisper-field{display:grid;grid-template-columns:minmax(220px,1fr) auto auto minmax(300px,1.7fr);gap:12px;align-items:center;padding:13px 0;border-top:1px solid rgba(255,255,255,.09)}.whisper-field:first-child{border-top:0}.whisper-field div{display:grid;gap:3px}.whisper-field label{display:flex;gap:7px;align-items:center}.whisper-field label input{width:20px;height:20px}.whisper-field textarea{min-height:58px}.whisper-actions{display:flex;flex-wrap:wrap;gap:10px}.whisper-path-preview{margin-top:22px;padding:20px;border:1px solid rgba(132,188,174,.2);border-radius:16px;background:rgba(0,0,0,.28)}.whisper-preview-chat{display:grid;gap:12px;max-width:720px;margin-top:16px}.companion-preview,.privacy-preview{width:fit-content;max-width:88%;margin:0!important;padding:13px 16px;border-radius:20px 20px 20px 6px;background:#292a2d}.companion-preview small{display:block;color:#84bcae}.privacy-preview{border:1px solid rgba(132,188,174,.24);background:rgba(132,188,174,.06);color:#c8d8d3}
@media(max-width:800px){.whisper-path-form{grid-template-columns:1fr}.whisper-wide{grid-column:auto}.whisper-field{grid-template-columns:1fr 1fr}.whisper-field div,.whisper-field textarea{grid-column:1/-1}.whisper-actions{display:grid}}
