@font-face{font-family:Vazirmatn;src:url('./assets/Vazirmatn.woff2') format('woff2');font-display:swap}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#14242c;color:#f4f1e9;font-family:Vazirmatn,system-ui,-apple-system,sans-serif}button,input,select{font:inherit}button,select{cursor:pointer}button{color:inherit;border:0}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #aadfea;outline-offset:3px}button{transition:background .18s,transform .18s}button:hover:not(:disabled){filter:brightness(1.1)}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}a{color:#aad8e2;text-decoration:none}small{font-size:11px}#world{position:fixed;inset:0;width:100%;height:100%;touch-action:none;outline:0}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,#07151b70,transparent 17%,transparent 78%,#07151b8c),linear-gradient(90deg,#0d20231c,transparent 30%)}.topbar{height:86px;position:fixed;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:20px 34px;z-index:5;direction:ltr;background:linear-gradient(#142630cc,#14263000)}.brand{color:white;display:flex;align-items:center;gap:12px}.mark{font-family:system-ui;font-size:28px;font-weight:800;color:#bce0e5;display:grid;place-items:center;width:43px;height:43px;border:1px solid #a7c5c54a;background:#122a34cc;border-radius:12px}.brand b{font:700 15px system-ui;letter-spacing:2px}.brand b i{font-style:normal;font-weight:400;color:#bed1cf}.brand small{display:block;font:500 8px system-ui;letter-spacing:2.6px;color:#a9bbb9;margin-top:6px}.top-right{display:flex;align-items:center;gap:15px}#language{background:#1a303acc;border:1px solid #b7d1d133;border-radius:9px;color:#f1eee6;padding:8px 12px;width:115px}.version{font-size:11px;color:#dae4e1}.icon-button{background:#1a303acc;border:1px solid #b7d1d133;width:36px;height:36px;border-radius:50%;font-size:16px}.welcome{position:fixed;inset:0;display:flex;align-items:center;padding:100px 6vw;background:linear-gradient(90deg,transparent 30%,#0e232aac 74%,#0e232ae5);pointer-events:none}.welcome-copy{max-width:490px;pointer-events:auto}.eyebrow{display:flex;gap:9px;align-items:center;font-size:11px;color:#b7d2d5;letter-spacing:.5px;margin-bottom:18px}.eyebrow>span:first-child:not(:last-child){flex-shrink:0}.eyebrow>span:empty,.tiny-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#92d0dc}.welcome h1{font-size:clamp(48px,5.6vw,88px);letter-spacing:-2px;line-height:1.18;margin:14px 0 26px;font-weight:800}.welcome h1 span{display:block}.welcome h1 em{font-style:normal;color:#adced0;display:block;font-size:.72em;margin-top:8px}.welcome h2{font-size:19px;font-weight:500;margin:0 0 12px}.intro{font-size:14px;line-height:2;max-width:390px;color:#c7d3d0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.primary{background:#b4d7d8;color:#142932;font-weight:700;padding:14px 25px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:49px}.secondary{border:1px solid #bad9d94f;background:#192f36a3;border-radius:8px;padding:12px 23px}.hero-meta{display:flex;gap:9px;align-items:center;color:#b2c2bd;font-size:11px;margin-top:18px}.text-button{background:none;color:#bfd4d4;padding:16px 0;font-size:12px;text-decoration:underline;text-underline-offset:5px}.scene-caption{position:absolute;bottom:85px;left:40px;border-inline-start:2px solid #a8caceb0;padding-inline-start:16px;display:grid;gap:7px;text-align:left;direction:ltr}.scene-caption>span{font:10px monospace;letter-spacing:2px;color:#cfdbd8}.scene-caption b{font-size:13px;font-weight:500}.scene-caption small{font:9px system-ui;letter-spacing:2px;color:#a5b9b6}footer{position:fixed;bottom:0;inset-inline:0;padding:13px 30px;display:flex;justify-content:space-between;color:#b8c8c6;font-size:10px;z-index:3;pointer-events:none}footer>span:last-child{font:9px monospace;letter-spacing:1px}.panel{background:#122a33ea;border:1px solid #adccd32e;border-radius:12px;box-shadow:0 8px 35px #06131d30;backdrop-filter:blur(13px)}#game-ui{position:fixed;inset:0;pointer-events:none}#game-ui>*{pointer-events:auto}.statusbar{position:absolute;top:94px;inset-inline-start:30px;display:flex;align-items:center;gap:16px;padding:13px 17px;min-width:350px}.statusbar small{display:block;color:#a6b8bb;font-size:10px}.statusbar b{display:block;font-size:13px;font-weight:600;white-space:nowrap}.status-separator{width:1px;height:31px;background:#b0c2c428}.avatar-symbol{font-size:30px;color:#a1ccd1}.mission{position:absolute;top:178px;inset-inline-start:30px;width:290px;padding:20px}.mission .eyebrow{margin:0 0 10px;font-size:10px}.mission .eyebrow>span:last-child{margin-inline-start:auto;color:#799ba5;direction:ltr;font-family:monospace}.mission h2{font-size:21px;line-height:1.55;margin:0 0 10px}.mission p{font-size:12px;line-height:1.85;color:#b7c7ca;margin:0}.progress-track{height:3px;border-radius:9px;background:#ffffff14;margin:18px 0}.progress-track span{display:block;width:0;height:100%;background:#a6d4d9;border-radius:9px;transition:width .3s}.compact{min-height:40px;padding:8px 14px;width:100%;font-size:12px}.compact kbd{border:1px solid #203e4a50;color:#26434a}#distance{display:block;text-align:center;color:#8fadb4;margin-top:10px;font-size:10px}.minimap{position:absolute;bottom:65px;inset-inline-start:30px;padding:8px;width:218px;overflow:hidden}.minimap canvas{display:block;width:100%;height:160px;border-radius:7px}.minimap>div{display:flex;gap:7px;align-items:center;font-size:10px;color:#afc5c8;padding:9px 5px 2px}.bottom-dock{position:absolute;bottom:45px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:3px;padding:6px}.bottom-dock button{background:transparent;min-width:72px;padding:6px 15px;border-radius:7px}.bottom-dock button:hover{background:#c4d6d317}.bottom-dock button>span{font:22px system-ui;display:block;height:27px;color:#c4d9dc}.bottom-dock small{color:#b9cece;font-size:10px}.zoom-controls{position:absolute;right:25px;bottom:124px;display:grid;overflow:hidden}.zoom-controls button{background:transparent;font:23px system-ui;padding:7px 12px}.zoom-controls button+button{border-top:1px solid #c6d8da20}.movement-hint{position:absolute;bottom:134px;left:50%;transform:translateX(-50%);display:flex;gap:4px;align-items:center;white-space:nowrap;pointer-events:none!important;color:#e0e7df;font-size:10px;text-shadow:0 1px 3px #10222b}.movement-hint>span{margin-inline-start:7px}kbd{font:10px system-ui;display:inline-grid;place-items:center;border:1px solid #a6c5ce44;border-radius:4px;width:20px;height:20px;background:#13303e4d}.save-indicator{position:absolute;bottom:19px;left:50%;transform:translateX(-50%);font-size:9px;color:#bdd0cb;pointer-events:none!important}.modal-layer{position:fixed;inset:0;z-index:20;background:#09171e92;backdrop-filter:blur(7px);display:flex;justify-content:center;align-items:center;padding:22px}.dialog{background:linear-gradient(145deg,#223b43f7,#10252efb);border:1px solid #c2d6d138;border-radius:18px;box-shadow:0 20px 100px #0006;max-height:92vh;overflow:auto;position:relative;padding:30px;scrollbar-width:thin;scrollbar-color:#668089 #152b35}.setup{width:650px}.dialog-close{position:absolute;inset-inline-end:16px;top:13px;border:1px solid #aabfc12a;background:#35515a47;width:32px;height:32px;border-radius:50%;font:22px system-ui}.dialog h2{font-size:25px;line-height:1.45;margin:8px 0 12px;font-weight:600}.dialog .eyebrow{font:9px system-ui;letter-spacing:2px;color:#9cb5b6;margin:2px 0 12px}.muted,.dialog p{color:#b2c5c7;font-size:12px;line-height:1.9}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:16px}label>span,legend{font-size:12px;color:#dae5e2;display:block;margin-bottom:7px}input:not([type=radio]),select:not(#language){background:#0f252e9c;border:1px solid #c1d7d22b;border-radius:8px;padding:10px 12px;color:#f1eee7;width:100%;min-height:43px}input[type=number]{direction:ltr;text-align:start}label>small{font-size:9px;color:#8da7ad;display:block;margin-top:5px;line-height:1.6}fieldset{border:0;padding:0;margin:17px 0 0}fieldset legend{margin-bottom:7px}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice-row.three{grid-template-columns:repeat(3,1fr)}.choice{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;background:#152d35;border:1px solid #b4d0cd28;border-radius:8px;padding:12px 9px;cursor:pointer}.choice:has(input:checked){background:#3b61685c;border-color:#9ac9d0}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice:has(input:focus-visible){outline:2px solid #b5e1ea;outline-offset:2px}.choice .choice-icon{font:22px system-ui;margin:0;color:#aecfd4}.choice b{font-size:12px;font-weight:500}.budget-input{display:block;margin-top:16px}.note{padding:9px 12px;border-inline-start:2px solid #c6b892;background:#d3c19708;font-size:10px!important;line-height:1.8!important}.wide{width:100%}.form-error{color:#f4b8aa!important}.content-dialog{width:570px}.content-dialog h3{font-size:14px;font-weight:600;margin:23px 0 10px}.content-dialog .primary{margin-top:20px}.data-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #b7cfd21a;font-size:12px}.data-row>span:last-child{color:#b1c6c9;text-align:end}.money{font-family:system-ui;font-size:25px!important;color:#dce7df!important;direction:ltr}.offer-card{padding:15px;border:1px solid #b5cfca29;border-radius:10px;margin-top:18px;background:#c5c3a709}.offer-card strong{font-size:12px;display:block}.offer-card p{margin:8px 0}.source-link{font-size:11px;overflow-wrap:anywhere}.journal-line{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #c4dcdb18;font-size:12px}.journal-line span{width:23px;height:23px;border-radius:50%;border:1px solid #8db6bf50;display:grid;place-items:center;color:#bddbdc;font:12px system-ui}.journal-line.done{color:#a9cfb7}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;font-size:13px;border-bottom:1px solid #b0cdcc21}.settings-row button{background:#57767e5c;border:1px solid #adcbce30;border-radius:6px;padding:7px 13px;font-size:11px}.danger{color:#e4a997}.menu-actions{display:grid;gap:10px;margin-top:20px}.menu-actions .primary{margin:0}.content-dialog .complete-icon{font:48px system-ui;color:#afd0b6;margin-top:18px;display:block}#toast{position:fixed;top:105px;left:50%;transform:translateX(-50%);z-index:50;border:1px solid #b0c9ce4a;background:#183440f5;box-shadow:0 9px 50px #0005;padding:12px 22px;border-radius:9px;font-size:12px;max-width:88vw;text-align:center}#loading{position:fixed;inset:0;z-index:60;display:grid;place-content:center;text-align:center;gap:20px;background:#132832;color:#bad5d8;font-size:13px}.loader-logo{justify-self:center;width:62px;height:62px;border:1px solid #a7ccca40;border-radius:18px;display:grid;place-items:center;font:800 37px system-ui;animation:breathe 1.6s infinite}@keyframes breathe{50%{opacity:.45}}.touch-pad{display:none}.large-map canvas{width:100%;height:auto;background:#102832;border-radius:12px}.large-map p{font-size:11px}html[dir=ltr] .welcome{background:linear-gradient(90deg,#0e232ae5,#0e232aac 26%,transparent 70%)}html[dir=ltr] .scene-caption{left:auto;right:40px}html[dir=ltr] .welcome h1{letter-spacing:-3px;font-size:clamp(44px,5vw,80px)}html[lang=ru] .welcome h1{font-size:clamp(40px,4.5vw,68px)}
@media(max-width:850px){.topbar{height:70px;padding:15px 20px}.version{display:none}.brand b{font-size:12px;letter-spacing:1.4px}.brand small{font-size:7px}.mark{width:36px;height:36px;font-size:23px}.top-right{gap:8px}#language{width:95px;font-size:12px;padding:8px}.welcome{padding:100px 6vw;background:linear-gradient(90deg,#0f252b35,#102830cf 65%)}.welcome-copy{max-width:390px}.welcome h1{font-size:65px}.scene-caption{display:none}.statusbar{top:78px;inset-inline-start:16px;min-width:unset;gap:12px;padding:9px 13px}.mission{inset-inline-start:16px;top:150px;width:245px;padding:16px}.mission h2{font-size:18px}.minimap{width:170px;inset-inline-start:16px;bottom:48px}.minimap canvas{height:125px}.movement-hint{display:none}.bottom-dock{bottom:38px}.bottom-dock button{min-width:58px;padding:7px 11px}.zoom-controls{right:15px;bottom:118px}}
@media(max-width:600px){.brand b{font-size:11px}.brand small{font-size:6px;letter-spacing:1.5px}.brand{gap:8px}.topbar{padding:12px 14px;height:62px}.icon-button{width:30px;height:30px}.welcome{align-items:flex-end;padding:80px 25px 75px;background:linear-gradient(180deg,#10262d00,#11272d50 25%,#10262de8 65%)}html[dir=ltr] .welcome{background:linear-gradient(180deg,#10262d00,#11272d50 25%,#10262de8 65%)}.welcome h1,html[dir=ltr] .welcome h1,html[lang=ru] .welcome h1{font-size:54px;letter-spacing:-1px;margin:10px 0 18px}.welcome h1 em{display:inline;font-size:.68em}.welcome-copy{max-width:100%;width:100%}.welcome h2{font-size:16px}.intro{font-size:12px;line-height:1.9;max-width:290px}.hero-actions{margin-top:20px}.hero-meta{font-size:9px}.text-button{font-size:10px}.eyebrow{font-size:9px}footer{padding:10px 15px;font-size:8px}footer>span:last-child{font-size:7px}.statusbar{top:67px;inset-inline:12px;justify-content:space-between;gap:8px;padding:9px 12px}.statusbar b{font-size:11px}.statusbar small{font-size:8px}.avatar-symbol{font-size:24px}.status-separator{height:25px}.mission{top:128px;inset-inline-start:12px;width:210px;padding:12px}.mission h2{font-size:15px;margin-bottom:5px}.mission p{font-size:10px;line-height:1.65}.mission .eyebrow{font-size:8px;margin-bottom:6px}.progress-track{margin:11px 0}.compact{min-height:34px;font-size:10px}.mission #distance{font-size:8px;margin-top:6px}.minimap{width:108px;top:128px;bottom:auto;inset-inline-start:auto;inset-inline-end:12px;padding:4px}.minimap canvas{height:88px}.minimap>div{font-size:7px;padding:4px 2px;line-height:1.5;gap:3px}.minimap .tiny-dot{width:4px;height:4px}.bottom-dock{bottom:25px;border-radius:10px;padding:3px}.bottom-dock button{min-width:56px;padding:5px 10px}.bottom-dock small{font-size:8px}.bottom-dock button>span{font-size:19px;height:23px}.save-indicator{bottom:7px;font-size:7px}.zoom-controls{bottom:120px;right:16px}.zoom-controls button{font-size:19px;padding:6px 10px}.touch-pad{position:absolute;left:16px;bottom:113px;display:grid;grid-template-columns:repeat(3,37px);grid-template-rows:repeat(2,37px);gap:3px;direction:ltr}.touch-pad button{background:#122c39d9;border:1px solid #b2cbd534;border-radius:8px;font:14px system-ui;touch-action:none}.pad-up{grid-column:2;grid-row:1}.pad-left{grid-column:1;grid-row:2}.pad-down{grid-column:2;grid-row:2}.pad-right{grid-column:3;grid-row:2}.modal-layer{padding:9px}.dialog{padding:22px 18px;border-radius:13px;max-height:95dvh;width:100%}.dialog h2{font-size:21px}.dialog .muted{font-size:10px}.dialog-close{top:10px;inset-inline-end:10px}.choice{padding:10px 5px;gap:5px}.choice b{font-size:10px}.choice .choice-icon{font-size:18px}.form-grid{gap:10px;margin-top:12px}fieldset{margin-top:13px}label>span,legend{font-size:10px}input:not([type=radio]),select:not(#language){font-size:13px;min-height:39px;padding:8px 10px}.data-row{font-size:10px;gap:10px}.note{font-size:9px!important}.dialog p{font-size:11px}.dialog h3{font-size:13px}.content-dialog .primary{font-size:12px}.hero-actions .primary,.hero-actions .secondary{font-size:12px;padding:13px 19px}.budget-input{margin-top:12px}#game-ui~#footer{opacity:.8}body.playing #footer{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Phase 1A: actual account UI; no image-only forms. */
.account-button{padding:.62rem .9rem;border:1px solid #73cbd366;border-radius:10px;background:#102e39;color:#d6f7f5;font:inherit;cursor:pointer;white-space:nowrap}
.cloud-badge{font-size:.8rem;color:#acd8d5;margin-top:16px;min-height:20px}
.cloud-badge[data-status="offline"],.cloud-badge[data-status="authRequired"],.cloud-badge[data-status="conflict"]{color:#edc88b}
.hero-actions{flex-wrap:wrap}.hero-actions button{font-size:.9rem}.account-status{padding:14px;border-radius:12px;background:#153942;color:#b6e5e4;margin:18px 0}.account-status .tiny-dot{display:inline-block;margin-inline-end:10px}
.goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.goal-option{display:flex;gap:12px;align-items:center;padding:18px;border:1px solid #ffffff1c;border-radius:14px;background:#122a34;cursor:pointer;font-size:.9rem}.goal-option:has(input:checked){border-color:#9bdae0;background:#193e49;box-shadow:0 0 0 1px #9bdae044}.goal-option>span{font-size:1.7rem;color:#9bd5d9}.goal-option input{accent-color:#80cdd4;width:auto}.goal-setup{display:grid;gap:8px;margin:16px 0}.goal-setup small{font-size:.75rem;color:#a5b8bc}
.active-goal{position:absolute;top:148px;inset-inline-start:24px;padding:12px 18px;display:flex;gap:14px;align-items:center;font-size:.82rem}.active-goal small{color:#9db6bd}.active-goal b{color:#daece7}.statusbar{max-width:calc(100vw - 40px)}.save-indicator{max-width:65vw;text-wrap:balance}
@media(max-width:700px){.topbar .version{display:none}.account-button{max-width:150px;font-size:11px;padding:8px}.topbar{padding-inline:12px}.top-right{gap:6px}.brand b{font-size:12px}.brand small{font-size:7px}.topbar #help-button{display:none}.hero-actions button{width:100%;font-size:.85rem}.active-goal{top:146px;inset-inline-start:12px;inset-inline-end:12px;padding:8px 12px;font-size:.75rem}.goal-option{padding:12px;gap:8px;font-size:.8rem}.goal-option>span{font-size:1.3rem}.bottom-dock button{min-width:0;flex:1;padding-inline:6px}.bottom-dock{max-width:calc(100vw - 20px);width:360px}.bottom-dock small{font-size:9px}.statusbar{gap:8px}.statusbar small{font-size:9px}.statusbar b{font-size:12px}.statusbar .status-separator{margin-inline:0}.mission{top:196px}.statusbar>div:nth-last-child(3),.statusbar>div:nth-last-child(4){display:none}}

/* Keep account HUD separate from missions and the minimap. */
@media(min-width:701px){.active-goal{top:166px}.mission{top:226px}}
@media(max-width:600px){.minimap{top:196px}.topbar .mark{width:29px;height:29px;font-size:20px}.topbar .brand b{font-size:10px;letter-spacing:.7px}.topbar .brand small{display:none}.topbar .brand{gap:6px}.topbar #language{width:76px;padding-inline:5px;font-size:11px}.account-button{max-width:128px;overflow:hidden;text-overflow:ellipsis}.topbar .top-right{gap:5px}}
