@font-face{font-family:Nunito;src:url(../fonts/nunito.woff2) format("woff2");font-weight:400 900;font-display:swap}:root{--title: "Nunito", system-ui, sans-serif;--body: "Nunito", system-ui, sans-serif;--ink: #1f2b3a;--sea-1: #d3ecfb;--sea-2: #a8d6f2;--navy: #16476f;--accent: #e07020;--good: #2e9e4f;--bad: #e14b4b;--card: #ffffff}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;font-family:var(--body);color:var(--ink);user-select:none;-webkit-user-select:none;touch-action:manipulation}#app{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--sea-1) 0%,var(--sea-2) 100%);display:flex;flex-direction:column;overflow:hidden}.game{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.hud{position:relative;z-index:5;display:flex;align-items:center;gap:10px;padding:max(10px,env(safe-area-inset-top)) 14px 6px;flex-wrap:wrap;justify-content:center}.prompt{flex:1 1 auto;min-width:0;background:var(--card);border:2px solid #e4ecf3;border-radius:16px;box-shadow:0 4px 14px #143c6424;padding:8px 18px;text-align:center;line-height:1.1}.prompt .lead{font-weight:800;font-size:clamp(13px,2.2vw,18px);color:#6b7a89;letter-spacing:.3px}.prompt .target{font-weight:900;font-size:clamp(24px,5.5vw,42px);color:var(--accent);line-height:1;display:block;margin-top:1px}.chip{background:var(--card);border:2px solid #e4ecf3;border-radius:14px;box-shadow:0 4px 14px #143c6424;padding:6px 14px;font-weight:900;font-size:clamp(14px,2.2vw,20px);color:var(--navy);display:flex;align-items:center;gap:7px;white-space:nowrap}.chip .lbl{font-size:.68em;color:#90a1b0;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.icon-btn{border:2px solid #e4ecf3;background:var(--card);border-radius:50%;width:46px;height:46px;font-size:21px;cursor:pointer;box-shadow:0 4px 14px #143c6424;display:grid;place-items:center;padding:0}.icon-btn:active{transform:translateY(2px)}.map-wrap{flex:1 1 auto;position:relative;min-height:0;padding:4px 8px 8px}.map-wrap svg{width:100%;height:100%;display:block;overflow:visible}.prov{stroke:#fff;stroke-width:2.5;stroke-linejoin:round;cursor:pointer;transition:filter .12s ease}.prov:hover{filter:brightness(1.08)}.prov.solved{cursor:default;pointer-events:none}.prov.wrong{animation:shake .4s}.prov.hint{stroke:#ffd12e;stroke-width:6;animation:pulse .9s ease-in-out infinite}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes pulse{0%,to{filter:drop-shadow(0 0 2px #ffd12e)}50%{filter:drop-shadow(0 0 12px #ffd12e)}}.prov-label{font-family:var(--body);font-weight:900;fill:#17242f;paint-order:stroke;stroke:#fff;stroke-width:4.5;text-anchor:middle;pointer-events:none;opacity:0;transition:opacity .3s ease}.prov-label.show{opacity:1}.toast{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%) scale(.6);font-family:var(--title);font-weight:900;font-size:clamp(38px,11vw,88px);padding:6px 26px;border-radius:18px;color:#fff;opacity:0;pointer-events:none;z-index:8;box-shadow:0 8px 20px #0000002e}.toast.pop{animation:pop .8s ease forwards}.toast.good{background:var(--good)}.toast.bad{background:var(--bad)}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(-5deg)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.1) rotate(2deg)}70%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}to{opacity:0;transform:translate(-50%,-60%) scale(.9)}}.screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;background:linear-gradient(180deg,#f4f9fd,#dcecf7)}.hero-map{width:min(64vw,300px);max-height:42vh;display:flex;filter:drop-shadow(0 8px 14px rgba(20,60,100,.2))}.hero-map:not(.small){animation:bob 3.4s ease-in-out infinite}.hero-map.small{width:min(46vw,190px);max-height:26vh}.mini-map{width:100%;height:auto;max-height:inherit;display:block}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.title{font-family:var(--title);font-weight:900;font-size:clamp(26px,6.4vw,52px);line-height:1.05;margin:4px 0 0;color:var(--navy);letter-spacing:-.5px}.title .line{white-space:nowrap}.title .accent{color:var(--accent)}.subtitle{font-weight:700;font-size:clamp(15px,3.2vw,21px);color:#48627a;margin:0;max-width:26ch;line-height:1.35}.big-num{font-family:var(--title);font-weight:900;font-size:clamp(50px,14vw,110px);color:var(--accent);line-height:1}.stars{font-size:clamp(30px,8vw,52px);letter-spacing:6px;color:#f4b400}.result-line{font-weight:900;font-size:clamp(17px,3.6vw,26px);color:var(--navy)}.btn{font-family:var(--title);font-weight:900;font-size:clamp(22px,4.8vw,34px);color:#fff;background:linear-gradient(180deg,#35b45f,#1f9346);border:none;border-radius:999px;padding:13px 48px;cursor:pointer;box-shadow:0 6px #125a2d8c;transition:transform .08s ease,box-shadow .08s ease;margin-top:4px}.btn:active{transform:translateY(4px);box-shadow:0 2px #125a2d8c}.hidden{display:none!important}
