:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#16392e;background:#f2f4ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select,textarea{font:inherit}button,.button{background:#174c38;color:white;border:0;border-radius:10px;padding:13px 20px;font-weight:650;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{background:#236348}button:disabled{opacity:.5;cursor:wait}.quiet{background:#e7ede4;color:#244737}input,select,textarea{width:100%;padding:13px;border:1px solid #d4ded1;border-radius:9px;background:#fbfcf8;color:#16392e;margin:8px 0 18px}textarea{resize:vertical}label{display:block;font-size:.9rem;font-weight:600}main{max-width:1240px;margin:auto;padding:32px 40px 32px 112px}.rail{position:fixed;inset:0 auto 0 0;width:76px;background:#113c2d;color:#dce9d4;display:flex;align-items:center;flex-direction:column;padding:28px 10px}.mark{font-size:36px;font-weight:800;text-decoration:none;position:relative}.mark span{font-size:18px;color:#d9efa4;position:absolute;right:-8px;top:-4px}.rail-label{writing-mode:vertical-rl;letter-spacing:.28em;font-size:11px;margin-top:80px;opacity:.6}header,.row{display:flex;justify-content:space-between;align-items:center;gap:20px}.wordmark{text-decoration:none;font-size:22px;font-weight:750;letter-spacing:-.7px}.wordmark span{font-size:14px;font-weight:450;color:#78857c;letter-spacing:0}.intro{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:70px 0 20px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.16em;color:#71806c}h1{font-size:clamp(42px,5.6vw,68px);line-height:1.03;letter-spacing:-3px;margin:18px 0}h1 span{color:#79926a}h2{font-size:26px;letter-spacing:-.8px;line-height:1.15;margin:12px 0 24px}p{line-height:1.6}.intro p:not(.eyebrow){color:#687668;max-width:440px}.badge{font-size:12px;border:1px solid #ccd9c4;border-radius:40px;padding:10px 15px;white-space:nowrap}.card{border:1px solid #dce3d5;background:#fffef9;border-radius:22px;padding:30px;margin:20px 0;box-shadow:0 12px 34px #28462705}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.grid .card{margin:0}.workspace{margin:24px 0}.workspace label{margin-top:6px}.subtle{font-size:13px;color:#738071}.preview{background:#edf1e6}.phone{margin:38px auto 20px;max-width:330px;min-height:290px;overflow:hidden;border:7px solid #163c2e;border-radius:30px;background:#e0e7da;box-shadow:0 12px 20px #15332413}.phone-top{padding:20px 14px;background:#fffef9;display:flex;gap:12px;align-items:center}.phone-top small{display:block;font-size:11px;color:#7f8c7b;margin-top:4px}.avatar{background:#cfe0b8;color:#204b33;width:34px;height:34px;display:grid;place-items:center;border-radius:50%}.conversation{padding:22px 18px}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;background:#fffef9;border-radius:2px 14px 14px 14px;padding:15px;margin:0;font-size:14px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}.inline{display:flex;gap:12px;align-items:flex-start}.inline input{flex:1}.inline button{margin-top:8px;white-space:nowrap}.code{overflow-wrap:anywhere;user-select:all}.case{border-top:1px solid #e0e6d9;padding:18px 0}.case p{margin:4px 0;color:#697b68;font-size:14px}footer{display:flex;justify-content:space-between;gap:15px;color:#6b7f68;font-size:11px;padding-top:24px}#status{font-size:14px;color:#687b61}[hidden]{display:none!important}:focus-visible{outline:3px solid #8eac69;outline-offset:4px}@media(max-width:760px){main{padding:22px 20px 24px 88px}.rail{width:64px}.intro{display:block;padding-top:42px}.badge{display:inline-block;margin:4px 0 14px}.grid{grid-template-columns:1fr}.card{padding:24px}.inline{display:block}.inline button{margin-top:0}.wordmark span{display:none}header .button,header button{padding:10px 14px}h1{letter-spacing:-2px}footer{display:block}footer span{display:block;margin-top:8px}}

:root {
  scroll-behavior:auto
}
.workspace {
  grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  align-items:start
}
.workspace>.card {
  min-width:0
}
.test-intro {
  font-size:14px;
  color:#53694e
}
.test-badge {
  display:inline-block;
  margin:0;
  background:#dde8cd;
  padding:6px 11px;
  border-radius:20px;
  font-size:12px;
  font-weight:650
}
.phone {
  max-width:390px;
  margin:22px auto 16px
}
.phone-top>div {
  min-width:0;
  overflow-wrap:anywhere
}
.conversation {
  height:300px;
  overflow:auto;
  overscroll-behavior:contain;
  padding:18px 14px;
  scrollbar-width:thin
}
.bubble {
  margin-bottom:12px;
  max-width:94%;
  line-height:1.5
}
.bubble.user {
  margin-left:auto;
  background:#cce4b4;
  border-radius:14px 2px 14px 14px
}
.test-choices {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  padding:12px;
  border-top:1px solid #cdd8c5;
  max-height:none;
  overflow:visible
}
.test-choices:empty {
  display:none
}
.test-choices button {
  background:#fffef9;
  border:1px solid #b9cbb0;
  color:#174c38;
  padding:10px 12px;
  min-height:44px;
  flex:1 1 100%;
  font-size:13px;
  font-weight:600;
  text-align:left;
  line-height:1.4;
  overflow-wrap:anywhere
}
.test-choices button:hover {
  background:#eef5e7
}
.test-composer {
  display:flex;
  gap:6px;
  background:#f7f9f2;
  padding:10px;
  align-items:center
}
.test-composer input {
  margin:0;
  min-width:0;
  flex:1;
  padding:12px 9px;
  font-size:13px
}
.test-composer button {
  font-size:13px;
  padding:12px 10px;
  min-height:44px
}
.test-result {
  padding:14px 16px;
  border-radius:12px;
  background:#f9fbf4;
  border:1px solid #d6e1cb
}
.test-result p {
  font-size:13px;
  line-height:1.5;
  margin:6px 0 0
}
.test-actions {
  display:flex;
  gap:8px;
  flex-wrap:wrap
}
.test-actions button {
  font-size:13px;
  min-height:44px
}
.test-notice {
  padding:14px;
  background:#fff4d8;
  border:1px solid #dfca91;
  border-radius:12px;
  margin-top:14px
}
.test-notice p {
  margin:0 0 10px;
  font-size:13px
}
.test-notice button {
  font-size:13px
}
.test-error {
  font-size:13px;
  color:#8d331c
}
.test-error:empty,#test-copy-status:empty {
  display:none
}
#test-revision {
  font-size:12px
}
details {
  margin-top:18px;
  font-size:13px
}
summary {
  cursor:pointer;
  font-weight:650;
  padding:8px 0;
  min-height:44px
}
dt {
  font-weight:650;
  margin-top:12px
}
dd {
  margin:4px 0 10px;
  overflow-wrap:anywhere;
  line-height:1.5
}
.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
}
button:disabled {
  cursor:default
}
.quiet:hover {
  background:#d7e3ce;
  color:#16392e
}
@media(max-width:900px) {
  .workspace {
    grid-template-columns:1fr
  }
  .workspace>.preview {
    order:2
  }
}
@media(max-width:480px) {
  main {
    padding:18px 12px
  }
  .rail {
    display:none
  }
  .card {
    padding:20px
  }
  .phone {
    border-width:5px;
    margin-left:-8px;
    margin-right:-8px
  }
  .conversation {
    height:270px
  }
  h2 {
    font-size:25px
  }
  .intro {
    padding-top:30px
  }
  .test-actions button {
    flex:1
  }
}
.local-preview-note {
  position:relative;
  background:#fff0c9;
  color:#624c1a;
  padding:12px 20px 12px 100px;
  font-size:13px;
  line-height:1.5
}
@media(max-width:480px) {
  .local-preview-note {
    padding:12px
  }
}
.header-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap
}
.header-actions form {
  margin:0
}
.settings-note {
  margin-top:-8px;
  margin-bottom:20px
}
.preview h2 {
  scroll-margin-top:20px
}
@media(prefers-reduced-motion:reduce) {
  :root {
    scroll-behavior:auto
  }
}
@media(max-width:480px) {
  header {
    gap:10px
  }
  .header-actions button,.header-actions .button {
    padding:10px;
    font-size:12px
  }
}
.conversation.is-start {
  height:150px
}
@media(max-width:480px) {
  .conversation.is-start {
    height:145px
  }
}

.test-setup-panel { border-top:1px solid #d5dfcf; margin-top:26px; padding-top:14px; }
.test-setup-panel h3 { font-size:20px; line-height:1.3; }
.test-setup-panel select[size] { min-height:160px; font-size:13px; }
.test-role-group { width:100%; }
.test-role-label { margin:2px 0 8px; color:#55714d; font-size:11px; letter-spacing:.03em; font-weight:700; }
.test-role-group button { display:block; width:100%; margin-bottom:7px; }
.test-choices>details { width:100%; margin-top:0; }
.message-role { display:block; margin-bottom:5px; font-size:10px; font-weight:700; color:#65805b; }
.bubble.system { background:#eef1e7; border:1px dashed #c4d0b9; font-size:12px; }
.bubble.management { background:#eaf2df; }
.bubble.contractor { background:#f2edda; }
#test-revision { overflow-wrap:anywhere; }
#test-load-current,#test-retry,#test-related { font-size:13px; margin:5px 0 12px; }
#test-gates { font-size:12px; }
#test-gates p { margin:4px 0; }

.coverage-item{border-top:1px solid var(--line,#d6dfd0);padding:1rem 0;font-size:.9rem}.coverage-item p{margin:.5rem 0 0;line-height:1.55}
