:root{--bg:#02040a;--panel:#0c1220b8;--panel-border:#ffffff1f;--text:#f3f6fb;--muted:#f3f6fb9e;--accent:#ffd60a;--accent-ink:#1a1400;--good:#3ddc84;--bad:#ff5a5f;--radius:16px;--font:"Inter", "Noto Sans KR", system-ui, -apple-system, "Apple SD Gothic Neo", sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}html[lang=ko] body{word-break:keep-all;font-family:Noto Sans KR,Inter,system-ui,-apple-system,Apple SD Gothic Neo,sans-serif}button{font:inherit;color:inherit;cursor:pointer}.hidden,body[data-mode=travel] .quiz-only,body[data-mode=quiz] .travel-only{display:none!important}#globe{top:var(--vv-top,0px);bottom:var(--vv-bottom,0px);position:fixed;left:0;right:0}.topbar{top:var(--vv-top,0px);padding:max(14px, env(safe-area-inset-top)) 20px 14px;pointer-events:none;z-index:25;background:linear-gradient(#0000008c,#0000);justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;left:0;right:0}.topbar>*{pointer-events:auto}.brand{letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex}.brand-icon{flex-shrink:0;width:32px;height:32px;display:block}.stats{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(14px);border-radius:999px;gap:6px;padding:6px;display:flex}.stat{align-items:baseline;gap:6px;padding:4px 12px;display:flex}.stat-label{color:var(--muted);font-size:12px}.stat-value{font-variant-numeric:tabular-nums;font-weight:700}.top-actions{align-items:center;gap:8px;display:flex}.lang-toggle{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(14px);border-radius:999px;padding:3px;display:flex}.lang-toggle button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.lang-toggle button.active{background:var(--text);color:#0b1020}.primary-btn{background:var(--accent);color:var(--accent-ink);border:0;border-radius:12px;padding:0 20px;font-weight:700;transition:transform .12s,filter .12s}.primary-btn:hover{filter:brightness(1.06)}.primary-btn:active{transform:scale(.97)}.primary-btn:disabled{opacity:.5;cursor:default}.primary-btn.big{width:100%;height:52px;margin-top:8px;font-size:17px}.ghost-btn{border:1px solid var(--panel-border);color:var(--text);background:#ffffff0f;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;transition:background .12s}.ghost-btn:hover{background:#ffffff24}.ghost-btn:disabled{opacity:.4;cursor:default}.quiz-panel{left:50%;bottom:calc(var(--vv-bottom,0px) + max(24px, env(safe-area-inset-bottom)));background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(18px);z-index:10;border-radius:22px;width:min(560px,100vw - 32px);padding:16px;position:fixed;transform:translate(-50%);box-shadow:0 20px 60px #00000073}.question{align-items:center;gap:12px;min-height:48px;margin-bottom:12px;display:flex}.flag{font-size:40px;line-height:1}.question-text{flex-direction:column;min-width:0;display:flex}.question-label{color:var(--muted);font-size:13px}.country-name{letter-spacing:-.02em;font-size:24px;font-weight:800;line-height:1.2}.quiz-panel.flying .question{opacity:.55}.target{white-space:pre-wrap}.target>span{transition:color .12s}.target>span.done{color:var(--good)}.target>span.next{box-shadow:inset 0 -3px 0 var(--accent)}.target.alt{letter-spacing:0;color:var(--muted);margin-left:10px;font-size:.68em;font-weight:600}.answer-form{gap:8px;display:flex}.answer-form input{min-width:0;height:52px;color:var(--text);font:inherit;background:#00000059;border:2px solid #ffffff24;border-radius:12px;outline:none;flex:1;padding:0 16px;font-size:18px;font-weight:600;transition:border-color .15s,background .15s}.answer-form input::placeholder{color:#ffffff61;font-weight:500}.answer-form input:focus{border-color:var(--accent)}.answer-form input.good{border-color:var(--good);background:#3ddc841f}.answer-form input.off{border-color:#ff5a5fb3}.answer-form input.bad{border-color:var(--bad);animation:.4s shake}.answer-form .primary-btn{flex-shrink:0;height:52px}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-7px)}40%,80%{transform:translate(7px)}}.panel-footer{justify-content:space-between;align-items:center;gap:10px;min-height:32px;margin-top:10px;display:flex}.feedback{color:var(--muted);min-width:0;font-size:14px;font-weight:600}.feedback.good{color:var(--good)}.feedback.bad{color:var(--bad)}.feedback.hint{color:var(--accent);letter-spacing:.04em}.quit-icon{display:none}.panel-actions{flex-shrink:0;gap:6px;display:flex}.overlay{padding:76px 16px max(16px, env(safe-area-inset-bottom));z-index:20;background:radial-gradient(#00000026,#0009);display:flex;position:fixed;inset:0;overflow-y:auto}.card{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(20px);text-align:center;border-radius:24px;width:min(460px,100%);max-height:calc(100dvh - 92px);padding:28px 24px 22px;overflow-y:auto;box-shadow:0 30px 80px #00000080}.overlay>*{margin:auto}.card-nav{margin:-12px -8px 4px;display:flex}.back-btn{align-items:center;gap:4px;display:inline-flex}.home{width:min(720px,100%)}.home-head{text-align:center;text-shadow:0 2px 18px #0009;margin-bottom:22px}.home-head h1{letter-spacing:-.03em;margin:0 0 6px;font-size:40px;font-weight:800}.home-head .tagline{color:#f3f6fbcc;margin:0;font-size:16px}.mode-cards{grid-template-columns:1fr 1fr;gap:14px;display:grid}.mode-card{border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(20px);text-align:left;border-radius:24px;grid-template-rows:auto 1fr;grid-template-columns:1fr auto;align-items:start;gap:14px;padding:24px 22px 20px;transition:transform .15s,border-color .15s,background .15s;display:grid;box-shadow:0 30px 80px #00000073}.mode-card:hover,.mode-card:focus-visible{border-color:var(--accent);background:#141c30d1;outline:none;transform:translateY(-3px)}.mode-card:active{transform:scale(.98)}.mode-icon{font-size:44px;line-height:1}.mode-text{flex-direction:column;grid-column:1/-1;gap:6px;display:flex}.mode-title{letter-spacing:-.02em;font-size:22px;font-weight:800}.mode-desc{color:var(--muted);font-size:14px;line-height:1.5}.mode-arrow{background:var(--accent);width:36px;height:36px;color:var(--accent-ink);border-radius:50%;grid-area:1/2;place-items:center;font-weight:800;display:grid}.card-icon{font-size:44px;line-height:1}.card-head{justify-content:center;align-items:center;gap:10px;margin:0 0 6px;display:flex}.card-head .card-icon{font-size:30px}.card-head h1{margin:0}.result-actions{gap:10px;display:flex}.card h1{letter-spacing:-.03em;margin:10px 0 6px;font-size:30px;font-weight:800}.tagline{color:var(--muted);margin:0 0 20px;font-size:15px;line-height:1.5}.option-group{text-align:left;margin-bottom:16px}.option-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:700}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--panel-border);background:#ffffff0f;border-radius:999px;padding:7px 14px;font-size:14px;font-weight:600}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.chip small{opacity:.6;margin-left:4px;font-weight:500}.note{color:var(--muted);margin:12px 0 0;font-size:12px}.missed{text-align:left;margin-bottom:12px}.missed ul{background:#00000040;border-radius:12px;max-height:220px;margin:0;padding:0;list-style:none;overflow-y:auto}.missed li{border-bottom:1px solid #ffffff0f;justify-content:space-between;gap:12px;padding:8px 12px;font-size:14px;display:flex}.missed li:last-child{border-bottom:0}.missed li span:last-child{color:var(--accent);text-align:right;font-weight:600}.loading{background:var(--bg);color:var(--muted);z-index:30;flex-direction:column;justify-content:center;align-items:center;gap:14px;transition:opacity .6s;display:flex;position:fixed;inset:0}.loading.fade{opacity:0;pointer-events:none}.spinner{border:3px solid #ffffff26;border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=720px),(height<=500px){.topbar{padding:max(10px, env(safe-area-inset-top)) 12px 10px;gap:8px}.brand-name{font-size:16px}body.playing .brand{display:none}.stats{flex:1;justify-content:space-around;gap:0;min-width:0;padding:4px}.stat{white-space:nowrap;gap:4px;padding:2px 6px}.stat-label{font-size:11px}.stat-value{font-size:14px}.lang-toggle button{padding:5px 9px;font-size:12px}#quit-btn{place-items:center;width:32px;height:32px;padding:0;font-size:14px;display:grid}#quit-btn .quit-icon{display:inline}#quit-btn .quit-label{display:none}.overlay{padding-top:64px}.home-head{margin-bottom:16px}.home-head h1{font-size:30px}.home-head .tagline{font-size:14px}.mode-cards{gap:10px}.mode-card{border-radius:20px;grid-template-rows:auto;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px}.mode-icon{font-size:34px}.mode-text{grid-column:auto;gap:3px}.mode-title{font-size:18px}.mode-desc{font-size:13px;line-height:1.45}.mode-arrow{grid-area:auto;width:30px;height:30px}.card{padding:22px 18px 16px}.card h1,.card-head .card-icon{font-size:26px}.quiz-panel{width:min(560px,100vw - 16px);bottom:calc(var(--vv-bottom,0px) + max(8px, env(safe-area-inset-bottom)));border-radius:18px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"question actions""form form""feedback feedback";column-gap:8px;padding:10px;display:grid}body.keyboard-open .quiz-panel{bottom:calc(var(--vv-bottom,0px) + 6px)}.question{grid-area:question;gap:10px;min-height:0;margin-bottom:8px}.flag{font-size:28px}.question-label{font-size:11px}.country-name{font-size:18px;line-height:1.15}.answer-form{grid-area:form}.answer-form input,.answer-form .primary-btn{height:46px}.answer-form input{font-size:17px}.panel-footer{display:contents}.panel-actions{grid-area:actions;align-self:center;margin-bottom:8px}.panel-actions .ghost-btn{padding:6px 11px}.feedback{grid-area:feedback;min-height:18px;margin-top:6px;font-size:13px;line-height:18px}}@media (width<=720px){.mode-cards{grid-template-columns:1fr}}
