@font-face{font-family:Vazir;src:url(../fonts/Vazirmatn-Regular.woff2) format('woff2');font-display:swap}@font-face{font-family:Vazir;src:url(../fonts/Vazirmatn-Bold.woff2) format('woff2');font-weight:700;font-display:swap}
:root{--ink:#f4e8cc;--muted:#aeb9ab;--night:#0b1516;--panel:#122426;--panel2:#172d2e;--gold:#d8aa4b;--gold2:#f1d58a;--red:#a8493d;--line:#31504e;--water:#42a8c6;--bread:#d6a247;--arrows:#c7564e;--medicine:#6aae72;--cell:48px;--gap:5px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#071011;color:var(--ink);font-family:Vazir,Tahoma,sans-serif}button{font:inherit;color:inherit}button:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}.defs{position:absolute;width:0;height:0}.screen{position:fixed;inset:0;display:none;overflow:hidden;background:var(--night)}.screen.active{display:flex;flex-direction:column;animation:screenIn .28s ease}.screen.scroll-screen{overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(28px + env(safe-area-inset-bottom))}@keyframes screenIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.icon-btn{width:46px;height:46px;border:1px solid rgba(240,213,138,.22);border-radius:50%;display:grid;place-items:center;background:rgba(9,21,22,.55);cursor:pointer}.icon-btn svg,.game-actions svg,.secondary svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.eyebrow{font-size:11px;letter-spacing:4px;color:var(--gold2);margin:0;text-transform:uppercase}.topbar{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:calc(14px + env(safe-area-inset-top)) 18px 10px}.resources{display:flex;gap:9px;direction:ltr}.resources span{font-size:13px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(4,11,12,.54);padding:7px 11px}.gem{color:var(--gold2)}.heart{color:#d47769}.resources b{color:var(--ink)}
#splash{align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 50% 34%,#274542 0,#102322 34%,#081213 68%)}#splash:before,#splash:after{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 50% 37%,transparent 0 49px,rgba(219,178,85,.035) 50px 51px)}#splash:after{background:linear-gradient(115deg,transparent 49.8%,rgba(226,190,100,.08) 50%,transparent 50.2%),linear-gradient(65deg,transparent 49.8%,rgba(226,190,100,.08) 50%,transparent 50.2%)}.sun-mark{width:86px;height:86px;border:1px solid rgba(239,205,120,.5);border-radius:50%;display:grid;place-items:center;margin-bottom:20px;position:relative}.sun-mark:before,.sun-mark:after{content:"";position:absolute;background:var(--gold);opacity:.72}.sun-mark:before{width:116px;height:1px}.sun-mark:after{height:116px;width:1px}.sun-mark span{display:block;width:38px;height:38px;border:2px solid var(--gold);transform:rotate(45deg);box-shadow:0 0 30px rgba(216,170,75,.24)}#splash h1{font-size:43px;line-height:1.15;margin:16px 0 12px;font-weight:400}#splash h1 b{color:var(--gold);font-size:53px}.sword-line{display:flex;justify-content:center;align-items:center;gap:8px}.sword-line:before,.sword-line:after{content:"";width:58px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.sword-line:after{transform:scaleX(-1)}.sword-line i{width:7px;height:7px;border:1px solid var(--gold);transform:rotate(45deg)}#splash .subtitle{color:var(--muted);font-size:14px;letter-spacing:4px}.loader{position:absolute;bottom:calc(36px + env(safe-area-inset-bottom));width:112px;height:2px;background:rgba(255,255,255,.1)}.loader span{display:block;height:100%;background:var(--gold);animation:load 1.65s ease forwards}@keyframes load{from{width:0}to{width:100%}}
#menu{background:linear-gradient(#0a1b1e,#173233 62%,#5e4b30)}.menu-scene{position:absolute;inset:0;overflow:hidden;pointer-events:none}.moon{position:absolute;width:105px;height:105px;border-radius:50%;background:#e9dba9;box-shadow:0 0 55px rgba(230,213,159,.28);top:12%;inset-inline-start:9%;opacity:.88}.moon:after{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background:#102426;transform:translate(-17px,-7px)}.dunes{position:absolute;inset-inline:-10%;bottom:-11%;height:42%;background:#8d6e41;clip-path:polygon(0 55%,17% 37%,37% 59%,58% 27%,78% 54%,100% 22%,100% 100%,0 100%);opacity:.63}.citadel{position:absolute;bottom:20%;inset-inline-end:-5%;width:72%;height:33%;background:#172a27;clip-path:polygon(0 40%,12% 40%,12% 25%,18% 25%,18% 35%,30% 35%,30% 15%,37% 15%,37% 27%,51% 27%,51% 8%,58% 8%,58% 25%,70% 25%,70% 17%,76% 17%,76% 31%,91% 31%,91% 20%,97% 20%,97% 42%,100% 42%,100% 100%,0 100%);filter:drop-shadow(0 -10px 20px rgba(0,0,0,.25))}.menu-copy{position:relative;z-index:2;margin:auto 24px 0;padding-bottom:12px}.menu-copy h2{font-size:36px;line-height:1.16;margin:8px 0 10px;font-weight:400}.menu-copy strong{font-size:55px;color:var(--gold2);font-weight:700}.menu-copy>p:last-child{font-size:14px;color:#d7dece;line-height:1.8}.menu-actions{position:relative;z-index:3;padding:8px 20px calc(24px + env(safe-area-inset-bottom));display:grid;gap:9px}.menu-actions button{min-height:52px;border-radius:14px;cursor:pointer}.primary{background:linear-gradient(135deg,#c89439,#e2b85e);border:1px solid #f0d688;color:#1b2017;display:flex;justify-content:space-between;align-items:center;padding:0 20px;font-weight:700;box-shadow:0 8px 24px rgba(8,13,10,.34)}.primary small{font-weight:400;opacity:.75}.secondary{background:rgba(9,22,23,.86);border:1px solid rgba(234,205,130,.28);display:flex;align-items:center;justify-content:center;gap:10px}.text-btn{background:transparent;border:0;color:var(--gold2);min-height:42px!important}.menu-actions+footer{text-align:center;font-size:9px;opacity:.48;position:absolute;bottom:4px;width:100%}
.page-head{display:flex;align-items:center;gap:12px;padding:calc(15px + env(safe-area-inset-top)) 16px 13px;background:linear-gradient(#142b2c,rgba(20,43,44,.7));position:sticky;top:0;z-index:5;backdrop-filter:blur(8px)}.page-head>div{flex:1}.page-head small,.level-title small{display:block;color:var(--gold2);font-size:10px}.page-head h2{font-size:21px;margin:1px 0}.chapter-count{font-size:12px;color:var(--muted)}.chapter-tabs{display:flex;gap:8px;padding:16px 16px 9px;overflow-x:auto;scrollbar-width:none}.chapter-tabs button{white-space:nowrap;background:#15292a;border:1px solid #294644;border-radius:20px;padding:8px 15px;font-size:12px;color:var(--muted)}.chapter-tabs button.active{background:var(--gold);border-color:var(--gold2);color:#17201d;font-weight:700}.story-card{margin:6px 16px 15px;padding:15px;border:1px solid rgba(215,174,82,.24);background:linear-gradient(135deg,#1b302d,#142322);border-radius:13px}.story-card b{display:block;color:var(--gold2);font-size:15px}.story-card p{margin:5px 0 0;color:#b9c5b5;font-size:12px;line-height:1.7}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 16px}.level-card{aspect-ratio:1;border-radius:18px;background:linear-gradient(145deg,#183031,#0e2021);border:1px solid #2a4846;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;position:relative}.level-card b{font-size:25px}.level-card small{color:var(--muted);font-size:9px}.level-card .stars{height:14px;color:var(--gold);font-size:12px;direction:ltr;letter-spacing:1px}.level-card.current{border-color:var(--gold);box-shadow:0 0 0 2px rgba(216,170,75,.12)}.level-card.locked{opacity:.4}.level-card.locked svg{width:21px;height:21px;fill:none;stroke:currentColor}.level-card.boss{background:linear-gradient(145deg,#3b2925,#1c2220);border-color:#74483d}
.game-head{display:flex;align-items:center;gap:12px;padding:calc(11px + env(safe-area-inset-top)) 14px 9px;background:#112426;border-bottom:1px solid #294341}.level-title{flex:1}.level-title b{font-size:16px}.moves{text-align:left;min-width:61px}.moves small{display:block;font-size:9px;color:var(--muted)}.moves b{font-size:16px;color:var(--gold2)}.mission{text-align:center;color:#c5d0c1;font-size:12px;padding:10px 12px 4px}.board-wrap{flex:1;min-height:0;display:grid;place-items:center;padding:7px 12px}.board{display:grid;gap:var(--gap);touch-action:none;direction:ltr;user-select:none;position:relative;padding:8px;border-radius:18px;background:rgba(5,13,14,.55);border:1px solid #2b4644;box-shadow:0 16px 40px rgba(0,0,0,.32);max-width:100%;max-height:100%}.cell{width:var(--cell);height:var(--cell);border:1px solid rgba(110,144,137,.18);border-radius:8px;background:rgba(32,55,54,.45);position:relative;display:grid;place-items:center}.cell.block{background:repeating-linear-gradient(135deg,#2b302b 0 5px,#242922 5px 10px);border-color:#565342}.cell.endpoint:before{content:"";width:52%;height:52%;border-radius:50%;background:var(--cargo);border:3px solid rgba(255,255,255,.72);box-shadow:0 0 0 4px color-mix(in srgb,var(--cargo),transparent 65%),0 3px 10px rgba(0,0,0,.3);z-index:3}.cell.endpoint.target:before{border-radius:6px;transform:rotate(45deg)}.cell.path{background:color-mix(in srgb,var(--cargo),#102020 70%)}.cell.path:after{content:"";position:absolute;inset:36%;border-radius:50%;background:var(--cargo);box-shadow:0 0 11px var(--cargo)}.cell.hint-pulse{animation:hintPulse .75s ease 3;z-index:4}@keyframes hintPulse{50%{transform:scale(1.1);box-shadow:0 0 0 5px var(--gold2)}}.cell.bad{animation:bad .25s ease 2}@keyframes bad{50%{transform:translateX(4px);background:#713b36}}.cargo-legend{display:flex;justify-content:center;gap:12px;min-height:28px}.cargo-legend span{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:5px}.cargo-legend i{width:9px;height:9px;border-radius:50%;background:var(--cargo);box-shadow:0 0 7px var(--cargo)}.game-actions{display:grid;grid-template-columns:1fr 1.45fr;gap:9px;padding:8px 14px calc(15px + env(safe-area-inset-bottom))}.game-actions button{min-height:50px;background:#172b2c;border:1px solid #31504d;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:12px}.game-actions .hint{background:#4d3d20;border-color:#8c6a2e;color:var(--gold2);position:relative}.game-actions small{position:absolute;top:-5px;inset-inline-end:-5px;width:20px;height:20px;border-radius:50%;background:var(--gold);color:#18211d;display:grid;place-items:center;font-weight:700}
.overlay{position:fixed;inset:0;background:rgba(1,7,8,.76);z-index:100;display:grid;place-items:end center;padding-top:env(safe-area-inset-top);backdrop-filter:blur(4px)}.overlay[hidden]{display:none}.sheet{width:min(100%,460px);background:linear-gradient(#1a3132,#0f2021);border:1px solid #3a5652;border-radius:24px 24px 0 0;padding:22px 20px calc(22px + env(safe-area-inset-bottom));animation:sheetIn .22s ease;max-height:88vh;overflow-y:auto}.sheet.compact{text-align:center}.sheet h3{font-size:22px;margin:4px 0;color:var(--gold2)}.sheet p{color:#bdc8ba;font-size:13px;line-height:1.8}.sheet .seal{width:64px;height:64px;border-radius:50%;border:2px solid var(--gold);display:grid;place-items:center;margin:0 auto;color:var(--gold);font-size:30px}.sheet .result-stars{font-size:35px;letter-spacing:5px;color:var(--gold);direction:ltr}.sheet-actions{display:grid;gap:8px;margin-top:16px}.sheet-actions button{min-height:49px;border-radius:12px;border:1px solid #46615d;background:#1d3636}.sheet-actions .gold{background:var(--gold);border-color:var(--gold2);color:#17201d;font-weight:700}.sheet-actions .danger{color:#e49889}.how-steps{display:grid;gap:12px;margin:15px 0}.how-step{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;text-align:right}.how-step b{width:36px;height:36px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold)}.how-step span{font-size:12px;color:#c3cebf}.toast{position:fixed;z-index:150;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));transform:translate(-50%,20px);background:#efe0b8;color:#17201d;border-radius:20px;padding:9px 16px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;white-space:nowrap;box-shadow:0 5px 20px rgba(0,0,0,.35)}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes sheetIn{from{transform:translateY(100%)}to{transform:none}}
@media(max-height:700px){.menu-copy h2{font-size:30px}.menu-copy strong{font-size:44px}.menu-copy>p:last-child{margin:4px 0}.menu-actions{padding-top:0}.menu-actions button{min-height:47px}.mission{padding-top:5px}.game-actions button{min-height:46px}.game-actions{padding-top:3px}}
@media(max-width:350px){:root{--gap:4px}.menu-copy{margin-inline:18px}.level-grid{gap:9px}.page-head{padding-inline:10px}.cell{border-radius:6px}}
@media(min-width:600px){#app{width:430px;margin:auto;position:relative;height:100%;box-shadow:0 0 70px #000}.screen{left:50%;right:auto;width:430px;transform:translateX(-50%)}.screen.active{animation:wideIn .25s ease}@keyframes wideIn{from{opacity:.4}to{opacity:1}}}
.menu-copy h2{font-size:33px;line-height:1.18;white-space:nowrap}
