.login-entry {
  min-width: 52px;
  height: 38px;
  padding: 0 11px;
  border: 2px solid #171815;
  border-radius: 12px;
  background: #d8ff42;
  color: #171815;
  box-shadow: 3px 3px 0 #171815;
  font: 8px 'Archivo Black';
  letter-spacing: .04em;
}

.login-entry.is-authenticated {
  min-width: 40px;
  width: 40px;
  padding: 0;
  border-radius: 50%;
  background: #ffd7b3 center / cover no-repeat;
  font-size: 12px;
  letter-spacing: 0;
}

.login-entry.is-authenticated[style*="background-image"] span {
  opacity: 0;
}

.mini-avatar,.big-avatar{background-position:center;background-size:cover}
.mini-avatar[style*="background-image"] span,.big-avatar[style*="background-image"] span{opacity:0}
.auth-layer{position:absolute;z-index:90;inset:0}
.auth-shade{position:absolute;inset:0;width:100%;border:0;background:rgba(24,42,45,.48);backdrop-filter:blur(5px)}
.auth-panel{position:absolute;left:14px;right:14px;bottom:14px;padding:30px 22px 24px;border:2px solid rgba(255,255,255,.8);border-radius:28px;background:#f8f7f2;box-shadow:0 24px 70px rgba(23,24,21,.28);text-align:center;animation:rise .3s ease}
.auth-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border:0;border-radius:12px;background:#ecebe5;font-size:21px}
.auth-rune{width:55px;height:55px;display:grid;place-items:center;margin:0 auto 14px;border:3px solid #171815;border-radius:18px;background:#d8ff42;box-shadow:5px 5px 0 #171815;font-size:24px}
.auth-rune svg{width:27px;height:27px}
.report-submit-icon svg{width:18px;height:18px}
.auth-panel>small{color:#ff5b35;font:7px 'Archivo Black';letter-spacing:.13em}
.auth-panel h2{margin:0 0 8px;font:30px 'Archivo Black';letter-spacing:-.06em}
#authSheet .auth-panel{padding-top:38px}
.auth-panel p{margin:0;color:#777970;font-size:10px;line-height:1.55}
.google-login{width:100%;height:58px;display:flex;align-items:center;gap:13px;margin-top:22px;padding:0 13px;border:2px solid #171815;border-radius:16px;background:#fff;color:#171815}
.google-login-icon{width:34px;height:34px;display:grid;place-items:center;flex-shrink:0}
.google-login-icon svg{width:22px;height:22px;display:block}
.google-login b{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#4285f4 0 25%,#34a853 25% 50%,#fbbc05 50% 75%,#ea4335 75%);color:#fff;font:17px Arial}
.google-login span{font:11px 'Archivo Black'}
.auth-panel em{display:block;margin-top:14px;color:#999;font-size:7px;font-style:normal}
.logout-button{width:calc(100% - 30px);height:44px;margin:10px 15px 35px;border:1px solid rgba(23,24,21,.14);border-radius:14px;background:#fff;color:#d24b2f;font-size:8px;font-weight:900}
.onboarding-panel{bottom:auto;top:50%;transform:translateY(-50%);max-height:calc(100dvh - 28px);overflow:auto;padding-top:24px}
.onboarding-panel h2{margin:0 0 4px}
.onboarding-field{display:block;margin-top:14px;text-align:left}
.onboarding-deferred-field{display:none!important}
.onboarding-field span{display:block;margin-bottom:6px;color:#777970;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.onboarding-field input,
.onboarding-field select{
  width:100%;
  height:50px;
  padding:0 42px 0 15px;
  border:1px solid rgba(123,87,255,.28);
  border-radius:18px;
  outline:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.92));
  color:#171815;
  font-size:14px;
  font-weight:800;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.55),
    0 10px 24px rgba(23,24,21,.06);
}

.onboarding-field select{
  appearance:none;
  -webkit-appearance:none;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%237b57ff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E"),
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.92));
  background-repeat:no-repeat,no-repeat;
  background-position:right 14px center,center;
  background-size:18px auto,100% 100%;
}

.onboarding-field input:focus,
.onboarding-field select:focus{
  border-color:#7b57ff;
  box-shadow:0 0 0 4px rgba(123,87,255,.14),0 10px 24px rgba(23,24,21,.06);
}

.cooked-flag{display:inline-block;vertical-align:-2px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(23,24,21,.08)}
.cooked-flag-wrap.is-emoji,.nationality-preview-flag-wrap.is-emoji{font-size:1em;line-height:1}

.nationality-picker{position:relative}
.nationality-picker-native{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nationality-picker-trigger{width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}
.nationality-picker-trigger:disabled{cursor:not-allowed;opacity:.55}
.nationality-picker.is-locked .nationality-picker-trigger{cursor:not-allowed;opacity:.55}
.nationality-picker-menu{
  position:absolute;
  z-index:40;
  left:0;
  right:0;
  top:calc(100% + 6px);
  max-height:min(280px,42dvh);
  overflow:auto;
  padding:6px;
  border:1px solid rgba(123,87,255,.22);
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 44px rgba(23,24,21,.16);
  backdrop-filter:blur(14px);
}
.nationality-picker.is-open .nationality-picker-menu{animation:nationalityMenuIn .16s ease}
.nationality-picker-option{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#171815;
  text-align:left;
  cursor:pointer;
}
.nationality-picker-option[aria-selected="true"]{background:#f3f4ee}
.nationality-picker-option:hover{background:#f8f7f2}
.nationality-picker-name{flex:1;min-width:0;font:600 13px var(--font-ui,'Pretendard',sans-serif)}
.nationality-picker-code{
  font:700 11px var(--font-ui,'Pretendard',sans-serif);
  font-style:normal;
  letter-spacing:.06em;
  color:#777970;
  padding:4px 8px;
  border-radius:999px;
  background:#f3f4ee;
}
.nationality-picker-flag,.nationality-preview-flag{
  flex-shrink:0;
  display:block;
  width:22px;
  height:16px;
  border-radius:3px;
  object-fit:cover;
  box-shadow:0 0 0 1px rgba(23,24,21,.1);
}
.nationality-preview-flag{width:26px;height:20px}
.nationality-picker-flag-wrap,.nationality-preview-flag-wrap{flex-shrink:0;line-height:0}

.nationality-preview{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
  padding:10px 40px 10px 12px;
  border:1px solid rgba(123,87,255,.26);
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.92));
  color:#171815;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.55),
    0 10px 24px rgba(23,24,21,.06);
}

.nationality-picker-trigger .nationality-preview::after{
  content:"";
  position:absolute;
  right:13px;
  top:50%;
  width:20px;
  height:20px;
  transform:translateY(-50%);
  border-radius:999px;
  background:
    rgba(123,87,255,.10)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%237b57ff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E")
    center / 15px auto no-repeat;
  box-shadow:inset 0 0 0 1px rgba(123,87,255,.12);
}

.nationality-picker.is-open .nationality-picker-trigger .nationality-preview::after{
  transform:translateY(-50%) rotate(180deg);
}

.nationality-preview b{
  flex:1;
  min-width:0;
  font:700 14px var(--font-ui,'Pretendard',sans-serif);
}

.nationality-preview em{
  font:700 11px var(--font-ui,'Pretendard',sans-serif);
  font-style:normal;
  letter-spacing:.06em;
  color:#777970;
  padding:4px 8px;
  border-radius:999px;
  background:#f3f4ee;
}

.profile-settings-form .nationality-preview{
  border-color:rgba(255,255,255,.12);
  background:
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035)),
    var(--c-bg-surface,#1e1b2e);
  color:var(--c-text,#fff);
}

.profile-settings-form .nationality-picker-trigger .nationality-preview::after{
  background:
    rgba(216,255,66,.12)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23d8ff42' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E")
    center / 15px auto no-repeat;
}

.profile-settings-form .nationality-preview em{
  color:var(--c-text-muted,#6f6884);
  background:rgba(255,255,255,.08);
}
.profile-settings-form .nationality-picker-menu{
  border-color:rgba(255,255,255,.12);
  background:var(--c-bg-surface,#1e1b2e);
  box-shadow:0 12px 32px rgba(0,0,0,.35);
}
.profile-settings-form .nationality-picker-option{color:var(--c-text,#fff)}
.profile-settings-form .nationality-picker-option[aria-selected="true"],
.profile-settings-form .nationality-picker-option:hover{background:rgba(255,255,255,.08)}
.profile-settings-form .nationality-picker-code{color:var(--c-text-muted,#6f6884);background:rgba(255,255,255,.08)}
@keyframes nationalityMenuIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.onboarding-save{
  justify-content:center;
  height:58px;
  margin-top:20px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#7b57ff,#b139ff);
  color:#fff;
  box-shadow:0 16px 34px rgba(123,87,255,.28);
}
.onboarding-save b{
  width:auto;
  height:auto;
  background:transparent;
  color:#fff;
  font:18px var(--font-ui,'Pretendard',sans-serif);
}
.onboarding-save span{
  font:900 15px var(--font-ui,'Pretendard',sans-serif);
  letter-spacing:-.02em;
}
.checkin-toast{position:absolute;z-index:12;left:14px;right:14px;top:calc(max(16px,env(safe-area-inset-top)) + 118px);display:flex;align-items:center;gap:10px;padding:12px 14px;border:2px solid #171815;border-radius:16px;background:#d8ff42;box-shadow:4px 4px 0 #171815;opacity:0;transform:translateY(-8px);transition:opacity .35s ease,transform .35s ease;pointer-events:none}
.checkin-toast.visible{opacity:1;transform:none}
.checkin-toast-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:#171815;color:#d8ff42;font-size:16px;flex-shrink:0}
.checkin-toast b{display:block;font:11px 'Archivo Black';letter-spacing:-.02em}
.checkin-toast small{display:block;margin-top:2px;color:#3f4528;font-size:10px;font-weight:700}
.checkin-badge{margin-left:auto;padding:4px 8px;border-radius:999px;background:rgba(47,209,118,.16);color:#12844a;font:8px 'Archivo Black';letter-spacing:.04em;white-space:nowrap}
.map-context .checkin-badge{margin-left:6px}
.checkin-fullscreen{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:24px;background:rgba(5,3,18,.72);backdrop-filter:blur(18px);opacity:0;transition:opacity .28s ease;pointer-events:none}
.checkin-fullscreen[hidden]{display:none}
.checkin-fullscreen.visible{opacity:1;pointer-events:auto}
.checkin-fullscreen-backdrop{position:absolute;inset:0;border:0;background:transparent}
.checkin-fullscreen-card{position:relative;z-index:1;width:min(340px,86vw);display:grid;justify-items:center;gap:16px;padding:28px 24px;border:1px solid rgba(255,255,255,.13);border-radius:28px;background:linear-gradient(180deg,rgba(22,18,48,.96),rgba(12,9,30,.96));box-shadow:0 28px 80px rgba(0,0,0,.46),0 0 45px rgba(124,78,255,.22);color:#fff;text-align:center;transform:scale(.96) translateY(10px);transition:transform .28s cubic-bezier(.2,.9,.2,1)}
.checkin-fullscreen.visible .checkin-fullscreen-card{transform:scale(1) translateY(0)}
.checkin-fullscreen-divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent)}
.checkin-fullscreen-country{display:inline-flex;align-items:center;justify-content:center;gap:10px;color:rgba(255,255,255,.86);font:900 18px var(--font-ui,'Pretendard',sans-serif);letter-spacing:-.02em}
.checkin-fullscreen-flag{display:grid;place-items:center;width:38px;height:28px}
.checkin-fullscreen-flag-img,.checkin-fullscreen-flag .cooked-flag{display:block;width:34px;height:24px;object-fit:cover;border-radius:5px;box-shadow:0 0 0 1px rgba(255,255,255,.26)}
.checkin-fullscreen-card strong{font:900 38px/1 var(--font-display,'Archivo Black',var(--font-ui));letter-spacing:-.06em;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.14)}
.checkin-fullscreen-card em{font:900 18px var(--font-ui,'Pretendard',sans-serif);font-style:normal;letter-spacing:.08em;color:#d8ff42;text-transform:uppercase}
