@font-face{font-family:Garden;src:url(assets/vazir.woff2)format('woff2');font-display:swap}:root{color-scheme:light;--bg:#f7f3e8;--paper:#fffefa;--ink:#26332d;--muted:#657268;--green:#286653;--line:#dce1d5;--blue:#285ea8;--red:#b43c3c;--gold:#956512;font-family:Garden,Tahoma,Arial,sans-serif;background:var(--bg);color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-width:280px;background:radial-gradient(ellipse at 0 0,#e6ecda99,transparent 45%),radial-gradient(ellipse at 100% 100%,#eee0bf66,transparent 40%),var(--bg);min-height:100dvh}button{font:inherit;cursor:pointer;color:inherit;border:1px solid var(--line);background:var(--paper);border-radius:14px;min-height:46px;padding:10px 18px;transition:transform .16s,background .16s,box-shadow .16s}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 14px #26332d0c}button:active:not(:disabled){transform:scale(.97)}button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}button:disabled{opacity:.45;cursor:default}.primary{background:var(--green);border-color:var(--green);color:#fff}.secondary{background:#e9f0e6;border-color:#d2e0d2;color:var(--green)}.danger{color:var(--red)}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.9}.eyebrow{font-size:12px;letter-spacing:1px;color:var(--green);font-weight:700}h1,h2,h3,p{margin:0}h1{font-size:clamp(34px,6vw,54px);line-height:1.6}h2{font-size:26px}p{line-height:1.95}#game-root{max-width:1e3px;margin:auto;padding:28px 26px 20px}.screen{animation:arrive .25s ease-out}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:30px}.brand{display:flex;align-items:center;gap:10px;font-weight:700}.brand-icon{color:var(--green);font-size:26px}.pill{display:inline-block;border:1px solid var(--line);border-radius:30px;padding:5px 12px;color:var(--muted);font-size:12px;background:#fffefa99}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;min-height:490px}.hero-copy p{margin:15px 0 24px;max-width:390px;color:var(--muted)}.hero-copy .primary{min-width:230px;font-size:17px}.home-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.home-actions button{font-size:13px}.art{position:relative;padding:30px 12px}.art-board{direction:ltr;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:18px;background:var(--paper);border:1px solid #e4dfd0;border-radius:25px;box-shadow:10px 20px #e8e6d9,0 24px 65px #435f4212;transform:rotate(-7deg);max-width:310px;margin:auto;aspect-ratio:1}.art-board span{display:grid;place-items:center;font-size:34px;border-radius:12px;background:#f1f2e9;color:#8d9789}.art-board span:nth-child(3n+1){background:#e2eddf;color:var(--green)}.art-board span:nth-child(5){background:#e7bd65;color:#523b16}.leaf{position:absolute;width:45px;height:80px;background:#70936c;border-radius:0 100% 0 100%;transform:rotate(20deg);top:0;left:20px}.leaf.second{top:auto;left:auto;bottom:0;right:20px;transform:rotate(110deg);background:#b8c5a3}.art-caption{text-align:center;margin-top:42px;font-size:12px;color:var(--muted)}.footer{border-top:1px solid #dfdfd0;margin-top:25px;padding-top:16px;display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);line-height:1.9}.section-heading{margin-bottom:24px}.section-heading p{color:var(--muted);margin-top:8px}.difficulty-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}.difficulty-card{text-align:right;min-height:235px;padding:24px 20px;position:relative;overflow:hidden}.difficulty-card:before{content:'';position:absolute;left:-25px;top:-25px;width:90px;height:90px;border-radius:50%;background:var(--tint)}.difficulty-card .flower{display:block;color:var(--accent);font-size:40px;margin-bottom:22px}.difficulty-card h3{font-size:21px;margin-bottom:8px}.difficulty-card p{font-size:12px;color:var(--muted);min-height:52px}.difficulty-card .small{display:block;margin-top:24px}.progress-track{height:4px;background:#e8eade;border-radius:10px;margin-top:8px;overflow:hidden}.progress-track span{display:block;background:var(--accent);height:100%}.stage-grid{display:grid;direction:rtl;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.stage{padding:16px 12px;text-align:right;position:relative}.stage-number{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;font-weight:700}.mini-grid{grid-template-rows:repeat(9,minmax(0,1fr));direction:ltr;display:grid;grid-template-columns:repeat(9,1fr);aspect-ratio:1;max-width:115px;margin:0 auto 12px;border:1px solid #9ba891;background:#f8faf4;gap:1px}.mini-grid i{background:#ecf0e6;display:grid;place-items:center;font-size:7px;font-style:normal;color:#536450}.mini-grid i:nth-child(3n){border-right:1px solid #b2bca8}.mini-grid i:nth-child(n+19):nth-child(-n+27),.mini-grid i:nth-child(n+46):nth-child(-n+54){border-bottom:1px solid #b2bca8}.stage.done{border-color:#93b69b;background:#f5f9ee}.stage.active-stage{border-color:var(--blue)}.stage-status{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:3px}.stars{color:var(--gold);direction:ltr;letter-spacing:2px;white-space:nowrap}.session-note{margin:24px 0 0;text-align:center;font-size:11px;color:var(--muted)}.play-top{margin-bottom:16px}.play-title{font-size:17px}.play-layout{display:grid;grid-template-columns:minmax(0,510px)minmax(210px,1fr);gap:30px;justify-content:center;align-items:start}.stats{display:flex;gap:10px;margin-bottom:14px}.stat{flex:1;border:1px solid var(--line);border-radius:12px;background:#fffefa;padding:8px;text-align:center}.stat b{display:block;font-size:18px;font-weight:400;font-variant-numeric:tabular-nums}.stat span{font-size:10px;color:var(--muted)}.board{direction:ltr;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:repeat(9,minmax(0,1fr));aspect-ratio:1;border:2px solid #536b58;border-radius:8px;overflow:hidden;background:#fff}.cell{min-height:0;min-width:0;padding:0;border:0;border-radius:0;border-right:1px solid #d7dfd4;border-bottom:1px solid #d7dfd4;font-family:inherit;font-size:clamp(19px,4.8vw,31px);font-weight:500;background:var(--paper);color:var(--blue);position:relative;display:grid;place-items:center;transition:background .12s}.cell:hover:not(:disabled){transform:none;box-shadow:none;background:#f0f4e9}.cell.given{color:var(--ink);font-weight:700}.cell.related{background:#f0f3e9}.cell.same{background:#dfebdb;color:#205740}.cell.selected{background:#dce9fa!important;box-shadow:inset 0 0 0 2px var(--blue)!important;z-index:1}.cell.wrong{color:var(--red);background:#fceae4}.cell.wrong:after{content:'!';position:absolute;left:2px;top:0;font-size:10px}.cell.right-edge{border-right:2px solid #637862}.cell.bottom-edge{border-bottom:2px solid #637862}.cell:focus-visible{outline:0;box-shadow:inset 0 0 0 3px var(--blue);z-index:2}.notes{display:grid;grid-template-columns:repeat(3,1fr);width:100%;height:100%;align-items:center;font-size:clamp(8px,1.6vw,12px);color:#5d7063}.notes span{text-align:center}.side-panel{padding-top:0}.side-title{margin-bottom:8px;font-size:18px}.side-copy{font-size:12px;color:var(--muted);margin-bottom:18px}.tools{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0}.tool{padding:9px 5px;font-size:12px}.tool b{display:block;font-size:22px;font-weight:400;margin-bottom:2px}.tool.on{background:#dfebf9;border-color:var(--blue);color:var(--blue)}.keypad{direction:ltr;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.number-key{font-size:25px;position:relative;background:#eef2e7;border-color:#dbe3d4;min-height:62px}.number-key small{position:absolute;right:8px;bottom:4px;font-size:10px;color:var(--muted)}.progress-copy{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;margin-top:13px}.help-line{margin-top:18px;font-size:11px;color:var(--muted);line-height:1.9}.dialog-backdrop{position:fixed;inset:0;background:#26332d80;backdrop-filter:blur(5px);z-index:10;display:grid;place-items:center;padding:20px}.dialog{background:var(--paper);border:1px solid #e4e6d9;border-radius:24px;box-shadow:0 24px 100px #18251d33;padding:28px;max-width:460px;width:100%;max-height:90dvh;overflow:auto;animation:arrive .2s}.dialog h2{font-size:23px;margin-bottom:14px}.dialog p{font-size:13px;color:var(--muted);white-space:pre-line}.dialog-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.dialog-actions button{flex:1;white-space:nowrap}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);gap:12px}.result-mark{font-size:65px;text-align:center;color:var(--green);animation:bloom .6s}.result-heading{text-align:center}.result-stars{font-size:34px;text-align:center;margin:10px}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.result-grid div{background:#f1f3e9;padding:10px 4px;border-radius:10px;text-align:center;font-size:12px}.result-grid b{display:block;font-size:20px;margin-bottom:5px}.result-score{font-size:18px;text-align:center;color:var(--green);margin-bottom:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:14px 8px;border-bottom:1px solid var(--line);text-align:right}.tabs{display:flex;gap:7px;margin-bottom:20px}.tabs button{font-size:12px}.tabs .selected-tab{background:var(--green);color:#fff}.empty{padding:40px 15px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%)translateY(100px);background:var(--ink);color:#fff;border-radius:14px;padding:12px 22px;z-index:30;max-width:90vw;width:max-content;font-size:13px;transition:transform .2s;pointer-events:none}#toast.show{transform:translateX(-50%)translateY(0)}@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes bloom{from{transform:scale(.6)rotate(-30deg);opacity:0}to{transform:none;opacity:1}}@media(min-width:900px){.play-layout{direction:ltr}.play-layout>*{direction:rtl}}@media(max-width:760px){#game-root{padding:18px 16px}.hero{gap:20px;min-height:430px}.difficulty-grid{grid-template-columns:repeat(2,1fr)}.difficulty-card{min-height:200px}.stage-grid{gap:9px}.stage{padding:12px 7px}.stage-status{flex-direction:column}.play-layout{grid-template-columns:minmax(0,470px);gap:8px}.side-title,.side-copy{display:none}.tools{grid-template-columns:repeat(4,1fr);margin:8px 0 12px}.tool b{font-size:19px;margin:0}.tool{padding:6px 2px;font-size:10px}.number-key{min-height:50px}.keypad{gap:7px}.help-line{margin-top:10px}.play-top{margin-bottom:12px}.stats{margin-bottom:10px}.footer{font-size:10px}.play-title{font-size:14px}}@media(max-width:520px){.hero{display:flex;flex-direction:column-reverse;gap:18px;min-height:0}.art{padding:20px;width:210px;margin:4px auto 15px}.art-board{padding:10px;border-radius:17px;gap:4px;box-shadow:6px 12px #e8e6d9}.art-board span{font-size:23px;border-radius:7px}.art-caption{display:none}.leaf{width:25px;height:45px}.hero-copy{text-align:center}.hero-copy p{font-size:13px;margin:8px auto 20px}.hero-copy .primary{width:100%}.hero-copy{width:100%}.home-actions{justify-content:center}.topbar{margin-bottom:18px}.hero h1{font-size:36px}.stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stage{padding:15px}.stage-status{flex-direction:row}.mini-grid{max-width:105px}.difficulty-card{padding:20px 14px;min-height:195px}.difficulty-card .flower{margin-bottom:12px;font-size:30px}.difficulty-card h3{font-size:18px}.difficulty-card .small{margin-top:14px}.footer{flex-direction:column;gap:3px}.pill{font-size:10px;padding:5px 8px}.topbar button{padding:8px 12px}.dialog{padding:22px}.section-heading h2{font-size:23px}.section-heading p{font-size:12px}}.play-top{margin-bottom:8px;gap:8px}.play-top button{min-height:36px;padding:4px 10px;border-radius:10px}.stats{align-items:center;justify-content:space-between;margin-bottom:6px;font-size:12px;color:var(--muted)}.stats b{color:var(--ink);font-variant-numeric:tabular-nums}.time-stat{display:flex;align-items:center;gap:7px}#clock{direction:ltr}#hints{display:inline-grid;place-items:center;min-width:18px;border-radius:12px;background:#e4eddd;color:var(--green);font-weight:700}.restart-button{margin-top:10px;width:100%}.keypad{grid-template-columns:repeat(9,minmax(0,1fr));gap:4px}.number-key{padding:3px 0 12px;min-height:48px;font-size:22px;border-radius:9px}.number-key small{right:3px;bottom:0;font-size:9px}.play-layout{grid-template-columns:minmax(0,510px)minmax(290px,1fr);gap:20px}@media(max-width:760px){#game-root.playing{padding:8px 12px}.playing .play-top{margin-bottom:6px}.playing .play-title{font-size:13px}.play-layout{grid-template-columns:minmax(0,470px);gap:4px}.play-layout>div,.side-panel{width:100%;min-width:0}.board{width:min(100%,calc(100dvh - 210px));margin-inline:auto}.cell{font-size:clamp(16px,min(4.8vw,4.8dvh),29px)}.notes{font-size:clamp(7px,min(1.6vw,1.6dvh),11px)}.tools{margin:4px 0 6px;gap:5px}.tool{min-height:40px;padding:4px 2px;display:flex;align-items:center;justify-content:center;gap:3px;white-space:nowrap}.tool b{font-size:17px}.keypad{gap:4px}.number-key{min-height:44px}.help-line{display:none}.restart-button{min-height:32px;margin-top:6px;padding:3px 8px;font-size:11px}.progress-copy{margin-top:4px;font-size:10px}.playing .progress-track{margin-top:3px;height:3px}}@media(max-width:760px) and (orientation:landscape) and (max-height:500px){.play-layout{grid-template-columns:minmax(0,1fr)minmax(0,1fr);gap:16px}.board{width:min(100%,calc(100dvh - 110px))}.tools{grid-template-columns:repeat(2,1fr)}.tool{min-height:36px}.playing .progress-copy,.playing .progress-track{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}