.auth-page{grid-template-columns:minmax(500px,1.08fr) minmax(520px,.92fr);min-height:100vh;display:grid}.brand-panel{background-color:var(--background-sage);background-image:url(/auth-landscape.jpg);background-position:bottom;background-repeat:no-repeat;background-size:100%;flex-direction:column;min-height:100vh;padding:clamp(40px,5vw,72px);display:flex;position:relative;overflow:hidden}.brand-panel:after{content:"";border:1px solid #7384672e;border-radius:48% 52% 62% 38%;width:440px;height:360px;position:absolute;top:-190px;right:-180px;transform:rotate(18deg)}.brand-wordmark{color:var(--accent);font-family:var(--font-family-base);letter-spacing:.16em;z-index:1;width:fit-content;font-size:clamp(28px,3vw,44px);font-weight:700;line-height:1;text-decoration:none;position:relative}.brand-copy{z-index:1;max-width:620px;margin-top:clamp(120px,17vh,180px);position:relative}.brand-title,.mobile-heading h1{font-family:var(--font-family-base);letter-spacing:-.04em;font-weight:600}.brand-title{color:var(--accent);max-width:560px;margin:0;font-size:clamp(40px,3.3vw,48px);line-height:1.24}.brand-description{color:#435148;margin:32px 0 0;font-size:17px;font-weight:500;line-height:1.85}.auth-panel{background:var(--background);justify-content:center;align-items:center;min-height:100vh;padding:48px clamp(40px,7vw,112px);display:flex}.auth-container{width:100%;max-width:540px;animation:.42s ease-out both enter}.mode-tabs{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;margin-bottom:42px;display:grid}.mode-tabs button{color:var(--muted);background:0 0;border:0;padding:16px 12px 18px;font-size:18px;font-weight:600;position:relative}.mode-tabs button[aria-current=page]{color:var(--accent)}.mode-tabs button[aria-current=page]:after{background:var(--accent);content:"";height:3px;position:absolute;bottom:-1px;left:0;right:0}.mobile-heading{display:none}@media (max-width:940px){.auth-page{display:block}.brand-panel{display:none}.auth-panel{background:#fff;align-items:flex-start;padding:54px 24px}.auth-container{max-width:520px;margin:0 auto}.mobile-heading{text-align:center;margin-bottom:36px;display:block}.mobile-heading strong{color:var(--accent);letter-spacing:.15em;font-size:22px}.mobile-heading h1{color:var(--accent);margin:24px auto 0;font-size:clamp(27px,7vw,36px);line-height:1.35}}@media (max-width:540px){.auth-panel{padding:30px 20px 44px}.mode-tabs{margin-bottom:30px}.field-row{grid-template-columns:1fr}.form-field input,.primary-button,.secondary-button,.social-button{min-height:54px}}
.auth-form{flex-direction:column;gap:22px;display:flex}.field-row{grid-template-columns:1fr 1.25fr;gap:14px;display:grid}.form-field{flex-direction:column;flex:1;gap:9px;display:flex}.form-field>span{color:var(--text);font-size:15px;font-weight:600}.form-field input{border:1px solid var(--border-strong);color:var(--text);background:#fff;border-radius:10px;outline:none;width:100%;height:58px;padding:0 18px;font-size:16px;transition:border-color .14s,box-shadow .14s}.form-field input::placeholder{color:#a3aaa5}.form-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #173d2b17}.form-field input[aria-invalid=true]{border-color:var(--danger)}.optional-consents{border:1px solid var(--border-strong);border-radius:10px;margin:0;padding:18px}.optional-consents legend{color:var(--accent);padding:0 6px;font-weight:750}.optional-consents>p{color:var(--muted);margin:0 0 12px;font-size:12px}.optional-consents details{border-top:1px solid var(--border)}.optional-consents summary{cursor:pointer;grid-template-columns:24px 1fr auto;align-items:start;gap:10px;padding:13px 2px;list-style:none;display:grid}.optional-consents summary::-webkit-details-marker{display:none}.optional-consents summary input{width:19px;height:19px;accent-color:var(--accent);margin:1px 0}.optional-consents summary span{gap:3px;display:grid}.optional-consents summary strong{font-size:13px}.optional-consents summary small{color:var(--muted);font-size:11px;line-height:1.45}.optional-consents summary em{color:var(--accent);font-size:11px;font-style:normal}.optional-consents dl{background:#f5f7f3;border-radius:6px;margin:0 0 12px 34px;padding:12px}.optional-consents dl div{grid-template-columns:78px 1fr;gap:8px;padding:3px 0;font-size:11px;display:grid}.optional-consents dt{color:var(--accent);font-weight:700}.optional-consents dd{color:var(--muted);margin:0}.optional-consents .consent-legal{margin:10px 2px 0;line-height:1.55}.consent-legal a{color:var(--accent)}.consent-unavailable{border:1px solid var(--border);color:var(--muted);border-radius:8px;margin:0;padding:12px;font-size:12px}.primary-button,.secondary-button,.social-button{border-radius:10px;justify-content:center;align-items:center;height:58px;font-weight:600;transition:transform .14s,background-color .14s,box-shadow .14s;display:flex}.primary-button{background:var(--accent);border:1px solid var(--accent);color:#fff;margin-top:5px;font-size:17px;box-shadow:0 8px 20px #173d2b1f}.primary-button:hover,.primary-button:focus-visible{background:var(--accent-pressed);transform:translateY(-1px);box-shadow:0 10px 24px #173d2b33}.form-error{background:var(--danger-soft);color:var(--danger);border-radius:8px;flex-direction:column;gap:3px;padding:11px 13px;font-size:14px;display:flex}.form-error small{font-size:12px}.divider{color:var(--muted);align-items:center;gap:20px;margin:30px 0 22px;font-size:14px;display:flex}.divider:before,.divider:after{background:var(--border);content:"";flex:1;height:1px}.social-buttons{flex-direction:column;gap:12px;display:flex}.social-button{border:1px solid var(--border-strong);color:var(--text);background:#fff;gap:14px;font-size:15px;position:relative}.social-button:hover,.social-button:focus-visible{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 5px 16px #173d2b14}.social-mark{border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:16px;font-weight:800;display:flex;position:absolute;left:18px}.google .social-mark{color:#4285f4}.kakao .social-mark{color:#171717;background:#fee500;font-size:12px}.naver .social-mark{color:#fff;background:#03c75a;border-radius:3px}.mode-switch{color:var(--muted);text-align:center;margin:28px 0 0;font-size:14px}.mode-switch button{color:var(--accent);background:0 0;border:0;margin-left:8px;padding:4px;font-weight:700}.loading-state,.callback-page{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.loading-state{min-height:480px}.callback-page{min-height:100vh}.loading-mark{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:30px;height:30px;animation:.9s linear infinite spin}.account-view{animation:.42s ease-out both enter}.account-initial{background:var(--accent);color:#fff;font-family:var(--font-family-base);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:30px;display:flex}.account-view h2{font-family:var(--font-family-base);margin:28px 0 10px;font-size:34px}.account-view>p{color:var(--muted);line-height:1.7}.account-view dl{border-bottom:1px solid var(--border);border-top:1px solid var(--border);margin:36px 0;padding:12px 0}.account-view dl div{grid-template-columns:90px 1fr;gap:24px;padding:12px 0;display:grid}.account-view dt{color:var(--muted)}.account-view dd{margin:0}.secondary-button{border:1px solid var(--border-strong);color:var(--accent);background:#fff;padding:0 28px}@keyframes enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.auth-session-note{background:var(--background-sage);border:1px solid var(--border);color:var(--muted);border-radius:8px;margin:0 0 16px;padding:10px 12px;font-size:12px;line-height:1.5}
