@font-face{font-family:IRANSans;src:url('/assets/fonts/iransansnew/IRANSansXFaNum-DemiBold.woff2') format('woff2');font-display:swap}
:root{color-scheme:dark;--accent:#51ddc5;--secondary:#ff947d;--bg:#0c1920;--text:#eaf4f0;--muted:#98acae}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 15% 0,#173b3b 0,transparent 45%),var(--bg);color:var(--text);font-family:IRANSans,Tahoma,sans-serif;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}.shell{max-width:1180px;margin:auto;padding:24px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:8px 0 30px;font-size:13px}.brand{font-size:23px;font-weight:bold}.brand span{color:var(--secondary);font-size:32px}.brand small{display:block;font-size:9px;letter-spacing:3px;color:var(--muted);line-height:1;text-align:center}.welcome{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#12252c;border:1px solid #ffffff10;border-radius:32px;overflow:hidden;min-height:480px}.welcome-copy{padding:48px;z-index:1}.eyebrow{color:var(--accent);font-size:11px;letter-spacing:.5px}h1{font-size:clamp(42px,6vw,78px);line-height:1.35;margin:20px 0}h1 em{color:var(--accent);font-style:normal}h2{font-size:22px;line-height:1.6;margin:10px 0 16px}.welcome-copy p{color:#c1d1cf}.welcome img{width:100%;height:100%;object-fit:cover;min-height:480px}.actions{display:flex;align-items:center;gap:24px;margin:28px 0 16px;font-size:12px}.primary{background:var(--accent);border:0;color:#0c2825;border-radius:13px;padding:13px 26px;font-weight:bold;box-shadow:0 5px 22px #51ddc51a}.welcome-copy>small{color:var(--muted);font-size:11px}.art-caption{position:absolute;left:24px;bottom:18px;font-size:10px;color:#d6e8e5;text-shadow:0 2px 5px #000}.art-caption b{color:var(--secondary)}.panel{border:1px solid #ffffff12;background:#12242b;border-radius:23px;padding:28px;margin-top:22px}.setup{display:flex;align-items:center;justify-content:space-between;gap:20px}.setup h2{font-size:19px;margin-bottom:0}.levels{display:flex;gap:10px}.levels button{border:1px solid #ffffff16;background:#0e1c23;border-radius:15px;padding:13px 23px;min-width:110px}.levels small{display:block;color:var(--muted);font-size:10px}.levels .selected{border-color:var(--accent);background:#51ddc514;color:var(--accent)}.arena{scroll-margin-top:20px}.arena-title{display:flex;align-items:center;justify-content:space-between}.arena-title h2{margin:0}.subtle{background:transparent;border:1px solid #ffffff22;padding:8px 16px;border-radius:12px}.instruments{display:flex;align-items:center;justify-content:space-between;max-width:510px;margin:25px auto;padding:18px 24px;border:1px solid #ffffff12;border-radius:18px;background:#0c1920}.instruments>div{min-width:125px;text-align:center}.instruments small{display:block;font-size:10px;color:var(--muted)}.instruments strong{font-size:29px;font-variant-numeric:tabular-nums}.face{background:#213c42;border:1px solid #ffffff25;border-radius:13px;width:48px;height:48px;color:var(--secondary);font-size:28px}.toolbar{display:flex;justify-content:center;align-items:center;gap:20px;font-size:11px;margin-bottom:20px;flex-wrap:wrap}.toolbar button{background:#1b343c;border:1px solid #ffffff20;border-radius:10px;padding:8px 14px}.toolbar button[aria-pressed=true]{background:var(--accent);color:#0c2825}.toolbar span{color:var(--muted)}.board-scroll{overflow:auto;padding:8px 8px 18px;max-width:100%;overscroll-behavior:contain;direction:ltr}.board{display:grid;grid-template-columns:repeat(var(--cols,9),var(--cell,38px));gap:4px;width:max-content;margin:auto;padding:12px;border-radius:17px;background:#08171d;box-shadow:inset 0 2px 10px #0004;touch-action:manipulation}.cell{display:flex;align-items:center;justify-content:center;width:var(--cell,38px);height:var(--cell,38px);padding:0;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-top-color:color-mix(in srgb,var(--accent) 60%,transparent);border-radius:7px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 32%,#16313a),color-mix(in srgb,var(--accent) 12%,#11242b));box-shadow:0 3px 0 #030d14;font-weight:bold;font-size:20px;font-family:inherit;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.cell:hover{filter:brightness(1.22)}.cell.open{background:#c9dbd7;border-color:#c9dbd7;box-shadow:none;color:#3279bc}.cell[data-value="2"]{color:#25805f}.cell[data-value="3"]{color:#c45050}.cell[data-value="4"]{color:#7254a2}.cell[data-value="5"],.cell[data-value="6"],.cell[data-value="7"],.cell[data-value="8"]{color:#985b25}.cell.flag{color:var(--secondary);font-size:26px}.cell.mine{background:#be6359;color:#192127;border-color:#df8479;box-shadow:none}.cell.wrong{color:#ff9f90}.board-help,#sync{text-align:center;color:var(--muted);font-size:11px}#sync{color:var(--accent);min-height:22px}.details-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}.details-grid p,.details-grid li{color:var(--muted);font-size:12px}.details-grid ol{padding-right:20px}.details-grid li{padding:7px 0}.records a{font-size:12px;color:var(--accent)}.record{display:flex;justify-content:space-between;border-bottom:1px solid #ffffff12;padding:14px 0;font-size:13px}.record small{color:var(--muted)}footer{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);padding:32px 0}footer b{color:var(--accent)}dialog{background:#162a31;color:var(--text);border:1px solid #ffffff20;border-radius:24px;padding:32px;text-align:center;width:min(440px,calc(100vw - 30px))}dialog::backdrop{background:#031015cf;backdrop-filter:blur(7px)}dialog p{color:var(--muted);font-size:13px}:is(#new-game,#finish) button{display:block;width:100%;margin-top:12px}.finish-icon{font-size:64px;color:var(--accent)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;width:max-content;background:#243d44;border:1px solid #ffffff30;padding:12px 24px;border-radius:14px;z-index:20;font-size:13px}.mine-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;width:210px;margin:40px auto;transform:rotate(-8deg)}.mine-preview i{display:grid;place-items:center;height:36px;border-radius:6px;background:var(--accent);color:#163b3a;font-style:normal;box-shadow:0 4px 0 #0005}.mine-preview i:nth-child(3n){background:#d2e4df;color:#3979bd}.home-league-card--mine{background:#133d3c}
@media(max-width:760px){.shell{padding:14px}.topbar{font-size:11px;gap:10px}.brand{font-size:19px}.welcome{grid-template-columns:1fr 1fr;min-height:360px}.welcome-copy{padding:24px}.welcome img{min-height:360px}.welcome h1{font-size:48px}.welcome-copy p{font-size:12px}.actions{gap:12px;flex-wrap:wrap}.actions a{font-size:10px}.primary{padding:11px 18px}.art-caption{display:none}.setup{display:block}.levels{margin-top:20px}.levels button{flex:1;padding:12px 6px;min-width:0}.panel{padding:20px}.details-grid{grid-template-columns:1fr;gap:0}.board{--cell:32px;gap:3px;padding:8px}.instruments{padding:12px}.instruments>div{min-width:90px}.instruments small{font-size:9px}.arena{padding:16px 6px}.arena-title{padding:0 10px}footer{font-size:10px}.welcome-copy>small{font-size:9px}}
@media(max-width:480px){.welcome{display:flex;flex-direction:column-reverse}.welcome img{height:260px;min-height:0;object-fit:cover;object-position:center 55%}.welcome-copy{width:100%;padding:25px}.welcome h1{font-size:44px;margin:10px 0}.welcome h1 br{display:none}.welcome-copy p br{display:none}.welcome-copy p{margin:6px 0}.actions{margin:20px 0 12px}.cell{font-size:17px}.arena-title h2{font-size:19px}.board-help{padding:0 12px}.topbar .brand small{font-size:7px}.topbar>a:first-child{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media(max-width:700px){.mine-preview{width:110px;gap:4px;margin:10px auto;flex-shrink:0}.mine-preview i{height:19px;font-size:12px}}/* League, responsive fields and cosmetic effects */
@font-face{font-family:IRANSans;src:url('/assets/fonts/iransansnew/IRANSansXFaNum-ExtraBold.woff2') format('woff2');font-weight:800;font-display:swap}
body,button,input,dialog{font-family:IRANSans,Tahoma,sans-serif}h1,h2,.brand{font-weight:800}
.board-scroll{overflow:visible;min-width:0;padding:8px 4px 18px}.board{width:100%;max-width:calc(var(--cols)*43px);grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:4px}.cell{width:100%;height:auto;aspect-ratio:1;min-width:0;position:relative;font-family:inherit;line-height:1;font-size:clamp(12px,2.5vw,20px)}.board .cell.flag{font-size:clamp(16px,3vw,26px)}.cell:focus-visible{outline-offset:0;z-index:1}
.season-grid,.ranking-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;min-width:0}.season-prize>strong{font-size:36px;color:#f1ce8e}.season-prize>strong small{font-size:15px}.season-grid p,.scoring p,.scoring>small{font-size:12px;color:var(--muted)}.live{float:left;font-size:10px}.season-clock{text-align:center;display:flex;flex-direction:column;justify-content:center}.season-clock>strong{font-size:28px;letter-spacing:2px;margin:18px 0 0}.season-clock>span:last-child{color:var(--accent);font-size:12px}.rank-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #ffffff12;font-size:13px}.rank-row>b{color:var(--accent);width:22px}.rank-row img{width:36px;height:36px;border-radius:50%}.rank-row>span{flex:1;overflow-wrap:anywhere}.rank-row>strong{color:#f2cf91;white-space:nowrap;font-size:12px}.ranking{font-size:12px;color:var(--muted)}.ranking-grid .panel{min-width:0}.score-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}.score-rules>span{padding:18px;background:#0b1c23;border-radius:15px;text-align:center;font-size:13px}.score-rules strong{display:block;color:var(--accent);font-size:23px;line-height:2}.score-rules small{color:var(--muted);font-size:10px}.instruments{max-width:650px;gap:12px}.instruments>div{min-width:0;flex:1}.instruments strong{font-size:25px}.toolbar{position:sticky;top:8px;z-index:5;background:#12242bf5;border:1px solid #ffffff18;border-radius:16px;padding:12px;max-width:650px;margin:0 auto 16px;backdrop-filter:blur(12px);gap:10px}.tool-switch{display:flex;gap:6px}.toolbar small{flex-basis:100%;text-align:center;color:var(--muted);font-size:10px}.toolbar button[aria-pressed=true]{background:var(--accent);color:#0b2825}.toolbar.flag-tool{border-color:var(--secondary)}.toolbar.flag-tool #tool-hint{color:var(--secondary)}
.cell.holding::after{content:'';position:absolute;inset:0;border:3px solid var(--secondary);border-radius:50%;animation:mine-hold .5s linear forwards;pointer-events:none}.flag-arrival{animation:mine-flag-drop .5s cubic-bezier(.2,.9,.3,1.3)}body[data-mine-marker=shield] .cell.flag{border-radius:45%;box-shadow:inset 0 0 14px #74ead430,0 0 8px #74ead440}body[data-mine-marker=beacon] .cell.flag{box-shadow:inset 0 0 15px #c1a1ff40;color:#d1bbff}.preview-marker{animation:mine-marker-pulse 1.8s ease-in-out infinite}.mine-fx-preview{width:100%;height:100%;display:block}.mine-preview{max-width:90%}#mine-explosion{position:fixed;inset:0;width:100vw;height:100dvh;z-index:1000;pointer-events:none}.mine-impact>.shell{animation:mine-impact .65s ease-out}.mine-impact .cell.mine{animation:mine-detonate .7s ease-out both}.mine-impact .cell.mine:nth-child(3n){animation-delay:.1s}.arcade-item[data-slot=explosion] .arcade-item__swatch i{border-radius:50%;box-shadow:0 0 20px var(--accent);background:radial-gradient(circle,#fff,var(--accent),var(--secondary));animation:mine-marker-pulse 1.8s infinite}.arcade-item[data-slot=marker] .arcade-item__swatch i{border-radius:45%;background:var(--accent);clip-path:polygon(50% 0,95% 20%,85% 70%,50% 100%,15% 70%,5% 20%)}
@keyframes mine-hold{from{transform:scale(.2);opacity:.2}to{transform:scale(1);opacity:1}}@keyframes mine-flag-drop{0%{transform:translateY(-13px) scale(.6);opacity:.3}65%{transform:translateY(2px) scale(1.08)}100%{transform:none;opacity:1}}@keyframes mine-marker-pulse{50%{filter:brightness(1.3);transform:scale(1.08)}}@keyframes mine-impact{0%,100%{transform:none}15%{transform:translate(-7px,4px) rotate(-.3deg)}32%{transform:translate(6px,-4px) rotate(.3deg)}50%{transform:translate(-4px,2px)}75%{transform:translate(2px,-1px)}}@keyframes mine-detonate{40%{transform:scale(.75) rotate(10deg);filter:brightness(1.5)}100%{transform:none}}
@media(max-width:760px){.season-grid,.ranking-grid{grid-template-columns:1fr;gap:0}.season-clock>strong{font-size:24px}.score-rules{gap:7px}.score-rules>span{padding:12px 5px;font-size:11px}.score-rules strong{font-size:16px}.score-rules small{font-size:8px}.board{gap:3px;padding:8px}.instruments{gap:8px;padding:12px 8px}.instruments strong{font-size:20px}.instruments small{font-size:8px}.toolbar{top:5px}.toolbar button{font-size:11px;padding:10px 16px}.toolbar #progress{font-size:10px}.shell,.arena,.board-scroll{min-width:0}.instruments .face{flex-shrink:0;width:40px;height:40px}.rank-row{font-size:12px}.cell{border-radius:5px}.levels button small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.mine-impact>.shell,.mine-impact .cell.mine,.flag-arrival,.preview-marker,.arcade-item[data-slot=explosion] .arcade-item__swatch i{animation:none!important}}
/* Compact titles and a dedicated play screen, matching the other arcade games. */
.welcome h1{font-size:clamp(32px,4.4vw,60px)}.arena-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 22px;font-size:11px;color:var(--muted)}.arena-title h2{font-size:19px}#arena{margin-top:4px}#arena .board{max-width:620px}#arena .cell{font-size:clamp(11px,2.9vw,21px)}#arena .cell.flag{font-size:clamp(13px,3.2vw,24px)}
@media(max-width:480px){.welcome h1{font-size:34px}.arena-navigation{padding:0 10px;font-size:10px}#arena .board{gap:2px;padding:6px}#arena .cell{border-radius:3px}#arena .toolbar{position:relative;top:auto}}
.welcome-copy .setup{display:block;margin:24px 0 0;padding:16px;background:#0c192080;border-radius:16px}.welcome-copy .setup h2{font-size:15px;margin:3px 0 12px}.welcome-copy .setup .eyebrow{font-size:10px}.welcome-copy .levels{gap:7px;margin-top:12px}.welcome-copy .levels button{flex:1;min-width:0;padding:10px 5px;font-size:12px}.welcome-copy .levels small{font-size:9px;white-space:nowrap}.welcome-copy .actions{margin-top:18px}
