:root{font-family:Inter,ui-rounded,system-ui,-apple-system,Segoe UI,sans-serif;color:#263652;background:#edf9f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #ffbc45;outline-offset:3px}.app{min-height:100dvh;background:linear-gradient(165deg,#c9f7f3 0,#f4fcf6 44%,#fff6e9 100%)}.topbar{height:80px;max-width:1360px;margin:auto;padding:0 30px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:27px;text-decoration:none;color:#243b55;display:flex;align-items:center;gap:8px;cursor:pointer;letter-spacing:-1.4px}.brand span{color:#0ba89c}.top-right{display:flex;align-items:center;gap:12px}.chip{background:#fff;padding:10px 15px;border:1px solid #deebe5;box-shadow:0 5px 18px #55948618;border-radius:25px;font-weight:700;font-size:13px}.chip.gold{background:#fff4cf}.avatar{width:42px;height:42px;border:0;border-radius:50%;background:#ffbd58;font-size:20px;color:#314057}.main{max-width:1360px;padding:16px 30px 110px;margin:auto}.greeting{min-height:143px;display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:11px;font-weight:850;letter-spacing:1.6px;color:#0b9b94}.greeting h1,.intro h1{font-size:clamp(28px,3vw,43px);margin:8px 0;color:#244064;letter-spacing:-1.5px}.greeting p,.intro p{color:#6a8293;margin:0;line-height:1.6}.cloud-decor{font-size:50px}.layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.75fr);gap:20px}.panel{background:#fffffff2;border:1px solid #fff;box-shadow:0 10px 45px #3f8d8316;border-radius:26px;overflow:hidden}.map-panel{padding:20px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:8px}.section-heading h2{font-size:20px;margin:0}.pill{background:#e8faf1;padding:8px 12px;border-radius:25px;color:#159c86;font-size:12px;font-weight:800}.map-box{position:relative;overflow:hidden;border-radius:19px;background:#8bd7dc}.world{display:block;width:100%;height:auto;max-height:570px;filter:drop-shadow(0 4px 6px #5e9a9128)}.land{transition:fill .2s;stroke-linejoin:round}.land.playable{cursor:pointer}.land.playable:hover{fill:#ffe18e}.map-sky{position:absolute;top:14px;right:24px;font-size:20px;pointer-events:none;z-index:1}.map-sky span{display:inline-block;animation:sway 4s ease-in-out infinite}.map-caption{position:absolute;bottom:12px;left:12px;right:12px;display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#315b62;background:#ffffffc9;padding:10px 15px;border-radius:15px;backdrop-filter:blur(9px)}.country-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.country-chip{border:1px solid #d8e9e5;padding:10px 12px;background:#f6fbf8;border-radius:13px;color:#244064;font-weight:750}.country-chip.selected{background:#fff0b8;border-color:#f6c953}.country-chip small{color:#76928d;font-size:11px}.country-art{height:170px;background:linear-gradient(150deg,#90e2f0,#dff1a2 64%,#fbd890);display:flex;align-items:center;justify-content:center;font-size:92px;position:relative;overflow:hidden}.country-art .sun{position:absolute;right:24px;top:14px;font-size:30px}.country-art .waves{position:absolute;left:22px;bottom:12px;font-size:24px}.country-content{padding:24px}.country-content h2{font-size:31px;margin:5px 0}.country-content p{color:#6e828b}.progress-meta{display:flex;justify-content:space-between;font-size:13px;margin-top:24px;margin-bottom:8px}.progress{height:9px;border-radius:20px;background:#e5eeee;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,#35cb95,#13a8bc);border-radius:20px;transition:width .35s}.medal-line{display:flex;justify-content:space-between;font-size:11px;margin:18px 0 23px;color:#76868c}.primary{border:0;background:linear-gradient(110deg,#ffbe52,#ffdb67);box-shadow:0 4px 0 #ecaa39,0 9px 20px #c5973b26;color:#293c50;font-weight:850;padding:15px 21px;border-radius:14px;width:100%;transition:transform .14s}.primary:hover:not(:disabled){transform:translateY(-2px)}.tiny{font-size:12px;text-align:center}.cities{display:flex;flex-wrap:wrap;gap:7px}.cities button,.actions button,.session button{background:#e8f5f2;border:0;border-radius:10px;padding:9px;font-size:12px;font-weight:650;color:#247e83}.empty-country{padding:55px 25px;text-align:center}.empty-country span{font-size:70px}.empty-country p{color:#768c98}.quiz,.passport,.profile{max-width:900px;margin:auto;padding:26px}.quiz-art{height:120px;background:linear-gradient(140deg,#92e6ee,#fff1ae);font-size:55px;text-align:center;padding:26px;border-radius:18px;margin-bottom:24px}.quiz h2{font-size:26px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.choices button{display:flex;align-items:center;text-align:left;gap:12px;padding:16px;background:#f6f9f8;border:2px solid #e6edeb;border-radius:16px;color:#2b465f;font-weight:700}.choices button.chosen{border-color:#10b4a4;background:#defaf3}.choices b{background:#e5f3f5;border-radius:9px;padding:8px 11px}.feedback{padding:14px;background:#fff0e4;border-radius:15px;margin-bottom:18px}.feedback.correct{background:#dcf8ed}.feedback p{margin:8px 0}.passport-cover{margin:15px auto 28px;border-radius:17px;background:linear-gradient(140deg,#193e71,#325e9d);height:260px;max-width:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#f4cb66;box-shadow:12px 14px 18px #2a4f8a24;font-size:25px;gap:8px;border:8px double #caa75e}.passport-cover span{font-size:11px;letter-spacing:2px}.passport-cover .seal{font-size:65px}.passport-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.passport-grid article{border:1px solid #e2ece9;padding:18px;border-radius:18px;text-align:center;background:#fcfefc}.stamp{font-size:52px}.passport-grid h3{margin:7px 0 14px}.passport-grid small{display:block;margin:10px 0;color:#7c8b94}.profile-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.profile-row>div,.admin{border:1px solid #e5efea;border-radius:18px;padding:20px}.profile input,.auth input{width:100%;border:1px solid #d9e7e4;background:#fafdff;border-radius:12px;padding:14px;margin-bottom:12px}.profile p{color:#788a94}.qr{width:200px;display:block;margin:10px auto}.session{display:flex;justify-content:space-between;gap:8px;font-size:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e8efec}.session span{overflow-wrap:anywhere}.admin{margin-top:20px}.admin .primary{width:auto}.actions{display:flex;gap:12px;margin-top:20px}.bottom-nav{position:fixed;z-index:5;bottom:15px;left:50%;transform:translateX(-50%);display:flex;justify-content:center;gap:8px;background:#ffffffec;box-shadow:0 12px 50px #2e6d6680;backdrop-filter:blur(22px);border-radius:22px;padding:8px;border:1px solid #e4f2ea}.bottom-nav button{min-width:90px;display:flex;flex-direction:column;align-items:center;background:transparent;color:#768f96;border:0;border-radius:15px;padding:7px;font-size:11px;font-weight:800}.bottom-nav button span{font-size:21px}.bottom-nav button.active{background:#e7f8eb;color:#008b8c}.auth-hero{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 390px;gap:55px;align-items:center;min-height:calc(100dvh - 160px);padding:40px}.intro h1{font-size:clamp(38px,5vw,70px);line-height:1.08}.intro p{font-size:18px;max-width:520px}.floating{font-size:55px;margin-top:55px;animation:sway 5s ease-in-out infinite}.auth{padding:30px;display:flex;flex-direction:column;gap:9px}.auth h2{font-size:27px;margin-bottom:0}.auth p{color:#76909a}.auth small{text-align:center;color:#92a19b;margin:10px}.auth .link{border:0;background:transparent;color:#268c88;font-weight:800}.check{font-size:12px;display:flex;gap:6px;align-items:center;margin-bottom:10px}.toast{position:fixed;z-index:25;right:20px;top:85px;background:#d8fbf2;border:1px solid #8ddfc5;padding:14px 20px;border-radius:15px;max-width:360px;box-shadow:0 8px 20px #35697055;cursor:pointer}.toast.error{background:#ffe6df;border-color:#e6b9af}.flight{position:fixed;inset:0;z-index:30;background:linear-gradient(#6fd0ee,#bfe7f6 65%,#ffd2a4);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#224969}.flight h2{font-size:clamp(32px,6vw,70px);margin:10px}.flight-sky{position:relative;height:260px;width:min(95%,850px);overflow:hidden}.fly-plane{font-size:130px;position:absolute;left:-160px;bottom:20px;animation:fly 12s linear forwards}.flight-clouds{font-size:70px;animation:sway 3s infinite}.flight-bar{width:min(80vw,450px);height:13px;border:2px solid white;border-radius:12px;overflow:hidden;background:#ffffff66;margin:25px}.flight-bar i{display:block;background:#26bbd0;height:100%;animation:fill 12s linear forwards}.flight button{border:0;border-radius:14px;background:#fff;padding:13px 25px;color:#2b6f8b;font-weight:800;margin:26px}.tutorial{position:fixed;z-index:20;bottom:max(95px,calc(env(safe-area-inset-bottom) + 95px));left:50%;transform:translateX(-50%);width:min(94vw,430px);border-radius:22px;padding:23px;background:#fff;box-shadow:0 12px 65px #204d5a66;border:3px solid #a5eee1;max-height:55dvh;overflow:auto}.tutorial-head{display:flex;justify-content:space-between;font-size:12px;font-weight:800;color:#168f99}.tutorial h3{margin-bottom:7px}.tutorial p{color:#67808d;line-height:1.5}.tutorial-actions{display:flex;gap:9px;align-items:center}.tutorial-actions button:first-child{border:0;background:transparent;color:#73818e}.tutorial-actions .primary{flex:1}.main{padding-bottom:max(120px,calc(env(safe-area-inset-bottom) + 110px))}@keyframes fly{0%{transform:translate(0,45px) rotate(-15deg)}100%{transform:translate(1150px,-95px) rotate(7deg)}}@keyframes fill{from{width:0}to{width:100%}}@keyframes sway{50%{transform:translateY(-9px)}}@media(max-width:900px){.layout{grid-template-columns:1fr}.country-panel{display:grid;grid-template-columns:1fr 1.3fr}.country-art{height:auto;min-height:260px}.profile-row{grid-template-columns:1fr}.auth-hero{grid-template-columns:1fr;gap:20px}.intro{text-align:center}.intro p{margin:auto}.floating{display:none}}@media(max-width:600px){.topbar{height:67px;padding:0 15px}.brand{font-size:21px}.chip.gold{display:none}.chip{padding:7px 9px}.main{padding:8px 14px 125px}.greeting{min-height:135px}.greeting h1{font-size:28px}.greeting p{font-size:13px}.cloud-decor{display:none}.map-panel{padding:10px}.section-heading h2{font-size:17px}.map-caption{font-size:10px}.country-panel{display:block}.country-art{min-height:150px}.country-content{padding:20px}.choices{grid-template-columns:1fr}.quiz,.passport,.profile{padding:18px}.bottom-nav{bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 20px);justify-content:space-around;gap:0}.bottom-nav button{min-width:68px}.auth-hero{padding:16px}.intro h1{font-size:40px}.intro p{font-size:14px}.auth{padding:22px}.passport-grid{grid-template-columns:1fr 1fr}.toast{top:67px;left:10px;right:10px}.flight-sky{height:210px}.fly-plane{font-size:95px}}
