:root{--bright:#fcec01;--golden:#e9ce32;--soft:#f0e487;--indigo:#2a2f88;--paper:#fcfbfa;--ink:#2a2f88;--muted:#5b5fa6;--faint:#8a8dc0;--line:#e3e1d8;--shadow:0 4px 0 #1d2166;--round:18px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip;background-image:radial-gradient(1200px 420px at 50% -140px,rgba(252,236,1,.45),transparent 70%);background-repeat:no-repeat}img{max-width:100%;display:block}button,input{font:inherit}::selection{background:var(--bright);color:var(--indigo)}:focus-visible{outline:3px solid var(--indigo);outline-offset:3px}.wrap{max-width:980px;margin:0 auto;padding:0 20px 80px}.head{padding:34px 0 30px;text-align:center}.logo{width:min(440px,84vw);height:auto;margin:0 auto 20px}.sub{font-size:clamp(17px,2.5vw,21px);color:var(--ink);font-weight:600;max-width:48ch;margin:0 auto;line-height:1.45}.fine{font-size:13.5px;color:var(--muted);margin-top:12px}.stage{display:flex;flex-direction:column;align-items:center;gap:18px}.drop{position:relative;width:100%;max-width:420px;aspect-ratio:1;border:4px dashed var(--golden);border-radius:var(--round);background:#fffdf0;display:grid;place-items:center;cursor:pointer;overflow:hidden;transition:border-color .15s,background .15s,transform .1s}.drop:focus-visible,.drop:hover{border-color:var(--indigo);background:#fffbe0}.drop:active{transform:scale(.995)}.drop.has{border-style:solid;border-color:var(--indigo);padding:0;background:none}.drop.has img{width:100%;height:100%;object-fit:cover}.drop-empty{text-align:center;padding:30px;display:grid;grid-gap:8px;gap:8px}.drop-empty .plus{font-size:38px;line-height:1;color:var(--indigo);font-weight:800;width:76px;height:76px;border-radius:50%;background:var(--bright);border:3px solid var(--indigo);display:grid;place-items:center;margin:0 auto 12px;box-shadow:var(--shadow)}.drop-empty b{font-size:20px}.drop-empty span{color:var(--muted);font-size:14.5px}.actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.go{background:var(--bright);color:var(--indigo);border:3px solid var(--indigo);border-radius:999px;padding:14px 30px;font-weight:800;font-size:17px;cursor:pointer;min-height:52px;display:inline-flex;align-items:center;text-decoration:none;box-shadow:var(--shadow);transition:transform .1s,box-shadow .1s,background .12s}.go:hover:not(:disabled){background:#fff33a;transform:translateY(-2px);box-shadow:0 6px 0 #1d2166}.go:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #1d2166}.go:disabled{opacity:.55;cursor:default;box-shadow:none;transform:none}.alt{background:#fff;color:var(--indigo);border:3px solid var(--indigo);border-radius:999px;padding:14px 24px;cursor:pointer;min-height:52px;font-weight:700;box-shadow:var(--shadow);transition:transform .1s,box-shadow .1s}.alt:hover:not(:disabled){background:var(--soft);transform:translateY(-2px);box-shadow:0 6px 0 #1d2166}.alt:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #1d2166}.alt:disabled{opacity:.55;box-shadow:none}.err{color:#b3261e;font-size:14.5px;font-weight:600}.bar{width:100%;max-width:420px;height:14px;background:#fff;border:3px solid var(--indigo);border-radius:999px;overflow:hidden}.bar-f{height:100%;background:var(--bright);transition:width .4s ease}.reel{margin-top:44px}.frame{position:relative;aspect-ratio:1;border-radius:var(--round);overflow:hidden;border:4px solid var(--indigo);background:var(--soft);box-shadow:var(--shadow)}.layer{inset:0;width:100%;height:100%;object-fit:cover}.layer,.stamp{position:absolute}.stamp{left:14px;top:14px;z-index:20;background:var(--bright);color:var(--indigo);border:3px solid var(--indigo);border-radius:999px;padding:7px 18px;font-weight:800;font-size:17px;box-shadow:0 3px 0 #1d2166}.slider{width:100%;margin:20px 0 4px;height:40px;accent-color:var(--indigo);cursor:-webkit-grab;cursor:grab}.slider:active{cursor:-webkit-grabbing;cursor:grabbing}.ticks{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap}.tick{flex:1 1;min-width:72px;background:#fff;color:var(--muted);border:3px solid var(--line);border-radius:999px;padding:9px 6px;font-weight:700;font-size:13.5px;cursor:pointer;min-height:44px;transition:.12s}.tick:hover{border-color:var(--golden);color:var(--ink)}.tick.on{background:var(--bright);border-color:var(--indigo);color:var(--indigo)}.reel .actions{margin-top:20px}.reel .fine{text-align:center}.foot{margin-top:60px;padding:20px 22px;border-radius:var(--round);background:#fffdf0;border:3px solid var(--line)}.foot p{color:var(--muted);font-size:14px;line-height:1.65;max-width:70ch;margin:0 0 10px}.foot p:last-child{margin-bottom:0}.foot b{color:var(--ink)}@media (max-width:640px){.head{padding:24px 0 22px}.wrap{padding:0 16px 60px}.big figcaption{padding:38px 16px 16px}.results{margin-top:36px}.actions{width:100%}.actions .alt,.actions .go{flex:1 1;justify-content:center}}.dlbtn{position:absolute;z-index:22;right:14px;top:14px;display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--indigo);border:3px solid var(--indigo);border-radius:999px;padding:9px 16px 9px 13px;font-weight:800;font-size:15px;cursor:pointer;box-shadow:0 3px 0 #1d2166;min-height:44px;transition:transform .1s,box-shadow .1s,background .12s}.dlbtn:hover{background:var(--soft);transform:translateY(-2px);box-shadow:0 5px 0 #1d2166}.dlbtn:active{transform:translateY(2px);box-shadow:0 1px 0 #1d2166}.dlbtn svg{display:block}.overcta{position:absolute;z-index:25;left:50%;bottom:26%;transform:translateX(-50%);background:var(--bright);color:var(--indigo);border:4px solid var(--indigo);border-radius:999px;padding:16px 30px;font-weight:800;font-size:clamp(16px,2.4vw,21px);text-decoration:none;text-align:center;line-height:1.25;box-shadow:0 5px 0 #1d2166;max-width:calc(100% - 28px);animation:pop .35s ease-out;transition:transform .1s,box-shadow .1s,background .12s}.overcta:hover{background:#fff33a;transform:translateX(-50%) translateY(-2px);box-shadow:0 7px 0 #1d2166}.overcta:active{transform:translateX(-50%) translateY(3px);box-shadow:0 2px 0 #1d2166}@keyframes pop{0%{opacity:0;transform:translateX(-50%) translateY(10px) scale(.94)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.overcta{animation:none}}.foot{text-align:center}.foot p{margin-left:auto;margin-right:auto}.foot .legal{margin-top:14px}.foot .legal a{color:var(--ink);font-weight:700;text-decoration:underline}.foot .legal a:hover{color:var(--muted)}@media (max-width:640px){.stamp{left:10px;top:10px;padding:6px 13px;font-size:14.5px}.dlbtn{right:10px;top:10px;padding:8px 13px 8px 11px;font-size:13.5px;gap:6px}.overcta{bottom:24%;padding:13px 20px;border-width:3px}}.doc{max-width:720px;margin:0 auto;padding:8px 0 20px}.doc h1{font-size:clamp(30px,6vw,42px);font-weight:800;letter-spacing:-.02em;margin:0 0 6px}.doc .updated{color:var(--muted);font-size:14px;margin:0 0 26px}.doc h2{font-size:21px;font-weight:800;margin:30px 0 8px}.doc li,.doc p{color:#3a3f7a;font-size:16.5px;line-height:1.7}.doc ul{padding-left:22px}.doc li{margin:7px 0}.doc a{color:var(--ink);font-weight:700}.doc .back{display:inline-block;margin-top:34px;font-weight:800}.doc .box{background:#fffdf0;border:3px solid var(--line);border-radius:var(--round);padding:16px 20px;margin:20px 0}.doc .box p:last-child{margin-bottom:0}.dlbtn span{letter-spacing:.06em}.demo{display:grid;grid-gap:14px;gap:14px;justify-items:center;margin-top:30px}.demo-cta{font-weight:800;font-size:17px;color:var(--indigo);background:var(--bright);border:3px solid var(--indigo);border-radius:999px;padding:9px 20px;margin:0}.demo-cta,.demo-pair{box-shadow:var(--shadow)}.demo-pair{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:420px;border:4px solid var(--indigo);border-radius:var(--round);overflow:hidden;background:var(--indigo)}.demo-half{position:relative;margin:0;min-width:0}.demo-half+.demo-half{border-left:3px solid var(--indigo)}.demo-half img{display:block;width:100%;height:100%;object-fit:cover}.demo-half figcaption{position:absolute;left:7px;bottom:7px;background:var(--bright);color:var(--indigo);border:2px solid var(--indigo);border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:800;letter-spacing:.01em}.demo .fine{max-width:420px;text-align:center;margin-top:0}.unlock{display:grid;grid-gap:10px;gap:10px;justify-items:center;text-align:center;max-width:520px;margin:40px auto 0;padding:22px 20px;border:3px solid var(--line);border-radius:var(--round);background:#fffdf0}.unlock-count{margin:0;font-weight:800;font-size:19px;color:var(--indigo)}.unlock-p{margin:0;color:var(--muted);font-size:15px}.unlock-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:4px}.unlock-btn{font-weight:800;font-size:15px;text-decoration:none;padding:10px 18px;border-radius:999px;border:3px solid var(--indigo);background:var(--bright);color:var(--indigo);box-shadow:var(--shadow);transition:transform .1s,background .15s}.unlock-btn:hover{background:var(--golden)}.unlock-btn:active{transform:translateY(2px);box-shadow:0 2px 0 #1d2166}.unlock-btn.done{background:none;color:var(--faint);border-color:var(--line);box-shadow:none;cursor:default;transform:none}.unlock .fine{margin-top:2px}.loading{position:absolute;inset:0;z-index:6;display:grid;place-items:center;align-content:center;grid-gap:16px;gap:16px;background:rgba(42,47,136,.42);cursor:progress}.loading:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 25%,rgba(252,236,1,.38) 50%,transparent 75%);background-size:250% 100%;animation:sweep 1.6s linear infinite}.loading-ring{width:58px;height:58px;border-radius:50%;border:6px solid hsla(30,25%,98%,.4);border-top:6px solid var(--bright);animation:spin .85s linear infinite}.loading-ring,.loading-txt{position:relative;z-index:1}.loading-txt{max-width:84%;text-align:center;font-size:14px;font-weight:800;line-height:1.4;color:var(--paper);text-shadow:0 2px 6px rgba(29,33,102,.8)}@keyframes sweep{0%{background-position:130% 0}to{background-position:-130% 0}}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.loading-ring,.loading:before{animation:none}.loading-ring{border-top-color:hsla(30,25%,98%,.4)}}