:root{
  --coral:#FF6B4A; --coral-dark:#E8502F;
  --teal:#0FB5A6; --sky:#3B9EFF; --sun:#FFC24B;
  --navy:#1C2B3A; --slate:#5A6B7B; --line:#EFE3D5;
  --cream:#FFFBF5; --sand:#FFF4E8; --white:#fff;
  --shadow:0 10px 30px rgba(28,43,58,.08);
  --shadow-lg:0 20px 50px rgba(28,43,58,.14);
  --radius:18px;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Nunito',system-ui,sans-serif;color:var(--navy);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,.logo{font-family:'Poppins',system-ui,sans-serif;line-height:1.15}
.wrap{max-width:820px;margin:0 auto;padding:0 20px}
a{color:inherit}

/* Topbar */
.topbar{position:sticky;top:0;z-index:10;background:rgba(255,251,245,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:62px}
.logo{font-weight:800;font-size:22px;text-decoration:none}
.logo .dot{color:var(--coral)}
.tag{font-size:13px;font-weight:700;color:var(--slate);background:#fff;border:1px solid var(--line);padding:6px 12px;border-radius:999px}

/* Hero */
.hero{background:
    radial-gradient(900px 400px at 85% -20%, rgba(59,158,255,.16), transparent 60%),
    radial-gradient(700px 400px at 0% 0%, rgba(15,181,166,.15), transparent 55%),
    var(--sand);
  padding:52px 0 44px;border-bottom:1px solid var(--line)}
.hero h1{font-size:38px;font-weight:800;letter-spacing:-.5px;margin:0 0 10px}
.hero h1 .hl{background:linear-gradient(120deg,var(--coral),var(--sun));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:var(--slate);font-size:18px;max-width:560px;margin:0}

/* Content */
main .wrap, .page{max-width:820px;margin:0 auto;padding:0 20px}
.section-wrap{padding:34px 0 60px}
h1.plain{font-size:30px;margin:30px 0 8px}
.lead{color:var(--slate);margin:0 0 26px;font-size:17px}

/* Form */
.pform{margin-top:30px}
fieldset{border:none;background:var(--white);border-radius:var(--radius);padding:22px 24px;margin:0 0 22px;box-shadow:var(--shadow);border:1px solid var(--line)}
legend{font-family:'Poppins';font-weight:700;color:var(--coral);font-size:15px;text-transform:uppercase;letter-spacing:.6px;padding:0 4px}
.field{margin-bottom:16px}
label{display:block;font-weight:700;font-size:14px;margin-bottom:6px;color:var(--navy)}
input[type=text],textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font:inherit;background:var(--cream);transition:border-color .12s,box-shadow .12s}
input[type=text]:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,181,166,.18);background:#fff}
textarea{resize:vertical}

/* Buttons */
.btn{display:inline-block;border:none;border-radius:999px;padding:14px 28px;font-family:'Poppins';font-weight:600;font-size:15px;cursor:pointer;text-decoration:none;transition:transform .14s,box-shadow .14s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--coral);color:#fff;box-shadow:0 8px 20px rgba(255,107,74,.35)}
.btn-primary:hover{box-shadow:0 12px 26px rgba(255,107,74,.45)}
.btn-ghost{background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:var(--shadow)}

/* Actions row */
.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:24px 0 50px}
.actions form{margin:0}

/* Cards */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin:24px 0 40px;box-shadow:var(--shadow)}
.card .btn{margin:10px 0}
.note{color:var(--slate);font-size:14px;margin-top:10px}

/* Preview */
.preview-frame{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;height:72vh;box-shadow:var(--shadow-lg);margin-top:8px}
.preview-frame iframe{width:100%;height:100%;border:0}

/* Theme picker */
.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-top:30px}
.theme-card{display:flex;flex-direction:column;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 16px;box-shadow:var(--shadow);text-decoration:none;transition:transform .14s,box-shadow .14s}
.theme-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.theme-emoji{font-size:40px}
.theme-label{font-family:'Poppins';font-weight:700;color:var(--navy);text-align:center}

/* Success */
.big-emoji{font-size:46px}

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

@media(max-width:600px){
  .hero h1{font-size:30px}
  .hero p{font-size:16px}
}
