@font-face{font-family:Pretendard;src:url('/assets/PretendardVariable-subset.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
:root{color-scheme:dark;--bg:#141312;--surface:#1b1a18;--raised:#262422;--border:#38352f;--text:#f2f0ea;--muted:#bab5ac;--dim:#9e9a92;--bronze:#cbb283;--gold:#e4d2a6;--red:#e6aaa0;--green:#93d4ae;font-family:Pretendard,system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--bg);color:var(--text);font-synthesis:none}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100vh;font-size:15px;line-height:1.75;word-break:keep-all;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}h1,h2,p{margin:0}h1,h2{line-height:1.28;letter-spacing:-.045em}.skip-link{position:fixed;left:16px;top:-70px;background:var(--gold);color:#21190c;padding:10px 16px;z-index:10;border-radius:6px}.skip-link:focus{top:12px}.login-header,.login-footer{max-width:1180px;margin-inline:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 36px}.login-header{border-bottom:1px solid var(--border)}.login-brand{display:flex;align-items:center;min-height:44px;width:180px;flex-shrink:0}.login-brand img{display:block;width:100%;height:auto}.home-link{font-size:12px;color:var(--muted);min-height:44px;display:flex;align-items:center;gap:10px}.home-link:hover{color:var(--gold)}.login-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,80px);max-width:1140px;margin:0 auto;padding:70px 36px}.login-story{min-width:0}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.16em;color:var(--bronze);margin-bottom:24px}.login-story h1{font-size:clamp(34px,2.3vw + 14px,49px);font-weight:700;line-height:1.3}.login-story h1 em{color:var(--gold);font-style:normal}.story-lead{font-size:16px;color:var(--muted);line-height:1.85;margin-top:24px}.story-flow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:34px;font-size:12px}.story-flow span{border:1px solid var(--border);border-radius:5px;padding:6px 10px}.story-flow i{font-style:normal;color:var(--bronze)}.story-note{border-left:1px solid var(--bronze);padding-left:18px;margin-top:46px;max-width:370px}.story-note>span{color:var(--bronze);font-size:10px;letter-spacing:.12em}.story-note p{font-size:12px;color:var(--dim);margin-top:8px}.login-card{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:clamp(24px,3vw,36px);min-width:0;box-shadow:0 12px 55px #0002}.access-badge{display:inline-block;color:var(--bronze);border:1px solid #64543a;border-radius:5px;padding:4px 8px;font-size:10px;margin-bottom:18px}.login-card h2{font-size:28px;font-weight:600}.login-intro{font-size:13px;color:var(--muted);line-height:1.8;margin:16px 0 26px}.login-card label{display:block;color:var(--text);font-size:12px;font-weight:600;margin-bottom:9px}.login-card input{width:100%;min-height:52px;background:var(--bg);color:var(--text);border:1px solid #4e4a45;border-radius:7px;padding:12px 14px;font-size:16px;line-height:1.5}.login-card input::placeholder{color:var(--dim)}.login-card input[aria-invalid=true]{border-color:var(--red)}.login-card input[readonly]{color:var(--muted);background:var(--raised)}.field-hint{font-size:11px;color:var(--dim);line-height:1.8;margin:9px 0 18px}.primary-button,.secondary-button{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:48px;line-height:1.5;border-radius:7px;font-size:13px;font-weight:600;padding:12px 16px;border:1px solid transparent}.primary-button{color:#21190c;background:linear-gradient(135deg,#e4d2a6,#bca068)}.primary-button:hover:not(:disabled){filter:brightness(1.06)}.primary-button:disabled{opacity:.55}.secondary-button{background:transparent;color:var(--bronze);border-color:#64543a;margin-top:10px}.secondary-button:disabled{color:var(--dim);border-color:var(--border)}.code-form-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.code-form-header label{margin:0}.text-button{background:transparent;border:0;color:var(--bronze);padding:0 4px;min-height:44px;font-size:11px}.text-button:hover{color:var(--gold)}.timer-note{margin-bottom:0;text-align:center;min-height:20px}.status-box{font-size:12px;line-height:1.8;border:1px solid #64543a;border-radius:7px;background:#26221c;color:var(--bronze);padding:12px 14px;margin-top:20px}.status-box.error{color:var(--red);border-color:#65473e;background:#271d19}.status-box.success{color:var(--green);border-color:#3e5a49;background:#1a251d}.social-notice{border-top:1px solid var(--border);padding-top:22px;margin-top:26px}.social-notice>span{display:block;font-size:11px;color:var(--dim);margin-bottom:10px}.social-notice>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.social-notice button{background:var(--raised);color:var(--dim);border:1px solid var(--border);border-radius:5px;min-height:44px;font-size:10px;padding:8px 4px;overflow-wrap:anywhere}.auth-boundary{font-size:10px;color:var(--dim);line-height:1.85;margin-top:20px}.contact-note{font-size:11px;color:var(--dim);margin-top:17px}.contact-note a{color:var(--bronze);display:inline-flex;align-items:center;min-height:44px}.login-footer{border-top:1px solid var(--border);font-size:10px;color:var(--dim);padding-block:16px}.login-footer a{display:flex;align-items:center;min-height:44px}
@media(max-width:850px){.login-layout{grid-template-columns:minmax(0,1fr);max-width:650px;padding-block:42px;gap:32px}.login-story h1{font-size:37px}.story-lead{font-size:14px}.story-flow,.story-note{display:none}.eyebrow{margin-bottom:17px}.login-card{padding:28px}}
@media(max-width:430px){.login-header,.login-footer{padding-inline:20px}.login-header{padding-block:16px;gap:14px}.login-brand{width:145px}.home-link{font-size:10px}.login-layout{padding:32px 20px}.login-story h1{font-size:31px}.story-lead{font-size:12px;margin-top:18px}.login-card{padding:22px 18px}.login-card h2{font-size:25px}.login-intro{font-size:12px}.login-footer{align-items:flex-start;flex-direction:column;gap:0}.login-footer a{min-height:44px}.social-notice button{font-size:9px}.primary-button,.secondary-button{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(forced-colors:active){.login-card,.login-card input,.primary-button,.secondary-button,.status-box{border-color:CanvasText}.primary-button{background:ButtonFace;color:ButtonText}}
