:root{--lime:#9fe870;--lime-d:#163300;--ink:#0e0f0c;--body:#454745;--mute:#868685;--paper:#f3f5ef;--card:#fff;--line:#dfe3d9;--r:24px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}
img,canvas{max-width:100%;display:block}
.top{display:flex;justify-content:space-between;align-items:center;padding:18px clamp(16px,4vw,48px);max-width:1280px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:22px;letter-spacing:-.03em;color:var(--ink);text-decoration:none}
.mark{width:22px;height:22px;border-radius:7px 7px 7px 2px;background:var(--ink);position:relative}
.mark:after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--lime)}
nav{display:flex;align-items:center;gap:20px;font-size:14px;font-weight:600}
nav a{color:var(--ink);text-decoration:none}
.pill{padding:8px 14px;border-radius:999px}.pill-dark{background:var(--ink);color:#fff}
main{max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}
.hero{padding:clamp(20px,4vw,44px) 0 24px;max-width:900px}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--lime-d);margin:0 0 14px}
.eyebrow.dark{color:var(--lime)}
h1{font-size:clamp(42px,8.5vw,88px);line-height:.92;font-weight:900;letter-spacing:-.045em;margin:0 0 22px}
h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--lime) 62% 92%,transparent 92%);padding:0 .06em}
.lede{font-size:clamp(17px,2.2vw,21px);color:var(--body);max-width:620px;margin:0}
.studio{margin:12px 0 56px}
.drop{border:2.5px dashed #b9c3ae;border-radius:var(--r);background:var(--card);padding:clamp(22px,3.5vw,36px) 20px;text-align:center;cursor:pointer;transition:.18s;color:var(--lime-d)}
.drop:hover,.drop:focus-visible,.drop.over{border-color:var(--ink);background:#fafff5;outline:none;transform:translateY(-2px)}
.drop-title{font-size:clamp(18px,2.6vw,24px);font-weight:800;margin:10px 0 4px;color:var(--ink);letter-spacing:-.02em}
.drop-sub{margin:0;color:var(--mute);font-size:14px}
.bar{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin:18px 0 6px;padding:12px 16px;background:var(--card);border-radius:18px;border:1px solid var(--line)}
.seg{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.seg.right{margin-left:auto}
.lbl{font-size:12px;font-weight:700;color:var(--mute);text-transform:uppercase;letter-spacing:.07em;margin-right:2px}
.sw{width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1.5px var(--line);background:var(--c,#fff);cursor:pointer;padding:0;position:relative}
.sw.on{box-shadow:0 0 0 2.5px var(--ink)}
.sw-t{background:conic-gradient(#d8dcd2 25%,#fff 0 50%,#d8dcd2 0 75%,#fff 0) 0 0/12px 12px}
.sw-pick{background:conic-gradient(red,yellow,lime,cyan,blue,magenta,red);overflow:hidden;display:inline-block}
.sw-pick input{opacity:0;width:100%;height:100%;cursor:pointer;position:absolute;inset:0}
.chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;color:var(--ink)}
.chip small{color:var(--mute);font-weight:600;margin-left:3px}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.chip.on small{color:#b9c3ae}
.btn{font:inherit;font-weight:800;border-radius:999px;padding:12px 22px;border:0;cursor:pointer;text-decoration:none;display:inline-block;text-align:center;transition:.15s}
.btn:active{transform:scale(.97)}
.btn-dark{background:var(--ink);color:#fff}.btn-ghost{background:transparent;color:var(--ink)}
.btn-lime{background:var(--lime);color:var(--lime-d);font-size:18px;padding:16px 28px;width:100%}
.btn-lime:hover{background:#b4f08c}
.tag{background:var(--lime);color:var(--lime-d);font-size:11px;padding:2px 7px;border-radius:99px;margin-left:6px;vertical-align:1px}
.status{font-size:14px;color:var(--body);margin:8px 4px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:18px}
.card{background:var(--card);border-radius:var(--r);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column}
.stage{position:relative;aspect-ratio:4/3;background:conic-gradient(#e6e9e0 25%,#fff 0 50%,#e6e9e0 0 75%,#fff 0) 0 0/20px 20px;display:grid;place-items:center;overflow:hidden}
.stage canvas,.stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.stage .orig{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .25s}
.card.done .stage:hover .orig,.card.done .stage.peek .orig{opacity:1}
.card.done .stage .orig{opacity:0}
.card.work .stage .orig{opacity:.55}
.card.work .stage:after{content:"";position:absolute;left:0;right:0;height:3px;background:var(--lime);box-shadow:0 0 18px var(--lime);animation:scan 1.4s ease-in-out infinite alternate}
@keyframes scan{from{top:4%}to{top:96%}}
.meta{display:flex;align-items:center;gap:8px;padding:12px 14px;font-size:13px}
.meta .name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}
.meta .st{color:var(--mute)}
.dl{font:inherit;font-weight:800;font-size:13px;background:var(--lime);color:var(--lime-d);border:0;border-radius:999px;padding:8px 14px;cursor:pointer}
.hint{font-size:12px;color:var(--mute);padding:0 14px 12px;margin-top:-6px}
.card.locked{background:repeating-linear-gradient(135deg,#fff 0 12px,#f6f8f2 12px 24px)}
.card.locked .stage{background:none;aspect-ratio:auto;padding:28px 20px;text-align:center;color:var(--body)}
.card.locked a{color:var(--ink);font-weight:800}
.how{padding:30px 0 50px}.how h2,.pro h2{font-size:clamp(30px,5vw,56px);line-height:1;letter-spacing:-.04em;font-weight:900;margin:0 0 22px}
.how ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.how li{background:var(--card);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:10px;border:1px solid var(--line)}
.how b{font-size:40px;font-weight:900;letter-spacing:-.04em;color:var(--lime-d)}
.pro{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;background:var(--ink);color:#fff;border-radius:32px;padding:clamp(24px,5vw,56px);margin-bottom:56px;align-items:center}
.pro p{color:#c9cfc2}.pro h2{color:#fff}
.ticks{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px}
.ticks li{padding-left:28px;position:relative;color:#fff;font-weight:600}
.ticks li:before{content:"";position:absolute;left:0;top:5px;width:16px;height:16px;border-radius:50%;background:var(--lime)}
.pro-card{background:#1a1c17;border-radius:24px;padding:28px;text-align:center}
.price{font-size:56px;font-weight:900;letter-spacing:-.04em;margin:0 0 14px;color:#fff!important;line-height:1}
.link{background:none;border:0;color:#c9cfc2;font:inherit;font-size:14px;text-decoration:underline;cursor:pointer;margin-top:14px}
.fine{font-size:12px;margin:10px 0 0}
footer{max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,48px) 40px;color:var(--mute);font-size:13px}
footer a{color:inherit;text-decoration:underline}
[hidden]{display:none!important}
@media(max-width:760px){.pro{grid-template-columns:1fr}.seg.right{margin-left:0;width:100%}.seg.right .btn-dark{flex:1}nav a:first-child{display:none}.grid{grid-template-columns:1fr}}
