@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,500;1,600&display=swap');
:root{color-scheme:dark;--bg:#0b1921;--panel:#112630;--panel2:#193540;--line:#29444c;--text:#edf4f2;--muted:#aec0c3;--gold:#f4c778;--gold2:#ffdf9e;--teal:#79d6c9;--red:#ffb2a6;font-family:'DM Sans',Arial,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh;background-image:radial-gradient(ellipse at 50% -20%,#1e4049 0,transparent 65%)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,canvas:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button:active:not(:disabled){transform:translateY(1px)}a{color:var(--gold);text-underline-offset:4px}button{color:inherit}button,a{touch-action:manipulation}.skip{position:fixed;top:-60px;left:16px;z-index:100;background:var(--gold);color:var(--bg);padding:10px 16px}.skip:focus{top:12px}.topbar{max-width:1456px;padding:24px 42px 22px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{color:var(--text);text-decoration:none;display:flex;align-items:center;gap:13px;font-family:'Manrope',Arial,sans-serif;font-size:17px;letter-spacing:2px;line-height:1.15;white-space:nowrap}.brand b{color:var(--gold);font-weight:800}.brand small{font-family:'DM Sans',sans-serif;display:block;font-size:10px;letter-spacing:2.1px;margin-top:7px;color:var(--muted)}.brand-mark{font-size:42px;color:var(--gold);line-height:1}.header-end{display:flex;align-items:center;gap:18px}.edition{font-size:12px;letter-spacing:2px;color:var(--muted);margin-right:13px}.icon-button{font-size:14px;background:#122831;border:1px solid var(--line);border-radius:8px;padding:10px 13px;min-height:42px}.icon-button:hover:not(:disabled){background:var(--panel2)}main{max-width:1372px;margin:0 auto;padding:0 24px 22px}.chapter-track{display:grid;grid-template-columns:repeat(4,1fr);padding:8px 0 23px;gap:14px}.chapter{display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);padding-top:17px;color:#9aadb2}.chapter.active{border-color:var(--gold);color:var(--text)}.chapter.completed{border-color:var(--teal);color:var(--teal)}.chapter-number{font-family:'Manrope',sans-serif;font-size:22px;font-weight:500;opacity:.7}.chapter.active .chapter-number{color:var(--gold);opacity:1}.chapter b{display:block;font-size:15px;font-weight:600}.chapter small{font-size:13px;color:var(--muted);display:block;margin-top:2px}.chapter-state{font-size:10px;letter-spacing:1.3px;margin-left:auto;margin-right:8px;color:#9aadb2}.chapter.active .chapter-state{color:var(--gold)}.play-shell{border:1px solid #3c565b;border-radius:15px;overflow:hidden;box-shadow:0 24px 80px #0005;background:#10262e}.game-status{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 22px;background:#11252e;font-family:'Manrope',sans-serif;font-size:12px;letter-spacing:1.5px}.game-status>div{display:flex;gap:27px;align-items:center}.life{color:var(--gold)}.life span{color:var(--muted);font-size:11px;margin-left:5px}.viewport{position:relative;width:100%;height:min(56vw,560px);min-height:360px;isolation:isolate;overflow:hidden;background:#162d3a url('assets/world.webp') center/cover no-repeat}canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-5px!important}.intro{position:absolute;inset:0;background:linear-gradient(90deg,#071820ed 0%,#091923ad 35%,#09192308 74%);display:flex;align-items:center;justify-content:space-between;padding:clamp(24px,4vw,54px);z-index:2}.intro[hidden]{display:none}.intro-inner{max-width:510px}.eyebrow{font-size:12px;letter-spacing:2.7px;font-weight:600;color:var(--gold);margin:0 0 18px}h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(54px,6.7vw,92px);font-weight:500;line-height:.99;letter-spacing:-2px;margin:0 0 23px}h1 em{font-weight:500;color:var(--gold2);font-style:italic}p{line-height:1.6}.intro-copy{font-size:18px;line-height:1.6;color:#d5e0df;margin:0 0 25px}.primary{border:0;background:var(--gold);color:#17282a;font-weight:700;padding:15px 22px;min-height:50px;border-radius:8px;display:inline-flex;justify-content:center;align-items:center;gap:22px;text-decoration:none;box-shadow:0 3px 0 #b68a41}.primary:hover{background:var(--gold2)}.primary span{font-size:22px;line-height:1}.start{font-size:16px;min-width:265px}.intro-rule{font-size:13px;color:#becdce;line-height:1.55;margin:19px 0 0}.intro-caption{align-self:flex-end;display:flex;align-items:center;gap:13px;color:#f4e5bb;font-size:13px;line-height:1.5;text-shadow:0 2px 6px #000}.tiny-star{font-size:31px;color:var(--gold)}.game-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:12px 22px;background:#122730;border-top:1px solid #355057;font-size:14px;color:#c0d2d3}.mission-text{display:flex;gap:10px;align-items:center}.hint-dot{width:7px;height:7px;background:var(--gold);border-radius:50%;flex-shrink:0}.attempt{font-size:11px;letter-spacing:1.6px;white-space:nowrap;color:var(--muted)}.below-game{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;color:#a8bdc0;padding:18px 2px}.below-game p{font-size:12px;margin:0}.key-guide{display:flex;align-items:center;gap:7px}.key-guide kbd{font-family:inherit;font-size:12px;border:1px solid #38535c;border-bottom-width:2px;border-radius:4px;padding:3px 7px;min-width:24px;text-align:center}.text-button{border:0;background:none;color:var(--gold);font-size:14px;padding:5px}.text-button:hover{text-decoration:underline}.touch-controls{display:none;justify-content:space-between;align-items:center;padding:13px 17px 17px;background:#0f222b;gap:12px}.directions{display:flex;gap:10px}.control{user-select:none;-webkit-user-select:none;touch-action:none;min-width:65px;height:58px;border:1px solid #3c6069;border-bottom:4px solid #29454f;border-radius:12px;background:#1b3944;color:#e6f0f0;font-size:26px}.control.pressed{background:#385961;border-bottom-width:1px;transform:translateY(2px)}.jump{background:var(--gold);color:#142831;border-color:#c99a50;padding:0 16px;display:flex;align-items:center;gap:8px}.jump span{font-size:12px;font-weight:800;letter-spacing:1px}.touch-hint{font-size:11px;color:var(--muted);max-width:95px;line-height:1.4}.toast{position:absolute;bottom:21px;left:50%;transform:translateX(-50%);background:#0c2228ed;padding:11px 18px;border:1px solid var(--gold);border-radius:7px;color:var(--gold2);font-size:14px;text-align:center;max-width:90%;width:max-content;box-shadow:0 6px 24px #0004;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{background:#102832;color:var(--text);border:1px solid #46626a;border-radius:18px;width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 36px);padding:0;box-shadow:0 35px 100px #0009}dialog::backdrop{background:#041219cc;backdrop-filter:blur(7px)}.dialog-body{padding:30px}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.dialog-top .eyebrow{margin:0;font-size:11px;letter-spacing:1.8px}.tag{font-size:12px;background:#24424a;color:var(--teal);border-radius:5px;padding:6px 9px;white-space:nowrap}.tag.fail{background:#533939;color:#ffd0c7}.dialog-body h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:34px;line-height:1.2;margin:12px 0 18px;color:#f4edda;letter-spacing:-.5px}.dialog-body h3{font-size:18px;margin:22px 0 7px}.dialog-body p{font-size:16px;color:#d3dedf;margin:12px 0}.dialog-body .note-label{font-size:11px;letter-spacing:1.5px;font-weight:700;color:var(--teal);margin:18px 0 4px;text-transform:uppercase}.arabic{font-family:'Traditional Arabic','Noto Naskh Arabic','Amiri',serif!important;font-size:27px!important;line-height:1.9!important;direction:rtl;text-align:right;background:#193b43;padding:14px 18px;border-radius:8px;color:#f7e7ba!important}.takeaway{border-left:3px solid var(--gold);padding:12px 17px;background:#1e3740;border-radius:0 7px 7px 0;margin:20px 0}.takeaway p{margin:0}.takeaway strong{color:var(--gold2)}.source-line{font-size:13px!important;color:var(--muted)!important}.source-line a{font-size:13px}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:23px}.dialog-actions .primary{flex:1}.secondary{padding:13px 17px;background:#1b3943;border:1px solid #45616a;border-radius:8px;min-height:49px;font-weight:500;font-size:14px;text-decoration:none}.secondary:hover{background:#274952}.choices{display:grid;gap:10px;margin:21px 0 0}.choice{display:flex;align-items:flex-start;gap:13px;text-align:left;border:1px solid #3d5963;border-radius:9px;background:#17313c;padding:14px;color:#eaf2f1;line-height:1.5;font-size:16px;min-height:57px}.choice:hover{border-color:var(--gold);background:#223d46}.choice-letter{font-family:'Manrope',sans-serif;color:var(--gold);font-weight:700;font-size:13px;min-width:25px;height:25px;border:1px solid #657367;border-radius:5px;display:flex;align-items:center;justify-content:center;margin-top:1px}.fail-icon{font-size:40px;color:var(--red);margin:0 0 4px}.mini-stat{display:flex;align-items:center;justify-content:space-between;font-size:13px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted)}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.review-item{border:1px solid #3a5660;border-radius:8px;padding:13px;background:#18333d}.review-item b{color:var(--gold);display:block;font-size:15px}.review-item p{font-size:14px;margin:5px 0}.review-item a{font-size:12px}.reading-card{background:#19353e;border:1px solid #385863;border-radius:10px;padding:15px;margin:12px 0}.reading-card h3{margin:0 0 7px;font-size:18px;color:var(--gold2)}.reading-card p{font-size:15px;margin:7px 0}.reading-card a{font-size:13px}.reading-plan{display:grid;gap:10px;margin:18px 0}.plan-choice{padding:12px;border:1px solid #45616a;border-radius:8px;display:flex;gap:11px;align-items:flex-start;font-size:15px;line-height:1.5;cursor:pointer}.plan-choice:has(input:checked){background:#23443f;border-color:var(--teal)}input[type=radio]{accent-color:var(--gold);width:18px;height:18px;margin-top:3px;flex-shrink:0}.small{font-size:13px!important;color:var(--muted)!important}.source-list{padding-left:20px;font-size:15px;line-height:1.6}.source-list li{margin:10px 0}.map-details{margin:22px 0;border:1px solid #3b5660;border-radius:8px;padding:12px 15px}.map-details summary{color:var(--gold);font-size:15px;cursor:pointer}.surah-map{list-style:none;padding:0;display:grid;gap:12px;font-size:14px;margin:17px 0 2px}.surah-map li{display:grid;grid-template-columns:65px 1fr;gap:10px}.surah-map b{color:var(--teal);font-weight:500}.noscript{padding:24px;background:#27403b}.win-seal{font-size:42px;color:var(--gold);line-height:1;margin:5px 0 16px}.checkpoint-caption{font-size:13px;color:var(--teal);letter-spacing:.5px}
@media(pointer:coarse),(max-width:760px){.touch-controls{display:flex}.key-guide{display:none}.viewport{height:44vh;min-height:300px;max-height:460px}.topbar{padding:18px 19px}.edition{display:none}.header-end{gap:7px}.icon-button{padding:9px 10px;font-size:12px}.icon-button span{display:none}.brand{font-size:14px;letter-spacing:1.4px;gap:8px}.brand small{font-size:9px;letter-spacing:1.2px}.brand-mark{font-size:34px}.chapter-track{gap:9px;padding-bottom:16px}.chapter{gap:8px;padding-top:12px}.chapter-number{font-size:18px}.chapter-state{display:none}.chapter b{font-size:12px}.chapter small{font-size:11px}.game-status{padding:12px 15px;font-size:10px;letter-spacing:1px}.game-status>div{gap:14px}.life span{font-size:10px}.intro{padding:25px;background:linear-gradient(90deg,#071820ef,#091923ba 63%,#09192355)}h1{font-size:55px;margin-bottom:15px}.eyebrow{font-size:10px;letter-spacing:1.7px;margin-bottom:13px}.intro-copy{font-size:16px;margin-bottom:17px;line-height:1.5}.intro-caption{display:none}.intro-rule{font-size:11px;margin-top:14px}.start{min-width:230px;min-height:46px;padding:12px 15px;font-size:14px}.game-footer{padding:11px 14px;font-size:12px}.below-game{flex-wrap:wrap;gap:8px;padding:13px 1px}.below-game p{font-size:11px}.text-button{font-size:12px}main{padding:0 13px 16px}.dialog-body{padding:24px}.dialog-body h2{font-size:29px}.dialog-body p,.choice{font-size:16px}.review-grid{gap:8px}.review-item{padding:10px}.touch-hint{display:none}}
@media(max-width:420px){.chapter-number{font-size:15px}.chapter{gap:5px}.chapter b{font-size:11px}.chapter small{font-size:10px}.brand small{font-size:8px}.brand{font-size:12px}.game-status{font-size:9px}.game-status>div{gap:10px}.attempt{font-size:9px}.viewport{height:385px;max-height:none}.intro{padding:24px}.dialog-body{padding:22px}.dialog-top{align-items:flex-start}.dialog-body h2{font-size:28px}.dialog-actions{flex-direction:column}.primary{font-size:15px}.life span{font-size:9px}.review-grid{grid-template-columns:1fr}}
@media(max-height:600px) and (orientation:landscape){.topbar{padding:8px 18px}.brand small,.edition,.chapter-track,.below-game{display:none}.viewport{height:calc(100dvh - 171px);min-height:190px;max-height:none}.game-status{padding:8px 16px}.game-footer{min-height:32px;padding:7px 15px}.touch-controls{position:absolute;inset:auto 8px 38px;z-index:1;background:none;padding:0;pointer-events:none}.touch-controls button{pointer-events:auto;opacity:.85;height:48px;min-width:55px}.play-shell{position:relative}.intro{padding:15px 34px}.intro-inner{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;align-items:center;max-width:650px}.intro h1{font-size:50px;grid-row:2/4}.intro .eyebrow{grid-column:1/3;margin-bottom:7px}.intro-copy{font-size:13px;margin:0 0 10px}.intro-rule{grid-column:1/3;font-size:10px;margin:10px 0 0}.start{min-width:225px;min-height:42px}.intro-caption{display:none}main{padding-bottom:10px}.toast{bottom:70px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media(max-width:760px){.chapter b{font-size:14px;line-height:1.25}.chapter small{font-size:12px}.chapter-number{font-size:14px}.chapter{align-items:flex-start}.icon-button{font-size:14px}.text-button{font-size:14px}}

.life .life-hearts{color:var(--gold);font-size:14px;letter-spacing:1px;margin:0;white-space:nowrap}
@media(max-width:760px){.life .life-hearts{font-size:12px;letter-spacing:0}}

.journey-meta{display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:12px;letter-spacing:1px;margin:0 0 8px}
.chapter-track{position:relative;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(122px,1fr);gap:12px;overflow-x:auto;padding:5px 0 17px;scrollbar-width:thin;scrollbar-color:#526e73 transparent;overscroll-behavior-x:contain}
.chapter{flex-direction:column;align-items:flex-start;gap:7px;min-width:0;padding-top:11px}
.chapter-number{font-size:20px}.chapter b{font-size:14px;line-height:1.3;min-height:2.6em}.chapter small{font-size:12px;line-height:1.4}.chapter-state{display:block;font-size:12px;letter-spacing:.7px;margin:0}
.game-status{font-size:13px;letter-spacing:1px}.game-status>div{flex-shrink:0}.life{white-space:nowrap}
@media(max-width:900px){.chapter-track{grid-auto-columns:155px}.chapter{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:9px;row-gap:4px}.chapter-number{font-size:17px}.chapter b{font-size:14px;min-height:2.6em}.chapter-state{grid-column:2;font-size:12px}.journey-meta{letter-spacing:.4px}.game-status{flex-wrap:wrap;gap:9px;font-size:12px}.game-status>div{justify-content:space-between;width:100%}.life span{font-size:12px}.game-status #level-label{font-size:13px;line-height:1.4}.review-item a,.source-line,.source-line a{font-size:14px!important}}
@media(max-width:420px){.chapter-track{grid-auto-columns:152px}.journey-meta{font-size:12px;letter-spacing:0}.chapter small{font-size:12px}.intro-copy{font-size:15px}.game-status>div{gap:12px}.life .life-hearts{font-size:13px}.life span{font-size:12px}}
@media(max-height:600px) and (orientation:landscape){.journey-meta{display:none}.game-status{flex-wrap:nowrap}.game-status>div{width:auto;gap:20px}.game-status #level-label{font-size:12px}}

.life-bonus{border:1px solid var(--teal);border-radius:9px;padding:16px 18px;margin:18px 0;background:#183e39}.life-bonus>strong{color:#a3efcf;font-size:18px;letter-spacing:.5px}.dialog-body .life-bonus p{margin:7px 0 0;color:#e1f2e7;font-size:16px}
