:root{--paper: #ffffff;--band: #f6f7f9;--soft: #f4f6f9;--tx: #0a0c12;--tx-2: #39404e;--tx-3: #5c6573;--tx-4: #969ca8;--ink: #0a0c12;--ink-hover: #1c2030;--blue: #1a62d5;--blue-hover: #407fe8;--blue-soft: #eef3fd;--blue-soft-border: #c9dcf7;--green: #1f9d57;--green-soft: #e7f5ed;--danger: #b3261e;--danger-soft: #fdf0ef;--line: rgba(10, 12, 18, .16);--line-2: rgba(10, 12, 18, .09);--shadow-sm: 0 1px 2px rgba(12, 16, 28, .05);--shadow-md: 0 8px 24px rgba(12, 16, 28, .07), 0 2px 6px rgba(12, 16, 28, .05);--font-display: "DM Sans", "Zen Kaku Gothic New", system-ui, -apple-system, sans-serif;--font: "IBM Plex Sans", "IBM Plex Sans JP", system-ui, -apple-system, sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--tx);font-family:var(--font);font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--blue);color:#fff}.shell{min-height:100dvh;display:grid;place-items:center;padding:32px 24px}.card{width:100%;max-width:400px}.brand{font-family:var(--font-display);font-weight:600;font-size:19px;letter-spacing:-.03em;color:var(--tx);margin-bottom:28px}h1{font-family:var(--font-display);font-size:26px;font-weight:600;letter-spacing:-.045em;line-height:1.15;color:var(--tx);margin:0 0 8px;text-wrap:balance}.sub{color:var(--tx-3);margin:0 0 24px}.sub strong{color:var(--tx);font-weight:500}label{display:block;font-size:13px;font-weight:500;color:var(--tx-2);margin-bottom:6px}input[type=email],input[type=password],input[type=text]{width:100%;padding:11px 13px;margin-bottom:16px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--tx);font:inherit;transition:border-color .12s,box-shadow .12s}input::placeholder{color:var(--tx-4)}input:focus-visible{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}input[aria-invalid=true]{border-color:var(--danger)}input[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px var(--danger-soft)}input[readonly]{background:var(--band);color:var(--tx-3)}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:380px){.row{grid-template-columns:1fr;gap:0}}button{width:100%;padding:12px 16px;border:0;border-radius:999px;background:var(--ink);color:#fff;font:inherit;font-weight:500;cursor:pointer;transition:background-color .12s}button:hover:not(:disabled){background:var(--ink-hover)}button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}button:disabled{opacity:.4;cursor:default}.link{width:auto;background:none;color:var(--tx-3);padding:0;margin-top:16px;font-weight:400;border-radius:4px}.link:hover:not(:disabled){background:none;color:var(--tx);text-decoration:underline}.provider{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--paper);color:var(--tx);border:1px solid var(--line);border-radius:10px;margin-bottom:10px;font-weight:500}.provider:hover:not(:disabled){background:var(--band)}.provider svg{width:18px;height:18px;flex:none}.divider{display:flex;align-items:center;gap:12px;color:var(--tx-4);font-size:13px;margin:18px 0}.divider:before,.divider:after{content:"";flex:1;border-top:1px solid var(--line-2)}.criteria{list-style:none;margin:-6px 0 16px;padding:0;display:grid;gap:4px;font-size:13px;color:var(--tx-3)}.criteria li{display:flex;align-items:center;gap:7px}.criteria li[data-met=true]{color:var(--green)}.criteria .mark{display:grid;place-items:center;width:15px;height:15px;flex:none;border-radius:50%;background:var(--soft);color:var(--tx-4);font-size:10px;line-height:1}.criteria li[data-met=true] .mark{background:var(--green-soft);color:var(--green)}.consent{display:flex;align-items:flex-start;gap:10px;margin:4px 0 20px;font-size:13px;line-height:1.45;color:var(--tx-2);font-weight:400}.consent input[type=checkbox]{width:16px;height:16px;margin:1px 0 0;flex:none;accent-color:var(--blue)}.consent a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}.consent a:hover{color:var(--blue-hover)}.error{color:var(--danger);font-size:13px;margin:-10px 0 16px}.banner{border:1px solid var(--blue-soft-border);background:var(--blue-soft);border-radius:10px;padding:13px 15px;margin-bottom:20px;font-size:14px;color:var(--tx-2)}.foot{margin-top:18px;font-size:13px;color:var(--tx-3)}dl{margin:0;font-size:14px}dt{color:var(--tx-4);font-size:12px;margin-top:14px}dd{margin:3px 0 0;color:var(--tx)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
