:root {
  --ink:#e8e3d5;
  --ink-dim:#8a836e;
  --ink-faint:#4a4538;
  --paper:#07070a;
  --rule:#1f1d17;
  --amber:#c9a961;
  --teal:#6b8e8c;
  --copper:#b8815c;
  --rescue:#e85a42;
  --audit:#f0d060;
  --core:#6fb890;
  --streamA:#8ab8e0;
  --streamB:#c88acc;
  --mono:'JetBrains Mono','Courier New',monospace;
}

* {
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html,
body {
  height:100%;
  width:100%;
  overflow-x:hidden;
  overflow-y:auto;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--mono);
  -webkit-font-smoothing:antialiased;
  touch-action:pan-y;
}

.stage {
  position:fixed;
  inset:0;
  display:flex;
  flex-direction:column;
}

.stage-pane {
  position:relative;
  width:100%;
  min-height:0;
}

#barrelPane {
  flex:1.15;
}

#islandPane {
  flex:0.85;
  border-top:1px solid var(--rule);
  background:rgba(7,7,10,0.96);
}

body[data-stage-view="barrel"] #islandPane {
  display:none;
}
body[data-stage-view="barrel"] #barrelPane {
  flex:1;
}

body[data-stage-view="island"] #barrelPane {
  display:none;
}
body[data-stage-view="island"] #islandPane {
  flex:1;
  border-top:none;
}

canvas {
  display:block;
  width:100%;
  height:100%;
  touch-action:pan-y;
}

.island-hud-strip {
  position:absolute;
  top:8px;
  left:14px;
  right:430px;
  z-index:11;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink-dim);
  pointer-events:none;
}

.island-hud-strip .tag {
  color:var(--amber);
}

.island-hud-strip .val {
  color:var(--core);
  margin-left:4px;
}

.hud {
  position:fixed;
  z-index:10;
  color:var(--ink-faint);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  pointer-events:none;
}

.hud-tl {
  top:14px;
  left:16px;
}

.hud-tr {
  top:14px;
  right:16px;
  text-align:right;
}

.hud-bl {
  bottom:72px;
  left:16px;
}

.hud-br {
  bottom:72px;
  right:430px;
  text-align:right;
}

.hud-title {
  color:var(--amber);
  letter-spacing:.30em;
  font-size:10.5px;
  margin-bottom:4px;
}

.hud-sub {
  font-size:9px;
  line-height:1.55;
}

.amber {
  color:var(--amber);
  opacity:.78;
}

.mode {
  margin-top:8px;
  color:var(--teal);
  letter-spacing:.22em;
}

.faint {
  opacity:.45;
}

.hud-stat {
  color:var(--ink-dim);
  font-size:11px;
  letter-spacing:.10em;
  line-height:1.75;
}

.hud-stat .val {
  color:var(--ink);
  margin-left:6px;
}

.val.streamA { color:var(--streamA); }
.val.streamB { color:var(--streamB); }
.val.amber { color:var(--amber); }
.val.rescue { color:var(--rescue); }
.val.audit { color:var(--audit); }
.val.core { color:var(--core); }

.ctrl {
  position:fixed;
  bottom:12px;
  left:50%;
  transform:translateX(-50%);
  z-index:20;
  display:flex;
  gap:2px;
  max-width:calc(100vw - 16px);
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding:2px;
  background:rgba(10,10,14,.92);
  backdrop-filter:blur(8px);
  border:1px solid var(--rule);
  touch-action:manipulation;
}

.ctrl button,
.ctrl a.island-link-button,
.ghost-button,
.aura-form button,
.aura-tab,
.quick-prompts button {
  background:transparent;
  color:var(--ink-dim);
  border:none;
  font-family:var(--mono);
  text-transform:uppercase;
  cursor:pointer;
  transition:all .15s;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

.ctrl button,
.ctrl a.island-link-button {
  padding:10px 11px;
  font-size:9px;
  letter-spacing:.14em;
  white-space:nowrap;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
}

.ctrl a.island-link-button {
  background:rgba(111,184,144,0.16);
  color:var(--core);
}

.ctrl button:hover,
.ctrl a.island-link-button:hover,
.ghost-button:hover,
.aura-form button:hover,
.aura-tab:hover,
.quick-prompts button:hover {
  color:var(--amber);
  background:rgba(201,169,97,.08);
}

.ctrl button.active {
  color:var(--paper);
  background:var(--amber);
}

.ctrl .sep {
  width:1px;
  background:var(--rule);
  align-self:stretch;
  margin:4px 2px;
  flex-shrink:0;
}

.release-banner {
  position:fixed;
  z-index:15;
  top:42%;
  left:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
  opacity:0;
  color:var(--rescue);
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:.35em;
  text-shadow:0 0 18px rgba(232,90,66,.5);
  transition:opacity .3s;
  text-align:center;
  white-space:nowrap;
}

.release-banner.visible {
  opacity:1;
}

.command-deck {
  position:fixed;
  z-index:25;
  top:12px;
  right:12px;
  bottom:66px;
  width:410px;
  display:flex;
  flex-direction:column;
  background:rgba(8,8,12,.94);
  border:1px solid var(--rule);
  backdrop-filter:blur(10px);
  box-shadow:0 0 32px rgba(0,0,0,.42);
}

.deck-header {
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:12px;
  border-bottom:1px solid var(--rule);
}

.deck-title {
  color:var(--amber);
  font-size:11px;
  letter-spacing:.20em;
  text-transform:uppercase;
}

.deck-sub {
  color:var(--ink-faint);
  font-size:8.5px;
  letter-spacing:.10em;
  margin-top:4px;
  text-transform:uppercase;
}

.ghost-button {
  border:1px solid var(--rule);
  padding:6px 8px;
  font-size:8.5px;
  letter-spacing:.14em;
}

.deck-status {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:var(--rule);
  border-bottom:1px solid var(--rule);
}

.deck-status div {
  background:rgba(10,10,14,.92);
  padding:8px 10px;
}

.deck-status span {
  display:block;
  color:var(--ink-faint);
  font-size:8px;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.deck-status b {
  display:block;
  color:var(--core);
  font-size:10px;
  letter-spacing:.10em;
  margin-top:3px;
  font-weight:500;
}

.quick-prompts {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:var(--rule);
  border-bottom:1px solid var(--rule);
}

.quick-prompts button {
  background:rgba(10,10,14,.94);
  font-size:8px;
  letter-spacing:.10em;
  text-align:left;
  padding:9px 10px;
  line-height:1.35;
}

.quick-prompts button:last-child {
  grid-column:1/-1;
}

.aura-log {
  flex:1;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.msg {
  border:1px solid rgba(31,29,23,.95);
  padding:9px 10px;
  font-size:11px;
  line-height:1.45;
  letter-spacing:.02em;
  white-space:pre-wrap;
}

.msg .who {
  display:block;
  margin-bottom:4px;
  color:var(--amber);
  font-size:8px;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.msg.user {
  background:rgba(138,184,224,.06);
}

.msg.aura {
  background:rgba(111,184,144,.055);
}

.msg.system {
  background:rgba(201,169,97,.05);
}

.aura-form {
  display:grid;
  grid-template-columns:1fr auto;
  gap:6px;
  padding:8px;
  border-top:1px solid var(--rule);
}

.aura-form textarea {
  resize:none;
  min-width:0;
  background:rgba(0,0,0,.22);
  border:1px solid var(--rule);
  color:var(--ink);
  padding:10px;
  font-family:var(--mono);
  font-size:11px;
  line-height:1.4;
  outline:none;
}

.aura-form textarea:focus {
  border-color:rgba(201,169,97,.5);
}

.aura-form button {
  border:1px solid var(--rule);
  padding:0 14px;
  font-size:9px;
  letter-spacing:.14em;
}

.deck-guide {
  color:var(--ink-faint);
  border-top:1px solid var(--rule);
  padding:9px 10px;
  font-size:8.5px;
  line-height:1.45;
}

.guide-title {
  color:var(--teal);
  text-transform:uppercase;
  letter-spacing:.16em;
  margin-bottom:3px;
}

.aura-tab {
  position:fixed;
  right:12px;
  top:12px;
  z-index:30;
  border:1px solid var(--rule);
  padding:8px 10px;
  background:rgba(8,8,12,.88);
  font-size:9px;
  letter-spacing:.16em;
}

.hidden {
  display:none!important;
}

@media(max-width:940px) {
  .command-deck {
    width:calc(100vw - 24px);
    left:12px;
  }

  .hud-br {
    right:16px;
    top:104px;
    bottom:auto;
  }

  .island-hud-strip {
    right:14px;
  }
}

@media(max-width:760px) {
  .hud {
    font-size:8px;
  }

  .hud-stat {
    font-size:9px;
  }

  .ctrl button,
  .ctrl a.island-link-button {
    padding:9px 8px;
    font-size:8px;
  }

  .release-banner {
    font-size:10px;
    letter-spacing:.18em;
    width:92vw;
    white-space:normal;
  }

  .command-deck {
    bottom:58px;
  }

  .quick-prompts {
    grid-template-columns:1fr;
  }

  .hud-tr {
    display:none;
  }
}

/* Aura115 final operator usability patch: preserve runtime, enlarge control surface. */
.operator-links{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border-bottom:1px solid var(--rule)}
.operator-links a{display:block;background:rgba(10,10,14,.94);color:var(--core);font-size:8px;letter-spacing:.10em;text-transform:uppercase;text-decoration:none;padding:10px;line-height:1.35}.operator-links a:hover{color:var(--amber);background:rgba(201,169,97,.06)}
.aura-form{grid-template-columns:1fr;gap:8px}.aura-form textarea{min-height:112px;font-size:13px;line-height:1.45}.aura-form button{min-height:44px;font-size:10px;background:rgba(201,169,97,.08)}
.aura-log{font-size:12px}.msg{font-size:12px;line-height:1.5}.command-deck{width:min(520px,calc(100vw - 24px));}
@media(max-width:760px){.command-deck{top:8px;left:8px;right:8px;bottom:58px;width:auto}.aura-form textarea{min-height:120px;font-size:14px}.operator-links{grid-template-columns:1fr}.aura-log{min-height:140px}.quick-prompts button{font-size:8.5px;padding:10px}.deck-guide{display:none}}
