:root{--ink:#17171f;--muted:#71717f;--line:#e7e7ef;--card:#fff;--brand:#6366f1;--brand-2:#a855f7;--brand-3:#ec4899;--ok:#10b981;--ok-bg:#f1faf6;--ng:#f43f5e;--ng-bg:#fff1f4;--ng-ink:#a1123a;--radius:22px;--radius-sm:14px;--shadow:0 18px 50px #463c821f;--mono:Menlo, Consolas, "DejaVu Sans Mono", "Courier New", ui-monospace, monospace}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%}body{min-height:100dvh;color:var(--ink);-webkit-font-smoothing:antialiased;background:radial-gradient(900px 500px at 15% -10%,#e4e7ff 0%,#0000 60%),radial-gradient(800px 500px at 95% 5%,#ffe6f4 0%,#0000 55%),#f7f7fb;justify-content:center;align-items:flex-start;margin:0;padding:24px 16px 48px;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;font-size:15px;line-height:1.7;display:flex}.app{width:100%;max-width:440px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 22px 24px}.head{margin-bottom:22px}.head__title{letter-spacing:-.02em;background:linear-gradient(100deg, var(--brand), var(--brand-2) 55%, var(--brand-3));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:25px;font-weight:800}.head__lead{color:var(--muted);margin:4px 0 0;font-size:13.5px}.form__label{align-items:center;gap:7px;margin-bottom:8px;font-size:13px;font-weight:700;display:flex}.form__req{color:var(--ng);background:var(--ng-bg);border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700}.field{position:relative}.field__input{width:100%;height:54px;font-family:var(--mono);letter-spacing:.1em;color:var(--ink);border:1.5px solid var(--line);border-radius:var(--radius-sm);background:#fbfbfe;padding:0 52px 0 16px;font-size:17px;transition:border-color .15s,box-shadow .15s}.field__input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 4px #6366f124}.field__input.is-error{border-color:var(--ng);background:#fffafb}.field__input.is-error:focus{border-color:var(--ng);box-shadow:0 0 0 4px #f43f5e26}.field__eye{width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:10px;place-items:center;padding:0;transition:background .15s,color .15s;display:grid;position:absolute;top:50%;right:8px;translate:0 -50%}.field__eye:hover{color:var(--ink);background:#f1f1f7}.field__eye svg{width:20px;height:20px}.form__privacy{color:var(--muted);margin:8px 2px 0;font-size:11.5px}.btn{color:#fff;text-align:center;background:linear-gradient(100deg, var(--brand), var(--brand-2));border-radius:var(--radius-sm);cursor:pointer;border:none;width:100%;height:52px;margin-top:14px;font-family:inherit;font-size:15px;font-weight:700;line-height:52px;text-decoration:none;transition:transform .12s,box-shadow .15s,opacity .15s;display:block;box-shadow:0 8px 20px #6366f14d}.btn:hover:not(:disabled){box-shadow:0 10px 26px #6366f161}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{box-shadow:none;cursor:not-allowed;background:#c9c9d6}.checks{flex-direction:column;gap:7px;margin:20px 0 0;padding:0;list-style:none;display:flex}.checks:empty{margin:0}.check{border-radius:var(--radius-sm);align-items:flex-start;gap:10px;padding:11px 13px;font-size:13.5px;animation:.22s ease-out pop-in;display:flex}.check__mark{color:#fff;border-radius:999px;flex:none;place-items:center;width:19px;height:19px;margin-top:2px;font-size:11px;font-weight:700;display:grid}.check__text{flex:1}.check.is-ng{color:var(--ng-ink);background:var(--ng-bg)}.check.is-ng .check__mark{background:var(--ng)}.check.is-ok{color:#9a9aa8;background:#f6f6fa;font-size:12.5px}.check.is-ok .check__mark{background:var(--ok)}.check.is-hit{animation:.3s shake}@keyframes pop-in{0%{opacity:0;transform:translateY(-5px)}}@keyframes shake{25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}.modal{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1412238c;place-items:center;padding:24px;animation:.25s ease-out fade-in;display:grid;position:fixed;inset:0}.modal__card{text-align:center;background:var(--card);border-radius:var(--radius);width:100%;max-width:340px;padding:32px 24px 28px;animation:.35s cubic-bezier(.2,1.1,.4,1) modal-in;box-shadow:0 30px 70px #140a3259}.modal__icon{color:#fff;background:linear-gradient(140deg, var(--ng), var(--brand-3));border-radius:999px;place-items:center;width:60px;height:60px;margin:0 auto 16px;font-size:26px;font-weight:700;display:grid;box-shadow:0 10px 26px #f43f5e59}.modal__title{letter-spacing:-.01em;margin:0;font-size:19px;font-weight:800;line-height:1.55}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:scale(.88)translateY(10px)}}.card--end{text-align:center;padding:32px 22px 26px}.end__label{color:var(--muted);margin:0;font-size:12px;font-weight:700}.end__pw{font-family:var(--mono);letter-spacing:.06em;word-break:break-all;color:var(--ink);margin:8px 0 24px;font-size:32px;font-weight:700}.end__line{color:var(--muted);margin:0;font-size:14px}.end__punch{letter-spacing:-.01em;margin:6px 0 0;font-size:18px;font-weight:800}.end__stats{color:var(--muted);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;background:#f6f6fa;margin:22px 0 0;padding:10px;font-size:12.5px}.btn--share{background:var(--ink);box-shadow:0 8px 20px #17171f38}.btn--share:hover{box-shadow:0 10px 26px #17171f4d}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
