@charset "UTF-8";:root{color-scheme:light;--bg:#f2f4f8;--surface:#fff;--text:#1c2536;--muted:#738096;--line:#e1e6ef;--accent:#4b59d7}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 20px;background:var(--bg);color:var(--text);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif}.login-card{width:100%;max-width:420px;padding:37px 37px 29px;background:var(--surface);border:1px solid var(--line);border-radius:19px;box-shadow:0 15px 55px #18213807}.brand-mark{display:grid;place-items:center;width:47px;height:47px;background:#8490ff;color:#17203b;border-radius:15px;font:bold 32px Georgia,serif;text-decoration:none;margin-bottom:28px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:.16em;color:var(--accent);margin:0 0 7px}h1{margin:0;font-size:27px;letter-spacing:-1px;line-height:1.4}.description{margin:11px 0 29px;font-size:12px;color:var(--muted);line-height:1.9}.login-label{font-size:12px;font-weight:600;padding-bottom:13px;margin-bottom:19px;border-bottom:1px solid var(--line)}label{display:block;font-size:11px;font-weight:600;margin:14px 0 6px}input{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;font:inherit;background:var(--surface);color:var(--text);font-size:14px}button{font:inherit;width:100%;margin-top:25px;padding:12px;border:0;border-radius:8px;background:#4b59d7;color:#fff;font-size:13px;font-weight:600;cursor:pointer}button:hover{background:#3e4bc2}:disabled{opacity:.5;cursor:default}a:focus-visible,input:focus-visible,button:focus-visible{outline:3px solid #8491ff;outline-offset:3px}.help{font-size:10px;color:var(--muted);margin:18px 0 0;text-align:center}.error{background:#fff0ee;color:#a53131;padding:12px;border-radius:8px;font-size:12px;overflow-wrap:anywhere}footer{font-size:10px;letter-spacing:.03em;color:var(--muted);margin-top:25px}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#101620;--surface:#182130;--text:#e8edf6;--muted:#a1aec2;--line:#2d394d;--accent:#abb3ff}.error{background:#39282b;color:#ffb3ad}}@media(max-width:420px){body{padding:22px 17px}.login-card{padding:29px 26px 24px}h1{font-size:25px}}


/* Minimal friend sign-in, 20261103. All rules are limited to the login page. */
body.minimal-login-page {
  color-scheme: light;
  min-width: 0;
  min-height: 100vh;
  min-height: 100svh;
  margin: 0;
  padding: max(24px, env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) max(24px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  background: #f5f6f8;
  color: #1f2937;
  font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
}
.minimal-login-page *,
.minimal-login-page *::before,
.minimal-login-page *::after {
  box-sizing: border-box;
}
.minimal-login-page .minimal-login-card {
  width: 100%;
  max-width: 360px;
  min-width: 0;
  margin: 0;
  padding: 24px;
  border: 1px solid #e1e5ea;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 24px rgb(31 41 55 / 4%);
  text-align: left;
}
.minimal-login-page .minimal-login-form {
  position: relative;
  display: grid;
  gap: 12px;
  min-width: 0;
  margin: 0;
}
.minimal-login-page .minimal-login-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.minimal-login-page .minimal-login-form input[type="hidden"] {
  display: none;
}
.minimal-login-page .minimal-login-form input:not([type="hidden"]) {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 50px;
  height: 50px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #c8cfd8;
  border-radius: 9px;
  background: #fff;
  color: #1f2937;
  font: inherit;
  font-size: 16px;
  line-height: 1.5;
}
.minimal-login-page .minimal-login-form input::placeholder {
  color: #687384;
  opacity: 1;
}
.minimal-login-page .minimal-login-button {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 50px;
  margin: 4px 0 0;
  padding: 12px 14px;
  border: 1px solid #263445;
  border-radius: 9px;
  background: #263445;
  color: #fff;
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  cursor: pointer;
}
.minimal-login-page .minimal-login-button:hover:not(:disabled) {
  border-color: #192534;
  background: #192534;
}
.minimal-login-page .minimal-login-form input:focus-visible,
.minimal-login-page .minimal-login-button:focus-visible {
  outline: 3px solid #728daf;
  outline-offset: 3px;
}
.minimal-login-page .minimal-login-form input:disabled,
.minimal-login-page .minimal-login-button:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.minimal-login-page .minimal-login-message {
  margin: 0 0 16px;
  padding: 10px 12px;
  border: 1px solid #edcac6;
  border-radius: 9px;
  background: #fff3f1;
  color: #8b332a;
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
@media (max-width: 360px) {
  .minimal-login-page .minimal-login-card { padding: 20px; }
}
@media (max-height: 420px) {
  body.minimal-login-page { align-items: start; padding-top: 16px; padding-bottom: 16px; }
}
