*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#140f1c;color:#faf3fa;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:clip}body::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 0 5%,#9d356d27,transparent 55%),radial-gradient(ellipse at 100% 80%,#7f52bd1d,transparent 55%)}button,input,select{font:inherit}button,a,select{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}button:focus-visible,a:focus-visible,select:focus-visible,.card:focus-visible{outline:3px solid #e8a5ff;outline-offset:5px}.app{position:relative;width:min(100%,450px);margin:auto;padding:calc(18px + env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left))}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.wordmark{font-weight:850;letter-spacing:2px;color:#f9edf9;text-decoration:none;font-size:25px}.wordmark span{color:#ff507f;font-size:25px;margin-inline:1px}.header select{max-width:135px;padding:8px 10px;border:1px solid #ffffff15;border-radius:30px;background:#ffffff05;color:#d7c4dc;font-size:11px;min-height:38px}.header option{background:#23172d}.eyebrow{font-size:10px;letter-spacing:2px;color:#d995bc}.intro h1{font-size:clamp(23px,6.8vw,30px);font-weight:750;letter-spacing:-1px;line-height:1.35;margin:9px 0}.intro p{font-size:12px;line-height:1.8;color:#b6a4c0;margin:0 0 24px}.deck{position:relative;isolation:isolate;margin:0 0 24px;user-select:none;-webkit-user-select:none}.deck::before,.deck::after{content:"";position:absolute;inset:12px 10px -7px;border-radius:25px;background:#4c304a;z-index:-1;transform:rotate(-3deg);border:1px solid #ffffff0b}.deck::after{inset:8px 7px -5px;background:#33243f;transform:rotate(3deg)}.card{height:clamp(315px,51dvh,485px);min-height:315px;position:relative;overflow:hidden;border-radius:25px;background:#2d2037;border:1px solid #f0bfdb24;touch-action:pan-y;box-shadow:0 16px 45px #0004;will-change:transform;cursor:grab;direction:ltr}.card.dragging{cursor:grabbing}.card img{width:100%;height:100%;object-fit:cover;object-position:center 30%;pointer-events:none}.card-shade{position:absolute;inset:0;background:linear-gradient(#10081815 35%,#180e1c40 57%,#130b1ef5)}.preview-label{position:absolute;top:16px;left:16px;padding:6px 9px;background:#170e21a6;border:1px solid #ffffff22;border-radius:20px;color:#f1dfef;font-size:9px;backdrop-filter:blur(10px)}.person{position:absolute;bottom:24px;left:22px;right:22px}.person-tag{font-size:9px;color:#efd2e6;letter-spacing:1px}.person h2{display:flex;align-items:baseline;gap:10px;font-size:31px;margin:7px 0;line-height:1.25;letter-spacing:-1px}.person h2 span+span{font-size:22px;font-weight:450;opacity:.8}.person p{font-size:12px;color:#decddd;margin:0;line-height:1.8;overflow-wrap:anywhere}.stamp{position:absolute;top:80px;opacity:0;font-size:31px;letter-spacing:2px;font-weight:850;border:3px solid currentColor;border-radius:9px;padding:3px 12px}.pass-stamp{right:22px;color:#ff9cad;transform:rotate(12deg)}.like-stamp{left:22px;color:#8fefcc;transform:rotate(-12deg)}.actions{display:flex;align-items:center;justify-content:center;gap:37px}.action{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;transition:transform .15s}.action:active{transform:scale(.93)}.action svg{width:25px;height:25px;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pass{border:1px solid #ffffff20;background:#ffffff06;box-shadow:0 6px 16px #0002}.pass svg{stroke:#d9b9d4;fill:none}.like{background:linear-gradient(135deg,#f66c9e,#c14bb3);border:1px solid #ffa3ce44;box-shadow:0 7px 23px #e849a332}.like svg{fill:white;stroke:white;width:24px;height:24px}.progress{display:flex;flex-direction:column;gap:5px;text-align:center;min-width:65px}.progress>span:first-child{font-size:21px;font-weight:650;color:#fae5f3;line-height:1.2}.progress small{font-size:13px;color:#9a7fa8}.progress>span+span{font-size:9px;color:#a58faf;letter-spacing:1px}.footnote{text-align:center;font-size:9px;color:#9f89ac;line-height:1.8;margin:19px 0 0}.notice{font-size:11px;color:#dfbad4;text-align:center;line-height:1.8;margin:10px 0 0}.notice:empty{display:none}dialog{position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,450px);max-width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 18px);overflow:auto;border:1px solid #e6bbe52a;border-bottom:0;border-radius:28px 28px 0 0;padding:28px 25px calc(22px + env(safe-area-inset-bottom));background:linear-gradient(150deg,#2d1c33,#1b1224 60%);color:#fff;overscroll-behavior:contain;scrollbar-width:thin;box-shadow:0 -10px 60px #0005}dialog::backdrop{background:#08030ec9;backdrop-filter:blur(9px)}.sheet-handle{position:absolute;top:10px;left:calc(50% - 18px);width:36px;height:4px;border-radius:3px;background:#cda9d347}.close{position:absolute;inset-inline-end:14px;top:19px;background:#ffffff07;border:0;border-radius:50%;width:40px;height:40px;font-size:25px;color:#d1bbdb}.registration-heading{text-align:center}.heart-orbit{display:grid;place-items:center;width:46px;height:46px;border-radius:17px;color:#ff8cba;font-size:25px;margin:0 auto 14px;background:#ed73ad14;border:1px solid #ec97c51c}.registration-heading h2{font-size:27px;letter-spacing:-.6px;margin:7px 0 8px}.registration-heading p{font-size:10px;line-height:1.8;color:#b8a0c2;margin:0 0 22px}fieldset{border:0;padding:0;margin:0;min-width:0}.field{margin-bottom:13px}.field label{display:block;font-size:11px;color:#d8bfdc;margin-bottom:6px}.field input{min-width:0;width:100%;height:47px;border:1px solid #d9b3e51f;border-radius:12px;padding:11px 13px;background:#ffffff04;color:#fbeef9;outline:none;font-size:16px;direction:ltr}.field input:focus{border-color:#ee85bd;box-shadow:0 0 0 3px #e974b313}.field small{display:block;font-size:9px;color:#a48aaf;line-height:1.8;margin-top:6px}.captcha-row{display:flex;gap:10px}.captcha-row input{flex:1}.code{display:flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;width:125px;min-height:47px;border:1px solid #f2b0de26;border-radius:12px;background:repeating-linear-gradient(-35deg,#c68ac20b,#c68ac20b 3px,#0000 3px,#0000 9px),#54304c33;color:#fbb4d8}.code span{font-size:20px;letter-spacing:4px;font-weight:800;direction:ltr}.code svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.7;fill:none}.submit{width:100%;border:1px solid #ffa9da33;background:linear-gradient(110deg,#ed639e,#b965db);color:#fff;min-height:51px;border-radius:14px;font-size:14px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:10px}.submit:disabled{opacity:.8}.form-note{font-size:9px;color:#a38aaf;text-align:center;line-height:1.8;margin:12px 0 0}#formError{font-size:11px;color:#ffb1cc;line-height:1.7;margin:0 0 12px}#formError:empty{display:none}.spinner{width:18px;height:18px;border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.spinner[hidden]{display:none}@keyframes spin{to{transform:rotate(360deg)}}[dir=rtl] .person{direction:rtl;text-align:right}[dir=rtl] .preview-label{left:auto;right:16px}[dir=rtl] .intro h1{letter-spacing:0}[dir=rtl] .person h2{letter-spacing:0}@media(max-width:350px){.app{padding-inline:17px}.header{margin-bottom:19px}.intro p{margin-bottom:18px}.card{min-height:290px;height:46dvh}.actions{gap:30px}.action{width:56px;height:56px}dialog{padding-inline:21px}}@media(min-width:600px){.app{padding-top:25px}.card{height:470px}dialog{inset:0;margin:auto;border-radius:28px;border-bottom:1px solid #e6bbe52a;max-height:92dvh;height:max-content}}@media(prefers-reduced-motion:reduce){.action{transition:none}}
