/* IG Progress — standalone stylesheet.
   Fonts are self-hosted in /fonts (Inter + Noto Sans CJK, both SIL Open Font License) so nothing is fetched from another website. */
@font-face{font-family:'IG Inter';font-weight:400;font-style:normal;font-display:swap;src:url(fonts/inter-400.woff) format('woff')}
@font-face{font-family:'IG Inter';font-weight:500;font-style:normal;font-display:swap;src:url(fonts/inter-500.woff) format('woff')}
@font-face{font-family:'IG Inter';font-weight:600;font-style:normal;font-display:swap;src:url(fonts/inter-600.woff) format('woff')}
@font-face{font-family:'IG Inter';font-weight:700;font-style:normal;font-display:swap;src:url(fonts/inter-700.woff) format('woff')}
@font-face{font-family:'IG TC';font-weight:400 500;font-style:normal;font-display:swap;src:url(fonts/noto-tc-400.woff) format('woff')}
@font-face{font-family:'IG TC';font-weight:600 700;font-style:normal;font-display:swap;src:url(fonts/noto-tc-700.woff) format('woff')}
@font-face{font-family:'IG SC';font-weight:400 500;font-style:normal;font-display:swap;src:url(fonts/noto-sc-400.woff) format('woff')}
@font-face{font-family:'IG SC';font-weight:600 700;font-style:normal;font-display:swap;src:url(fonts/noto-sc-700.woff) format('woff')}
@font-face{font-family:'IG KR';font-weight:400 500;font-style:normal;font-display:swap;src:url(fonts/noto-kr-400.woff) format('woff')}
@font-face{font-family:'IG KR';font-weight:600 700;font-style:normal;font-display:swap;src:url(fonts/noto-kr-700.woff) format('woff')}
:root{--body:'IG Inter','IG TC','IG SC','IG KR',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,'PingFang TC','PingFang SC','Apple SD Gothic Neo','Microsoft JhengHei','Microsoft YaHei','Malgun Gothic',sans-serif;--head:var(--body)}
:root:lang(zh-Hans){--body:'IG Inter','IG SC','IG TC','IG KR',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,'PingFang TC','PingFang SC','Apple SD Gothic Neo','Microsoft JhengHei','Microsoft YaHei','Malgun Gothic',sans-serif}
:root:lang(ko){--body:'IG Inter','IG KR','IG TC','IG SC',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,'PingFang TC','PingFang SC','Apple SD Gothic Neo','Microsoft JhengHei','Microsoft YaHei','Malgun Gothic',sans-serif}
html,body{height:100%}
body{-webkit-text-size-adjust:100%;font-family:var(--body)}
#app{min-height:100%}

body{margin:0;background:#F5F2EA}
button,select,input,textarea{font-family:inherit;font-size:15px;color:#101D33}
button{cursor:pointer}
.h{font-family:var(--head);text-transform:uppercase;letter-spacing:.02em;font-weight:700;margin:0}
.card{background:#FBFAF6;border:1px solid rgba(137,148,165,.45);border-radius:6px;padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0}
.lab{font-family:var(--head);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600;color:#3B4A60}
.chip{min-height:44px;padding:0 14px;border:1px solid #8994A5;background:transparent;border-radius:4px;font-weight:500}
.chip.on{background:#101D33;color:#F5F2EA;border-color:#101D33}
.row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.bar{height:6px;background:#E3E1D9;border-radius:3px;overflow:hidden}
.bar span{display:block;height:100%;background:#203856}
.bar.br span{background:#C9A76A}
.big{font-family:var(--head);font-weight:700;font-size:34px;line-height:1;color:#101D33}
.sm{font-size:14px;color:#3B4A60;line-height:1.5;margin:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.tag{font-size:12px;font-weight:600;padding:3px 8px;border-radius:3px;background:#E9E1CE;color:#101D33}
.tag.al{background:#203856;color:#F5F2EA}
.go{min-height:44px;padding:0 14px;border:1px solid #203856;background:#203856;color:#F5F2EA;border-radius:4px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}
.go.done{background:transparent;color:#101D33}
.inp{min-height:44px;padding:8px 12px;border:1px solid #8994A5;border-radius:4px;background:#fff;box-sizing:border-box;width:100%}
.av{width:56px;height:56px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;color:#F5F2EA;font-family:var(--head);font-weight:700;font-size:20px}
.fb{border-top:1px solid rgba(137,148,165,.45);padding-top:10px;display:flex;flex-direction:column;gap:4px}
.pick{min-height:44px;padding:10px 14px;text-align:left;display:flex;gap:12px;align-items:center;border:1px solid #8994A5;background:transparent;border-radius:4px;width:100%;box-sizing:border-box}
.pick.on{background:#E9E1CE;border-color:#101D33}
/* Stage 2B: sign-in screens */
#gate .inp:focus,#gate button:focus-visible{outline:3px solid #C9A76A;outline-offset:2px}
#gate .go[disabled]{opacity:.55}
#gate img{max-width:100%;height:auto}
