/* Welcome and account settings: one shared, readable home for authentication. */
.auth-shell{max-width:1200px;margin:auto;padding:0 40px;color:var(--p-text)}
.edition{font-size:11px;color:var(--p-muted)}
.auth-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:88px;align-items:center;min-height:calc(100dvh - 155px);padding:62px 0 72px}
.auth-eyebrow{font-size:12px;font-weight:550;letter-spacing:.045em;color:var(--p-accent);margin-bottom:24px!important}
.auth-story h1{font-size:66px;font-weight:650;letter-spacing:-3.8px;line-height:1.24}
.auth-story h1 span{color:var(--p-accent)}
.auth-description{font-size:16px;line-height:1.9;color:var(--p-muted);margin:27px 0 40px!important;word-break:keep-all}
.research-note{max-width:452px;border-top:1px solid var(--p-line);padding:17px 0 0}
.note-caption{display:flex;justify-content:space-between;font:11px/1.6 var(--p-mono);letter-spacing:.08em;color:var(--p-muted)}
.research-note ol{display:flex;list-style:none;margin:22px 0 0;padding:0;gap:18px}
.research-note li{flex:1;display:flex;gap:10px}
.research-note b{font:11px/1.8 var(--p-mono);color:var(--p-accent)}
.research-note li span{font-size:12px;font-weight:650;white-space:nowrap}
.research-note small{display:block;font-size:11px;line-height:1.7;color:var(--p-muted);font-weight:400;margin-top:7px;white-space:nowrap}
.auth-panel{background:var(--p-surface);padding:38px;border-radius:var(--md-shape-xl);box-shadow:var(--md-elev-2);border:1px solid transparent}
.panel-kicker{font:11px/1.5 var(--p-mono);color:var(--p-accent);letter-spacing:.09em;margin-bottom:15px!important}
.auth-panel h2{font-size:27px;letter-spacing:-1.2px;font-weight:650;margin-bottom:12px;line-height:1.4}
.panel-copy{font-size:14px;line-height:1.8;color:var(--p-muted);margin-bottom:27px!important;word-break:keep-all}
.provider-list{display:grid;gap:10px}
.provider-row{display:flex;align-items:center;gap:8px}
.provider-button{display:flex;width:100%;min-height:52px;align-items:center;gap:13px;padding:13px 16px;border-radius:var(--md-shape-m);background:var(--md-card-bg);color:var(--p-text);font:550 14px/1.5 var(--p-font);cursor:pointer;text-align:left;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s;border:var(--md-card-border)}
.provider-button:not(:disabled):hover{border-color:var(--p-accent);background:var(--p-surface-2);box-shadow:var(--md-elev-2)}
.provider-button:not(:disabled):active{transform:translateY(1px)}
.provider-icon{width:20px;height:20px;display:grid;place-items:center;flex:none;font-family:Arial,sans-serif;font-size:16px;font-weight:800;line-height:1}
.provider-icon svg{display:block;width:20px;height:20px}
.provider-label{flex:1}
.provider-state{font-size:11px;white-space:nowrap;font-weight:400}
.provider-button.google{background:#fff;color:#242424;border-color:var(--p-line)}
.provider-button.kakao{background:#fee500;color:#191919;border-color:#fee500}
.provider-button.naver{background:#03c75a;color:#fff;border-color:#03c75a}
.provider-button.google:not(:disabled):hover{background:var(--p-surface-2);border-color:var(--p-muted)}
.provider-button.kakao:not(:disabled):hover{background:#ffe936}
.provider-button.naver:not(:disabled):hover{background:#00b551}
.provider-button:disabled{cursor:not-allowed;opacity:1;background:var(--p-bg);border-color:var(--p-line);color:var(--p-muted)}
.provider-button:disabled .provider-icon{opacity:.55}
.provider-button.connected{background:var(--p-accent-soft);color:var(--p-accent);border-color:transparent}
.provider-button.connected .provider-icon{opacity:1}
.unlink-button{font:12px var(--p-font);color:var(--p-muted);border:1px solid var(--md-outline);border-radius:var(--md-shape-s);min-height:44px;background:none;padding:0 11px;cursor:pointer;white-space:nowrap}
.unlink-button:hover{color:var(--p-red);border-color:var(--p-red)}
.unlink-button:disabled{opacity:.45;cursor:not-allowed}
.auth-panel details{border-top:1px solid var(--p-line);margin-top:23px;padding-top:2px}
.auth-panel summary{cursor:pointer;list-style:none;font-size:12px;color:var(--p-muted);display:flex;justify-content:space-between;padding:17px 0}
.auth-panel summary::-webkit-details-marker{display:none}
.auth-panel summary span{transition:transform .18s}
.auth-panel details[open] summary span{transform:rotate(45deg)}
.login-note{font-size:11px;line-height:1.9;color:var(--p-muted);margin-top:23px!important;word-break:keep-all}
.auth-notice{font-size:12px;line-height:1.8;background:var(--p-accent-soft);color:var(--p-accent);box-shadow:inset 3px 0 var(--p-accent);padding:12px 15px;border-radius:var(--md-shape-s);margin-bottom:22px;word-break:keep-all}
.auth-notice.error{background:var(--p-bg);color:var(--p-red);box-shadow:inset 3px 0 var(--p-red)}
.account-caption{display:block;font-size:11px;color:var(--p-muted);margin-bottom:6px}
#account-name{display:block;font-size:23px;font-weight:650;margin-bottom:18px;overflow-wrap:anywhere;letter-spacing:-.03em}
.continue-link{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:13px 16px;margin-bottom:25px;border:1px solid var(--p-accent);border-radius:var(--md-shape-s);background:var(--p-accent);color:var(--p-inverse)!important;text-decoration:none;font:600 13px/1.5 var(--p-font);cursor:pointer;transition:filter .18s,transform .18s}
.continue-link:hover{filter:brightness(1.08)}
.continue-link:active{transform:translateY(1px)}
.auth-footer{border-top:1px solid var(--p-line);min-height:82px;display:flex;justify-content:space-between;align-items:center;gap:18px;color:var(--p-muted);font-size:11px}
.auth-footer>a{text-decoration:none}
.auth-footer>span:first-child{font-size:11px;letter-spacing:.05em}
#profile-form{border-top:1px solid var(--p-line);padding-top:22px;margin-top:25px}
#profile-form label{font-size:12px;font-weight:600;color:var(--p-text)}
.nickname-row{display:flex;gap:9px;margin-top:10px}
.nickname-row input{min-width:0;width:100%;min-height:44px;border:1px solid var(--md-outline);background:var(--p-bg);border-radius:var(--md-shape-s);color:var(--p-text);padding:10px 12px;font:14px/1.5 var(--p-font)}
.nickname-row button{border:1px solid var(--md-outline);background:var(--p-accent-soft);color:var(--p-accent);border-radius:var(--md-shape-s);font:600 12px var(--p-font);padding:0 16px;white-space:nowrap;cursor:pointer}
.logout-button{border:none;background:none;padding:18px 0 0;color:var(--p-muted);font:12px var(--p-font);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.logout-button:hover{color:var(--p-red)}
.logout-confirm{width:100%;justify-content:center;margin-top:28px;margin-bottom:18px}
.cancel-link{display:block;text-align:center;font-size:12px;color:var(--p-muted)}
.loading{font-size:13px;color:var(--p-muted);padding:24px 18px;background:var(--p-bg);border-radius:var(--md-shape-m);animation:p-breathe 1.4s ease-in-out infinite alternate}
.account-view .auth-layout{align-items:start;gap:100px}
.account-view .auth-story{position:sticky;top:145px;padding-top:32px}
.account-view .auth-story h1{font-size:52px}
.account-view .auth-description{font-size:14px}
.account-view .research-note ol{gap:12px}
.account-view .research-note li{display:block}
.account-view .research-note b{display:block;margin-bottom:8px}
@media(max-width:1080px){.auth-shell{padding:0 32px}.auth-layout{gap:48px}.auth-story h1{font-size:58px}.auth-panel{padding:30px}.research-note li{display:block}.research-note b{display:block;margin-bottom:8px}.account-view .auth-layout{gap:48px}.account-view .auth-story h1{font-size:46px}.auth-shell.account-view .research-note{display:none}}
@media(max-width:800px){.p-tools .edition{display:none}.auth-shell{max-width:570px;padding:0 24px}.auth-layout{grid-template-columns:1fr;gap:33px;padding:38px 0 44px;min-height:0}.auth-eyebrow{font-size:11px;margin-bottom:18px!important}.auth-story h1{font-size:42px;letter-spacing:-2px;line-height:1.3}.auth-story h1 br:nth-of-type(2){display:none}.auth-story h1 span{margin-left:8px}.auth-description{font-size:14px;line-height:1.85;margin:19px 0 0!important}.research-note{display:none}.auth-panel{padding:30px;border-radius:var(--md-shape-l)}.auth-panel h2{font-size:25px}.auth-footer{padding:22px 0;min-height:76px}.auth-footer>span:nth-child(2){display:none}.auth-shell.account-view .auth-story,.auth-shell.logout-view .auth-story{display:none}}
@media(max-width:430px){.auth-shell{padding:0 18px}.auth-layout{padding-top:30px;gap:28px}.auth-story h1{font-size:38px}.auth-description{font-size:13px}.auth-panel{padding:26px 22px}.panel-copy{font-size:13px}.provider-button{font-size:13px;gap:11px;padding-inline:13px}.provider-state{font-size:11px}.nickname-row input{font-size:16px}}
