@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800;900&family=Noto+Serif+KR:wght@500;600;700&display=swap');
:root{--auth-bg:#f8f7f3;--auth-ink:#282c23;--auth-muted:#8c9481;--auth-line:#e3e6da;--auth-accent:#ed5634;--auth-soft:#fff0e9}*{box-sizing:border-box}body{margin:0;background:var(--auth-bg);color:var(--auth-ink);font-family:'Noto Sans KR',Pretendard,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:disabled{cursor:wait;opacity:.6}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #e99774;outline-offset:3px}[hidden]{display:none!important}.orange{color:var(--auth-accent)}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--auth-accent)}.auth-layout{min-height:100dvh;display:grid;grid-template-columns:1.04fr 1fr}.auth-story{min-height:100dvh;padding:49px 10%;background:#ebece2;display:flex;flex-direction:column;position:relative;overflow:hidden;border-right:1px solid #e0e3d6}.auth-story:after{content:'';position:absolute;right:-125px;bottom:160px;width:370px;height:370px;border-radius:50%;border:1px solid #daddcd;pointer-events:none}.auth-story:before{content:'';position:absolute;right:-77px;bottom:208px;width:275px;height:275px;border-radius:50%;border:1px solid #daddcd;pointer-events:none}.auth-brand{display:flex;align-items:center;gap:13px;font-size:27px;font-weight:900;line-height:.95;letter-spacing:-1.5px;width:max-content;position:relative;z-index:1}.auth-brand-symbol{font-family:Georgia,serif;font-size:65px;letter-spacing:-12px;font-weight:400;line-height:.8;width:52px;height:56px;position:relative;color:#6d785c}.auth-brand-symbol i{display:block;position:absolute;background:var(--auth-accent);height:6px;width:6px;border-radius:50%;right:0;bottom:0}.auth-story-copy{margin:auto 0;position:relative;z-index:1;padding:65px 0}.auth-story-copy>.eyebrow{color:#8e9c7c;letter-spacing:2px;font-size:9px}.auth-story h1{font-family:'Noto Serif KR',Georgia,serif;font-weight:600;font-size:clamp(36px,3.5vw,56px);letter-spacing:-3px;line-height:1.55;margin:20px 0 22px}.auth-story h1 em{font-style:normal;color:var(--auth-accent)}.auth-story-copy>p{font-size:13px;line-height:2;color:#8e9881}.story-curators{display:flex;align-items:center;margin-top:34px;gap:0}.story-curators>span{display:flex;align-items:center;justify-content:center;border:3px solid #ebece2;width:37px;height:37px;border-radius:50%;font-size:11px;font-weight:700;background:#dbcab4;color:#7f6b4d}.story-curators>span+span{background:#cad5ba;color:#768961;margin-left:-9px}.story-curators p{margin:0 0 0 11px;font-size:10px;color:#98a188;line-height:1.9}.story-curators p strong{color:#788668;font-weight:500}.auth-story-foot{font-size:10px;color:#899479;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:1}.auth-story-foot>span{font-size:9px;color:#a1aa91}.auth-entry{display:flex;align-items:center;justify-content:center;padding:55px 9%;min-height:100dvh}.auth-entry-inner{width:100%;max-width:365px}.auth-entry h2{font-size:30px;letter-spacing:-1.2px;margin:12px 0 10px;font-weight:700;line-height:1.5}.auth-intro{font-size:12px;color:var(--auth-muted);margin:0 0 29px;line-height:1.9}.auth-tabs{display:grid;grid-template-columns:.8fr 1.2fr;gap:5px;background:#eceedf;border-radius:8px;padding:5px;margin-bottom:28px}.auth-tabs button{border:0;border-radius:5px;padding:11px 7px;background:none;color:#9ba58d;font-size:12px;min-height:42px}.auth-tabs button[aria-selected=true]{background:white;color:#637650;box-shadow:0 1px 4px #00000008;font-weight:600}.auth-form{display:grid;gap:19px}.field{display:grid;gap:8px}.field>label{font-size:12px;font-weight:600;color:#657456}.field input,.field textarea,.field select{appearance:none;width:100%;min-width:0;border:1px solid #dfe3d5;border-radius:7px;background:#fffefc;padding:13px 14px;color:#455536;font-size:13px;min-height:48px}.field input::placeholder{color:#b7bfab;font-size:12px}.field input:focus{border-color:#b4c19e}.field-hint{font-size:10px;line-height:1.8;color:#a0ab90;margin:-1px 0 0}.password-wrap{position:relative}.password-wrap input{padding-right:60px}.password-toggle{position:absolute;right:6px;top:5px;height:38px;padding:0 10px;background:none;border:0;font-size:10px;color:#98a688;border-radius:4px}.remember-field{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:11px;color:#8c9c7c;margin-top:-1px}.remember-field input{accent-color:var(--auth-accent);width:15px;height:15px;margin:0}.remember-field small{font-size:9px;margin-left:6px;color:#a8b397;border-left:1px solid #dfe4d5;padding-left:8px}.auth-primary{border:1px solid var(--auth-accent);background:var(--auth-accent);color:white;font-size:12px;font-weight:600;min-height:45px;border-radius:7px;padding:12px 19px;display:inline-flex;align-items:center;justify-content:center;gap:12px}.auth-primary:hover{background:#df4a2a;border-color:#df4a2a}.auth-submit{width:100%;font-size:13px;display:flex;justify-content:space-between;min-height:50px;padding:13px 19px;margin-top:1px}.auth-submit span{font-size:21px;line-height:1}.auth-secondary{border:1px solid #dbe2cf;background:#fffdf7;color:#859673;min-height:42px;padding:10px 15px;border-radius:7px;font-size:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.auth-secondary:hover{background:#eef1e6}.error-message{border:1px solid #efcab6;background:#fff0e5;color:#a76f4f;font-size:11px;line-height:1.9;border-radius:6px;padding:11px 13px;overflow-wrap:anywhere}.success-message{border:1px solid #d5dfc6;background:#edf3e5;color:#809269;font-size:11px;line-height:1.9;border-radius:6px;padding:11px 13px}.auth-help{display:flex;align-items:flex-start;gap:8px;border-top:1px solid var(--auth-line);padding-top:19px;margin-top:25px}.auth-help-dot{margin-top:6px;width:5px;height:5px;border-radius:50%;background:#b2bda0;flex-shrink:0}.auth-help p{font-size:10px;line-height:1.9;color:#a2ac94;margin:0}.auth-entry-foot{font-size:9px;color:#b0b8a3;text-align:center;margin:31px 0 0;line-height:1.9}.auth-loading{display:flex;justify-content:center;align-items:center;gap:10px;font-size:12px;color:#99a58b;min-height:250px}.auth-spinner{width:18px;height:18px;display:inline-block;border:2px solid #e1e6d7;border-top-color:var(--auth-accent);border-radius:50%;animation:auth-spin .8s linear infinite;flex-shrink:0}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-notice{text-align:center;font-size:12px;color:#9aa68a}.auth-notice h2{font-size:23px}.auth-notice p{line-height:1.9;margin:12px 0 22px}.auth-session-guard{position:fixed;inset:0;background:var(--auth-bg);z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center}.auth-session-guard .auth-brand{font-size:23px}.auth-session-guard .auth-loading{min-height:100px}.auth-session-guard p{font-size:12px;color:#97a387;line-height:1.9}.auth-session-guard .error-message{max-width:400px}.auth-pending .app-shell,.auth-pending .sidebar,.auth-pending .bottom-nav{visibility:hidden}.account-overlay{position:fixed;inset:0;background:#1d241c80;backdrop-filter:blur(5px);z-index:150;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}.account-dialog{position:relative;background:var(--auth-bg);border-radius:14px;width:470px;max-width:100%;max-height:calc(100dvh - 40px);overflow:auto;padding:32px;outline:none;box-shadow:0 20px 90px #0002}.account-dialog h2{font-size:25px;letter-spacing:-1px;margin:9px 0 8px}.account-dialog>.account-description{font-size:12px;color:#8f9d7d;margin:0 0 25px;line-height:1.8}.account-close{position:absolute;right:14px;top:14px;width:36px;height:36px;border:1px solid var(--auth-line);background:#fffdf7;border-radius:50%;color:#8fa078;font-size:22px;line-height:1}.account-dialog .auth-form{gap:15px}.account-divider{border:0;border-top:1px solid var(--auth-line);margin:25px 0 20px}.account-signout{display:flex;gap:8px}.account-signout button{flex:1;font-size:11px}.account-user{font-size:11px;color:#9baa86;margin:3px 0 20px}.session-check-notice{position:fixed;top:0;left:0;right:0;padding:7px 15px;text-align:center;background:#fff2df;border-bottom:1px solid #e9d5ae;font-size:11px;color:#aa8755;z-index:180}
@media(max-width:1000px){.auth-story{padding:42px 10%}.auth-entry{padding:45px 10%}.auth-story h1{font-size:39px}.auth-story-foot{display:block;line-height:2}.auth-story-foot>span{display:block}.auth-story-copy>p{font-size:12px}.auth-entry h2{font-size:26px}.auth-story-copy>.eyebrow{font-size:8px;letter-spacing:1.2px}}
@media(max-width:720px){.auth-layout{display:block}.auth-story{min-height:0;padding:27px 25px 29px;border-right:0;border-bottom:1px solid #e0e3d6}.auth-brand{font-size:21px;gap:10px}.auth-brand-symbol{font-size:49px;width:41px;height:44px;letter-spacing:-9px}.auth-brand-symbol i{width:5px;height:5px}.auth-story-copy{padding:27px 0 0}.auth-story-copy>.eyebrow{font-size:8px;letter-spacing:1.5px}.auth-story h1{font-size:32px;line-height:1.45;margin:11px 0 12px;letter-spacing:-2px}.auth-story-copy>p{font-size:11px;line-height:1.9;margin:0}.auth-story:after{width:245px;height:245px;right:-75px;bottom:-48px}.auth-story:before{width:180px;height:180px;right:-43px;bottom:-16px}.story-curators{position:absolute;right:0;top:34px;margin:0;align-items:flex-end}.story-curators>span{width:31px;height:31px;font-size:9px}.story-curators>p{display:none}.auth-story-foot{display:none}.auth-entry{padding:32px 25px 30px;min-height:0}.auth-entry-inner{max-width:420px}.auth-entry h2{font-size:26px;margin-top:9px}.auth-entry .eyebrow{font-size:9px}.auth-intro{font-size:12px;margin-bottom:22px}.auth-tabs{margin-bottom:23px}.auth-tabs button{font-size:12px}.auth-form{gap:17px}.field>label{font-size:12px}.field input{font-size:16px;min-height:48px}.field input::placeholder{font-size:12px}.remember-field{font-size:12px}.remember-field small{font-size:10px}.auth-help p{font-size:11px}.auth-entry-foot{font-size:10px;margin-top:24px}.auth-loading{min-height:180px}.account-dialog{padding:28px 23px}.account-dialog .field input{font-size:16px}.account-signout{flex-wrap:wrap}.account-signout button{font-size:11px;min-width:140px}.account-description{font-size:12px}.error-message{font-size:12px}.auth-help{padding-top:18px;margin-top:23px}}
@media(prefers-reduced-motion:reduce){.auth-spinner{animation:none}}
