.board-layout .composer {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.board-layout .composer textarea,
.board-layout .composer button {
  grid-column: 1 / -1;
}

.board-layout .composer input,
.board-layout .composer select {
  min-height: 42px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 0 10px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.attendee {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.drawer .system-brief {
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 620px) {
  .board-layout .composer,
  .drawer .system-brief {
    grid-template-columns: 1fr;
  }

  .board-layout .composer > * {
    grid-column: 1;
  }
}

/* Trias Technologies — Founder-approved visual system */
:root {
  color-scheme: dark;
  --ink: #f1ecdf;
  --muted: #8da69d;
  --line: rgba(121, 187, 170, 0.2);
  --paper: #03110f;
  --card: #081b17;
  --forest: #0d5a4c;
  --forest2: #041713;
  --teal: #25c7b1;
  --aqua: #70e0cf;
  --gold: #c8a45a;
  --copper: #a8744d;
  --surface: #081d18;
  --shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
}

html { background: #020b09; }
body {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  min-height: 100vh;
  color: var(--ink);
  background:
    radial-gradient(circle at 86% 2%, rgba(37, 199, 177, 0.09), transparent 28rem),
    linear-gradient(145deg, #061713, #020b09 68%);
}
.geometry-field {
  opacity: .12;
  background-size: 110px 190px;
  mask-image: linear-gradient(90deg, transparent 8%, #000 45%, transparent 100%);
}

.site-rail {
  position: sticky;
  z-index: 12;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  padding: 22px 15px 18px;
  border-right: 1px solid rgba(112, 224, 207, .22);
  background:
    radial-gradient(circle at 50% 2%, rgba(37, 199, 177, .14), transparent 18rem),
    linear-gradient(180deg, rgba(4, 24, 20, .98), rgba(2, 12, 10, .99));
  box-shadow: 16px 0 45px rgba(0,0,0,.2);
}
.rail-brand { display: grid; place-items: center; gap: 9px; padding: 0 8px 20px; text-align: center; border-bottom: 1px solid var(--line); }
.rail-brand img { width: 76px; height: 76px; object-fit: contain; border-radius: 50%; background: #061a16; box-shadow: 0 0 36px rgba(37,199,177,.18); }
.rail-brand strong,.rail-brand span,.rail-brand small { display: block; }
.rail-brand strong { font: 500 1.02rem/1.1 Georgia, serif; letter-spacing: .16em; }
.rail-brand span { margin-top: 3px; font: 500 .86rem/1.1 Georgia, serif; letter-spacing: .13em; color: #d8d1bf; }
.rail-brand small { margin-top: 8px; color: var(--teal); font-size: .55rem; letter-spacing: .25em; }

.portal-nav { display: grid; grid-template-columns: 1fr; gap: 6px; margin: 14px 0 0; padding: 0; }
.portal-nav:has(.portal-tab[data-space="aster"].active) {
  max-width: none;
  margin: 14px 0 0;
  padding: 0;
  grid-template-columns: 1fr;
  gap: 6px;
}
.portal-tab,.portal-tab.shooting-star,.portal-tab.tree-life,.portal-tab.podium,.portal-tab.vault-mark {
  min-height: 52px;
  width: 100%;
  padding: 8px 11px;
  border: 1px solid transparent;
  border-radius: 7px;
  clip-path: none;
  background: transparent;
  color: #c4d3ce;
  box-shadow: none;
  gap: 10px;
}
.portal-tab:hover { transform: none; border-color: rgba(112,224,207,.24); background: rgba(112,224,207,.06); box-shadow: none; }
.portal-tab.active { border-color: rgba(112,224,207,.58); background: linear-gradient(90deg, rgba(37,199,177,.32), rgba(18,89,76,.18)); color: #fff; box-shadow: inset 3px 0 0 #78f1dc, 0 0 20px rgba(37,199,177,.12); }
.portal-tab .symbol,.shooting-star .symbol,.tree-life .symbol,.podium .symbol,.vault-mark .symbol { width: 34px; height: 34px; border: 0; border-radius: 50%; clip-path: none; background: transparent; box-shadow: none; color: #d6b76e; font-size: 1.05rem; }
.portal-tab.active .symbol { color: #fff; text-shadow: 0 0 15px rgba(112,224,207,.8); }
.portal-tab strong { font: 700 .78rem/1.1 Inter, ui-sans-serif, system-ui, sans-serif; }
.portal-tab small { margin-top: 3px; font-size: .58rem; color: #759088; }
.site-rail blockquote { margin: auto 13px 18px; color: #d4c7a9; font: italic 1rem/1.55 Georgia, serif; text-align: center; }
.site-rail cite { display: block; margin-top: 9px; color: var(--teal); font: 700 .54rem/1.2 Inter, sans-serif; letter-spacing: .21em; }
.rail-principles { display: flex; justify-content: center; gap: 7px; color: #728c83; font-size: .48rem; letter-spacing: .15em; }
.rail-principles i { color: var(--gold); }

.shell-content { min-width: 0; min-height: 100vh; display: flex; flex-direction: column; }
.masthead { width: 100%; max-width: none; min-height: 74px; margin: 0; padding: 10px 25px; border-bottom: 1px solid var(--line); background: rgba(3,15,12,.88); backdrop-filter: blur(18px); }
.brand-lockup h1 { margin: 2px 0; font: 500 1.15rem/1.1 Georgia, serif; color: #eee6d4; }
.brand-lockup p { color: #6f8c82; font-size: .67rem; }
.brand-lockup .kicker { color: #73bfb3; font-size: .52rem; letter-spacing: .2em; }
.private-state { color: #8ca59c; }
.private-state i,.workspace-footer i { background: #40d29b; box-shadow: 0 0 10px rgba(64,210,155,.7); }
.profile-button { border-color: var(--line); background: rgba(10,35,29,.72); color: #eee9dc; }
.profile-button>span:first-child { background: linear-gradient(145deg,#d0ae63,#8a632c); color:#09130f; }
.profile-button small { color:#79a095; }

main { width: 100%; max-width: 1660px; flex: 1; margin: 0 auto; padding: 18px clamp(15px,2vw,28px) 28px; }
.workspace-footer { min-height: 35px; display: flex; justify-content: space-between; gap: 20px; padding: 9px 24px; border-top: 1px solid var(--line); color: #67837a; font-size: .52rem; letter-spacing: .12em; }
.workspace-footer i { display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; }

.technology-home { display: grid; gap: 14px; }
.technology-hero {
  position: relative;
  min-height: 292px;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0,1fr) 210px;
  align-items: end;
  padding: 35px clamp(24px,4vw,54px);
  border: 1px solid rgba(112,224,207,.27);
  border-radius: 10px;
  background:
    linear-gradient(90deg,rgba(2,13,11,.72) 0%,rgba(2,13,11,.34) 47%,rgba(2,13,11,.08)),
    linear-gradient(0deg,rgba(2,13,11,.58),transparent 62%),
    url('/technology-horizon-v1.png') center 44%/cover;
  box-shadow: var(--shadow);
}
.technology-hero:after { content:""; position:absolute; inset:0; pointer-events:none; box-shadow: inset 0 0 80px rgba(1,9,7,.62); }
.hero-copy { position: relative; z-index: 1; max-width: 690px; padding-bottom: 4px; }
.hero-copy h2 { margin: 7px 0 5px; color:#f5eedf; font: 500 clamp(2.7rem,5vw,5rem)/.92 Georgia,serif; letter-spacing:.035em; text-shadow:0 3px 25px #000; }
.hero-copy>p:last-child { margin: 13px 0 0; color:#d8d7cc; font-size:.78rem; letter-spacing:.3em; text-transform:uppercase; }
.hero-tree { display:none; }
.hero-tree span,.hero-tree:before,.hero-tree:after { content:""; position:absolute; left:50%; transform:translateX(-50%); background:linear-gradient(#f0d998,#57bfb0); }
.hero-tree span { bottom:17px; width:2px; height:50px; }
.hero-tree:before { top:24px; width:44px; height:1px; transform:translateX(-50%) rotate(-25deg); }
.hero-tree:after { top:36px; width:54px; height:1px; transform:translateX(-50%) rotate(23deg); }
.hero-verbs { position:relative; z-index:1; align-self:center; justify-self:end; display:grid; gap:10px; color:#dfc785; font:700 .7rem/1 Inter,sans-serif; letter-spacing:.28em; }

.space-grid { display:grid; grid-template-columns:1.18fr repeat(3,minmax(0,1fr)); gap:12px; }
.space-card { position:relative; min-height:420px; overflow:hidden; padding:24px 22px 20px; border:1px solid rgba(112,224,207,.27); border-radius:10px; background:linear-gradient(165deg,rgba(13,39,32,.96),rgba(4,20,16,.98)); box-shadow:0 17px 42px rgba(0,0,0,.22); }
.space-card:before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 50% -10%,rgba(200,164,90,.11),transparent 48%); }
.space-card.aster-card { border-color:rgba(112,224,207,.72); box-shadow:0 0 0 1px rgba(37,199,177,.2),0 18px 48px rgba(0,0,0,.3); }
.space-card h3 { position:relative; margin:8px 0 7px; font:500 clamp(1.75rem,2.4vw,2.5rem)/1 Georgia,serif; color:#f2e9d5; }
.space-card>p:not(.eyebrow) { position:relative; min-height:58px; margin:0; color:#b1c1bb; font-size:.74rem; line-height:1.55; }
.space-card button { position:relative; width:100%; min-height:43px; margin:17px 0 14px; display:flex; align-items:center; justify-content:space-between; padding:0 14px; border:1px solid rgba(211,181,110,.7); border-radius:7px; background:linear-gradient(180deg,rgba(151,108,45,.25),rgba(84,58,24,.24)); color:#f3ead4; font-size:.69rem; font-weight:800; cursor:pointer; }
.space-card button:hover { border-color:#e1c47f; background:rgba(200,164,90,.19); }
.space-card .primary-action { min-height:52px; border-color:#65ecd8; border-radius:28px; background:linear-gradient(90deg,#0b8070,#17b5a1); box-shadow:0 0 24px rgba(37,199,177,.25); color:#fff; font-size:.82rem; }
.space-card ul { position:relative; margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.space-card li { padding:9px 0 0 20px; color:#91a89f; font-size:.64rem; }
.space-card li:before { content:"◇"; position:absolute; left:0; color:#d2b46a; }
.space-symbol,.space-visual { position:relative; height:95px; display:grid; place-items:center; margin:-5px 0 9px; color:#d9bd78; font-size:3rem; text-shadow:0 0 22px rgba(211,181,110,.3); }
.aster-constellation { height:118px; color:#d8b866; }
.aster-constellation i { position:absolute; width:108px; height:108px; border:1px solid rgba(112,224,207,.52); border-radius:50%; box-shadow:0 0 36px rgba(37,199,177,.26),inset 0 0 30px rgba(37,199,177,.12); }
.aster-constellation i:before,.aster-constellation i:after { content:""; position:absolute; inset:15px; border:1px solid rgba(210,180,105,.44); transform:rotate(45deg); }
.aster-constellation i:after { inset:29px; border-color:rgba(112,224,207,.55); transform:rotate(0); }
.aster-constellation b { position:relative; font-size:2.2rem; }
.home-status { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.home-status article { min-height:72px; padding:15px 17px; border:1px solid var(--line); border-radius:8px; background:rgba(7,27,22,.86); }
.home-status small,.home-status strong { display:block; }
.home-status small { color:#65837a; font-size:.5rem; letter-spacing:.14em; }
.home-status strong { margin-top:7px; color:#d7d6c9; font-size:.68rem; }
.home-status .is-live { color:#58d7b7; }
.home-status .is-unknown { color:#d5ad64; }

.page-head,.panel,.agenda-card,.chat-room,.department-card,.vault-card,.login-card { border-color:var(--line); background:linear-gradient(150deg,rgba(10,32,26,.97),rgba(5,20,16,.98)); color:var(--ink); box-shadow:0 16px 48px rgba(0,0,0,.2); }
.page-head { border-left-color:var(--gold); }
.page-head h2,.panel-head h3,.department-card h3,.vault-card h3,.agenda-card h3,.chat-room h3 { color:#eee6d4; }
.page-head p,.department-card p,.meta,.activity-time { color:var(--muted); }
.date-state { border-color:var(--line); background:rgba(3,16,13,.7); color:#86a69c; }
.panel-head,.chat-header,.composer { border-color:var(--line); }
.panel-body,.messages,.build-messages { background:rgba(3,15,12,.55); }
.status { background:rgba(41,142,119,.15); color:#70d8c6; }
.department-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.department-card { border-radius:9px; }
.department-card:hover { border-color:rgba(112,224,207,.7); transform:translateY(-3px); }
.dept-icon { background:rgba(37,199,177,.1); color:#d7bd79; }
.drawer { background:#071914; color:var(--ink); }
.drawer-close { background:#102b23; color:#fff; }
.agent,.brief-card,.message,.vault-tools input,.composer textarea,.composer input,.composer select { border-color:var(--line); background:rgba(8,29,24,.92); color:var(--ink); }
.message.mine { background:rgba(24,94,78,.38); }
.attendee { background:rgba(37,199,177,.09); border:1px solid var(--line); }
.board-layout { grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr); }
.agenda-card { border-top:2px solid var(--gold); }
.chat-room { border-top:2px solid var(--teal); }
.meeting-state,.chat-note { background:rgba(200,164,90,.08); color:#d3bb84; }
.composer button { background:linear-gradient(135deg,#147a68,#0b5b4d); }
.vault-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.vault-card { border-top:2px solid rgba(200,164,90,.54); }
.human-record-card { display:flex; flex-direction:column; align-items:flex-start; min-height:245px; }
.human-record-card h3 { margin:.8rem 0 .25rem; line-height:1.35; }
.record-date { color:var(--muted); margin:.1rem 0 1.1rem; }
.open-pdf { display:inline-flex; align-items:center; justify-content:center; margin-top:auto; min-height:40px; padding:.65rem 1rem; border:1px solid rgba(112,224,207,.55); border-radius:7px; background:rgba(20,122,104,.28); color:#e8f7f2; font-weight:700; text-decoration:none; }
.open-pdf:hover,.open-pdf:focus-visible { border-color:#70e0cf; background:rgba(20,122,104,.5); }
.vault-audit { width:100%; margin-top:1rem; padding-top:.8rem; border-top:1px solid var(--line); color:var(--muted); }
.vault-audit summary { cursor:pointer; color:#d9cfb7; font-weight:650; }
.vault-audit dl { display:grid; gap:.55rem; margin:.8rem 0 0; }
.vault-audit dl div { display:grid; gap:.12rem; }
.vault-audit dt { color:#86a69c; font-size:.72rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.vault-audit dd { margin:0; overflow-wrap:anywhere; color:#d8ded9; font-size:.78rem; }
.vault-notice { margin:0 0 1rem; padding:.75rem 1rem; border:1px solid rgba(200,164,90,.4); border-radius:7px; background:rgba(200,164,90,.08); color:#d9cfb7; }
.aster-studio { margin-top:0; border-radius:10px; }
.chat-page { border-color:var(--line); background:#061511; }
.chat-sidebar { background:linear-gradient(180deg,#09261f,#041511); }
.build-header { background:#0a211b; color:var(--ink); }
.chat-tools button,.thread-item,.chat-search input { border-color:var(--line); background:rgba(18,61,50,.6)!important; color:#e9e6da; }
.build-message { border-color:var(--line); background:#0b251e; color:#e8e5da; }
.build-message.user { background:#153f34; }
.aster-composer { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; background:#081d18; }
.aster-composer>.composer-input { grid-column:1; grid-row:1; }
.aster-composer>button[type="submit"] { grid-column:2; grid-row:1; }
.aster-composer section[aria-label="Chat attachments"] { grid-column:1/-1; grid-row:2; border:1px solid var(--line); border-radius:7px; color:#9cb2aa!important; }
.aster-composer section[aria-label="Chat attachments"] button,
.aster-composer section[aria-label="Chat attachments"] select { border:1px solid rgba(112,224,207,.35); border-radius:5px; background:#103b31; color:#eef0e8; }
.aster-composer section[aria-label="Chat attachments"] p,
.aster-composer section[aria-label="Chat attachments"] label { color:#839d94; font-size:.6rem; line-height:1.45; }

.signed-out { display:block; }
.signed-out .site-rail,.signed-out .workspace-footer { display:none; }
.signed-out .shell-content { min-height:100vh; }
.signed-out .masthead { justify-content:center; }

@media (max-width: 1280px) {
  body { grid-template-columns:210px minmax(0,1fr); }
  .space-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .space-card { min-height:360px; }
}
@media (max-width: 900px) {
  body { display:block; }
  .site-rail { position:relative; width:100%; height:auto; padding:12px; }
  .rail-brand { display:flex; justify-content:center; border-bottom:0; padding:0 0 10px; }
  .rail-brand img { width:52px; height:52px; }
  .portal-nav { grid-template-columns:repeat(5,minmax(0,1fr)); margin:0; }
  .portal-nav:has(.portal-tab[data-space="aster"].active) { grid-template-columns:repeat(5,minmax(0,1fr)); margin:0; }
  .portal-tab { justify-content:center; padding:8px 5px; }
  .portal-tab small,.site-rail blockquote,.rail-principles { display:none; }
  .portal-tab .symbol { width:26px; height:26px; }
  .masthead { position:sticky; top:0; z-index:10; }
  .technology-hero { grid-template-columns:1fr; min-height:250px; }
  .hero-verbs { display:none; }
  .department-grid,.vault-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .rail-brand div { display:none; }
  .portal-nav { grid-template-columns:repeat(5,1fr); gap:2px; }
  .portal-nav:has(.portal-tab[data-space="aster"].active) { grid-template-columns:repeat(5,1fr); gap:2px; }
  .portal-tab { min-height:48px; display:grid; place-items:center; }
  .portal-tab>span:last-child { display:none; }
  .masthead { min-height:62px; padding:8px 13px; }
  .brand-lockup p:last-child,.private-state { display:none; }
  .technology-hero { min-height:220px; padding:24px 20px; }
  .hero-copy h2 { font-size:2.45rem; }
  .hero-copy>p:last-child { font-size:.58rem; letter-spacing:.18em; }
  .hero-tree { right:20px; top:18px; width:70px; height:70px; opacity:.75; }
  .space-grid,.home-status,.department-grid,.vault-grid { grid-template-columns:1fr; }
  .space-card { min-height:0; }
  .board-layout { grid-template-columns:1fr; }
  .workspace-footer { display:none; }
}
