:root{--bg:#faf8f4;--card:#fff;--ink:#16202e;--mute:#5b6675;--line:#e6e1d8;--accent:#0a66c2;--accent2:#e8590c;--soft:#eaf2fb;--fg-on-accent:#fff;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0f1620;--card:#172130;--ink:#eef2f7;--mute:#9aa7b8;--line:#263447;--accent:#4a9eed;--accent2:#ff8a4c;--soft:#15263a;--fg-on-accent:#08111c}}
:root[data-theme="dark"]{--bg:#0f1620;--card:#172130;--ink:#eef2f7;--mute:#9aa7b8;--line:#263447;--accent:#4a9eed;--accent2:#ff8a4c;--soft:#15263a;--fg-on-accent:#08111c}
html{scroll-behavior:smooth;scroll-padding-top:env(safe-area-inset-top,0px)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;line-height:1.6}
h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.15;margin:0}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
nav{display:flex;justify-content:space-between;align-items:center;padding:18px 0}
.logo{font-family:Fraunces,serif;font-weight:700;font-size:1.3rem}.logo span{color:var(--accent2)}
.btn{display:inline-block;background:var(--accent);color:var(--fg-on-accent);border:0;border-radius:10px;padding:12px 22px;font:600 1rem Inter,sans-serif;cursor:pointer;text-decoration:none}
.btn:hover{opacity:.9}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:40px 0 70px}
.tag{display:inline-block;background:var(--soft);color:var(--accent);font-weight:600;font-size:.82rem;padding:5px 12px;border-radius:99px;margin-bottom:16px}
h1{font-size:clamp(2.1rem,5vw,3.4rem)}
h1 em{color:var(--accent2);font-style:normal}
.lead{font-size:1.1rem;color:var(--mute);margin:18px 0 26px;max-width:520px}
form.wl{display:flex;gap:10px;flex-wrap:wrap;max-width:500px}
form.wl input,form.wl select{flex:1 1 220px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:1rem Inter,sans-serif}
.note{font-size:.85rem;color:var(--mute);margin-top:10px}
.ok{display:none;background:var(--soft);border:1px solid var(--accent);border-radius:12px;padding:14px 18px;max-width:500px;font-weight:500}
.mock{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 12px 40px rgba(0,0,0,.08)}
.mock h4{margin:0 0 4px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mute)}
.mock .row{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 14px}
.chip{background:var(--soft);color:var(--accent);padding:4px 10px;border-radius:99px;font-size:.82rem;font-weight:500}
.chip.o{background:transparent;border:1px solid var(--accent2);color:var(--accent2)}
.mock p{margin:0 0 14px;font-size:.95rem}
section{padding:60px 0}
.center{text-align:center}
h2{font-size:clamp(1.7rem,3.5vw,2.4rem);margin-bottom:12px}
.sub{color:var(--mute);max-width:640px;margin:0 auto 36px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}
.card h3{font-size:1.15rem;margin-bottom:8px}
.card p{margin:0;color:var(--mute);font-size:.95rem}
.num{font-family:Fraunces,serif;color:var(--accent2);font-size:1.6rem;font-weight:700}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:820px;margin:0 auto}
.vs .card ul{margin:10px 0 0;padding-left:18px;color:var(--mute);font-size:.95rem}
.vs .best{border:2px solid var(--accent)}
.cta{background:var(--ink);color:var(--bg);border-radius:20px;padding:50px 24px;text-align:center}
.cta .sub{color:inherit;opacity:.75}
.cta form{margin:0 auto;justify-content:center}
.cta .ok{margin:0 auto;color:var(--ink);background:var(--bg)}
footer{padding:30px 0;color:var(--mute);font-size:.85rem;text-align:center}
@media(max-width:760px){.hero{grid-template-columns:1fr;padding-top:10px}.vs{grid-template-columns:1fr}}
/* Shared additions */
a.logo{color:inherit;text-decoration:none}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.btn-alt{background:transparent;color:var(--accent);border:1.5px solid var(--accent);padding:10px 20px}
.try-link{margin:18px 0 0}
.nav-link{color:var(--mute);text-decoration:none;font-weight:500}
.nav-link:hover{color:var(--ink)}

/* Try it page */
.try-head{padding:30px 0 28px;max-width:640px}
.try-head .lead{margin-bottom:0}
.try{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px;align-items:start;padding-bottom:60px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px}
.gen{position:sticky;top:20px}
.field{margin-bottom:18px}
.field>label,.field legend{display:block;font-weight:600;font-size:.92rem;margin-bottom:6px;padding:0}
.field .hint{font-weight:400;color:var(--mute);font-size:.82rem}
fieldset.field{border:0;margin:0 0 18px;padding:0;min-width:0}
.gen input[type=text],.gen textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:1rem Inter,sans-serif}
.gen textarea{resize:vertical;min-height:96px}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px;padding:10px 6px;border:1px solid var(--line);border-radius:10px;background:var(--bg);cursor:pointer;font-weight:600;font-size:.92rem;min-height:48px}
.seg label small{font-weight:400;color:var(--mute);font-size:.75rem}
.seg input:checked+label{border-color:var(--accent);background:var(--soft);color:var(--accent)}
.seg input:focus-visible+label{outline:3px solid var(--accent);outline-offset:2px}
.gen .btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px}
.gen .btn[disabled]{opacity:.7;cursor:progress}
.spin{width:18px;height:18px;border:2.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite;display:none}
.loading .spin{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
.err{display:none;margin-top:14px;padding:12px 14px;border:1px solid var(--accent2);border-radius:10px;color:var(--accent2);background:transparent;font-size:.92rem;font-weight:500}
.out{min-height:340px}
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--mute);min-height:340px;border-style:dashed}
.empty .num{font-size:2.2rem;margin-bottom:6px}
.empty h3{color:var(--ink);font-size:1.2rem;margin-bottom:6px}
.empty p{margin:0;max-width:340px}
.plan h4{margin:0 0 6px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mute)}
.plan .blk{margin-bottom:22px}
.plan .blk:last-child{margin-bottom:0}
.plan .hook{font-family:Fraunces,Georgia,serif;font-size:1.3rem;line-height:1.3;margin:0}
.plan ol{margin:0;padding-left:20px}
.plan ol li{margin-bottom:6px}
.plan ol li::marker{color:var(--accent2);font-weight:700}
.draft{white-space:pre-wrap;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:16px;font-size:.95rem;overflow-wrap:anywhere}
.blk-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.blk-head h4{margin:0}
.copy{background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:6px 12px;font:500 .85rem Inter,sans-serif;cursor:pointer;min-height:36px}
.copy:hover{border-color:var(--accent);color:var(--accent)}
.visual{display:flex;gap:12px;align-items:flex-start;background:var(--soft);border-radius:12px;padding:14px 16px}
.visual .chip{flex:none;background:var(--card)}
.visual p{margin:0;font-size:.95rem}
.meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}
.skel{display:none}
.skel div{height:14px;border-radius:7px;background:linear-gradient(90deg,var(--line),var(--soft),var(--line));background-size:200% 100%;animation:sh 1.3s ease-in-out infinite;margin-bottom:12px}
.skel .h{height:26px;width:85%;margin-bottom:22px}
.skel .s{width:60%}
.skel .b{height:120px;margin:22px 0}
@keyframes sh{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media(prefers-reduced-motion:reduce){.spin,.skel div{animation:none}}
@media(max-width:860px){.try{grid-template-columns:1fr}.gen{position:static}.out,.empty{min-height:220px}}
@media(max-width:420px){.panel{padding:18px}.visual{flex-direction:column}nav .nav-link{display:none}}
