:root{--bg:#FFF9EF;--surface:#FFFFFF;--surface-2:#FFF1D6;--ink:#1F140D;--ink-2:#6B5347;--line:#EFE2CC;--primary:#FF6B4A;--primary-hover:#F25A39;--accent:#FFD83A;--ok:#2E7D4F;--err:#C8402A;--ease:cubic-bezier(.32,.72,0,1);--font:"Manrope","Avenir Next","Segoe UI",system-ui,sans-serif;color-scheme:light}
@media (prefers-color-scheme:dark){:root{--bg:#181818;--surface:#1F1F1F;--surface-2:#272727;--ink:#FFF6E9;--ink-2:#B8A99C;--line:#313131;--primary:#FF7B5C;--primary-hover:#FF8F74;--ok:#6FCF97;--err:#FF8A73;color-scheme:dark}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:24px;font-weight:500;min-height:100vh;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
img,svg,video{max-width:100%;display:block}
h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700;letter-spacing:-.02em;text-wrap:balance}
h1{font-size:30px;line-height:36px}h2{font-size:24px;line-height:32px}h3{font-size:18px;line-height:28px}
button{font:inherit;color:inherit}a{color:inherit}
.skip{position:absolute;left:16px;top:-48px;background:var(--ink);color:var(--bg);padding:8px 12px;border-radius:8px;z-index:60}.skip:focus{top:16px}
:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:8px}
[hidden]{display:none!important}
.main{width:100%;max-width:720px;margin-inline:auto;padding:calc(16px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 32px max(16px,env(safe-area-inset-left,0px));display:grid;gap:24px}
.top{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--line);padding:calc(8px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-left,0px)) 0}
.top .brand{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;font-size:18px;padding-bottom:8px}
.top .brand img{width:28px;height:28px;border-radius:9999px}
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border-top:1px solid var(--line);padding:4px max(8px,env(safe-area-inset-right,0px)) calc(4px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))}
.tabs a{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:12px;font-size:14px;font-weight:600;color:var(--ink-2);text-decoration:none;transition:background-color .5s var(--ease),color .5s var(--ease)}
.tabs a[aria-current="page"]{background:var(--surface-2);color:var(--ink)}
@media (min-width:720px){.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:0}.tabs{position:static;display:flex;gap:4px;background:transparent;border:0;padding:0 0 8px}.tabs a{padding:0 16px}body{padding-bottom:32px}}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;line-height:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:9999px;background:var(--accent)}
.lead{color:var(--ink-2);font-size:16px;line-height:24px}
.stack{display:grid;gap:16px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.between{justify-content:space-between}
.card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:24px;display:grid;gap:16px}
.card.tight{padding:16px;gap:12px;border-radius:16px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;border-radius:9999px;border:1px solid transparent;font-size:16px;font-weight:600;text-decoration:none;cursor:pointer;background:var(--surface-2);color:var(--ink);transition:transform .5s var(--ease),background-color .5s var(--ease),opacity .5s var(--ease)}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:scale(.98)}
.btn-primary{background:var(--primary);color:#fff;box-shadow:0 12px 24px -12px var(--primary)}.btn-primary:hover{background:var(--primary-hover)}
.btn-ghost{background:transparent;border-color:var(--line)}
.btn-sm{min-height:40px;padding:8px 16px;font-size:14px}
.btn-block{width:100%}
.btn[disabled],.btn[aria-busy="true"]{opacity:.6;pointer-events:none}
.btn .spin{display:none;width:16px;height:16px;border-radius:9999px;border:2px solid currentColor;border-right-color:transparent;animation:spin .9s linear infinite}
.btn[aria-busy="true"] .spin{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
.field{display:grid;gap:4px}
.field label,.lbl{font-size:12px;line-height:16px;font-weight:700;color:var(--ink-2);letter-spacing:.04em;text-transform:uppercase}
.input,textarea.input,select.input{min-height:48px;width:100%;padding:12px 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit}
textarea.input{min-height:96px;resize:vertical}
.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 20%,transparent)}
.hint{font-size:12px;line-height:16px;color:var(--err);min-height:16px}
.micro{font-size:14px;line-height:20px;color:var(--ink-2)}
.fine{font-size:12px;line-height:16px;color:var(--ink-2)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{min-height:40px;padding:8px 16px;border-radius:9999px;border:1px solid var(--line);background:var(--surface);font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chip small{font-weight:500;opacity:.8}
.swatch{display:grid;gap:4px;justify-items:center}
.swatch input{width:56px;height:56px;border:0;padding:0;background:none;border-radius:9999px;cursor:pointer}
.swatch input::-webkit-color-swatch{border-radius:9999px;border:3px solid var(--surface);box-shadow:0 0 0 1px var(--line)}
.swatch input::-webkit-color-swatch-wrapper{padding:0}
.swatch span{font-size:12px;color:var(--ink-2)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
@media (min-width:480px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pick{position:relative;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--surface-2);border:3px solid transparent;cursor:pointer;padding:0;transition:border-color .4s var(--ease)}
.pick img{width:100%;height:100%;object-fit:cover}
.pick[aria-pressed="true"]{border-color:var(--primary)}
.pick.add{display:grid;place-items:center;color:var(--ink-2);font-size:14px;font-weight:600;border:1px dashed var(--line)}
.steps{display:flex;gap:4px}.steps i{flex:1;height:4px;border-radius:9999px;background:var(--line)}.steps i.on{background:var(--ink)}
.usage{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.usage .u{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 16px;display:grid;gap:2px}
.usage .u b{font-size:24px;line-height:32px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.usage .u span{font-size:12px;color:var(--ink-2)}
.list{display:grid;gap:8px}
.item{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px;text-decoration:none;transition:background-color .4s var(--ease)}
.item:hover{background:var(--surface-2)}
.item img,.item .ph{width:56px;height:70px;border-radius:8px;object-fit:cover;background:var(--surface-2)}
.item b{display:block;font-size:14px;line-height:20px}.item span{font-size:12px;line-height:16px;color:var(--ink-2)}
.tag{display:inline-flex;align-items:center;font-size:12px;line-height:16px;font-weight:700;padding:2px 8px;border-radius:9999px;background:var(--surface-2);color:var(--ink)}
.tag.ok{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}.tag.err{background:color-mix(in srgb,var(--err) 18%,transparent);color:var(--err)}.tag.wait{background:var(--accent);color:#1F140D}
.preview{display:grid;gap:12px}
.preview .frame{border-radius:16px;overflow:hidden;background:var(--surface-2);box-shadow:0 24px 48px -24px rgba(31,20,13,.35)}
.preview .frame svg,.preview .frame video,.preview .frame img{width:100%;height:auto;display:block}
.slides{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px;scrollbar-width:none}
.slides::-webkit-scrollbar{display:none}
.slides .frame{flex:0 0 84%;scroll-snap-align:start}
@media (min-width:600px){.slides .frame{flex-basis:46%}}
.kb{position:relative;aspect-ratio:9/16;overflow:hidden;background:#000}
.preview .frame.kb img,.kb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 10s var(--ease) infinite alternate}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.12)}}
.kb .t{position:absolute;left:12px;right:48px;top:38%;font-size:22px;line-height:28px;font-weight:700;color:#1F140D;background:var(--accent);padding:4px 8px;display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.plans{display:grid;gap:12px}
@media (min-width:720px){.plans{grid-template-columns:repeat(2,1fr)}}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:12px;height:100%}
.plan .btn{margin-top:auto}
.plan.on{border-color:var(--ink)}
.plan .price{font-size:36px;line-height:40px;font-weight:700;letter-spacing:-.03em}.plan .price small{font-size:14px;font-weight:500;color:var(--ink-2)}
.plan ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:14px;line-height:20px;color:var(--ink-2)}
.plan li::before{content:"✓ ";color:var(--ok);font-weight:700}
.toast{position:fixed;left:50%;bottom:calc(80px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:12px 16px;border-radius:12px;font-size:14px;font-weight:600;z-index:50;max-width:calc(100% - 32px);box-shadow:0 16px 32px -16px rgba(0,0,0,.5)}
.center{text-align:center}
.mark{width:72px;height:72px;border-radius:9999px;box-shadow:0 0 0 4px var(--accent);margin-inline:auto}
.progress{height:6px;border-radius:9999px;background:var(--line);overflow:hidden}.progress i{display:block;height:100%;background:var(--ink);width:10%;transition:width .8s var(--ease)}
.code{font-size:30px;letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums}
.logo-row{display:flex;align-items:center;gap:12px}.logo-row img{width:48px;height:48px;border-radius:12px;object-fit:contain;background:#fff;border:1px solid var(--line)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:14px}.kv b{color:var(--ink-2);font-weight:600}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.locked-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.locked{position:relative;border-radius:16px;overflow:hidden}
.locked .frame{filter:blur(6px) saturate(.9);transform:scale(1.04)}
.locked .lock{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:4px;background:rgba(31,20,13,.35);color:#fff;text-align:center}
.locked .lock svg{width:36px;height:36px}
.locked .lock b{font-size:14px;line-height:20px}.locked .lock span{font-size:12px;line-height:16px;opacity:.85}
.locked-ph{aspect-ratio:4/5;border-radius:16px;background:var(--surface-2)}
.plan .tag{justify-self:start}
.locked{aspect-ratio:4/5}
.locked .frame{height:100%}
.locked .frame svg{width:100%;height:auto;display:block}
