:root{--navy:#041329;--blue:#0a315d;--cyan:#27d8ff;--gold:#f5c74f;--cream:#fff4cf;--green:#32d583;--red:#ff6577;--glass:rgba(6,27,55,.88)}*{box-sizing:border-box}html{min-height:100%;background:#03142b}body{margin:0;min-height:100vh;color:#eef8ff;font-family:Inter,ui-rounded,"Segoe UI",Arial,sans-serif;overflow-x:hidden;background:radial-gradient(circle at 50% 38%,#18598b 0,#082b54 37%,#03142b 80%)}button{font:inherit}.sea{position:fixed;inset:0;pointer-events:none;opacity:.22;background:repeating-radial-gradient(ellipse at 50% 58%,transparent 0 22px,rgba(80,212,255,.22) 24px,transparent 28px 50px);animation:tide 10s linear infinite}.sea:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(89,222,255,.13) 43%,transparent 60%);animation:shine 8s ease-in-out infinite}@keyframes tide{to{transform:translateY(28px) scale(1.03)}}@keyframes shine{50%{transform:translateX(30%)}}.clouds i{position:fixed;width:150px;height:35px;border-radius:50%;background:#d7f4ff;filter:blur(18px);opacity:.11;animation:cloud 28s linear infinite;pointer-events:none}.clouds i:nth-child(1){top:18%;left:-180px}.clouds i:nth-child(2){top:47%;left:-240px;animation-duration:38s;animation-delay:-10s}.clouds i:nth-child(3){top:75%;left:-160px;animation-duration:31s;animation-delay:-20s}@keyframes cloud{to{transform:translateX(calc(100vw + 350px))}}#confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:20}.topbar{height:76px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(2,15,34,.7);backdrop-filter:blur(14px);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px}.crest{width:42px;height:42px;border:2px solid var(--gold);display:grid;place-items:center;transform:rotate(45deg);border-radius:9px;color:var(--gold);font-weight:900}.crest::first-letter{}.brand div b,.brand div small{display:block}.brand div b{color:var(--gold);letter-spacing:.06em}.brand div small{font-size:.75rem;opacity:.7}.top-actions{display:flex;align-items:center;gap:10px}.score{height:42px;padding:0 14px;display:flex;align-items:center;gap:6px;border:1px solid rgba(245,199,79,.45);border-radius:22px;background:#0c294a}.score span{color:var(--gold)}.score small{opacity:.65}.icon-btn{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.18);color:white;background:#0c294a;cursor:pointer;transition:.2s}.icon-btn:hover{border-color:var(--gold);transform:translateY(-2px)}main{position:relative;z-index:2;width:min(1440px,96%);margin:auto}.hero{text-align:center;padding:26px 10px 14px}.eyebrow{color:var(--gold);font-size:.74rem;font-weight:900;letter-spacing:.22em}.hero h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.8rem);margin:5px 0 8px;line-height:1}.hero h1 em{font-style:normal;color:var(--gold);text-shadow:0 0 28px rgba(245,199,79,.25)}.hero>p:last-child{margin:0;opacity:.75}.glass{background:var(--glass);border:1px solid rgba(128,210,255,.22);box-shadow:0 24px 60px rgba(0,5,18,.45),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(16px)}.game-shell{display:grid;grid-template-columns:245px 1fr;gap:18px;align-items:stretch;padding-bottom:30px}.mission-panel{border-radius:22px;padding:20px;align-self:start}.panel-heading{display:flex;justify-content:space-between;align-items:center;font-weight:900;font-size:.73rem;letter-spacing:.08em}.panel-heading b{color:var(--gold);font-size:1rem}.progress{height:8px;background:#06152b;border-radius:10px;margin:12px 0;overflow:hidden}.progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--cyan),var(--green));box-shadow:0 0 12px var(--cyan);transition:width .7s ease}.mission-panel>p{font-size:.75rem;opacity:.65}.badges{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.badge{aspect-ratio:1;border-radius:16px;border:1px dashed rgba(255,255,255,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;filter:grayscale(1);opacity:.35;transition:.5s}.badge i{font-style:normal;font-size:1.65rem}.badge span{font-size:.62rem;margin-top:5px}.badge.earned{filter:none;opacity:1;border-style:solid;border-color:var(--gold);background:rgba(245,199,79,.11);transform:scale(1.03)}.text-btn{margin-top:18px;width:100%;border:0;background:none;color:#a9d8ee;font-size:.73rem;cursor:pointer}.map-stage{min-height:510px;border-radius:26px;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,rgba(22,120,167,.38),rgba(3,18,42,.86) 70%)}.map-stage:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(71,200,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(71,200,255,.03) 1px,transparent 1px);background-size:30px 30px}.map-wrap{height:455px;transition:transform .65s cubic-bezier(.2,.8,.2,1);display:grid;place-items:center}.map{width:min(95%,1050px);height:100%;overflow:visible}.region{cursor:pointer;outline:none;transition:filter .3s}.region path{fill:url(#land);stroke:#ffdc75;stroke-width:2;filter:url(#shadow);transition:fill .45s,stroke .3s,transform .3s;transform-origin:center}.region text{fill:#fff7d3;font-size:18px;font-weight:900;letter-spacing:2px;paint-order:stroke;stroke:#092445;stroke-width:6px;stroke-linejoin:round;pointer-events:none}.region .pin{fill:var(--cyan);stroke:white;stroke-width:2;filter:url(#glow);animation:pulse 1.8s infinite}.region:hover path,.region:focus path{stroke:#fff;filter:url(#glow);transform:translateY(-5px)}.region.completed path{fill:linear-gradient(#52e09c,#13724d);fill:#259c69;stroke:#8bffc7}.region.completed .pin{fill:var(--green)}@keyframes pulse{50%{r:13;opacity:.55}}.route path{fill:none;stroke:#3addff;stroke-width:2;stroke-dasharray:7 12;opacity:.25;animation:dash 2s linear infinite}@keyframes dash{to{stroke-dashoffset:-38}}.map-instruction{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);background:rgba(1,17,36,.87);border:1px solid rgba(51,213,255,.3);border-radius:22px;padding:10px 20px;font-size:.78rem;z-index:3;white-space:nowrap}.map-instruction span{margin-right:8px}.compass{position:absolute;right:22px;top:20px;width:47px;height:47px;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:.7rem;z-index:3}.compass i{position:absolute;height:28px;width:2px;background:linear-gradient(var(--gold) 50%,#8ac2db 50%)}.compass b{transform:translateY(-27px)}.modal{position:fixed;inset:0;background:rgba(0,7,20,.77);display:none;place-items:center;padding:18px;z-index:30;backdrop-filter:blur(9px)}.modal.show{display:grid;animation:fade .25s}@keyframes fade{from{opacity:0}}.dialog{width:min(710px,100%);max-height:94vh;overflow:auto;border-radius:26px;padding:25px;position:relative;animation:pop .35s cubic-bezier(.2,1.2,.3,1)}@keyframes pop{from{transform:scale(.88) translateY(25px);opacity:0}}.close{position:absolute;right:16px;top:14px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#092647;color:#fff;font-size:1.5rem;cursor:pointer}.dialog-banner{display:flex;gap:14px;align-items:center;padding-right:38px}.dialog-banner>span{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold),#8b5414);font-size:1.8rem}.dialog-banner small,.question-label,.fact-card>b{font-size:.65rem;color:var(--gold);font-weight:900;letter-spacing:.15em}.dialog-banner h2{font-family:Georgia,serif;font-size:clamp(1.5rem,4vw,2.35rem);margin:4px 0}.fact-card{background:rgba(11,51,85,.68);border-left:3px solid var(--gold);border-radius:12px;padding:15px 18px;margin:18px 0}.fact-card p{font-size:.92rem;line-height:1.55;margin:8px 0}.fact-card span{display:inline-block;padding:5px 9px;border-radius:12px;background:#092443;margin:2px 4px 0 0;color:#a9daf1;font-size:.7rem}.quiz h3{font-size:1.08rem;line-height:1.45;margin:8px 0 12px}.answers{display:grid;gap:9px}.answer{display:flex;text-align:left;align-items:center;gap:11px;border:1px solid rgba(255,255,255,.17);border-radius:12px;padding:11px 13px;background:#092746;color:white;cursor:pointer;transition:.2s}.answer:hover:not(:disabled){border-color:var(--cyan);transform:translateX(4px)}.answer b{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:8px;background:#123b64;color:var(--gold)}.answer.correct{border-color:var(--green);background:rgba(31,144,94,.32)}.answer.wrong{border-color:var(--red);animation:shake .3s}@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}#feedback{min-height:21px;margin:10px 0 0;color:#ffd7dc;font-size:.83rem}#feedback.good{color:#9dffd0}.mini{width:min(500px,100%);padding:32px}.mini h2{font-family:Georgia,serif;color:var(--gold);font-size:2rem}.mini li{margin:10px 0;line-height:1.45}.primary{width:100%;padding:13px 18px;border:0;border-radius:12px;background:linear-gradient(90deg,#e3aa31,var(--gold));color:#1c2941;font-weight:900;cursor:pointer}.complete{text-align:center}.trophy{font-size:4.5rem;filter:drop-shadow(0 0 20px #ffc94a)}.complete h2{margin:5px}.final-badge{margin:20px auto;max-width:280px;padding:14px;display:grid;grid-template-columns:55px 1fr;grid-template-rows:1fr 1fr;text-align:left;border:1px solid var(--gold);border-radius:16px;background:rgba(245,199,79,.1)}.final-badge:first-letter{font-size:2rem}.final-badge b{align-self:end}.final-badge small{opacity:.65}@media(max-width:850px){.game-shell{grid-template-columns:1fr}.mission-panel{order:2}.badges{grid-template-columns:repeat(4,1fr)}.badge{aspect-ratio:auto;min-height:78px}.map-stage{min-height:440px}.map-wrap{height:400px}.hero{padding-top:18px}}@media(max-width:520px){.topbar{height:66px;padding:0 12px}.brand div small{display:none}.crest{width:36px;height:36px}.top-actions{gap:5px}.score{padding:0 9px}.score small{display:none}.icon-btn{width:36px;height:36px}.hero h1{font-size:2rem}.hero>p:last-child{font-size:.8rem}.map-stage{min-height:365px}.map-wrap{height:330px}.map{width:145%;max-width:none}.map-instruction{font-size:.68rem;padding:8px 12px}.badges{grid-template-columns:1fr 1fr}.dialog{padding:20px 16px}.dialog-banner>span{width:48px;height:48px}.answer{padding:10px}.question-label{font-size:.58rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
