:root{font-family:Noto Sans Arabic,Tahoma,Arial,sans-serif;color:#fff4d1;background:#111b2b;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100dvh;overflow:hidden}button{font:inherit}#app,#scene{min-height:100dvh}#scene{position:fixed;inset:0;z-index:0;background:#111b2b url(/art/oasis-caravan-sunset-v1.png) center / cover no-repeat}#scene:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#09122280 0%,transparent 32%,transparent 65%,#091222aa 100%);pointer-events:none}.game-shell{pointer-events:none;position:relative;z-index:1;min-height:100dvh;max-width:1120px;margin:auto;padding:max(16px,env(safe-area-inset-top)) clamp(14px,3vw,36px) max(14px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:13px}.topbar,.mission-card,.player-card,.route-dock,.action-bar{pointer-events:auto;background:linear-gradient(135deg,#101b2ee8,#1a2941d9);border:1px solid #efd4835c;box-shadow:0 15px 50px #07101f6b,inset 0 1px #fff1c41a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar{display:flex;align-items:center;justify-content:space-between;border-radius:22px;padding:12px 16px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:15px;background:linear-gradient(135deg,#ffd976,#be6f3b);color:#182239;font-size:26px;box-shadow:0 7px 18px #0005}.brand small,.eyebrow,.mission-hint,.player-card small,.currency small,.route-dock small,.build-marker{color:#e9cf98b8}.brand h1{margin:0;color:#fff2c9;font-size:clamp(1.32rem,3vw,2rem);line-height:1}.brand p{margin:4px 0 0;font-size:.76rem;color:#eed8a5}.header-actions{display:flex;gap:6px}.icon-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid #efd48370;border-radius:12px;background:#ffffff10;color:#fff1c9;cursor:pointer;font-size:20px}.mission-card{align-self:flex-start;max-width:460px;border-radius:17px;padding:11px 16px;display:grid;gap:4px}.eyebrow{font-size:.7rem;letter-spacing:.08em}.mission-card strong{font-size:clamp(.93rem,2vw,1.08rem);color:#fff6db}.mission-hint{font-size:.72rem}.player-card{align-self:flex-end;display:flex;align-items:center;gap:10px;border-radius:18px;padding:10px 13px;min-width:275px}.portrait{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;background:linear-gradient(145deg,#407576,#17313e);border:2px solid #e9c46a;color:#fff4d1;font-weight:700}.player-card>div:nth-child(2){display:grid;gap:2px;flex:1}.player-card strong{font-size:.86rem;color:#fff3cf}.player-card b{color:#ffe59a}.xp{height:5px;border-radius:99px;background:#ffffff20;overflow:hidden}.xp span{display:block;width:48%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#42c6c7,#e9c46a)}.currency{display:grid;gap:2px;text-align:left;border-right:1px solid #ffffff1d;padding-right:10px}.currency b{font-size:1.2rem}.currency i{color:#f6c759;font-style:normal}.route-dock{margin:auto 0 0;border-radius:21px;padding:10px;display:flex;align-items:stretch;justify-content:center;gap:7px}.route-dock button{appearance:none;border:0;border-radius:14px;background:transparent;color:#fff3cf;padding:8px 13px;display:grid;grid-template-columns:auto 1fr;column-gap:8px;text-align:right;min-width:180px;cursor:pointer;transition:background .18s,transform .18s,opacity .18s}.route-dock button:hover,.route-dock button[data-state=current]{background:#f7ca6d24;transform:translateY(-2px)}.route-dock button[data-state=locked]{opacity:.38;cursor:not-allowed}.route-dock button>span{grid-row:1 / 3;display:grid;place-items:center;width:29px;height:29px;border:1px solid #efd4838e;border-radius:50%;color:#f6d67f}.route-dock b{font-size:.82rem}.route-dock small{font-size:.66rem}.route-dock i{align-self:center;width:20px;height:1px;background:#efd4835a}.action-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;border-radius:20px;padding:10px 11px 10px 10px}.action-bar span{padding:0 10px;font-size:.73rem;color:#e8d3a9}.action-bar button,#dialog button{border:0;border-radius:14px;padding:12px 20px;background:linear-gradient(135deg,#f5d477,#c87b40);color:#15223a;box-shadow:0 7px 18px #0004;font-weight:700;cursor:pointer;transition:filter .18s,transform .18s}.action-bar button:hover,#dialog button:hover{filter:brightness(1.08);transform:translateY(-1px)}.action-bar button:disabled{opacity:.45;cursor:default;filter:grayscale(.5)}.build-marker{align-self:center;font-size:.58rem;opacity:.65}#dialog{position:fixed;z-index:8;inset:0;padding:16px;display:grid;place-items:center;background:#07101fb8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}#dialog[hidden]{display:none}#dialog section{width:min(100%,455px);border:1px solid #efd4838e;border-radius:25px;padding:25px;background:linear-gradient(145deg,#1d2d45,#101a2b);box-shadow:0 24px 80px #0009;color:#fff2d1}.dialog-kicker{font-size:.7rem;color:#e6c26e;letter-spacing:.11em}.dialog-kicker+h2{margin:6px 0 10px;font-size:1.45rem}.dialog-kicker+h2+p{margin:0;white-space:pre-line;line-height:1.9;color:#f1dfb4}.dialog-kicker+h2+p+div{display:flex;gap:8px;flex-wrap:wrap;margin-top:21px}#dialog button.quiet{background:#ffffff0e;color:#f4dfaf;box-shadow:none;border:1px solid #ffffff2e}@media(max-width:650px){.game-shell{gap:9px;padding-inline:10px}.topbar{border-radius:17px;padding:9px 11px}.brand-mark{width:35px;height:35px;font-size:21px;border-radius:11px}.brand h1{font-size:1.25rem}.brand p{display:none}.mission-card{max-width:90%;padding:9px 12px}.player-card{min-width:0;padding:8px 10px;border-radius:15px}.route-dock{border-radius:18px;padding:7px;gap:2px}.route-dock button{min-width:0;flex:1;padding:7px 4px;grid-template-columns:1fr;justify-items:center;text-align:center}.route-dock button>span{grid-row:auto}.route-dock b{font-size:.66rem}.route-dock small{display:none}.route-dock i{width:1px;height:34px}.action-bar{border-radius:17px}.action-bar button{padding:11px 14px}.action-bar span{font-size:.63rem;padding:0 4px}.build-marker{display:none}}@media(orientation:landscape)and (max-height:560px){.game-shell{padding-top:6px;padding-bottom:6px;gap:6px}.brand p,.mission-hint,.build-marker{display:none}.mission-card{padding:6px 11px}.route-dock{margin-top:auto}.player-card{position:absolute;left:16px;top:65px}.action-bar{padding:6px}.action-bar button{padding:8px 14px}}
