:root{--bg:#f3f0ea;--panel:#fffdf9;--ink:#25282a;--muted:#6f7476;--line:#ded8cf;--accent:#3d5663;--good:#326448;--bad:#8a3f3f;--serif:"Noto Serif JP","Yu Mincho",serif;--sans:"Noto Sans JP","Yu Gothic",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:linear-gradient(160deg,#f8f5ef,#eaf1f3);color:var(--ink);font-family:var(--sans);line-height:1.75}.connect-shell{min-height:100svh;display:grid;place-items:center;padding:24px}.connect-card{width:min(520px,100%);overflow:hidden;border:1px solid rgba(61,86,99,.16);border-radius:24px;background:var(--panel);box-shadow:0 24px 70px rgba(46,57,62,.12)}.connect-brand{padding:25px 28px;background:#344b57;color:#fff}.connect-brand strong{display:block;font:400 23px/1.35 var(--serif)}.connect-brand small{display:block;margin-top:4px;opacity:.7;letter-spacing:.16em}.connect-content{min-width:0;padding:30px 28px}.connect-content h1{margin:0 0 10px;font:400 31px/1.45 var(--serif)}.connect-content p{margin:0 0 18px;color:var(--muted)}.connect-content a{color:var(--accent);text-underline-offset:.2em}.connect-person{min-width:0;margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:16px;background:#faf8f4}.connect-person span{display:block;overflow-wrap:anywhere;color:var(--muted);font-size:12px}.connect-person strong{display:block;overflow-wrap:anywhere;word-break:break-word;margin-top:2px;font-size:21px}.connect-checks{display:grid;gap:8px;margin:20px 0 24px;padding:0;list-style:none}.connect-checks li{position:relative;padding-left:26px;font-size:14px}.connect-checks li:before{content:"✓";position:absolute;left:0;color:var(--good);font-weight:700}.connect-button,.connect-secondary{display:flex;width:100%;min-height:54px;align-items:center;justify-content:center;padding:12px 16px;border:0;border-radius:13px;background:#344b57;color:#fff!important;font:700 16px/1.4 var(--sans);text-align:center;text-decoration:none;overflow-wrap:anywhere;cursor:pointer}.connect-secondary{margin-top:18px;border:1px solid var(--line);background:#fff;color:var(--accent)!important}.connect-button:disabled{cursor:wait;opacity:.65}.connect-button:focus-visible,.connect-secondary:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #9bc0d1;outline-offset:3px}.connect-note{margin-top:16px!important;font-size:12px}.connect-consent{margin:0 0 16px!important;font-size:12px}.connect-privacy{margin:-10px 28px 24px;color:var(--muted);font-size:12px;text-align:center}.connect-privacy a{color:var(--accent);text-underline-offset:.2em}.connect-result{padding:18px;border-radius:14px;background:#eef7f1;color:var(--good)!important}.connect-result.error{background:#fff0f0;color:var(--bad)!important}.connect-loader{width:32px;height:32px;margin:4px auto 18px;border:3px solid #d7e1e5;border-top-color:#344b57;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.connect-form{margin:22px 0 0}.connect-form label{display:block;margin-bottom:7px;font-size:14px;font-weight:700}.connect-form input{display:block;width:100%;min-height:52px;margin-bottom:8px;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:400 18px/1.4 var(--sans)}.connect-form-error{min-height:1.75em;margin:0 0 10px!important;color:var(--bad)!important;font-size:13px}.connect-account-help{margin:0 0 20px;border:1px solid var(--line);border-radius:14px;background:#faf8f4}.connect-account-help summary{padding:14px 16px;cursor:pointer;color:var(--accent);font-size:14px;font-weight:700}.connect-account-help[open] summary{border-bottom:1px solid var(--line)}.connect-account-help ol{margin:14px 20px 16px;padding-left:1.35em;color:var(--ink);font-size:13px}.connect-account-help li+li{margin-top:7px}@media(max-width:560px){.connect-shell{padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.connect-card{border-radius:18px}.connect-brand{padding:21px}.connect-content{padding:25px 21px}.connect-content h1{font-size:27px}.connect-privacy{margin:-8px 21px 21px}}
