@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600&display=swap');

:root{
  --white:#FFFFFF;
  --card:#F6F7FB;
  --ink:#211F3D;
  --ink-soft:#4B4870;
  --text-soft:#6B7280;
  --border:#E5E7EB;
  --indigo:#4F46E5;
  --indigo-hover:#4338CA;
  --indigo-soft:#EEF0FE;
  --teal:#0D9488;
  --teal-soft:#E6F7F5;
  --amber:#F97316;
  --amber-hover:#EA580C;
  --nav:#1E1B4B;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--white);
  color:var(--ink);
  font-family:'IBM Plex Sans', sans-serif;
  line-height:1.6;
}
.wrap{max-width:980px; margin:0 auto; padding:0 24px;}
a{color:inherit;}

/* NAV */
.site-nav{
  background:var(--nav);
  padding:16px 0;
  position:sticky; top:0; z-index:50;
  box-shadow:0 2px 12px -4px rgba(30,27,75,.35);
}
.site-nav .wrap{display:flex; align-items:center; justify-content:space-between;}
.logo{
  font-family:'IBM Plex Mono', monospace; font-weight:700; font-size:17px; color:var(--white);
  text-decoration:none; letter-spacing:-.01em;
}
.logo .dot{color:var(--amber);}
.nav-links{display:flex; gap:26px; align-items:center;}
.nav-links a{
  font-family:'IBM Plex Mono', monospace; font-size:13px; color:#C7C5E8; text-decoration:none;
  transition:.15s;
}
.nav-links a:hover{color:var(--white);}
.nav-links a.cta{
  background:var(--amber); color:var(--white); padding:9px 17px; border-radius:7px; font-weight:600;
  box-shadow:0 4px 14px -4px rgba(249,115,22,.6);
}
.nav-links a.cta:hover{background:var(--amber-hover);}

/* HERO / GENERIC PAGE HEAD */
.page-head{padding:64px 0 20px;}
.eyebrow{
  font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--teal);
  text-transform:uppercase; letter-spacing:.08em; margin-bottom:14px; font-weight:600;
}
h1{font-family:'IBM Plex Mono', monospace; font-size:40px; line-height:1.15; margin:0 0 16px; font-weight:700; color:var(--ink);}
h1 .accent{color:var(--indigo);}
.sub{color:var(--text-soft); font-size:16.5px; max-width:600px; margin-bottom:8px;}

/* TOOL LAYOUT */
.tool-section{padding:24px 0 60px;}
.tool-grid{display:grid; grid-template-columns:1fr 300px; gap:20px; align-items:start;}

.desk{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:12px;
  padding:28px;
  margin-bottom:24px;
}
.field-label{font-family:'IBM Plex Mono', monospace; font-size:11px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px; display:block; font-weight:600;}

.sentence-input{
  display:flex; align-items:flex-start; gap:0; margin-bottom:18px;
  background:var(--white); border:1.5px solid var(--border); border-radius:8px; padding:14px 16px;
  transition:.15s; box-shadow:0 1px 2px rgba(0,0,0,.03);
}
.sentence-input:focus-within{border-color:var(--indigo);}
.sentence-input .prefix{
  font-family:'IBM Plex Mono', monospace; font-weight:600; font-size:15.5px; white-space:nowrap; padding-top:2px; color:var(--ink);
}
.sentence-input textarea{
  flex:1; border:none; outline:none; resize:none; background:transparent;
  font-family:'IBM Plex Sans', sans-serif; font-size:15.5px; color:var(--ink);
  padding:2px 0 0 8px; min-height:26px;
}

.suggestion-row{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px;}
.suggestion-chip{
  font-family:'IBM Plex Mono', monospace; font-size:12px; padding:7px 13px; border-radius:16px;
  border:1px solid var(--border); background:var(--white); color:var(--text-soft); cursor:pointer;
  box-shadow:0 1px 3px rgba(0,0,0,.05);
  transition:.15s;
}
.suggestion-chip:hover{border-color:var(--indigo); color:var(--indigo); box-shadow:0 3px 10px -3px rgba(79,70,229,.3);}

.select-row{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:24px;}

.custom-select{position:relative;}
.select-trigger{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  background:var(--white); border:1.5px solid var(--border); border-radius:8px; padding:11px 14px;
  font-family:'IBM Plex Sans'; font-size:14px; color:var(--ink); cursor:pointer;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.select-trigger:hover, .select-trigger.open{border-color:var(--indigo);}
.select-trigger .arrow{color:var(--text-soft); font-size:11px; transition:.15s;}
.select-trigger.open .arrow{transform:rotate(180deg);}

.select-menu{
  position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:40;
  background:var(--white); border:1px solid var(--border); border-radius:10px;
  box-shadow:0 12px 32px -10px rgba(30,27,75,.25);
  max-height:280px; overflow-y:auto; padding:6px; display:none;
}
.select-menu.open{display:block;}
.select-option{
  padding:9px 12px; border-radius:7px; cursor:pointer; font-size:13.5px; color:var(--ink);
  display:flex; align-items:center; justify-content:space-between; gap:8px;
}
.select-option:hover, .select-option.active{background:var(--indigo-soft); color:var(--indigo);}
.select-option .opt-name{font-family:'IBM Plex Mono'; font-weight:600; font-size:12.5px;}

.select-desc{
  margin-top:8px; font-size:12.5px; color:var(--text-soft); line-height:1.5;
  min-height:18px; padding:0 2px;
}
.select-desc strong{color:var(--ink-soft);}

.generate-row{display:flex; align-items:center; gap:16px;}
.stamp-btn{
  font-family:'IBM Plex Mono', monospace; font-weight:700; font-size:14px; letter-spacing:.03em;
  background:var(--amber); color:var(--white); border:none; border-radius:8px;
  padding:14px 28px; cursor:pointer;
  box-shadow:0 8px 20px -8px rgba(249,115,22,.65), 0 2px 4px rgba(249,115,22,.3);
  transition:.15s;
}
.stamp-btn:hover{background:var(--amber-hover); box-shadow:0 10px 24px -6px rgba(249,115,22,.75), 0 2px 4px rgba(249,115,22,.3); transform:translateY(-1px);}
.stamp-btn:disabled{opacity:.55; cursor:wait; box-shadow:none; transform:none;}
.hint{font-size:13px; color:var(--text-soft);}

/* IMPROVE PANEL */
.improve-panel{
  background:var(--white); border:1px solid var(--border); border-radius:12px; padding:22px;
  box-shadow:0 4px 16px -8px rgba(30,27,75,.15);
}
.improve-panel h3{font-family:'IBM Plex Mono', monospace; font-size:14px; margin:0 0 6px; color:var(--ink);}
.improve-panel .desc{font-size:12.5px; color:var(--text-soft); margin-bottom:16px; line-height:1.5;}
.improve-field{margin-bottom:14px;}
.improve-field label{font-family:'IBM Plex Mono', monospace; font-size:10.5px; text-transform:uppercase; color:var(--text-soft); letter-spacing:.05em; display:block; margin-bottom:5px; font-weight:600;}
.improve-field input, .improve-field textarea{
  width:100%; border:1.5px solid var(--border); border-radius:7px; padding:9px 11px; font-family:'IBM Plex Sans'; font-size:13.5px; outline:none;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.03);
}
.improve-field input:focus, .improve-field textarea:focus{border-color:var(--indigo);}
.improve-btn{
  width:100%; font-family:'IBM Plex Mono', monospace; font-weight:700; font-size:13px; background:var(--indigo); color:#fff;
  border:none; border-radius:8px; padding:12px; cursor:pointer;
  box-shadow:0 6px 16px -6px rgba(79,70,229,.55), 0 2px 4px rgba(79,70,229,.25);
  transition:.15s;
}
.improve-btn:hover:not(:disabled){background:var(--indigo-hover); transform:translateY(-1px);}
.improve-btn:disabled{opacity:.4; cursor:not-allowed; box-shadow:none; transform:none;}

/* OUTPUT */
.output-card{
  background:var(--white); border:1px solid var(--border); border-radius:12px;
  overflow:hidden; display:none;
  box-shadow:0 4px 20px -10px rgba(30,27,75,.15);
}
.output-card.show{display:block;}
.output-head{
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 20px; border-bottom:1px solid var(--border); background:var(--card);
}
.output-head .label{font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--ink); text-transform:uppercase; letter-spacing:.06em; font-weight:600;}
.copy-btn{
  font-family:'IBM Plex Mono', monospace; font-size:12px; background:var(--white); border:1.5px solid var(--ink); color:var(--ink);
  padding:7px 14px; border-radius:6px; cursor:pointer; font-weight:600;
  box-shadow:0 2px 6px rgba(0,0,0,.08);
}
.copy-btn:hover{box-shadow:0 3px 10px rgba(0,0,0,.12);}
.copy-btn.copied{background:var(--teal); border-color:var(--teal); color:var(--white);}

.tags{display:flex; gap:8px; flex-wrap:wrap; padding:16px 20px 0;}
.tag{
  font-family:'IBM Plex Mono', monospace; font-size:11px; color:var(--indigo); border:1px solid var(--indigo-soft);
  background:var(--indigo-soft); padding:5px 11px; border-radius:5px; font-weight:600;
}

.prompt-text{
  font-family:'IBM Plex Mono', monospace; font-size:14.5px; line-height:1.8; color:var(--ink);
  padding:18px 20px 22px; white-space:pre-wrap;
  border-left:3px solid var(--teal); margin:16px 20px 20px; padding-left:16px;
}

/* INFO SECTIONS */
section.info{padding:52px 0;}
section.info.alt{background:var(--card);}
section.info h2{font-family:'IBM Plex Mono', monospace; font-size:24px; margin-bottom:14px; color:var(--ink);}
section.info p{color:var(--text-soft); font-size:15px; max-width:640px;}

.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:24px;}
.grid3 .card{border:1px solid var(--border); background:var(--white); padding:20px; border-radius:10px; box-shadow:0 2px 8px -6px rgba(0,0,0,.06);}
.grid3 .card .num{font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--amber); font-weight:700; margin-bottom:8px;}
.grid3 .card h3{font-family:'IBM Plex Mono', monospace; font-size:14.5px; margin:0 0 8px; color:var(--ink);}
.grid3 .card p{font-size:13.5px; margin:0; color:var(--text-soft);}

.faq-item{border-bottom:1px solid var(--border); padding:18px 0;}
.faq-item h3{font-family:'IBM Plex Mono', monospace; font-size:15px; margin:0 0 8px; color:var(--ink);}
.faq-item p{font-size:14px; color:var(--text-soft); margin:0;}

.legal p, .legal li{color:var(--ink-soft); font-size:15px;}
.legal h2{font-family:'IBM Plex Mono', monospace; font-size:19px; margin-top:34px;}
.legal ul{padding-left:20px;}
.updated{font-size:13px; color:var(--text-soft); font-family:'IBM Plex Mono', monospace;}

.contact-form{display:grid; gap:14px; max-width:480px;}
.contact-form label{font-family:'IBM Plex Mono', monospace; font-size:11px; text-transform:uppercase; color:var(--ink-soft); letter-spacing:.06em; font-weight:600;}
.contact-form input, .contact-form textarea{
  border:1.5px solid var(--border); border-radius:8px; padding:12px 14px; font-family:'IBM Plex Sans'; font-size:14.5px;
  outline:none;
}
.contact-form input:focus, .contact-form textarea:focus{border-color:var(--indigo);}
.contact-form button{
  font-family:'IBM Plex Mono', monospace; font-weight:700; font-size:14px; background:var(--amber); color:var(--white);
  border:none; border-radius:8px; padding:13px 24px; cursor:pointer; justify-self:start;
  box-shadow:0 8px 20px -8px rgba(249,115,22,.65);
}

/* FOOTER — grid-based so columns always align cleanly */
footer.site-footer{
  background:var(--nav); color:#A5A3D6; padding:44px 0 28px; margin-top:40px;
}
footer.site-footer .footer-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:32px;
}
footer.site-footer .col h4{font-family:'IBM Plex Mono', monospace; color:var(--white); font-size:13px; margin:0 0 14px;}
footer.site-footer .col a{font-size:13px; color:#A5A3D6; text-decoration:none; display:block; margin-bottom:10px;}
footer.site-footer .col a:hover{color:var(--white);}
.footer-bottom{
  font-family:'IBM Plex Mono', monospace; font-size:12px; color:#716FA0;
  margin-top:32px; border-top:1px solid #33305F; padding-top:20px;
}

@media (max-width:780px){
  .tool-grid{grid-template-columns:1fr;}
  .select-row{grid-template-columns:1fr;}
}
@media (max-width:720px){
  .grid3{grid-template-columns:1fr;}
  h1{font-size:30px;}
  .nav-links{display:none;}
  footer.site-footer .footer-grid{grid-template-columns:1fr; gap:24px;}
}
