*{box-sizing:border-box}
html,body{height:100%}
a{color:inherit;text-decoration:none}
.container{max-width:1000px;margin:0 auto;padding:20px}

.card{
  background:var(--card); border:1px solid var(--line); border-radius:16px;
  box-shadow:0 8px 20px rgba(17,24,39,.06); padding:20px;
  content-visibility:auto; contain-intrinsic-size: 600px;
}

.hero{margin:12px 0 18px 0}
.hero-header{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;}
.hero h1{margin:0;font-size:28px}
.hero p{margin:4px 0 0;color:var(--muted);font-size:15px}

.home-btn{
  display:inline-block; padding:8px 14px; border-radius:10px;
  background:linear-gradient(90deg,var(--brand),var(--brand2)); color:#fff; font-weight:700; font-size:14px;
  transition:transform .15s ease;
  min-height:44px; line-height:1.2;
}
.home-btn:hover{transform:translateY(-1px)}

.review-btn{
  display:inline-flex; align-items:center; gap:8px; line-height:1.2;
  font-weight:800; letter-spacing:.2px; padding:10px 16px; border-radius:12px;
  background: linear-gradient(90deg, rgb(120 231 103), var(--brand2)); color:#fff;
  box-shadow:0 8px 22px rgba(124,58,237,.22);
  cursor:pointer; user-select:none;
  min-height:44px;
}
.review-btn .icon{width:18px;height:18px;display:block;flex:0 0 18px;filter:drop-shadow(0 1px 0 rgba(0,0,0,.2))}
.review-btn:hover{transform:translateY(-1px) scale(1.01)}

form.ai{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
@media (max-width:820px){ form.ai{grid-template-columns:1fr} }

.field{display:flex;flex-direction:column;gap:6px}
label{font-weight:700}
input[type=text], input[type=number], select{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:12px;
  background:rgba(255,255,255,.02); color:var(--text); font-size:12px; outline:none;
  transition:box-shadow .15s ease, border-color .15s ease;
}
input:focus, select:focus{box-shadow:0 0 0 6px var(--ring);border-color:var(--brand)}
.hint{font-size:12px;color:var(--muted)}

.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.btn{
  appearance:none;border:0;border-radius:12px;padding:12px 18px;font-weight:800;
  background:linear-gradient(90deg,var(--brand),var(--brand2));color:#fff;cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease; box-shadow:0 8px 18px rgba(37,99,235,.22);
  min-height:44px; line-height:1.2;
}
.btn:hover{transform:translateY(-1px)}
.btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}
.btn.secondary{background:transparent;color:var(--text);border:1px solid var(--line);box-shadow:none}
.btn.ghost{background:transparent;border:1px dashed var(--line);color:var(--text)}
.btn.secondary:hover{background:linear-gradient(180deg,rgba(148,163,184,.10),transparent)}
.btn.ghost:hover{border-color:var(--brand)}

.result{grid-column:1/-1;margin-top:16px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;min-height:60px}
.result pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font:inherit;color:inherit;font-size:17px}

.loader{display:inline-flex;align-items:center;gap:8px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--brand);animation:bounce 1s infinite alternate}
.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}
@keyframes bounce{to{transform:translateY(-6px)}}
@media (prefers-reduced-motion: reduce){ .dot{animation:none} .btn:hover{transform:none} }

.offer{margin-top:16px;display:grid;grid-template-columns:1.4fr .6fr;gap:14px;align-items:start}
@media (max-width:820px){ .offer{grid-template-columns:1fr} }
.offer .copy{font-size:15px}
.offer .fine{font-size:12px;color:var(--muted);margin-top:8px}
.offer .panel{border:1px dashed var(--line);border-radius:12px;padding:12px;background:linear-gradient(180deg,rgba(37,99,235,.05),transparent)}

footer{margin:30px 0 20px 0;display:flex;justify-content:space-between;flex-wrap:wrap;color:var(--muted);font-size:13px}
footer ul{list-style:none;display:flex;gap:12px;padding:0;margin:0}

.status{
  position: sticky; top: 0; z-index: 50; margin-top:10px; padding:10px 12px;
  border:1px solid var(--line); border-radius:12px;
  background: linear-gradient(180deg, rgba(148,163,184,.12), transparent);
  backdrop-filter: blur(4px); min-height:40px; display:flex; align-items:center;
  line-height:24px; font-size:14px; color:var(--muted);
  left:0; right:0;
}
.status.ok{color:var(--ok)} .status.err{color:var(--err)}

.pillbar{display:flex;flex-wrap:wrap;gap:8px;row-gap:10px;margin-top:10px}
.pill{appearance:none;border:1px solid var(--line);background:linear-gradient(180deg,rgba(148,163,184,.10),transparent);color:inherit;border-radius:999px;padding:8px 12px;font-weight:700;cursor:pointer;min-height:44px;line-height:1.2}
.pill:hover{background:rgba(148,163,184,.18)}

.feedback{
  grid-column:1/-1; margin-top:14px; padding:12px;
  border:1px solid var(--line); border-radius:12px;
  background:linear-gradient(180deg, rgba(37,99,235,.04), transparent);
  display:flex; align-items:center; gap:10px; flex-wrap:wrap
}
.thumb{
  appearance:none; border:1px solid var(--line); background:var(--card); color:inherit;
  border-radius:12px; padding:10px 14px; font-weight:800; cursor:pointer;
  display:inline-flex; align-items:center; gap:8px; transition:transform .1s ease;
  min-height:44px; line-height:1.2;
}
.thumb:hover{transform:translateY(-1px)}
.thumb[disabled]{opacity:.6; cursor:not-allowed; transform:none}
.ico{width:18px;height:18px;display:block}
.counters{margin-left:auto; display:flex; gap:10px; align-items:center; font-weight:700}
.cnt{padding:6px 10px; border:1px solid var(--line); border-radius:10px; background:var(--card)}

.share-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:16px}
.share-modal[hidden]{display:none}
.share-dialog{width:min(680px,100%);background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:16px}
.share-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.share-pill{appearance:none;border:1px solid var(--line);background:var(--card);color:inherit;border-radius:999px;padding:8px 12px;font-weight:700;cursor:pointer;min-height:44px;line-height:1.2}
.share-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
#share-text{font-size:14px;line-height:1.4}

.ad-slot{min-height:120px}

.help{
  margin-top:18px;
  background:linear-gradient(180deg, rgba(37,99,235,.06), transparent);
  border:1px solid var(--line);
  border-radius:12px;
  padding:14px
}
.help h2{margin:0 0 8px 0;font-size:18px}
.help p{margin:8px 0 0 0;color:var(--text);font-size:15px}
.help em{color:var(--muted)}
.help strong{font-weight:800}
