:root {
  --paper:#f6f2e8;
  --card:#fffdf7;
  --ink:#17251f;
  --green:#183d32;
  --muted:#59665e;
  --line:#d6cfbc;
  --brass:#9b7a3a;
  --serif:Georgia,'Times New Roman',serif;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:24px;
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:17px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
a {
  color:var(--green);
  text-underline-offset:4px;
}
button,input,select,textarea {
  font:inherit;
}
button,a,select,summary {
  touch-action:manipulation;
}
button {
  cursor:pointer;
}
button:disabled {
  cursor:default;
}
a:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline:3px solid var(--brass);
  outline-offset:4px;
}
[hidden] {
  display:none!important;
}
.wrap {
  width:min(100% - 44px,1040px);
  margin-inline:auto;
}
.skip {
  position:absolute;
  top:-100px;
  left:20px;
  background:var(--card);
  padding:12px;
  z-index:5;
}
.skip:focus {
  top:10px;
}
.topbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding-block:23px;
  border-bottom:1px solid var(--line);
}
.wordmark {
  font-family:var(--serif);
  font-size:23px;
  text-decoration:none;
  font-weight:bold;
  display:flex;
  align-items:center;
  gap:12px;
}
.wordmark span {
  font:11px/1 sans-serif;
  letter-spacing:2px;
}
.quiet-link {
  font-size:13px;
  text-decoration:none;
}
.start {
  padding-block:36px 52px;
}
.hero {
  padding-bottom:24px;
}
.eyebrow {
  color:var(--green);
  font-size:12px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  font-weight:600;
  margin:0 0 18px;
}
h1,h2 {
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-2px;
}
h1 {
  font-size:clamp(76px,12vw,138px);
  line-height:.9;
  margin:0 0 28px;
}
.ai-label {
  display:inline-block;
  font:600 18px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  letter-spacing:2px;
  vertical-align:top;
  margin-top:10px;
  color:var(--green);
}
h2 {
  font-size:clamp(34px,5vw,48px);
  line-height:1.12;
  margin:0 0 18px;
  letter-spacing:-1.1px;
}
.hero-subtitle {
  font-family:var(--serif);
  font-size:clamp(26px,4vw,38px);
  line-height:1.2;
  margin:0 0 20px;
  max-width:660px;
}
.hero-copy {
  max-width:550px;
  color:var(--muted);
  margin:0 0 27px;
}
.actions {
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  text-decoration:none;
  min-height:49px;
  padding:12px 19px;
  border-radius:3px;
  border:1px solid var(--green);
  font-size:15px;
  font-weight:600;
  line-height:1.3;
}
.primary {
  background:var(--green);
  color:#fffdf7;
}
.primary:hover {
  background:#244d40;
}
.outline {
  background:transparent;
  color:var(--green);
}
.outline:hover {
  background:#e8ebdf;
}
.field-note {
  font-size:13px;
  line-height:1.5;
  color:var(--muted);
}
.preview-note {
  padding:9px 12px;
  border-left:2px solid var(--brass);
  font-size:13px;
  max-width:550px;
}
.reading,.sharing,.install {
  border-top:1px solid var(--line);
  padding-block:52px;
}
.section-intro {
  max-width:670px;
  margin-bottom:26px;
}
.section-intro>p:last-child {
  color:var(--muted);
}
.prepare .section-intro {
  margin-bottom:18px;
}
.prepare h2 {
  font-size:32px;
  margin-bottom:8px;
}
.prepare .section-intro p {
  font-size:14px;
  margin:0;
}
.builder {
  background:var(--card);
  border:1px solid var(--line);
  border-top:3px solid var(--brass);
  padding:30px;
  max-width:800px;
}
.field {
  margin-bottom:22px;
  min-width:0;
}
.field label {
  display:block;
  font-size:14px;
  font-weight:650;
  margin-bottom:8px;
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
.mode-switch {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  padding:4px;
  margin:0 0 22px;
  border:1px solid var(--line);
  border-radius:4px;
  background:var(--paper);
  min-width:0;
}
.mode-switch label {
  cursor:pointer;
  min-width:0;
}
.mode-switch span {
  display:block;
  padding:10px 8px;
  text-align:center;
  border-radius:2px;
  font-size:15px;
  font-weight:600;
}
.mode-switch input:checked + span {
  background:var(--green);
  color:var(--card);
}
.mode-switch input:focus-visible + span {
  outline:3px solid var(--brass);
  outline-offset:2px;
}
select,textarea {
  width:100%;
  min-width:0;
  max-width:100%;
  border:1px solid #a8afa4;
  border-radius:3px;
  background:#fffefa;
  color:var(--ink);
  padding:12px;
  font-size:16px;
  line-height:1.45;
}
select {
  min-height:48px;
  padding-right:28px;
}
textarea {
  resize:vertical;
}
.field-note {
  margin:8px 0 0;
}
.profile-picker {
  position:relative;
}
.profile-picker > summary {
  position:relative;
  list-style:none;
  cursor:pointer;
  padding:11px 36px 11px 13px;
  border:1px solid #a8afa4;
  border-radius:3px;
  background:#fffefa;
}
.profile-picker > summary::-webkit-details-marker {
  display:none;
}
.profile-picker > summary::after {
  content:'';
  position:absolute;
  right:16px;
  top:25px;
  width:7px;
  height:7px;
  border-right:1.5px solid var(--green);
  border-bottom:1.5px solid var(--green);
  transform:rotate(45deg);
}
.profile-picker[open] > summary::after {
  transform:rotate(225deg);
}
.profile-name {
  display:block;
  font-size:16px;
  font-weight:600;
  line-height:1.35;
}
.profile-subtitle {
  display:block;
  margin-top:3px;
  font-size:12px;
  font-weight:400;
  line-height:1.4;
  color:var(--muted);
}
.profile-panel {
  position:absolute;
  inset:calc(100% + 5px) 0 auto;
  z-index:3;
  max-height:360px;
  overflow-y:auto;
  border:1px solid var(--line);
  border-radius:3px;
  background:var(--card);
  box-shadow:0 8px 24px #17251f1a;
}
.profile-order {
  margin:0;
  padding:10px 13px;
  color:var(--muted);
  font-size:11px;
  border-bottom:1px solid var(--line);
}
.profile-options {
  border:0;
  padding:0;
  margin:0;
  min-width:0;
}
.profile-options label {
  display:block;
  margin:0;
  cursor:pointer;
}
.profile-text {
  display:block;
  position:relative;
  padding:11px 32px 11px 13px;
  border-bottom:1px solid var(--line);
}
.profile-options label:last-child .profile-text {
  border-bottom:0;
}
.profile-options input:checked + .profile-text {
  background:#edf0e7;
}
.profile-options input:checked + .profile-text::after {
  content:'✓';
  position:absolute;
  top:15px;
  right:12px;
  color:var(--green);
}
.profile-options input:focus-visible + .profile-text {
  outline:2px solid var(--brass);
  outline-offset:-3px;
}
.profile-text:hover {
  background:var(--paper);
}
.handoff-note {
  font-size:13px;
  color:var(--muted);
  margin:0 0 12px;
}
.copied-links {
  margin-top:14px;
}
.skill-guide {
  max-width:850px;
  padding-block:36px;
}
.skill-guide h1 {
  font-size:42px;
  line-height:1.15;
  letter-spacing:-1px;
  margin-block:24px;
}
.skill-guide h2 {
  font-size:28px;
  letter-spacing:-.5px;
}
.skill-guide section {
  border-top:1px solid var(--line);
  padding-block:24px;
}
.skill-guide pre {
  font:15px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.field-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.advanced {
  border-block:1px solid var(--line);
  margin-bottom:20px;
  padding-block:15px;
}
.advanced summary,.prompt-details summary {
  cursor:pointer;
  font-weight:600;
  font-size:14px;
  padding-block:3px;
}
.advanced[open] summary {
  margin-bottom:20px;
}
.resolved-plan {
  font-size:14px;
  line-height:1.55;
  color:var(--green);
  margin:12px 0 0;
  padding:12px 14px;
  background:#edf0e7;
  border-left:2px solid var(--brass);
}
.copy-row {
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.app-actions {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  width:100%;
}
.app-actions .button {
  padding:12px 10px;
}
.sample-questions {
  margin-top:8px;
  font-size:13px;
}
.sample-questions summary {
  cursor:pointer;
  color:var(--green);
}
.sample-list {
  display:grid;
  margin-top:10px;
}
.sample-question {
  background:transparent;
  border:0;
  border-bottom:1px solid var(--line);
  color:var(--green);
  text-align:left;
  min-height:44px;
  padding:10px 4px;
  font-size:14px;
}
.sample-question:hover {
  background:var(--paper);
}
.copy-row [role=status],#share-status {
  font-size:14px;
  color:var(--green);
}
.prompt-details {
  margin-block:18px;
}
.prompt-details textarea {
  margin-top:12px;
  font-size:14px;
  line-height:1.55;
}
#manual-copy {
  margin-top:18px;
}
#manual-copy label {
  display:block;
  margin-bottom:8px;
  font-size:14px;
}
.next-step {
  font-size:15px;
  margin-bottom:8px;
}
.model-setup {
  margin-block:18px;
  font-size:13px;
  color:var(--muted);
}
.model-setup summary {
  cursor:pointer;
  font-weight:600;
  color:var(--green);
  padding-block:8px;
}
.model-setup p {
  margin-block:10px;
}
.rav-note {
  border-left:2px solid var(--brass);
  padding-left:12px;
  margin-top:20px;
  font-size:13px;
  color:var(--green);
}
.vort {
  max-width:740px;
  background:var(--card);
  border-left:2px solid var(--brass);
  padding:10px 30px 28px;
}
.vort>p:not(.source-note) {
  font:20px/1.75 var(--serif);
}
.source-note {
  font-size:13px;
  color:var(--muted);
  line-height:1.6;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.text-link {
  font-size:14px;
  font-weight:600;
}
.results-table {
  width:100%;
  max-width:740px;
  border-collapse:collapse;
  font-size:15px;
}
.results-table caption {
  text-align:left;
  color:var(--muted);
  font-size:13px;
  padding-bottom:16px;
}
.results-table th,.results-table td {
  text-align:left;
  padding:15px 10px;
  border-bottom:1px solid var(--line);
}
.results-table thead th {
  font-size:12px;
  font-weight:500;
}
.results-table tbody th {
  font-weight:500;
}
.results-table td {
  white-space:nowrap;
}
.evidence-note {
  max-width:740px;
  font-size:14px;
  color:var(--muted);
}
.sharing {
  max-width:1040px;
}
.sharing p {
  max-width:600px;
}
.text-button {
  background:none;
  border:0;
  text-decoration:underline;
  text-underline-offset:4px;
  color:var(--green);
  padding:13px 4px;
  font-size:14px;
}
.install p {
  max-width:600px;
}
.command {
  max-width:800px;
  padding:18px 20px;
  margin-block:24px;
  background:#e9e5d9;
  border:1px solid var(--line);
  overflow-wrap:anywhere;
}
.command code {
  font:14px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;
}
.footer {
  border-top:1px solid var(--line);
  padding-block:33px 45px;
  color:var(--muted);
  font-size:13px;
}
.footer p {
  max-width:750px;
}
.footer-brand {
  font:27px var(--serif);
  color:var(--green);
  margin-bottom:20px;
}
.footer-brand span {
  font:12px -apple-system,BlinkMacSystemFont,sans-serif;
  margin-left:14px;
}
.small {
  font-size:12px;
}
@media(min-width:850px) {
  .start {
    display:grid;
    grid-template-columns:.9fr 1.15fr;
    gap:48px;
    align-items:start;
    padding-block:52px;
  }
  .hero {
    padding-block:15px 0;
  }
  .builder {
    padding:28px;
  }
  .prepare .field-row {
    grid-template-columns:1fr;
  }
}
@media(max-width:520px) {
  .wrap {
    width:calc(100% - 36px);
  }
  .topbar {
    padding-block:18px;
  }
  .wordmark {
    font-size:20px;
    gap:8px;
  }
  .quiet-link {
    font-size:12px;
  }
  .start {
    padding-block:24px 35px;
  }
  .hero .eyebrow {
    margin-bottom:10px;
    font-size:11px;
  }
  .hero h1 {
    font-size:58px;
    margin-bottom:12px;
  }
  .hero-subtitle {
    font-size:23px;
    margin-bottom:10px;
  }
  .hero-copy {
    font-size:14px;
    margin:0;
  }
  .reading,.sharing,.install {
    padding-block:35px;
  }
  .builder {
    padding:16px;
  }
  .field-row {
    grid-template-columns:1fr;
    gap:0;
  }
  .vort {
    padding:8px 19px 23px;
  }
  .vort>p:not(.source-note) {
    font-size:19px;
  }
  .copy-row .button {
    width:100%;
  }
  .sharing .button {
    width:100%;
  }
  .footer-brand span {
    display:block;
    margin:5px 0 0;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
}
