.google-signin{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #c8c5c0;background:#fff;color:#242124;border-radius:5px;padding:14px;margin:22px 0;font:500 15px inherit;cursor:pointer}.google-signin svg{width:20px;height:20px;flex:0 0 20px}.google-signin:disabled{opacity:.65;cursor:wait}.legal-page{max-width:800px;margin:50px auto;padding:0 24px 60px;line-height:1.8}.legal-page h1{font-size:38px;line-height:1.2}.legal-page h2{font-size:23px;margin-top:36px}.site-legal-footer{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;padding:24px;font-size:13px}.site-legal-footer button{border:0;background:none;text-decoration:underline;cursor:pointer;color:inherit;font:inherit}.cookie-banner{position:fixed;bottom:20px;left:20px;z-index:1100;width:min(430px,calc(100vw - 40px));background:#f6f4eb;color:#27222b;border:1px solid #ccc8c6;border-radius:12px;padding:22px;box-shadow:0 12px 40px #0003;font:14px/1.6 PretendardStd,sans-serif}.cookie-banner h2{font-size:18px;margin:0}.cookie-banner p{margin:8px 0 16px}.cookie-actions{display:flex;gap:10px}.cookie-actions button{flex:1;border:1px solid #514459;border-radius:5px;background:#302637;color:#fff;padding:11px 8px;font:600 14px inherit;cursor:pointer}.cookie-actions button:first-child{background:#f6f4eb;color:#302637}@media(max-width:700px){.cookie-banner{bottom:calc(80px + env(safe-area-inset-bottom));left:12px;width:calc(100vw - 24px)}.legal-page{margin-top:25px}}
.google-signin.ui-button:not(.ui-busy)::before{display:none}.google-signin.ui-busy svg{visibility:hidden}

/* Agreement controls must not inherit text-input height or padding from auth.css. */
.auth-panel .policy-consent{border:0;min-width:0;padding:0;margin:26px 0 0}
.auth-panel .policy-consent legend{padding:0;margin-bottom:12px;font-size:12px;letter-spacing:.6px;font-weight:650;color:#68606d}
.policy-row{display:flex;align-items:center;gap:12px;border:1px solid #ded9e2;border-radius:10px;background:#fff;margin:10px 0;transition:border-color .15s,background .15s}
.policy-row:has(input:checked){border-color:#94819f;background:#f6f2f8}
.auth-panel .policy-row label{display:flex;align-items:center;gap:12px;flex:1;min-width:0;margin:0;padding:17px 0 17px 16px;font-size:14px;font-weight:500;line-height:1.5;cursor:pointer}
.auth-panel .policy-row input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;display:block;box-sizing:border-box;width:19px;height:19px;min-width:19px;min-height:19px;max-height:19px;flex:0 0 19px;padding:0;margin:0;accent-color:#302637;cursor:pointer}
.policy-label{min-width:0}.policy-read{display:flex;align-items:center;align-self:stretch;flex:0 0 auto;padding:12px 16px 12px 4px;font-size:12px;color:#65566f;text-decoration:none;white-space:nowrap}
.policy-read:hover{text-decoration:underline}.policy-read:focus-visible{outline:2px solid #7d6596;outline-offset:-4px;border-radius:6px}
.auth-panel .policy-hint{font-size:12px;line-height:1.5;color:#746c7b;margin:12px 0 0}
.auth-panel .policy-consent~.auth-submit{margin-top:20px}.auth-panel .auth-submit:disabled:not(.ui-busy){cursor:not-allowed;background:#e5e0e8;color:#89808f;opacity:1}
.consent-layout.auth-layout{display:block;max-width:560px;min-height:0;padding:48px 0 64px}
.consent-layout .auth-story{display:none}.consent-layout .auth-panel{margin:0;padding:36px 36px 28px;border-radius:18px;box-shadow:0 12px 36px #30263705}
.consent-layout h2{font-size:34px;letter-spacing:-1px;margin-bottom:12px}.consent-layout .form-intro{margin:0 0 24px;max-width:380px;font-size:15px}
.signup-identity{display:grid;gap:6px;padding:16px 18px;background:#f4f1f6;border-radius:10px}.identity-label{font-size:11px;color:#74687c;letter-spacing:.2px}.identity-email{font-size:15px;font-weight:600;overflow-wrap:anywhere}
.consent-layout .auth-links{justify-content:center;margin-top:20px}.consent-layout #authMessage:empty{display:none}
@media(max-width:760px){.consent-layout.auth-layout{width:100%;padding:24px 16px 36px}.consent-layout .auth-panel{padding:28px 20px 24px;border-radius:14px}.consent-layout h2{font-size:30px}.auth-panel .policy-row label{font-size:13px;gap:10px;padding-left:12px}.policy-read{padding-right:12px;font-size:11px}.signup-identity{padding:14px}.consent-layout .form-intro{font-size:14px}}
