:root{
  --bg:#f3f3f3;
  --ink:#111;
  --muted:#555;
  --line:#d9d9d9;
  --panel:#fff;
  --red:#cc0000;
  --black:#000;
  --shadow: 0 10px 22px rgba(0,0,0,.08);
  --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--sans);
  background:var(--bg);
  color:var(--ink);
}

.wrap{
  width:min(1200px, 92vw);
  margin:0 auto;
}

.topbar{
  background:var(--black);
  color:#fff;
  border-bottom:3px solid var(--red);
}
.topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 0;
}
.brand-title{font-weight:800; font-size:20px}
.brand-sub{font-size:12px; opacity:.85}

.nav{display:flex; gap:18px; flex-wrap:wrap; align-items:flex-end; justify-content:flex-end}
.nav-item{
  background:transparent;
  color:#fff;
  border:none;
  cursor:pointer;
  font-weight:700;
  padding:10px 2px;
  font-size:14px;
  opacity:.92;
  border-bottom:3px solid transparent;
}
.nav-item:hover{opacity:1}
.nav-item.active{border-bottom-color:var(--red); opacity:1}

.panel{
  margin:18px 0 12px;
  background:var(--panel);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  padding:18px;
}
.panel h1{margin:0 0 8px; font-size:26px}
.sub{margin:0 0 14px; color:var(--muted); line-height:1.45}

.form{display:flex; flex-direction:column; gap:10px}
.label{font-size:13px; font-weight:700}
.input, .textarea, .select{
  width:100%;
  padding:12px 12px;
  border:1px solid var(--line);
  border-radius:2px;
  font-size:14px;
  outline:none;
  background:#fff;
}
.textarea{resize:vertical}
.select{padding:10px}

.row{display:flex; gap:12px; align-items:center; flex-wrap:wrap; justify-content:space-between}
.buttons{gap:10px; justify-content:flex-start}

.tone{display:flex; gap:8px; align-items:center; flex-wrap:wrap}
.tone-label{color:var(--muted); font-size:13px}
.tone-btn{
  border:1px solid var(--line);
  background:#fff;
  padding:8px 10px;
  cursor:pointer;
  font-weight:700;
  border-radius:2px;
}
.tone-btn.active{
  border-color:var(--red);
  color:var(--red);
}
.check{display:flex; gap:8px; align-items:center; color:var(--muted); font-size:13px}

.btn{
  border:1px solid var(--line);
  background:#fff;
  padding:10px 14px;
  cursor:pointer;
  font-weight:800;
  border-radius:2px;
}
.btn.primary{
  background:var(--black);
  color:#fff;
  border-color:var(--black);
}
.btn:disabled{opacity:.6; cursor:not-allowed}
.btn.full{width:100%}

.pill{
  font-size:12px;
  padding:6px 10px;
  border:1px solid var(--line);
  color:var(--muted);
  background:#fafafa;
  border-radius:999px;
}

.status{
  padding:10px 12px;
  border:1px solid var(--line);
  background:#fafafa;
  color:var(--muted);
}
.status.hidden{display:none}

.results-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 0 14px;
}
.results-line{
  color:#0b6b00;
  font-size:18px;
}
.usage{color:var(--muted); font-size:13px}

.grid{
  display:grid;
  grid-template-columns: 1.8fr 1fr;
  gap:16px;
  align-items:start;
}
@media (max-width: 980px){
  .grid{grid-template-columns:1fr}
}

.col-left, .col-right{min-width:0}

.lead{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  padding:16px;
}
.lead .title{
  font-size:40px;
  line-height:1.05;
  font-weight:900;
  margin:0 0 8px;
}
.lead .meta{
  color:var(--muted);
  font-size:13px;
}
.lead .dek{
  margin:10px 0 0;
  color:#222;
  line-height:1.45;
}
.lead-placeholder{color:var(--muted); font-size:14px}

.divider{
  height:3px;
  background:var(--red);
  margin:14px 0;
}

.list{
  display:grid;
  gap:12px;
}
.item{
  background:#fff;
  border:1px solid var(--line);
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.item .t{
  font-weight:900;
  font-size:16px;
}
.item .m{
  font-size:12px;
  color:var(--muted);
}
.item .d{
  color:#222;
  line-height:1.45;
}

.routine{
  margin-top:12px;
  background:#fff;
  border:1px solid var(--line);
  padding:14px;
}
.routine.hidden{display:none}
.routine h3{margin:0 0 10px}
.routine ul{margin:0; padding-left:18px; color:#222; line-height:1.55}

.box{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  padding:14px;
  margin-bottom:16px;
}
.box-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid var(--line);
  padding-bottom:10px;
  margin-bottom:10px;
}
.box-title{font-weight:900}
.box-sub{color:var(--muted); font-size:12px}
.fineprint{color:var(--muted); font-size:12px; margin-top:8px}

.gallery{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:10px;
}
@media (max-width: 540px){ .gallery{grid-template-columns:1fr} }
.ph{
  border:1px solid var(--line);
  background:#fafafa;
}
.ph img{display:block; width:100%; height:auto}
.ph .cap{padding:8px; font-size:12px; color:var(--muted); border-top:1px solid var(--line)}

.footer{
  margin:16px 0 28px;
  color:var(--muted);
  font-size:12px;
  border-top:1px solid var(--line);
  padding-top:12px;
}
