:root {
  color-scheme:dark;
  --bg:#0b121b;
  --panel:#131e2b;
  --panel-raised:#172433;
  --line:#293749;
  --text:#edf3f6;
  --muted:#a0afbf;
  --subtle:#7f94a7;
  --accent:#aeedc3;
  --cyan:#91dbe9;
  --orange:#f1b685;
  --purple:#c4b1f7;
  --sprite:url('/sprites.png');
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:15px;
  color:var(--text);
  background:var(--bg);
  font-synthesis:none
}
* {
  box-sizing:border-box
}
body {
  margin:0
}
button,input,select,textarea {
  font:inherit
}
button,a,input,select,textarea {
  outline-offset:4px
}
button:focus-visible,a:focus-visible {
  outline:2px solid var(--accent)
}
button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:10px 15px;
  background:#1a2a3b;
  border:1px solid #34485c;
  border-radius:9px;
  color:var(--text);
  cursor:pointer;
  font-weight:550;
  transition:background .15s,border-color .15s
}
button:hover {
  background:#263b4f;
  border-color:#547084
}
button:disabled {
  cursor:not-allowed;
  opacity:.5
}
button.primary {
  color:#12291d;
  background:var(--accent);
  border-color:var(--accent);
  font-weight:650
}
button.primary:hover {
  background:#ccffde
}
button.ghost {
  color:var(--muted);
  background:transparent;
  border-color:transparent
}
button.ghost:hover {
  color:var(--text);
  background:#ffffff0b
}
button.small {
  font-size:12px;
  min-height:36px;
  padding:8px 11px
}
.icon-button {
  padding:9px;
  min-width:42px;
  flex-shrink:0
}
.text-button {
  border:0;
  background:transparent;
  min-height:32px;
  padding:3px 0;
  color:var(--cyan);
  font-size:13px;
  justify-content:flex-start;
  text-align:left
}
.text-button:hover {
  background:transparent;
  color:#c6f6ff
}
.icon {
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0;
  vertical-align:middle
}
a {
  color:var(--cyan);
  text-decoration:none;
  overflow-wrap:anywhere
}
a:hover {
  text-decoration:underline
}
input,textarea,select {
  width:100%;
  padding:12px 13px;
  background:#0d1722;
  border:1px solid #3a4c60;
  color:var(--text);
  border-radius:9px;
  min-height:44px
}
textarea {
  resize:vertical;
  min-height:115px;
  line-height:1.55
}
input:focus,textarea:focus,select:focus {
  outline:2px solid var(--cyan);
  outline-offset:1px
}
input::placeholder,textarea::placeholder {
  color:#8194a6
}
label {
  display:block;
  margin:16px 0 7px;
  font-size:13px;
  font-weight:550;
  color:#d4e0e8
}
h1,h2,h3,p {
  margin:0
}
h1 {
  font-size:32px;
  line-height:1.22;
  letter-spacing:-1.1px;
  font-weight:640
}
h2 {
  font-size:19px;
  letter-spacing:-.3px;
  font-weight:600
}
h3 {
  font-size:16px;
  font-weight:600;
  line-height:1.45
}
p {
  line-height:1.6;
  overflow-wrap:anywhere
}
small,.meta {
  font-size:12px;
  color:var(--muted);
  line-height:1.55
}
.muted {
  color:var(--muted)
}
.accent {
  color:var(--accent)
}
.warm {
  color:var(--orange)!important
}
.flex {
  display:flex;
  align-items:center;
  gap:10px
}
.between {
  justify-content:space-between
}
.wrap {
  flex-wrap:wrap
}
.push-right {
  margin-left:auto
}
.full {
  grid-column:1/-1
}
.eyebrow {
  font-size:10px;
  line-height:1.5;
  letter-spacing:1.9px;
  text-transform:uppercase;
  font-weight:650;
  color:var(--muted)
}
.eyebrow.accent {
  color:var(--accent)
}
.badge,.quiet-badge {
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 9px;
  font-size:10px;
  line-height:1.35;
  font-weight:600;
  white-space:normal;
  border-radius:6px;
  background:#253445;
  color:#c5d3dd
}
.quiet-badge {
  border:1px solid #314155;
  background:transparent;
  color:#a8bac9
}
.status-active,.status-completed,.status-verified,.status-reading,.status-writing {
  color:var(--accent);
  background:#243d33
}
.status-verify,.status-approval_required,.status-blocked,.status-waiting_input,.status-permission,.status-cancellation_unknown {
  color:#f1be97;
  background:#49362b
}
.status-paused,.status-unknown,.status-disconnected,.status-archived {
  color:#b8c0cc;
  background:#303a48
}
.status-running,.status-executing,.status-verifying,.status-tool {
  color:#afeaf4;
  background:#23404b
}
.status-failed {
  color:#ffc0b2;
  background:#4a2e31
}
.status-draft,.status-prepared,.status-exploring {
  color:#cbbbf3;
  background:#332f48
}
.layout {
  display:grid;
  grid-template-columns:210px minmax(0,1fr) 305px;
  min-height:100vh
}
.sidebar {
  position:sticky;
  top:0;
  height:100vh;
  background:#0e1721;
  border-right:1px solid var(--line);
  display:flex;
  flex-direction:column;
  padding:30px 15px 18px
}
.brand {
  display:flex;
  align-items:center;
  gap:11px;
  color:var(--text);
  font-size:22px;
  font-weight:750;
  letter-spacing:-.7px;
  text-decoration:none;
  margin:0 10px 40px
}
.brand:hover {
  text-decoration:none
}
.brand small {
  display:block;
  font-size:8px;
  letter-spacing:2.1px;
  font-weight:600;
  color:#94a8b9;
  margin-top:4px
}
.brand-mark {
  color:var(--accent);
  font-size:34px;
  font-weight:850;
  letter-spacing:-7px;
  padding-right:7px;
  line-height:1.1;
  transform:skew(-12deg)
}
.nav-caption {
  font-size:9px;
  font-weight:650;
  letter-spacing:1.7px;
  color:#72899b;
  margin:0 14px 15px
}
.sidebar nav {
  display:grid;
  gap:5px
}
.sidebar nav button {
  border:0;
  background:transparent;
  justify-content:flex-start;
  color:#a6b5c4;
  font-size:13px;
  padding:12px 14px;
  border-radius:8px
}
.sidebar nav button .icon {
  height:17px;
  width:17px;
  margin-right:3px
}
.sidebar nav button:hover {
  background:#1a2938;
  color:var(--text)
}
.sidebar nav button.on {
  color:var(--accent);
  background:#20362e
}
.count {
  font-size:10px;
  background:#2c4151;
  border-radius:4px;
  padding:2px 5px;
  margin-left:auto
}
.count:empty {
  display:none
}
.sidebar-bottom {
  margin-top:auto
}
.profile {
  display:flex;
  align-items:center;
  gap:9px;
  border-top:1px solid var(--line);
  padding-top:19px;
  margin:20px 4px 0;
  font-size:12px
}
.profile small {
  display:block;
  font-size:10px
}
.profile .icon-button {
  margin-left:auto;
  min-width:29px;
  padding:5px
}
.avatar {
  background:#334a3e;
  border:1px solid #536858;
  color:#d4f5df;
  border-radius:50%;
  width:33px;
  height:33px;
  display:grid;
  place-items:center;
  font-size:11px
}
.focus-rail {
  border:1px solid #365347;
  background:#142720;
  border-radius:10px;
  padding:13px;
  margin:28px 2px 20px;
  display:grid;
  gap:9px
}
.focus-rail .eyebrow {
  color:var(--accent);
  display:flex;
  align-items:center;
  gap:5px
}
.focus-rail .eyebrow .icon {
  height:12px;
  width:12px
}
.focus-rail>.text-button {
  font-size:13px;
  color:#def5e7
}
.focus-rail>small {
  font-size:10px
}
.focus-rail>.small {
  justify-content:flex-start;
  padding:2px 0;
  min-height:25px;
  font-size:10px
}
.main {
  padding:0 30px 24px;
  min-width:0
}
.main:focus {
  outline:none
}
.topbar {
  height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid #253341;
  margin-bottom:31px
}
.breadcrumb {
  font-size:11px;
  color:#8297a9;
  white-space:nowrap
}
.breadcrumb span {
  margin:0 10px;
  color:#4c6277
}
.breadcrumb strong {
  font-weight:500;
  color:#b7c8d6
}
.topbar form {
  display:flex;
  align-items:center;
  gap:8px;
  color:#8da1b3;
  max-width:255px;
  width:100%;
  background:#111d29;
  border:1px solid #2a3b4d;
  border-radius:8px;
  padding:0 11px
}
.topbar form .icon {
  width:15px;
  height:15px
}
.topbar form input {
  background:none;
  border:0;
  padding:9px 1px;
  min-height:35px;
  font-size:11px
}
.topbar kbd {
  font:10px inherit;
  border:1px solid #324557;
  padding:1px 5px;
  border-radius:4px;
  color:#879bad
}
.page-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:26px
}
.page-head .eyebrow {
  margin-bottom:8px;
  font-size:9px
}
.page-head p {
  color:var(--muted);
  font-size:13px;
  margin-top:10px
}
.page-head>.primary {
  font-size:12px;
  white-space:nowrap;
  min-height:40px
}
.section-title {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin:30px 0 16px
}
.section-title h2 {
  font-size:18px
}
.main-footer {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  margin-top:38px;
  padding-top:20px;
  border-top:1px solid var(--line);
  color:#7a91a2;
  font-size:8px;
  letter-spacing:1.4px
}
.main-footer .text-button {
  color:#8297a9;
  font-size:9px;
  letter-spacing:0
}
.main-footer .icon {
  height:12px;
  width:12px
}
.continuity-grid {
  display:grid;
  grid-template-columns:1.35fr 1fr;
  gap:18px
}
.resume-card {
  border:1px solid #36524d;
  border-radius:14px;
  padding:25px;
  background:radial-gradient(ellipse at 0 0,#213e38a0,transparent 65%),linear-gradient(110deg,#172b29,#16232d);
  position:relative;
  overflow:hidden
}
.resume-card:after {
  content:"";
  width:180px;
  height:180px;
  border:1px solid #a5f3c10a;
  border-radius:50%;
  position:absolute;
  top:30px;
  right:-110px;
  box-shadow:0 0 0 35px #a5f3c103,0 0 0 70px #a5f3c102;
  pointer-events:none
}
.resume-card h2 {
  font-size:25px;
  margin:23px 0 10px;
  letter-spacing:-.5px
}
.resume-card>p {
  color:#afc5c5;
  font-size:13px;
  max-width:530px
}
.resume-card>.flex .quiet-badge {
  font-size:8px;
  color:#a8c7b7;
  border-color:#3b584e
}
.resume-next {
  margin:22px 0 22px;
  border-left:2px solid var(--accent);
  padding:1px 0 2px 13px;
  display:grid;
  gap:7px
}
.next-label {
  font-size:8px;
  letter-spacing:1.4px;
  color:#92bda9
}
.resume-next strong {
  font-size:13px;
  line-height:1.6;
  font-weight:550
}
.resume-card>.flex.wrap button {
  font-size:11px;
  min-height:38px
}
.resume-card>small {
  display:block;
  font-size:9px;
  margin-top:17px;
  color:#8ba79d
}
.since-card {
  padding:25px;
  background:#151f2c;
  border:1px solid #2a3a4c;
  border-radius:14px
}
.since-card>.eyebrow {
  font-size:9px;
  color:#a6adc4
}
.since-card h2 {
  margin:12px 0 6px;
  font-size:18px
}
.since-card>.meta {
  font-size:10px
}
.since-count {
  font-size:33px;
  display:flex;
  align-items:center;
  gap:13px;
  font-weight:500;
  color:#c7d9e6;
  margin:22px 0 17px
}
.since-count span {
  font-size:11px;
  font-weight:400;
  color:#9fb3c2;
  max-width:100px;
  line-height:1.55
}
.since-item {
  display:flex;
  align-items:flex-start;
  gap:10px;
  border-top:1px solid #2d3a4a;
  padding:12px 0
}
.since-item>.icon {
  color:var(--accent);
  width:13px;
  height:13px;
  margin-top:3px
}
.since-item strong {
  font-size:11px;
  font-weight:500;
  display:block;
  line-height:1.5
}
.since-item small {
  font-size:9px;
  display:block;
  margin-top:5px
}
.since-card>p:not(.meta) {
  font-size:12px;
  color:var(--muted)
}
.since-card>.text-button {
  font-size:10px;
  margin-top:10px
}
.since-card>.text-button .icon {
  width:14px;
  height:14px
}
.stats {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin:24px 0 30px;
  padding:18px 0;
  border:1px solid var(--line);
  border-radius:11px;
  background:#111c28
}
.stats>div {
  padding:0 19px;
  border-right:1px solid #2c3a4a;
  display:grid;
  gap:6px
}
.stats>div:last-child {
  border:0
}
.stats span {
  font-size:10px;
  color:#9bb0c0;
  line-height:1.5
}
.stats strong {
  font-size:27px;
  font-weight:550;
  line-height:1.2;
  letter-spacing:-.7px
}
.stats small {
  font-size:8px;
  color:#8097a9
}
.project-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px
}
.project-card {
  --project-color:var(--cyan);
  padding:19px 18px 0;
  background:#14202d;
  border:1px solid #2a3b4c;
  border-radius:12px;
  overflow:hidden;
  min-width:0;
  display:flex;
  flex-direction:column
}
.color-orange {
  --project-color:var(--orange)
}
.color-violet {
  --project-color:var(--purple)
}
.color-green {
  --project-color:var(--accent)
}
.project-mark {
  border:1px solid color-mix(in srgb,var(--project-color),transparent 70%);
  background:color-mix(in srgb,var(--project-color),transparent 90%);
  color:var(--project-color);
  width:33px;
  height:33px;
  display:grid;
  place-items:center;
  border-radius:9px;
  font-size:12px;
  font-weight:650
}
.project-title {
  border:0;
  background:none;
  padding:0;
  margin:15px 0 4px;
  min-height:30px;
  justify-content:space-between;
  text-align:left;
  gap:8px
}
.project-title:hover {
  background:none;
  color:var(--project-color)
}
.project-title h3 {
  font-size:16px;
  letter-spacing:-.2px
}
.project-title .icon {
  height:14px;
  width:14px;
  color:#7f99ac
}
.project-card>.meta {
  font-size:9px;
  color:#91a7b9
}
.project-summary {
  font-size:11px;
  line-height:1.7;
  color:#b2c2ce;
  margin:14px 0 17px;
  flex:1
}
.next-action {
  padding-top:13px;
  border-top:1px solid #2a3b4d
}
.next-action>span {
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:1.2px;
  color:#8ba7b7;
  display:block;
  margin-bottom:7px
}
.next-action>p {
  font-size:11px;
  line-height:1.7;
  color:#d6e4ed
}
.project-foot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:10px;
  color:#87a2b4;
  font-size:9px
}
.project-foot .icon-button {
  min-width:30px;
  min-height:33px;
  padding:7px
}
.project-foot .icon {
  width:13px;
  height:13px
}
.pinned {
  color:var(--accent)!important
}
.provenance {
  display:flex;
  align-items:flex-start;
  gap:6px;
  border-top:1px solid #2b3a4b;
  color:#829aac;
  font-size:8px;
  line-height:1.8;
  padding:11px 18px
}
.project-card>.provenance {
  margin:8px -18px 0;
  background:#101b27
}
.provenance .icon {
  width:10px;
  height:10px;
  flex-shrink:0;
  margin-top:3px
}
.provenance a {
  color:#a6c9d6
}
.two-columns,.detail-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:25px
}
.detail-grid {
  margin-top:0
}
.panel {
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel);
  min-width:0;
  overflow:hidden
}
.panel-head {
  padding:18px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid #233546
}
.panel-head h2 {
  font-size:15px
}
.panel-head>.icon {
  color:#92b9ad;
  height:17px;
  width:17px
}
.panel-body {
  padding:20px
}
.panel-body>p {
  font-size:12px;
  color:#b1c3d0;
  margin-bottom:16px
}
.panel-body>.flex {
  margin-top:16px
}
.panel-body>small {
  display:block;
  margin-top:15px
}
.panel-body p.meta {
  font-size:10px;
  margin-top:18px;
  margin-bottom:0
}
.panel-body .notice {
  margin:15px 0
}
.attention-list {
  padding-top:4px;
  padding-bottom:4px
}
.attention-list>article {
  padding:14px 0;
  border-bottom:1px solid #2a3949
}
.attention-list>article:last-child {
  border:0
}
.attention-list h3 {
  font-size:12px
}
.attention-list p {
  font-size:11px;
  color:#b3bdca;
  margin-top:5px
}
.attention-list .icon {
  width:14px;
  height:14px
}
.attention-list .icon-button {
  min-height:26px;
  padding:5px
}
.attention-list p .badge {
  font-size:8px;
  padding:3px 5px
}
.empty {
  padding:27px 18px;
  display:grid;
  gap:10px;
  justify-items:center;
  text-align:center;
  grid-column:1/-1;
  align-content:center;
  min-width:0
}
.empty h3 {
  font-size:14px;
  color:#c9d7e3
}
.empty p {
  font-size:11px;
  color:#91a8ba;
  max-width:430px
}
.empty-icon {
  display:grid;
  place-items:center;
  background:#263a42;
  border:1px solid #39535e;
  border-radius:11px;
  color:var(--accent);
  height:34px;
  width:34px;
  margin-bottom:2px
}
.empty-icon .icon {
  height:17px;
  width:17px
}
.empty button {
  margin-top:8px
}
.empty .primary {
  font-size:11px
}
.attention-list .empty {
  padding:24px 5px
}
.attention-list .empty-icon {
  display:none
}
#quick-idea {
  margin:20px 0 12px
}
#quick-idea input {
  font-size:12px;
  background:#0c1722;
  padding:12px;
  min-height:45px
}
#quick-idea .flex {
  margin-top:13px
}
#quick-idea .meta {
  font-size:9px
}
.toolbar {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  margin:0 0 22px
}
.toolbar .filter {
  font-size:11px;
  padding:8px 12px;
  min-height:36px;
  background:transparent;
  border-color:transparent;
  color:var(--muted)
}
.toolbar .filter.selected {
  color:var(--accent);
  background:#233b31;
  border-color:#365347
}
.filter-field {
  min-width:190px
}
.filter-field label {
  font-size:10px;
  margin:0 0 6px
}
.filter-field select {
  font-size:12px;
  min-height:41px;
  padding:10px
}
.toolbar>.meta {
  font-size:10px
}
.back {
  margin-bottom:16px;
  font-size:11px
}
.back .icon {
  height:14px;
  width:14px
}
.links {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:16px 0
}
.links a {
  padding:7px 10px;
  border:1px solid #344c5d;
  border-radius:7px;
  color:#b4dce7;
  font-size:11px;
  line-height:1.4
}
.notice {
  background:#1b302e;
  border:1px solid #365247;
  padding:13px;
  border-radius:8px;
  font-size:12px;
  line-height:1.7;
  color:#b5dbc7
}
.notice>strong {
  font-size:10px;
  color:var(--accent)
}
.notice>p {
  font-size:12px;
  margin-top:5px
}
.notice.warning {
  background:#342b26;
  border-color:#5a4537;
  color:#e4bea0;
  font-size:11px
}
.mission-list,.session-list {
  display:grid;
  gap:15px
}
.mission-card {
  border:1px solid var(--line);
  border-radius:12px;
  padding:20px;
  background:#14212e
}
.mission-card h3 {
  margin:13px 0 8px
}
.title-button {
  font-size:17px;
  font-weight:600;
  color:var(--text);
  line-height:1.5
}
.mission-card>p {
  font-size:12px;
  color:#afc1d0;
  white-space:pre-wrap
}
.mission-meta {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:14px;
  font-size:10px;
  color:#839fb1
}
.mission-meta span+span:before {
  content:'·';
  margin-right:12px;
  color:#526f80
}
.mission-actions {
  margin-top:20px;
  padding-top:15px;
  border-top:1px solid #2c3d4d
}
.mission-actions .small {
  font-size:10px
}
.selection-note {
  background:#101c27;
  border:1px solid #2b414f;
  padding:12px;
  border-radius:8px;
  margin-top:15px;
  font-size:11px
}
.selection-note>p {
  margin:8px 0;
  color:#a8c0cf
}
.selection-note>small {
  font-size:10px
}
.mission-flow {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  padding:16px;
  border:1px solid #2b3f4e;
  border-radius:10px;
  background:#111d28;
  color:#a5bace;
  font-size:10px;
  margin-bottom:22px
}
.mission-flow .icon {
  height:13px;
  width:13px;
  color:#61899a
}
.notes-grid,.ideas-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px
}
.note-card,.idea-card {
  border:1px solid #354151;
  background:#19232f;
  border-radius:11px;
  padding:18px
}
.note-card h3,.idea-card h3 {
  margin:12px 0 10px;
  font-size:16px
}
.note-card>p,.idea-card>p {
  font-size:12px;
  color:#bbcad5;
  white-space:pre-wrap
}
.note-card>small,.idea-card>small {
  display:block;
  font-size:9px;
  margin-top:17px
}
.note-card>.next-action {
  margin-top:18px
}
.idea-card {
  background:linear-gradient(130deg,#242737,#182433);
  border-color:#3d425b
}
.idea-card .eyebrow {
  color:var(--purple)
}
.idea-actions {
  margin-top:17px;
  border-top:1px solid #3b4154;
  padding-top:15px
}
.idea-actions .small {
  font-size:10px
}
.activity-list {
  padding:4px 20px
}
.event {
  display:grid;
  grid-template-columns:11px minmax(0,1fr);
  gap:13px;
  padding:19px 0;
  border-bottom:1px solid #2b3d4d;
  position:relative
}
.event:last-child {
  border:0
}
.event-dot {
  height:7px;
  width:7px;
  border-radius:50%;
  background:#8ebcaf;
  margin-top:6px;
  box-shadow:0 0 0 4px #9ed4b913
}
.event-dot.finding {
  background:var(--purple)
}
.event-dot.decision {
  background:var(--orange)
}
.event h3 {
  font-size:12px;
  font-weight:600
}
.event time {
  color:#8ba0b4;
  font-size:9px;
  white-space:nowrap
}
.event p {
  font-size:11px;
  color:#a6b9c8;
  margin-top:8px;
  white-space:pre-wrap
}
.event-meta {
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:8px;
  font-size:9px;
  color:#95abba
}
.event-meta .text-button {
  font-size:9px;
  min-height:20px;
  padding:0
}
.event .links a {
  font-size:9px
}
.office-panel>.panel-head h2 {
  font-size:12px;
  letter-spacing:1.3px
}
.office-panel>.panel-head .small {
  font-size:10px;
  min-height:30px;
  padding:6px 9px
}
.office {
  position:relative;
  min-height:270px;
  margin:16px;
  border-radius:9px;
  background:linear-gradient(#20313d 0,#1a2b36 30%,#152b32 31%,#1b343c 100%);
  overflow:hidden;
  border:1px solid #3c5260
}
.office:after {
  content:'';
  position:absolute;
  inset:42% 0 0;
  background-image:linear-gradient(#7398a21b 1px,transparent 1px),linear-gradient(90deg,#7398a21b 1px,transparent 1px);
  background-size:38px 38px;
  transform:perspective(300px) rotateX(18deg) scale(1.3);
  pointer-events:none
}
.office-zones {
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:#93b4c0;
  font-size:7px;
  letter-spacing:1.6px;
  padding:14px 18px
}
.office-zones span {
  background:#142632a0;
  border:1px solid #42616d;
  border-radius:3px;
  padding:5px 9px
}
.office-window {
  display:flex;
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  top:51px;
  gap:6px
}
.office-window span {
  height:55px;
  width:48px;
  background:linear-gradient(#477484,#385d69);
  border:3px solid #496471;
  box-shadow:inset 0 0 0 1px #84bec447
}
.office-window span:after {
  content:'';
  height:100%;
  width:2px;
  background:#62828c;
  display:block;
  margin:auto
}
.office-plants {
  position:absolute;
  left:30px;
  top:60px;
  font-size:43px;
  line-height:1;
  color:#78a987;
  text-shadow:2px 2px #102927
}
.office-plants:after {
  content:'';
  width:15px;
  height:14px;
  background:#a47755;
  display:block;
  margin:0 auto;
  transform:translateY(-4px);
  border-bottom:4px solid #654a38
}
.agents-row {
  position:relative;
  z-index:2;
  min-height:192px;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:5px;
  align-items:end;
  padding:60px 14px 24px
}
.agent-tile {
  border:1px solid transparent;
  background:transparent;
  padding:2px 3px 10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
  min-width:0;
  border-radius:12px
}
.agent-tile:hover {
  background:#ffffff09;
  border-color:#668b867a
}
.agent-tile>strong {
  font-size:10px;
  font-weight:550;
  text-shadow:0 2px 3px #000
}
.agent-tile>small {
  font-size:8px;
  margin-top:4px;
  color:#a4bfcc;
  max-width:100%;
  overflow-wrap:anywhere;
  text-align:center
}
.sprite {
  background-image:var(--sprite);
  background-size:300% 200%;
  background-repeat:no-repeat;
  width:100px;
  height:100px;
  max-width:100%;
  flex-shrink:0;
  display:block;
  image-rendering:pixelated;
  background-position:var(--pos,0% 0%);
  filter:drop-shadow(0 6px 5px #0004)
}
.s0 {
  --pos:0% 0%
}
.s1 {
  --pos:50% 0%
}
.s2 {
  --pos:100% 0%
}
.s3 {
  --pos:0% 100%
}
.s4 {
  --pos:50% 100%
}
.s5 {
  --pos:100% 100%
}
.office-empty {
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  position:relative;
  min-height:125px;
  padding-top:15px
}
.office-empty .sprite {
  width:120px;
  height:120px
}
.office-empty h3 {
  font-size:13px
}
.office-empty p {
  font-size:10px;
  color:#a5c1cb;
  margin:8px 0 12px
}
.office-empty button {
  font-size:9px;
  min-height:31px
}
.office-empty .icon {
  height:12px;
  width:12px
}
.office-floor {
  position:absolute;
  bottom:10px;
  left:16%;
  right:16%;
  height:55px;
  border:1px solid #54747449;
  border-radius:50%;
  background:#20433e40
}
.office-foot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  color:#829cab;
  font-size:8px;
  line-height:1.7;
  padding:0 20px 15px
}
.office-foot span:first-child {
  max-width:78%
}
.demo-label {
  border-color:#806446;
  color:#e6bf99;
  background:#433527
}
.demo-on .agent-tile:nth-child(2n) .sprite {
  animation:work 2s ease-in-out infinite
}
.demo-on .agent-tile:nth-child(2n+1) .sprite {
  animation:walk 4s ease-in-out infinite
}
.signal-reading .sprite,.signal-writing .sprite,.signal-tool .sprite {
  animation:signal .7s ease-out 1
}
.session-card {
  display:grid;
  grid-template-columns:75px minmax(0,1fr);
  gap:16px;
  padding:18px;
  background:#13202c;
  border:1px solid #2c3f50;
  border-radius:10px
}
.session-card .sprite {
  width:75px;
  height:75px
}
.session-card h3 {
  font-size:14px
}
.session-card p {
  font-size:11px;
  color:#a5bdcc;
  margin:7px 0
}
.session-card small {
  font-size:9px
}
.session-card .text-button {
  font-size:10px
}
.session-heading {
  display:flex;
  align-items:center;
  gap:20px
}
.session-heading .sprite {
  width:110px;
  height:110px
}
.jarwan {
  position:sticky;
  top:0;
  height:100vh;
  display:flex;
  flex-direction:column;
  min-width:0;
  background:#0f1b26;
  border-left:1px solid var(--line);
  padding:27px 20px 18px;
  overflow-y:auto
}
.jarwan-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px
}
.jarwan-head h2 {
  display:flex;
  gap:9px;
  align-items:center;
  font-size:17px
}
.jarwan-head h2 .icon {
  color:var(--accent);
  width:19px;
  height:19px
}
.jarwan-head .quiet-badge {
  font-size:8px;
  padding:4px 6px;
  background:#233a31;
  border-color:#365343;
  color:#aacfb9;
  white-space:nowrap
}
.jarwan-intro {
  text-align:center;
  border-bottom:1px solid #2a3c4a;
  padding:17px 0 20px
}
.jarwan-intro .sprite {
  width:135px;
  height:135px;
  margin:auto
}
.jarwan-intro h3 {
  font-size:17px;
  letter-spacing:-.4px;
  margin:2px 0 8px
}
.jarwan-intro p {
  font-size:11px;
  color:#9ab0c1
}
.jarwan-context {
  margin:0 0 12px
}
.jarwan-context label {
  color:#86a1b3;
  font-size:9px;
  letter-spacing:.5px;
  margin:16px 0 7px
}
.jarwan-context select {
  min-height:36px;
  padding:8px 9px;
  font-size:10px;
  background:#162635;
  border-color:#2b4353
}
.chat-messages {
  min-height:100px;
  max-height:calc(100vh - 550px);
  overflow-y:auto;
  margin:6px 0 16px;
  display:grid;
  gap:11px;
  scrollbar-width:thin;
  flex:1
}
.chat-message {
  font-size:11px;
  border:1px solid #2f4454;
  background:#172838;
  border-radius:9px;
  padding:11px
}
.chat-message.user {
  background:#223830;
  border-color:#345343
}
.chat-message small {
  display:block;
  font-size:8px;
  color:#89b6a1;
  margin-bottom:6px
}
.chat-message.assistant small {
  color:#9bbacc
}
.chat-message p {
  white-space:pre-wrap;
  font-size:11px;
  line-height:1.65;
  color:#c4d4df
}
.chat-message button {
  font-size:9px;
  margin-top:12px
}
.jarwan-compose {
  margin-top:auto
}
.jarwan-compose form {
  border:1px solid #3c5667;
  background:#182b3a;
  border-radius:11px;
  padding:12px
}
.jarwan-compose label {
  font-size:10px;
  margin:0 0 11px;
  color:#c4ddda
}
.jarwan-compose textarea {
  border:0;
  background:transparent;
  padding:0;
  min-height:70px;
  font-size:11px;
  resize:vertical
}
.jarwan-compose textarea:focus {
  outline-offset:4px
}
.jarwan-compose .flex {
  margin-top:8px
}
.jarwan-compose .primary {
  font-size:10px;
  min-height:32px;
  padding:6px 10px
}
.jarwan-compose .icon-button {
  padding:7px;
  min-width:30px;
  min-height:30px
}
.jarwan-compose .icon {
  height:15px;
  width:15px
}
.jarwan-compose>.meta {
  font-size:8px;
  line-height:1.7;
  text-align:center;
  color:#88a3b5;
  margin:11px 5px 0
}
#voice-controls {
  margin-top:15px;
  border-top:1px solid #385063;
  padding-top:16px
}
.voice-heading {
  display:flex;
  gap:9px;
  align-items:center;
  flex-wrap:wrap
}
.voice-heading h3 {
  font-size:12px
}
.voice-heading h3 .icon {
  height:13px;
  width:13px
}
#voice-controls p {
  font-size:10px;
  color:#b4c8d6;
  margin:11px 0
}
#voice-controls .badge {
  font-size:8px
}
#voice-controls>small {
  display:block;
  font-size:8px;
  margin:10px 0
}
#voice-controls .small {
  font-size:9px;
  min-height:35px
}
.microphone-on {
  color:#ffc6b0;
  background:#613d36
}
.connection-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:17px
}
.connection-card {
  border:1px solid #314254;
  border-radius:12px;
  padding:21px;
  background:#14202e;
  min-width:0
}
.connection-icon {
  height:36px;
  width:36px;
  background:#243c46;
  border:1px solid #355b65;
  border-radius:9px;
  display:grid;
  place-items:center;
  color:var(--cyan)
}
.connection-card h2 {
  font-size:17px;
  margin:18px 0 10px
}
.connection-card p {
  font-size:12px;
  color:#aec0d0;
  line-height:1.7
}
.connection-card>small {
  display:block;
  font-size:9px;
  margin-top:12px
}
.connection-card>.small {
  margin-top:14px;
  font-size:10px
}
.capabilities {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:15px 0
}
.capabilities span {
  background:#1d3440;
  border-radius:5px;
  padding:5px 7px;
  color:#abccd5;
  font-size:9px
}
.device-capabilities {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
  font-size:11px;
  color:#acc7c7;
  margin:2px 0 20px
}
details {
  margin-top:15px;
  border:1px solid #34485b;
  border-radius:8px;
  background:#101d29;
  padding:12px;
  font-size:11px
}
summary {
  cursor:pointer;
  color:#abc9d7;
  line-height:1.6
}
pre {
  max-height:360px;
  overflow:auto;
  white-space:pre-wrap;
  word-break:break-word;
  font-size:11px;
  line-height:1.7;
  color:#bad0db;
  background:#0a1520;
  border-radius:7px;
  padding:13px
}
details pre {
  margin-bottom:0;
  font-size:9px
}
.record-details {
  display:grid;
  grid-template-columns:130px minmax(0,1fr);
  gap:10px;
  font-size:11px;
  line-height:1.6
}
.record-details dt {
  color:#90aabd
}
.record-details dd {
  margin:0;
  overflow-wrap:anywhere
}
.connection-banner {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  background:#413027;
  border:1px solid #815e44;
  color:#f1d0b5;
  padding:15px;
  border-radius:10px;
  margin-bottom:20px;
  font-size:12px
}
.connection-banner span {
  font-size:10px;
  flex:1;
  min-width:180px
}
dialog {
  background:#142230;
  border:1px solid #426174;
  border-radius:16px;
  color:var(--text);
  width:min(620px,calc(100vw - 28px));
  max-height:88vh;
  padding:27px;
  box-shadow:0 35px 100px #0008
}
dialog::backdrop {
  background:#040b12d4;
  backdrop-filter:blur(4px)
}
dialog h2 {
  font-size:23px;
  letter-spacing:-.7px;
  margin:3px 40px 15px 0
}
dialog>p {
  color:#acc1cf;
  font-size:12px;
  margin:13px 0
}
dialog p.meta {
  font-size:10px
}
dialog .close {
  position:absolute;
  right:17px;
  top:17px;
  min-width:30px;
  min-height:30px;
  padding:5px
}
dialog label {
  margin-top:17px
}
dialog input,dialog textarea,dialog select {
  font-size:13px
}
dialog .actions {
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:26px
}
dialog .actions button {
  font-size:12px
}
.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px
}
.form-row>label {
  grid-row:1
}
.form-row>select {
  grid-row:2
}
.conflict-box {
  background:#302a24;
  border:1px solid #7e6344;
  padding:15px;
  margin-top:20px;
  border-radius:8px
}
.conflict-box h3 {
  font-size:13px
}
.conflict-box p {
  font-size:11px;
  color:#d7c2a8;
  line-height:1.8;
  margin:10px 0
}
#form-error:not(:empty),#auth-error:not(:empty) {
  color:#ffbeaf;
  background:#442b29;
  border:1px solid #81504a;
  border-radius:8px;
  padding:12px;
  margin-top:17px;
  font-size:12px;
  line-height:1.7
}
#toast {
  position:fixed;
  bottom:24px;
  left:50%;
  transform:translateX(-50%) translateY(20px);
  z-index:50;
  max-width:min(600px,90vw);
  padding:14px 19px;
  background:#254734;
  color:#e5ffef;
  border:1px solid #699278;
  border-radius:11px;
  font-size:12px;
  line-height:1.6;
  box-shadow:0 10px 35px #0007;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s,transform .18s
}
#toast.visible {
  opacity:1;
  transform:translateX(-50%)
}
#toast.error {
  background:#482e2b;
  border-color:#a56b5f;
  color:#ffe0d5
}
.startup {
  min-height:100vh;
  padding:40px 25px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:25px;
  text-align:center;
  background:radial-gradient(ellipse at 50% 25%,#1a35304d,transparent 60%)
}
.startup h1 {
  font-size:31px
}
.startup p {
  color:#a5bdcc;
  font-size:14px;
  max-width:570px
}
.startup .brand-mark {
  font-size:60px;
  margin-bottom:16px
}
.loading-bar {
  width:100px;
  height:3px;
  background:#284437;
  position:relative;
  overflow:hidden;
  border-radius:5px
}
.loading-bar:after {
  content:'';
  position:absolute;
  inset:0;
  background:var(--accent);
  animation:loading 1.5s ease-in-out infinite
}
.auth-page {
  min-height:100vh;
  padding:35px 8vw;
  display:flex;
  align-items:center;
  flex-direction:column;
  background:radial-gradient(ellipse at 50% 30%,#1d3e3940,transparent 60%)
}
.auth-page>.brand {
  align-self:flex-start;
  margin-bottom:25px
}
.auth-card {
  max-width:450px;
  width:100%;
  padding:20px 30px 30px;
  border:1px solid #345144;
  border-radius:18px;
  background:linear-gradient(140deg,#182e2c,#152432);
  box-shadow:0 20px 90px #0003
}
.auth-card>.sprite {
  height:110px;
  width:110px;
  margin:0 auto 15px
}
.auth-card h1 {
  font-size:28px;
  margin-top:11px;
  line-height:1.3
}
.auth-card>p {
  font-size:12px;
  color:#b3c7ce;
  margin-top:15px
}
.auth-card .eyebrow {
  font-size:9px;
  color:#a8d2b8
}
.auth-card input {
  font-size:14px
}
.auth-card form>.primary {
  width:100%;
  margin-top:22px
}
.auth-card>small {
  display:block;
  font-size:10px;
  margin-top:23px;
  color:#9db4ba;
  line-height:1.7
}
.auth-page footer {
  font-size:10px;
  color:#7e99a7;
  margin-top:30px
}
.skip-link {
  position:fixed;
  top:-60px;
  left:16px;
  background:var(--accent);
  color:#102718;
  padding:13px 18px;
  border-radius:8px;
  z-index:100
}
.skip-link:focus {
  top:12px
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.mobile-menu,.mobile-chat,.menu-scrim {
  display:none
}
.reduced-motion * {
  animation:none!important;
  transition:none!important;
  scroll-behavior:auto!important
}
@keyframes work {
  50% {
    transform:translateY(-4px)
  }
}
@keyframes walk {
  25% {
    transform:translateX(7px) translateY(-3px)
  }
  75% {
    transform:translateX(-7px) translateY(-3px)
  }
}
@keyframes signal {
  50% {
    transform:translateY(-5px)
  }
}
@keyframes loading {
  0% {
    transform:translateX(-100%)
  }
  100% {
    transform:translateX(100%)
  }
}
@media(min-width:1700px) {
  :root {
    font-size:16px
  }
  .layout {
    grid-template-columns:230px minmax(0,1fr) 330px
  }
  .main {
    padding:0 42px 24px
  }
  .topbar {
    height:94px
  }
  .project-summary,.next-action>p {
    font-size:12px
  }
  .project-card {
    padding:22px 22px 0
  }
  .project-card>.provenance {
    margin-left:-22px;
    margin-right:-22px
  }
  .resume-card,.since-card {
    padding:28px
  }
  .stats span {
    font-size:11px
  }
  .stats small {
    font-size:9px
  }
  .office {
    min-height:300px
  }
  .agents-row {
    min-height:220px
  }
  .sprite {
    width:120px;
    height:120px
  }
  .agent-tile>strong {
    font-size:12px
  }
  .agent-tile>small {
    font-size:9px
  }
  .jarwan {
    padding-left:22px;
    padding-right:22px
  }
  .chat-message p {
    font-size:12px
  }
}
@media(max-width:1250px) {
  .layout {
    grid-template-columns:185px minmax(0,1fr)
  }
  .sidebar {
    padding:27px 12px 18px
  }
  .brand {
    font-size:20px
  }
  .sidebar nav button {
    font-size:12px;
    padding:12px
  }
  .main {
    padding:0 25px 25px
  }
  .jarwan {
    position:fixed;
    right:0;
    top:0;
    bottom:0;
    width:340px;
    z-index:30;
    transform:translateX(100%);
    box-shadow:-20px 0 70px #0008;
    transition:transform .2s
  }
  .chat-open .jarwan {
    transform:translateX(0)
  }
  .mobile-chat {
    display:inline-flex
  }
  .topbar .mobile-chat {
    margin-left:auto;
    border:1px solid #3b6152;
    background:#20382e;
    color:var(--accent)
  }
  .topbar form {
    margin-left:auto;
    max-width:250px
  }
  .jarwan-head .quiet-badge {
    margin-left:auto
  }
  .jarwan-head .mobile-chat {
    order:3
  }
  .chat-messages {
    max-height:calc(100vh - 530px)
  }
  .page-head h1 {
    font-size:30px
  }
  .main-footer {
    font-size:8px
  }
  .office-empty {
    justify-content:center
  }
}
@media(max-width:950px) {
  .project-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .project-grid>.project-card:nth-child(3):last-child {
    grid-column:1/-1
  }
  .project-grid>.project-card:nth-child(3):last-child .project-summary {
    max-width:90%
  }
  .continuity-grid {
    grid-template-columns:1.15fr 1fr
  }
  .resume-card,.since-card {
    padding:20px
  }
  .resume-card h2 {
    font-size:23px
  }
  .stats>div {
    padding:0 13px
  }
  .stats span {
    font-size:9px
  }
  .stats small {
    font-size:8px
  }
  .stats strong {
    font-size:25px
  }
  .office-zones {
    font-size:6px;
    padding:11px
  }
  .office-zones span {
    padding:4px 5px
  }
  .agents-row {
    grid-template-columns:repeat(3,minmax(0,1fr));
    row-gap:14px;
    padding-top:55px
  }
  .agent-tile .sprite {
    width:95px;
    height:95px
  }
  .agent-tile>strong {
    font-size:11px
  }
  .two-columns,.detail-grid {
    grid-template-columns:1fr
  }
  .notes-grid,.ideas-grid {
    grid-template-columns:1fr
  }
  .page-head {
    align-items:flex-start
  }
  .page-head>.primary {
    margin-top:6px
  }
  .main {
    padding:0 20px 24px
  }
  .connection-grid {
    grid-template-columns:1fr
  }
  .toolbar {
    gap:4px
  }
  .toolbar .filter {
    padding:8px 10px
  }
  .since-item:nth-of-type(2) {
    display:none
  }
  .office-empty {
    padding-top:25px
  }
  .office-panel .panel-head {
    flex-wrap:wrap;
    gap:14px
  }
  .office-foot {
    font-size:8px
  }
  .main-footer>span {
    max-width:110px;
    line-height:1.8
  }
}
@media(max-width:700px) {
  :root {
    font-size:16px
  }
  .layout {
    display:block
  }
  .sidebar {
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    z-index:35;
    width:245px;
    transform:translateX(-100%);
    transition:transform .2s;
    height:100dvh;
    padding:25px 16px
  }
  .menu-open .sidebar {
    transform:translateX(0)
  }
  .menu-open .menu-scrim {
    display:block;
    position:fixed;
    inset:0;
    background:#030a13b0;
    border:0;
    border-radius:0;
    z-index:34;
    backdrop-filter:blur(3px)
  }
  .sidebar nav button {
    font-size:14px;
    min-height:46px
  }
  .brand {
    font-size:23px;
    margin-bottom:35px
  }
  .brand small {
    font-size:9px
  }
  .mobile-menu {
    display:inline-flex
  }
  .main {
    padding:0 17px 24px
  }
  .topbar {
    height:71px;
    margin-bottom:25px;
    gap:10px
  }
  .topbar>.flex {
    gap:2px
  }
  .breadcrumb {
    font-size:10px
  }
  .breadcrumb>span {
    margin:0 5px
  }
  .breadcrumb {
    max-width:180px;
    overflow:hidden;
    text-overflow:ellipsis
  }
  .topbar form {
    width:38px;
    min-width:38px;
    padding:0 9px;
    border:0;
    background:transparent;
    margin-left:auto;
    position:relative
  }
  .topbar form input {
    position:absolute;
    width:36px;
    height:38px;
    inset:0;
    font-size:0;
    color:transparent;
    cursor:text;
    background:transparent;
    border:0;
    padding:0
  }
  .topbar form input:focus {
    position:fixed;
    width:calc(100vw - 40px);
    left:20px;
    right:20px;
    top:16px;
    height:42px;
    background:#132433;
    border:1px solid #6d9b99;
    color:var(--text);
    font-size:13px;
    padding:11px 13px;
    z-index:20
  }
  .topbar kbd {
    display:none
  }
  .topbar .mobile-chat {
    min-height:37px;
    min-width:37px;
    padding:8px;
    margin-left:0
  }
  .page-head {
    gap:12px;
    align-items:flex-start
  }
  .page-head h1 {
    font-size:26px;
    letter-spacing:-.7px
  }
  .page-head p {
    font-size:12px;
    margin-top:8px
  }
  .page-head .eyebrow {
    font-size:8px;
    letter-spacing:1.2px
  }
  .page-head>.primary {
    font-size:10px;
    min-height:38px;
    padding:9px 11px;
    margin-top:20px;
    gap:6px
  }
  .page-head>.primary .icon {
    height:13px;
    width:13px
  }
  .continuity-grid {
    grid-template-columns:1fr;
    gap:14px
  }
  .resume-card {
    padding:23px
  }
  .resume-card h2 {
    font-size:26px
  }
  .resume-card>p {
    font-size:13px
  }
  .resume-card>.flex.wrap button {
    min-height:42px;
    font-size:11px
  }
  .resume-next strong {
    font-size:13px
  }
  .resume-card>small {
    font-size:10px
  }
  .since-card {
    padding:20px 23px;
    display:grid;
    grid-template-columns:1fr auto;
    column-gap:15px;
    align-content:start
  }
  .since-card>.eyebrow,.since-card>h2,.since-card>.meta {
    grid-column:1
  }
  .since-card>.since-count {
    grid-column:2;
    grid-row:1/4;
    display:grid;
    gap:3px;
    font-size:30px;
    margin:0;
    align-self:center;
    text-align:right
  }
  .since-card>.since-count span {
    font-size:9px;
    max-width:100px
  }
  .since-card>.since-item,.since-card>.text-button,.since-card>p:not(.meta) {
    grid-column:1/-1
  }
  .since-item:nth-of-type(2) {
    display:flex
  }
  .since-card>.text-button {
    font-size:11px;
    margin-top:11px
  }
  .since-card>.since-item {
    margin-top:9px;
    padding-bottom:3px
  }
  .since-card>.since-item strong {
    font-size:12px
  }
  .since-card h2 {
    font-size:17px;
    margin-top:8px
  }
  .since-card>.meta {
    font-size:9px;
    max-width:190px
  }
  .stats {
    grid-template-columns:1fr 1fr;
    margin:18px 0 27px;
    padding:0;
    gap:0
  }
  .stats>div {
    padding:17px;
    border-bottom:1px solid #2c3a4a;
    gap:5px
  }
  .stats>div:nth-child(2) {
    border-right:0
  }
  .stats>div:nth-child(3) {
    border-bottom:0
  }
  .stats>div:last-child {
    border:0
  }
  .stats span {
    font-size:10px
  }
  .stats small {
    font-size:8px
  }
  .stats strong {
    font-size:27px
  }
  .section-title {
    margin-top:26px
  }
  .section-title h2 {
    font-size:18px
  }
  .section-title>.text-button {
    font-size:11px
  }
  .project-grid {
    grid-template-columns:1fr;
    gap:14px
  }
  .project-grid>.project-card:nth-child(3):last-child {
    grid-column:auto
  }
  .project-card {
    padding:21px 20px 0
  }
  .project-title h3 {
    font-size:18px
  }
  .project-title .icon {
    height:16px;
    width:16px
  }
  .project-card>.meta {
    font-size:11px
  }
  .project-summary {
    font-size:13px;
    margin:14px 0 19px
  }
  .next-action>p {
    font-size:12px
  }
  .next-action>span {
    font-size:9px
  }
  .project-foot {
    font-size:10px;
    margin-top:12px
  }
  .project-card>.provenance {
    margin-left:-20px;
    margin-right:-20px;
    font-size:9px;
    padding:12px 20px
  }
  .project-card>.flex .badge {
    font-size:10px
  }
  .project-mark {
    height:37px;
    width:37px;
    font-size:13px
  }
  .panel-head {
    padding:17px 19px
  }
  .panel-head h2 {
    font-size:16px
  }
  .panel-body {
    padding:19px
  }
  .panel-body>p {
    font-size:13px
  }
  .attention-list h3 {
    font-size:13px
  }
  .attention-list p {
    font-size:12px
  }
  .empty h3 {
    font-size:15px
  }
  .empty p {
    font-size:12px
  }
  .empty {
    padding:28px 15px
  }
  .two-columns {
    gap:16px
  }
  #quick-idea input {
    font-size:13px
  }
  #quick-idea .meta {
    font-size:10px
  }
  .panel-body>.text-button {
    font-size:12px
  }
  .office {
    margin:12px;
    min-height:255px
  }
  .office-empty {
    gap:9px;
    align-items:center;
    padding-top:32px
  }
  .office-empty>.sprite {
    height:95px;
    width:95px
  }
  .office-empty h3 {
    font-size:12px
  }
  .office-empty p {
    font-size:10px
  }
  .office-empty button {
    font-size:10px
  }
  .office-zones {
    font-size:5px;
    padding:10px 7px;
    gap:4px;
    letter-spacing:.8px
  }
  .office-zones span {
    padding:5px 4px
  }
  .office-window {
    top:45px
  }
  .office-window span {
    height:44px;
    width:38px
  }
  .office-plants {
    left:14px;
    top:50px;
    font-size:35px
  }
  .agents-row {
    padding:50px 6px 20px;
    gap:15px 0;
    min-height:200px
  }
  .agent-tile .sprite {
    width:90px;
    height:90px
  }
  .agent-tile>strong {
    font-size:11px
  }
  .agent-tile>small {
    font-size:8px
  }
  .office-foot {
    display:block;
    padding:0 14px 13px;
    font-size:8px
  }
  .office-foot span {
    display:block;
    max-width:100%!important
  }
  .office-foot span:last-child {
    margin-top:6px
  }
  .office-panel>.panel-head {
    padding:15px 17px
  }
  .office-panel>.panel-head .small {
    font-size:10px;
    min-height:39px
  }
  .office-panel>.panel-head>.flex:nth-child(2) {
    width:100%;
    justify-content:space-between
  }
  .toolbar .filter {
    min-height:42px;
    padding:9px 10px;
    font-size:12px
  }
  .toolbar .push-right {
    width:100%;
    margin:8px 0 0
  }
  .filter-field {
    flex:1;
    min-width:140px
  }
  .filter-field label {
    font-size:11px
  }
  .filter-field select {
    font-size:12px;
    min-height:44px
  }
  .mission-flow {
    font-size:9px;
    gap:9px;
    justify-content:center
  }
  .mission-flow .icon {
    width:12px;
    height:12px
  }
  .mission-card {
    padding:18px
  }
  .title-button {
    font-size:16px
  }
  .mission-card>p {
    font-size:12px
  }
  .mission-meta {
    font-size:10px
  }
  .mission-actions .small {
    min-height:42px;
    font-size:10px
  }
  .note-card h3,.idea-card h3 {
    font-size:16px
  }
  .note-card>p,.idea-card>p {
    font-size:13px
  }
  .note-card>small,.idea-card>small {
    font-size:10px
  }
  .idea-actions .small {
    min-height:42px
  }
  .event {
    gap:10px;
    padding:19px 0
  }
  .activity-list {
    padding:1px 15px
  }
  .event h3 {
    font-size:13px
  }
  .event time {
    font-size:9px
  }
  .event p {
    font-size:12px
  }
  .event-meta {
    font-size:10px;
    gap:9px
  }
  .event-meta .text-button {
    font-size:10px;
    min-height:28px
  }
  .connection-card p {
    font-size:13px
  }
  .connection-card>.small {
    font-size:11px;
    min-height:42px
  }
  .connection-card>small {
    font-size:10px
  }
  .capabilities span {
    font-size:10px
  }
  .device-capabilities {
    grid-template-columns:1fr;
    font-size:12px
  }
  .main-footer {
    display:block;
    font-size:8px;
    text-align:center;
    margin-top:28px
  }
  .main-footer>span {
    max-width:none
  }
  .main-footer .text-button {
    display:flex;
    justify-content:center;
    margin:10px auto 0;
    font-size:9px
  }
  .jarwan {
    width:min(390px,100vw);
    padding:24px 20px 18px;
    height:100dvh
  }
  .jarwan-intro {
    padding:10px 0 17px
  }
  .jarwan-intro .sprite {
    height:110px;
    width:110px
  }
  .jarwan-intro h3 {
    font-size:18px
  }
  .jarwan-intro p {
    font-size:12px
  }
  .jarwan-context label {
    font-size:11px
  }
  .jarwan-context select {
    font-size:12px;
    min-height:44px
  }
  .chat-message p {
    font-size:13px
  }
  .chat-message small {
    font-size:9px
  }
  .chat-messages {
    min-height:110px;
    max-height:none
  }
  .jarwan-compose textarea {
    font-size:13px;
    min-height:75px
  }
  .jarwan-compose label {
    font-size:11px
  }
  .jarwan-compose .primary {
    min-height:40px;
    font-size:12px
  }
  .jarwan-compose .icon-button {
    min-width:40px;
    min-height:40px
  }
  .jarwan-compose>.meta {
    font-size:9px
  }
  .jarwan-head .quiet-badge {
    font-size:9px
  }
  .jarwan-head>.mobile-chat {
    min-width:35px;
    min-height:35px;
    padding:7px
  }
  .jarwan-head h2 {
    font-size:19px
  }
  #voice-controls p {
    font-size:12px
  }
  #voice-controls .small {
    font-size:10px;
    min-height:42px
  }
  #voice-controls>small {
    font-size:9px
  }
  .voice-heading h3 {
    font-size:13px
  }
  .auth-page {
    padding:24px 20px
  }
  .auth-page>.brand {
    align-self:center;
    margin-bottom:22px
  }
  .auth-card {
    padding:20px 23px 25px
  }
  .auth-card h1 {
    font-size:27px
  }
  .auth-card>p {
    font-size:13px
  }
  .auth-card>small {
    font-size:11px
  }
  .auth-card input {
    font-size:16px
  }
  .auth-card label {
    font-size:12px
  }
  .auth-page footer {
    font-size:9px
  }
  dialog {
    padding:23px;
    max-height:90dvh
  }
  dialog h2 {
    font-size:23px
  }
  dialog>p {
    font-size:13px
  }
  dialog input,dialog textarea,dialog select {
    font-size:16px
  }
  dialog .actions button {
    font-size:12px
  }
  .record-details {
    grid-template-columns:100px minmax(0,1fr);
    font-size:11px
  }
  .form-row {
    grid-template-columns:1fr;
    gap:0
  }
  .form-row>label,.form-row>select {
    grid-row:auto
  }
  .connection-banner {
    font-size:12px
  }
  .connection-banner span {
    font-size:11px
  }
  .startup h1 {
    font-size:26px
  }
  .session-card {
    grid-template-columns:62px minmax(0,1fr);
    gap:12px;
    padding:16px
  }
  .session-card .sprite {
    width:62px;
    height:62px
  }
  .session-card p {
    font-size:12px
  }
  .session-card small {
    font-size:10px
  }
  .session-card h3 {
    font-size:13px
  }
  .session-card .text-button {
    font-size:11px;
    min-height:35px
  }
}
@media(prefers-reduced-motion:reduce) {
  * {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }
}
/* Keep conversation bubbles intrinsic and comfortably readable. */
.chat-messages {
  align-content:start
}
.project-grid {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr))
}
.checkbox-label {
  display:flex;
  align-items:flex-start;
  gap:10px;
  line-height:1.6
}
.checkbox-label input {
  width:18px;
  min-width:18px;
  min-height:18px;
  margin:2px 0
}
.provenance {
  font-size:10px
}
.project-foot {
  font-size:10px
}
.stats small {
  font-size:10px
}
.since-item small {
  font-size:10px
}
.since-card>.meta {
  font-size:10px
}
.since-card>.text-button {
  font-size:11px
}
.jarwan-context label {
  font-size:11px
}
.jarwan-context select {
  font-size:12px
}
.chat-message small {
  font-size:10px
}
.chat-message p {
  font-size:12px
}
.jarwan-compose label {
  font-size:11px
}
.jarwan-compose textarea {
  font-size:12px
}
.jarwan-compose>.meta {
  font-size:10px
}
.office-foot {
  font-size:10px
}
.main-footer .text-button {
  font-size:10px
}
.resume-card>small {
  font-size:10px
}
.project-card>.meta {
  font-size:11px
}
.next-action>span {
  font-size:10px
}
.project-summary {
  font-size:12px
}
.event time {
  font-size:10px
}
.event-meta {
  font-size:10px
}
.connection-card>small {
  font-size:10px
}
@media(max-width:700px) {
  .project-grid {
    grid-template-columns:1fr
  }
  .project-summary {
    font-size:13px
  }
  .office-foot {
    font-size:10px
  }
  .stats small {
    font-size:9px
  }
  .provenance {
    font-size:10px
  }
  .chat-message p {
    font-size:13px
  }
  .jarwan-compose textarea {
    font-size:13px
  }
  .since-card>.meta {
    font-size:10px
  }
  .since-item small {
    font-size:10px
  }
}
@media(max-width:1250px) {
  .jarwan {
    visibility:hidden
  }
  .chat-open .jarwan {
    visibility:visible
  }
}
@media(max-width:700px) {
  .sidebar {
    visibility:hidden
  }
  .menu-open .sidebar {
    visibility:visible
  }
}

/* Source-backed continuity is visually separate from the user's own notes. */
.source-refresh {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 19px;
  margin: 0 0 22px;
  background: #142720;
  border: 1px solid #365347;
  border-radius: 11px;
}
.source-refresh strong { font-size: 12px; color: #c9e9d6; }
.source-refresh small { display: block; margin-top: 6px; font-size: 11px; }
.source-refresh button { flex-shrink: 0; }
.source-state { display: block; margin-top: 10px; font-size: 10px; color: #aadcc7; }
.source-state-partial, .source-state-stale { color: #e0bf95; }
.source-state-unavailable, .source-state-revoked { color: #c6afc4; }
.fact-provenance { display: block; font-size: 10px; line-height: 1.7; color: #91b7c3; overflow-wrap: anywhere; }
.fact-provenance a { overflow-wrap: anywhere; }
.project-card > .fact-provenance { margin: -5px 0 17px; }
.next-action .fact-provenance { margin-top: 9px; }
.resume-card > .fact-provenance { margin-top: 18px; }
.resume-next .fact-provenance { font-size: 10px; font-weight: 400; }
.resume-card > .flex .quiet-badge { white-space: normal; max-width: 65%; line-height: 1.65; }
.project-sources { margin-top: 22px; }
.project-sources .panel-head small { display: block; margin-top: 7px; }
.registry-reference { padding-bottom: 19px; border-bottom: 1px solid #304452; }
.registry-reference p { margin: 10px 0; font-size: 12px; }
.registry-reference small { overflow-wrap: anywhere; }
.canonical-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; margin-top: 20px; }
.canonical-fact { border: 1px solid #344c59; border-radius: 9px; padding: 15px; background: #12232e; }
.canonical-fact > p { font-size: 12px; margin: 9px 0 12px; white-space: pre-wrap; }
.panel-body > .canonical-fact { margin: 17px 0; }
.fact-warning { border-color: #68533f; background: #2b2924; }
.source-empty { margin: 20px 0; color: #aebdc6; font-size: 12px; }
.project-sources .notice li { margin: 5px 0; line-height: 1.7; }
.source-documents summary a { color: inherit; }
.personal-continuity { border-top: 1px solid #39514d; margin-top: 18px; padding-top: 16px; }
.personal-continuity p { font-size: 12px; margin: 8px 0; }
.personal-continuity > small { display: block; margin-top: 10px; }
.filter-notice { border: 1px solid #64553e; background: #2b2923; border-radius: 10px; padding: 16px 18px; margin-bottom: 20px; }
.filter-notice > p { color: #dbc7aa; font-size: 12px; }
.filter-notice > .flex { margin-top: 12px; gap: 18px; }
.filter-notice .text-button { font-size: 12px; }
.attention-source { border-left: 2px solid #a4865c; padding-left: 11px; margin: 12px 0; }
.attention-source .fact-provenance { font-size: 10px; }
@media(max-width: 950px) {
  .canonical-facts { grid-template-columns: 1fr; }
}
@media(max-width: 700px) {
  .source-refresh { flex-wrap: wrap; padding: 16px; gap: 14px; }
  .source-refresh strong { font-size: 13px; }
  .source-refresh small { font-size: 11px; }
  .source-refresh button { min-height: 42px; }
  .project-sources .panel-head { flex-wrap: wrap; }
  .project-sources .panel-head button { min-height: 42px; }
  .canonical-fact > p { font-size: 13px; }
  .fact-provenance { font-size: 10px; }
  .filter-notice .small { min-height: 42px; }
  .resume-card > .flex .quiet-badge { max-width: 72%; font-size: 9px; }
}

.review-banner { padding:16px 24px; background:#163b40; border-bottom:1px solid #4dcbb0; display:grid; gap:6px; font-size:13px; overflow-wrap:anywhere; }
.review-banner strong { color:#89efd3; letter-spacing:.08em; font-size:12px; }
.review-banner a { color:#c6f9ec; text-decoration:underline; }
