:root{
  --bg:#aec4e8; --ink:#1e2842; --muted:#5a6685;
  --card:#ffffff; --peach:#f6ddc9;
  --spark:#ec6a3a; --spark-ink:#c4501f;
  --line:#dbe3f2;
  --disp:"Avenir Next","Segoe UI",system-ui,sans-serif;
  --body:system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:24px; --r-sm:14px;
  --shadow:0 26px 60px -28px rgba(30,42,72,.45);
  --shadow-sm:0 12px 30px -16px rgba(30,42,72,.4);
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:var(--body); color:var(--ink); background:var(--bg);
  line-height:1.5; -webkit-font-smoothing:antialiased; min-height:100vh;
}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px 80px;}

.split{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;}
.split > .col{min-width:0;}
@media (max-width:900px){.split{grid-template-columns:1fr;}}

header.top{display:flex;align-items:center;justify-content:space-between;padding:28px 0 8px;}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:700;font-size:21px;letter-spacing:-.01em;color:var(--ink);text-decoration:none;}
.brand .dot{width:14px;height:14px;border-radius:4px;background:var(--spark);display:inline-block;}
.tagline{color:var(--muted);font-size:15px;font-weight:600;}

h1.page-title{font-family:var(--disp);font-weight:700;font-size:34px;letter-spacing:-.02em;margin:18px 0 6px;}
p.page-lead{color:var(--muted);font-size:16px;max-width:560px;margin-bottom:28px;}

.card{
  background:var(--card); border-radius:var(--r); padding:28px;
  box-shadow:var(--shadow-sm); border:1px solid rgba(255,255,255,.8);
  margin-bottom:22px;
}
.card h2{font-family:var(--disp);font-weight:700;font-size:20px;letter-spacing:-.01em;margin-bottom:4px;}
.card .hint{color:var(--muted);font-size:14px;margin-bottom:18px;}

label{display:block;font-weight:700;font-size:13px;color:var(--ink);margin-bottom:6px;}
textarea, input[type="text"], input[type="file"]{
  width:100%; font-family:var(--body); font-size:15px; color:var(--ink);
  background:#f8faff; border:1px solid var(--line); border-radius:var(--r-sm);
  padding:12px 14px; resize:vertical;
}
textarea:focus, input[type="text"]:focus{outline:2px solid var(--spark); outline-offset:1px;}
textarea{min-height:88px;}

.field{margin-bottom:16px;}
.field:last-child{margin-bottom:0;}

.or-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin:22px 0 16px;}
.or-divider::before, .or-divider::after{content:"";flex:1;height:1px;background:var(--line);}

.catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:12px;align-items:start;}
.preset{cursor:pointer;position:relative;display:block;}
.preset input{position:absolute;opacity:0;pointer-events:none;}
.preset .thumb{display:block;width:100%;border-radius:14px;overflow:hidden;aspect-ratio:4/5;border:2px solid transparent;box-shadow:var(--shadow-sm);}
.preset .thumb img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.preset input:checked + .thumb{border-color:var(--spark);}
.preset .name{text-align:center;font-size:14px;font-weight:700;margin-top:8px;}

.slide{border:1px solid var(--line);border-radius:var(--r-sm);padding:16px;margin-bottom:14px;position:relative;}
.slide .slide-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.slide .slide-head .num{font-family:var(--disp);font-weight:800;color:var(--spark-ink);font-size:13px;letter-spacing:.04em;text-transform:uppercase;}
.slide .remove-slide{background:none;border:none;color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;text-decoration:underline;}
.slide-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.slide-grid .full{grid-column:1 / -1;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  background:var(--spark); color:#fff; border:none; font-family:var(--disp);
  font-weight:700; font-size:15px; padding:12px 20px; border-radius:999px;
  cursor:pointer; box-shadow:0 12px 26px -12px rgba(236,106,58,.8);
  text-decoration:none;
}
.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;}
.btn.ghost{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm);border:1px solid var(--line);}
.btn.lg{font-size:17px;padding:15px 26px;}
.btn.block{width:100%;}

.prompt-helper{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f4f7ff;border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;margin-bottom:14px;font-size:14px;color:var(--muted);font-weight:600;}
.prompt-helper .btn{flex:none;white-space:nowrap;}
.prompt-helper b{color:var(--ink);}
.prompt-helper.slim{margin:10px 0;}

.mini-hint{color:var(--muted);font-size:13px;font-weight:400;margin:-2px 0 8px;}

.llm-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;}
.llm-links .llm-label{color:var(--muted);font-size:13px;font-weight:700;}
.llm-links a{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-weight:700;font-size:13px;color:var(--ink);text-decoration:none;box-shadow:var(--shadow-sm);}
.llm-links a:hover{border-color:var(--spark);}
.llm-links svg,.llm-links img{width:16px;height:16px;display:block;border-radius:4px;}
#paste-all{min-height:150px;}
#slides-editor{margin-top:6px;}
#slides-editor summary{cursor:pointer;font-weight:700;font-size:14px;color:var(--muted);margin-bottom:14px;user-select:none;}
#slides-editor[open] summary{color:var(--ink);}
@media (max-width:560px){.prompt-helper{flex-direction:column;align-items:flex-start;}}

.cover-choice{display:flex;gap:18px;margin-bottom:14px;}
.cover-choice label{display:flex;align-items:center;gap:7px;font-weight:600;font-size:14px;}
.cover-choice input{width:auto;}
.cover-extra{display:none;}
.cover-extra.active{display:block;}

.cf-turnstile{margin:20px 0;}

.error-msg{background:#fdeeea;color:#a8341c;border:1px solid #f3c6b8;border-radius:var(--r-sm);padding:12px 14px;font-size:14px;font-weight:600;margin-bottom:16px;display:none;}
.error-msg.active{display:block;}

.status-row{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;font-weight:600;margin-top:14px;}
.spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--spark);animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

#results{display:none;}
#results.active{display:block;}
.preview-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;margin-bottom:18px;}
.preview-strip img{height:220px;border-radius:12px;box-shadow:var(--shadow-sm);flex:none;}
.upsell{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px;}
.upsell .note{color:var(--muted);font-size:13px;width:100%;}

footer.foot{text-align:center;color:var(--muted);font-size:13px;padding:30px 0 0;}
