/* observatory-007: shared material, readable type, lighter composer. */
.portal { --accent: #b8d5ef; }
.amber-card { --accent: #efd1b2; }
.commerce-card { --accent: #b9dce8; }
.ppt-card { --accent: #d6c9ea; }
:is(.float-card, .future-card) {
  filter: drop-shadow(0 9px 18px #02081245) drop-shadow(0 0 5px color-mix(in srgb, var(--accent) 13%, transparent));
}
:is(.float-card, .future-card):is(:hover, :focus-visible) {
  filter: drop-shadow(0 12px 22px #02081255) drop-shadow(0 0 10px color-mix(in srgb, var(--accent) 25%, transparent));
}
.portal-frame {
  position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%;
  fill: none; stroke: var(--accent); stroke-width: .85; opacity: .58;
  filter: drop-shadow(0 0 2px color-mix(in srgb, var(--accent) 32%, transparent));
  pointer-events: none; transition: opacity .3s;
}
.portal:is(:hover, :focus-visible) .portal-frame { opacity: .88; }
.card-art { filter: saturate(.94) brightness(.97); }
:is(.card-face, .future-face)::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, #030b184d, #030b1826 36%, transparent 65%);
}
.card-glare, .future-glare {
  background: radial-gradient(ellipse at var(--mx, 50%) var(--my, 40%), color-mix(in srgb, var(--accent) 15%, transparent), transparent 68%);
}
.card-copy { right: 9%; gap: 12px; }
.card-copy, .future-copy { text-shadow: 0 2px 12px #020713e0; }
.card-copy strong, .future-copy h2 { font-weight: 400; line-height: 1.3; letter-spacing: .04em; }
.card-copy strong { font-size: clamp(23px, 2.15vw, 36px); }
.card-copy > span { font-size: clamp(12px, 1.02vw, 17px); line-height: 1.75; color: #e1e9f5; font-weight: 400; letter-spacing: 0; }
.future-copy h2 { font-size: clamp(22px, 1.8vw, 30px); margin-bottom: 12px; }
.coming-soon { font-size: 12px; line-height: 1.65; letter-spacing: .05em; color: #d5e2f3; }
.home-composer {
  border-color: #c2dfff70;
  background: linear-gradient(115deg, #182a426e, #13223980 60%, #1a2e465c);
  backdrop-filter: blur(24px) saturate(1.12);
  box-shadow: inset 0 1px 1px #ecf6ff26, 0 10px 28px #02071335, 0 0 10px #8fbbff16;
  transition: border-color .3s, box-shadow .3s, background .3s;
}
.home-composer::before { background: #8cbaff22; height: 14px; bottom: -9px; }
.home-composer:focus-within {
  border-color: #d5ecffbd;
  background: linear-gradient(115deg, #1a304b8c, #14263d96 60%, #20385280);
  box-shadow: inset 0 1px 2px #ecf6ff30, 0 0 18px #a5d5ff26, 0 9px 25px #02071330;
}
.home-composer textarea { font-size: clamp(13px, .92vw, 15px); }
.home-composer textarea::placeholder { color: #b8c8dc; }
.home-composer .composer-tool svg, .home-composer .send-button svg { stroke-width: 1.4; }
.home-composer .send-button {
  border-color: #d3e8ff8f; background: linear-gradient(140deg, #aecff512, #10213652);
  box-shadow: inset 0 1px 2px #e4f1ff18, 0 0 8px #77afff1c;
}
.home-composer .send-button:hover { box-shadow: 0 0 15px #a3ccff40; background: #a5d0ff18; }
/* Panel transforms are driven by the actual card/panel rectangles in interface.js. */
.workspace { animation: none; }
.motion-paused .stage, .motion-paused .room, .motion-paused #ambience { transition: none; }
@media (max-width: 1000px) {
  .card-copy { left: 13%; right: 7%; gap: 9px; }
  .card-copy strong { font-size: clamp(22px, 2.5vw, 25px); }
  .card-copy > span { font-size: 12px; line-height: 1.7; }
  .future-copy h2 { font-size: clamp(21px, 2.4vw, 24px); }
  .coming-soon { font-size: 12px; }
}
@media (max-width: 800px) {
  .portal-frame { display: none; }
  :is(.float-card, .future-card) { border-color: color-mix(in srgb, var(--accent) 43%, transparent); }
  .card-copy, .amber-card .card-copy { left: 16px; right: 12px; top: 13px; gap: 6px; }
  .card-copy strong { font-size: 23px; }
  .card-copy > span { font-size: 11.5px; line-height: 1.6; }
  .future-copy h2 { font-size: 22px; margin-bottom: 7px; }
  .home-composer textarea { font-size: 13px; }
}
@media (max-width: 560px) {
  .card-copy, .amber-card .card-copy { left: 13px; right: 9px; }
  .card-copy strong { font-size: 22px; }
  .future-copy h2 { font-size: 21px; }
}


/* A quieter, compact composer that sits naturally on the observatory floor. */
.composer-wrap { width: min(40%,520px); }
.home-composer {
  min-height: 44px; padding: 6px 7px 6px 14px; gap: 8px; border-radius: 24px;
  border-color: #abc1d638;
  background: linear-gradient(115deg,#111c2b99,#0b15217d 70%,#15213380);
  backdrop-filter: blur(12px) saturate(.95);
  box-shadow: inset 0 1px #eaf3ff0d,0 4px 16px #02061020;
}
.home-composer::before { display: none; }
.home-composer:focus-within {
  border-color: #afc9e36b;
  background: linear-gradient(115deg,#152234a6,#101d2b9e 70%,#17283a8f);
  box-shadow: inset 0 1px #e0edf516,0 4px 18px #02061026;
}
.home-composer .input-wave { width: 17px; height: 17px; color: #9cb3c9; }
.home-composer textarea { height: 26px; font-size: 12px; line-height: 1.65; color: #d6e2ed; padding: 3px 0; }
.home-composer textarea::placeholder { color: #a1b2c3; }
.home-composer .composer-tool,.home-composer .send-button {
  width: 28px; height: 28px; border-radius: 8px; padding: 0;
  color: #b8cadb; border: 1px solid transparent; background: transparent;
  box-shadow: none; opacity: .85; transform: none;
}
.home-composer .send-button { background: #a6c6e40c; border-color: #abc6df14; }
.home-composer .composer-tool svg,.home-composer .send-button svg { width: 16px; height: 16px; stroke-width: 1.35; }
.home-composer .composer-tool:hover,.home-composer .send-button:hover {
  color: #e1ebf6; border-color: #abc6df2e; background: #acc9e717;
  opacity: 1; box-shadow: none; transform: none;
}
.home-composer .composer-tool:focus-visible,.home-composer .send-button:focus-visible { outline: 2px solid #abc9e480; outline-offset: 2px; }
.home-composer .send-button:active { background: #acc9e724; transform: none; }
@media(max-width:1000px) { .composer-wrap { width: min(50%,520px); } }
@media(max-width:800px) { .composer-wrap { width: min(70%,520px); } }
@media(max-width:560px) {
  .composer-wrap { width: calc(100% - 40px); }
  .home-composer { min-height: 46px; padding: 6px 7px 6px 12px; gap: 7px; }
  .home-composer .composer-tool,.home-composer .send-button { width: 30px; height: 30px; }
}

/* Keep existing settings compact after adding main Adam memory controls. */
#settings { padding:22px 26px; }
#settings .setting-row { padding:11px 0; }
#settings .setting-row > div { min-width:0; }
#settings .setting-row small { line-height:1.6; }
#settings .settings-intro { margin:10px 0; }
#settings .brightness-row { padding:13px 0; }
#settings .shortcut-row { padding:9px 0 13px; }
#settings #memory-status { color:#9fb7d8; font-size:10px; }
#settings #memory-clear { flex-shrink:0; }
