:root{--mist:#eeebf8;--card:#fff;--ink:#1d1838;--soft:#625c80;--line:#d9d3ee;--violet:#5b3df5;--sun:#ffb938;--bad:#b3261e;--display:"Bricolage Grotesque", "Be Vietnam Pro", system-ui, sans-serif;--body:"Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--mist:#15122a;--card:#201c3a;--ink:#f1eeff;--soft:#afa8cf;--line:#3a3460;--violet:#8b74ff;--bad:#ff8a80;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--mist);color:var(--ink);font:16px/1.55 var(--body);-webkit-text-size-adjust:100%;margin:0}.page{max-width:560px;padding-bottom:max(32px, env(safe-area-inset-bottom));margin:0 auto}.pad{padding-inline:max(20px, env(safe-area-inset-left)) max(20px, env(safe-area-inset-right))}.top{padding:max(18px, env(safe-area-inset-top)) 20px 6px;justify-content:space-between;align-items:baseline;display:flex}.brand{letter-spacing:.01em;font-weight:600}.mark{font:800 13px/1 var(--display);color:var(--violet)}h1{font:800 clamp(28px, 7.5vw, 38px)/1.08 var(--display);text-wrap:balance;letter-spacing:-.01em;margin:18px 0 8px}.lead{color:var(--soft);max-width:46ch;margin:0 0 18px}.sheet{flex-direction:column;gap:16px;display:flex}.field{flex-direction:column;gap:6px;font-size:15px;font-weight:600;display:flex}.field small{color:var(--soft);font-weight:400}input:not([type=radio]){font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:12px;width:100%;min-height:48px;padding:12px 14px;font-weight:400}input:focus-visible,button:focus-visible,a:focus-visible,.scene:focus-within,.toggle label:focus-within{outline:3px solid var(--violet);outline-offset:2px}input.code{font:600 28px/1 var(--display);letter-spacing:.4em;text-align:center}button,a.primary{font:600 16px/1 var(--body);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;min-height:52px;padding:0 24px;text-decoration:none;display:inline-flex}.primary{background:var(--violet);color:#fff;border:0}.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}button:disabled{opacity:.55;cursor:default}.row{flex-wrap:wrap;gap:10px;display:flex}.row>*{flex:160px}.error{color:var(--bad);margin:0;font-weight:500}.hint{color:var(--soft);margin:0;font-weight:400}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.scenes{padding:0 max(14px, env(safe-area-inset-left));border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 22px;display:grid}@media (width>=480px){.scenes{grid-template-columns:repeat(3,minmax(0,1fr))}}.scene{aspect-ratio:3/4;background:var(--card);cursor:pointer;box-shadow:0 0 0 1px var(--line);border-radius:18px;transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden}.scene input{opacity:0;position:absolute}.scene img,.scene-blank{object-fit:cover;width:100%;height:100%;display:block}.scene-blank{background:linear-gradient(160deg, var(--line), var(--card))}.scene-name{color:#fff;font:600 14px/1.25 var(--body);background:linear-gradient(#0000,#0c081ec7);padding:26px 10px 10px;position:absolute;inset:auto 0 0}.scene.on{box-shadow:0 0 0 4px var(--violet);transform:translateY(-3px)}.toggle{border:0;gap:8px;margin:0;padding:0;display:flex}.toggle legend{margin-bottom:6px;padding:0;font-size:15px;font-weight:600}.toggle label{text-align:center;border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:12px;flex:1;padding:12px;font-weight:600}.toggle label.on{border-color:var(--violet);color:var(--violet);box-shadow:inset 0 0 0 1px var(--violet)}.toggle input{opacity:0;position:absolute}.photo{align-items:center;gap:12px;display:flex}.photo img,.photo-blank{object-fit:cover;border-radius:14px;flex:none;width:84px;height:104px}.photo-blank{border:1px dashed var(--line);background:var(--card)}.photo-actions{flex-direction:column;flex:1;gap:8px;display:flex}.photo-actions button{min-height:44px}.result{flex-direction:column;gap:16px;margin-top:14px;display:flex}.frame{margin:0 max(14px, env(safe-area-inset-left));aspect-ratio:3/4;background:var(--card);box-shadow:0 0 0 1px var(--line);border-radius:24px;position:relative;overflow:hidden}.frame img,.frame-blank{object-fit:cover;width:100%;height:100%;display:block}.frame-done{box-shadow:0 0 0 4px var(--sun)}.frame-veil{text-align:center;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#120c2e8c;place-content:center;gap:4px;display:grid;position:absolute;inset:0}.frame-veil b{font:800 24px/1.1 var(--display)}.frame-veil span{font-variant-numeric:tabular-nums;opacity:.85}.frame-waiting .frame-veil b{animation:2.4s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.scene,.frame-waiting .frame-veil b{transition:none;animation:none}}.captcha{min-height:65px}
