@font-face{font-family:Amiri;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/amiri-arabic-700-normal-D8FrblyB.woff2) format("woff2"),url(/assets/amiri-arabic-700-normal-dUd6sHq-.woff) format("woff")}:root{--ink: #f1e8d8;--ink-soft: #cbbfab;--ink-faint: #9d917f;--glass: rgba(20, 17, 14, .78);--glass-strong: rgba(16, 13, 11, .92);--line: rgba(214, 181, 128, .2);--brass: #d6aa62;--brass-soft: #e7c58a;--slate: #9fbad0;--sand: #d9ccb4;--radius: 14px;font-family:Noto Sans Arabic,DM Sans,sans-serif;color:var(--ink);background:#14110e;font-synthesis:none}html[lang=en]{font-family:DM Sans,Noto Sans Arabic,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#14110e}button,select,input{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.3;cursor:default}a{color:inherit}:focus-visible{outline:2px solid var(--brass-soft);outline-offset:3px;border-radius:6px}::selection{background:#6d5530}.idris-app{position:fixed;inset:0;overflow:hidden}.world{position:absolute;inset:0;outline:none}.world canvas{touch-action:none;display:block}.world:focus-visible{box-shadow:inset 0 0 0 2px var(--brass)}.fade{position:absolute;inset:0;background:#0d0b09;opacity:0;pointer-events:none}.world-fallback{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20vh 12vw;line-height:2;color:var(--ink-soft);background:radial-gradient(circle at 50% 40%,#2a231c,#110e0c 70%)}.loading{position:absolute;inset:0;z-index:20;display:grid;place-content:center;justify-items:center;gap:6px;background:radial-gradient(circle at 50% 44%,#221c16,#0d0b09 72%);text-align:center}.loading h2{margin:0;font-family:Amiri,serif;font-weight:400;font-size:2rem}.loading p{margin:0;color:var(--ink-faint);letter-spacing:.02em}.loading-mark{width:2px;height:46px;background:linear-gradient(transparent,var(--brass),transparent);margin-bottom:18px}.loading-line{width:180px;height:1px;margin-top:18px;background:linear-gradient(90deg,transparent,var(--brass),transparent);background-size:200% 100%;animation:sweep 1.8s ease-in-out infinite}@keyframes sweep{0%{background-position:100% 0}to{background-position:-100% 0}}.topbar{position:absolute;inset:0 0 auto;z-index:6;height:66px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(rgba(10,8,7,.62),transparent);pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;align-items:baseline;gap:14px;text-decoration:none;min-width:0}.brand-mark{font-family:Amiri,serif;font-size:1.55rem;color:var(--brass-soft)}.brand-sub{color:var(--ink-soft);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar nav{display:flex;gap:6px;align-items:center}.topbar nav button{height:38px;padding:0 12px;border-radius:10px;background:#16120f8c;border:1px solid var(--line);font-size:.85rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar nav button:hover{border-color:#d6aa6280}.topbar .lens-toggle.on{background:#e6dfd1;color:#2a2620;border-color:#e6dfd1}.topbar .lang{font-weight:500}.lens-legend{position:absolute;z-index:5;top:74px;left:50%;transform:translate(-50%);margin:0;max-width:min(640px,calc(100% - 32px));padding:10px 16px;border-radius:12px;background:#ece6daf0;color:#2e2a24;font-size:.86rem;line-height:1.8;display:flex;gap:10px;align-items:flex-start}.swatch{flex:none;width:14px;height:14px;margin-top:5px;border-radius:3px;background:#ddd6c8;border:1px dashed #6d7a86}.panel{position:absolute;z-index:4;top:78px;bottom:96px;inset-inline-start:20px;width:384px;display:flex;flex-direction:column;background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px) saturate(1.1);backdrop-filter:blur(16px) saturate(1.1);box-shadow:0 20px 60px #00000059;overflow:hidden}.sheet-handle{display:none}.panel-scroll{overflow-y:auto;padding:22px 22px 26px;scrollbar-width:thin;scrollbar-color:#5d4c36 transparent}.chapter-head{animation:rise .6s ease both}.eyebrow{margin:0;display:flex;align-items:center;gap:10px;color:var(--brass-soft);font-size:.74rem;letter-spacing:.08em}.eyebrow i{width:26px;height:1px;background:var(--brass);opacity:.6}.chapter-head h1{margin:8px 0 2px;font-family:Amiri,serif;font-weight:700;font-size:2.05rem;line-height:1.35}html[lang=en] .chapter-head h1{font-family:DM Sans,sans-serif;font-weight:500;font-size:1.65rem;letter-spacing:-.01em}.story-name{margin:0 0 16px;color:var(--ink-faint);font-size:.85rem}.story-name span{opacity:.8}.label{margin:0 0 8px;display:flex;align-items:center;gap:7px;font-size:.74rem;color:var(--ink-faint);letter-spacing:.04em}.label.quran{color:var(--brass-soft)}.label.quran span{margin-inline-start:auto;color:var(--ink-faint)}.label.interp{color:var(--slate)}.label.art{color:var(--sand)}.verse-card{padding:16px 16px 12px;margin-bottom:18px;border-radius:12px;background:linear-gradient(160deg,#4c3a2057,#281f1433);border:1px solid rgba(214,170,98,.32)}.verse-card figure,.ledger figure{margin:0;animation:rise .5s ease both}blockquote{margin:0;font-family:Amiri,serif;font-size:1.62rem;line-height:2.15;color:#f6ecda;text-align:right;word-spacing:.04em}.focus-word{color:var(--brass-soft);text-shadow:0 0 18px rgba(230,180,100,.25)}.ayah{color:var(--brass);font-size:.85em;white-space:nowrap}.meaning{margin:10px 0 0;color:var(--ink-soft);line-height:1.7;font-size:.95rem}.meaning small{display:block;color:var(--ink-faint);font-size:.72rem;margin-bottom:2px}figcaption{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px 14px;font-size:.8rem}figcaption a,.refs a,.interpretations a,.ledger a{color:var(--ink-soft);text-decoration:none;display:inline-flex;align-items:center;gap:4px;border-bottom:1px solid rgba(214,181,128,.25)}figcaption a:hover,.refs a:hover,.interpretations a:hover,.ledger a:hover{color:var(--brass-soft)}.zad-mark{font-family:Amiri,serif;color:var(--brass);padding:0 5px;border:1px solid rgba(214,170,98,.45);border-radius:4px;line-height:1.4}.verse-nav{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.verse-nav button{width:34px;height:34px;border-radius:50%;border:1px solid var(--line)}.verse-nav span{display:flex;gap:6px}.verse-nav i{width:6px;height:6px;border-radius:50%;background:#d6aa624d}.verse-nav i.on{background:var(--brass)}.reciter{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.8rem;color:var(--ink-faint)}select{background:#0c0a08b3;border:1px solid var(--line);border-radius:8px;padding:6px 8px;max-width:62%}.status{margin:10px 0 0;font-size:.8rem;color:var(--brass-soft)}.explain p:not(.label){margin:0 0 18px;line-height:1.95;color:var(--ink);font-size:.95rem}html[lang=en] .explain p:not(.label){line-height:1.7}.interpretations{margin:0 0 18px;padding:12px 14px;border-radius:12px;border:1px solid rgba(159,186,208,.28);background:#28343e3d}.interpretations summary{cursor:pointer;margin:0;list-style-position:inside}.interpretations ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:12px}.interpretations li p{margin:0 0 4px;line-height:1.85;font-size:.88rem;color:#dfe7ee}html[lang=en] .interpretations li p{line-height:1.6}.interpretations li a{font-size:.74rem;color:var(--slate)}.art-note{margin:0 0 18px;padding:12px 14px;border-radius:12px;border:1px dashed rgba(217,204,180,.45);color:var(--ink-soft);font-size:.86rem;line-height:1.85}html[lang=en] .art-note{line-height:1.6}.art-note .label{margin-bottom:4px}.discoveries{display:grid;gap:6px}.discoveries button{justify-content:flex-start;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#ffffff06;text-align:start}.discoveries button:hover{border-color:#d6aa6280}.discoveries .n{color:var(--brass);font-size:.75rem}.discoveries .t{flex:1}.basis-dot{width:9px;height:9px;border-radius:50%}.basis-dot.quran{background:var(--brass)}.basis-dot.interpretation{background:var(--slate)}.basis-dot.art{border:1px dashed var(--sand)}.discovery{animation:rise .45s ease both}.discovery h2{margin:4px 0 8px;font-family:Amiri,serif;font-size:1.6rem;font-weight:700}html[lang=en] .discovery h2{font-family:DM Sans,sans-serif;font-weight:500;font-size:1.3rem}.discovery>p:not(.basis){line-height:1.95;font-size:.95rem}html[lang=en] .discovery>p:not(.basis){line-height:1.7}.basis{display:inline-block;margin:0;padding:2px 10px;border-radius:20px;font-size:.72rem}.basis.quran{background:#d6aa6233;color:var(--brass-soft)}.basis.interpretation{background:#9fbad02e;color:var(--slate)}.basis.art{border:1px dashed var(--sand);color:var(--sand)}.refs{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:.8rem;margin:4px 0 18px}.refs .source-link{color:var(--slate)}.text-button{color:var(--brass-soft);font-size:.88rem;padding:6px 0}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.near-prompt{position:absolute;z-index:5;bottom:100px;left:50%;transform:translate(-50%);padding:9px 14px;border-radius:30px;background:var(--glass-strong);border:1px solid rgba(214,170,98,.45);font-size:.88rem;animation:rise .4s ease both;white-space:nowrap}.near-dot{width:8px;height:8px;border-radius:50%;background:var(--brass);box-shadow:0 0 0 4px #d6aa622e}kbd{font-family:DM Sans,sans-serif;font-size:.7rem;padding:1px 6px;border-radius:4px;border:1px solid var(--line);color:var(--ink-faint)}.captions{position:absolute;z-index:5;bottom:148px;left:50%;transform:translate(-50%);margin:0;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none}.captions span{padding:3px 10px;border-radius:6px;background:#080706b8;font-size:.82rem;color:#f5efe4}.notice{position:absolute;z-index:3;bottom:2px;left:50%;transform:translate(-50%);margin:0;display:flex;align-items:center;gap:8px;font-size:.7rem;color:#f1e8d8a8;white-space:nowrap;pointer-events:none}.notice .sep{width:1px;height:10px;background:#f1e8d84d}.touch-help{display:none}.bottombar{position:absolute;z-index:5;bottom:22px;left:50%;transform:translate(-50%);width:min(1000px,calc(100% - 40px));min-height:60px;padding:8px;display:flex;align-items:center;gap:8px;background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mode{display:flex;padding:3px;border-radius:10px;background:#0000004d}.mode button{height:36px;padding:0 12px;border-radius:8px;font-size:.84rem;color:var(--ink-soft);white-space:nowrap}.mode button[aria-pressed=true]{background:#e7dcc7;color:#231d16}.play,.sound{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);flex:none}.play{background:var(--brass);color:#1d160d;border:0}.sound.on{color:var(--brass-soft);border-color:#d6aa6280}.track{flex:1;display:flex;align-items:center;gap:4px;min-width:0}.step-btn{width:34px;height:34px;border-radius:50%;flex:none}.track ol{flex:1;display:flex;list-style:none;margin:0;padding:0;gap:4px;min-width:0}.track li{flex:1;min-width:0}.track li button{width:100%;height:44px;justify-content:flex-start;padding:0 8px;border-radius:9px;gap:8px;color:var(--ink-faint);position:relative}.track li button:after{content:"";position:absolute;inset-inline:8px;bottom:3px;height:2px;border-radius:2px;background:#d6aa6224}.track li button.visited:after{background:#d6aa6273}.track li button.current{color:var(--ink);background:#d6aa621f}.track li button.current:after{background:var(--brass)}.track .dot{flex:none;width:24px;height:24px;border-radius:50%;border:1px solid rgba(214,170,98,.45);display:grid;place-items:center;font-size:.68rem}.track .current .dot{background:var(--brass);color:#1d160d;border-color:var(--brass)}.track .name{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.joystick-wrap{display:none;position:absolute;z-index:5;bottom:110px;inset-inline-end:22px}.joystick{width:104px;height:104px;border-radius:50%;display:grid;place-items:center;background:#100d0b80;border:1px solid rgba(214,170,98,.35);touch-action:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.joystick span{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#e7dcc7e6;color:#231d16}@media(pointer:coarse){.joystick-wrap{display:block}.desktop-help{display:none}.touch-help{display:inline}}.welcome{position:absolute;z-index:7;left:50%;bottom:104px;transform:translate(-50%);width:min(600px,calc(100% - 32px));padding:24px 26px 20px;border-radius:18px;background:var(--glass-strong);border:1px solid rgba(214,170,98,.3);box-shadow:0 30px 80px #00000080;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:rise .7s ease both}.welcome h2{margin:4px 0 0;font-family:Amiri,serif;font-size:2.6rem;font-weight:700;line-height:1.2}.welcome-sub{margin:2px 0 12px;color:var(--brass-soft);font-family:Amiri,serif;font-size:1.2rem}html[lang=en] .welcome-sub{font-family:DM Sans,sans-serif;font-size:1rem}.welcome p{line-height:1.9;font-size:.92rem;color:var(--ink-soft);margin:0 0 8px}html[lang=en] .welcome p{line-height:1.6}.welcome .observer{font-size:.8rem;color:var(--ink-faint)}.welcome-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.welcome-actions button{min-height:44px;padding:8px 16px;border-radius:10px;border:1px solid var(--line);flex-wrap:wrap}.welcome-actions .primary{background:var(--brass);color:#1d160d;border-color:var(--brass);font-weight:500}.welcome-actions .primary small{width:100%;font-size:.7rem;opacity:.8;font-weight:400}.welcome-actions .ghost{border-style:dashed}.idris-dialog{width:min(760px,calc(100% - 24px));max-height:min(88vh,900px);padding:0;border:1px solid var(--line);border-radius:18px;background:#17130f;color:var(--ink);box-shadow:0 40px 120px #0009}.idris-dialog.wide{width:min(1200px,calc(100% - 24px))}.idris-dialog::backdrop{background:#0605049e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:#17130f;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0;font-family:Amiri,serif;font-size:1.45rem;font-weight:700;line-height:1.5}html[lang=en] .dialog-head h2{font-family:DM Sans,sans-serif;font-weight:500;font-size:1.15rem}.dialog-head button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);flex:none}.dialog-body{padding:18px 22px 26px}.dialog-intro{color:var(--ink-soft);line-height:1.9;margin:0 0 16px}.map-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.map-grid .dialog-intro{grid-column:1 / -1}.map-grid button{flex-direction:column;align-items:flex-start;gap:4px;padding:16px;border-radius:12px;border:1px solid var(--line);background:#ffffff06;text-align:start}.map-grid button[aria-current=step]{border-color:var(--brass)}.map-grid .n{color:var(--brass);font-size:.8rem}.map-grid strong{font-family:Amiri,serif;font-size:1.35rem}html[lang=en] .map-grid strong{font-family:DM Sans,sans-serif;font-size:1.05rem;font-weight:500}.map-grid small,.map-grid .refs{color:var(--ink-faint);font-size:.78rem;margin:0}.map-grid em{font-style:normal;color:var(--brass-soft);font-size:.75rem;display:flex;align-items:center;gap:4px}.settings{display:grid;gap:4px}.settings label{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid rgba(214,181,128,.12)}.settings input[type=checkbox]{width:20px;height:20px;accent-color:var(--brass)}.settings p{color:var(--ink-faint);font-size:.85rem;line-height:1.8}.ledger-cols{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:14px}.ledger .col{border-radius:14px;padding:16px}.ledger .col h3{margin:0 0 10px;font-size:.95rem}.ledger .col.quran{background:linear-gradient(160deg,#4c3a205c,#281f142e);border:1px solid rgba(214,170,98,.35)}.ledger .col.quran h3{color:var(--brass-soft)}.ledger .col.interp{background:#28343e40;border:1px solid rgba(159,186,208,.28)}.ledger .col.interp h3{color:var(--slate)}.ledger .col.art{border:1px dashed rgba(217,204,180,.45)}.ledger .col.art h3{color:var(--sand)}.col-note{color:var(--ink-faint);font-size:.8rem;line-height:1.8;margin:0 0 10px}.ledger blockquote{font-size:1.35rem;line-height:2}.ledger figure{padding:8px 0 10px;border-bottom:1px solid rgba(214,170,98,.15)}.ledger .item{padding:8px 0 10px;border-bottom:1px solid rgba(214,181,128,.1)}.ledger .item p{margin:0 0 4px;font-size:.86rem;line-height:1.85}html[lang=en] .ledger .item p{line-height:1.6}.ledger .item h4{margin:0 0 4px;font-size:.85rem;color:var(--sand)}.ledger .col.interp a{font-size:.74rem;color:var(--slate)}.revisit{color:var(--brass-soft);font-size:.8rem;padding:4px 0}.place,.traditions,.all-sources{margin-top:16px;padding:14px 16px;border-radius:14px;border:1px solid var(--line)}.place h3{margin:0 0 6px;font-size:.95rem}.place p,.traditions p,.all-sources p{margin:0 0 8px;color:var(--ink-soft);line-height:1.85;font-size:.88rem}.traditions summary,.all-sources summary{cursor:pointer;font-weight:500;padding:2px 0 8px}.traditions{border-style:dashed;border-color:#c8785a66}.traditions summary{color:#e2a78c}.traditions table{width:100%;border-collapse:collapse;font-size:.84rem}.traditions th{text-align:start;color:var(--ink-faint);font-weight:400;padding:6px;border-bottom:1px solid var(--line)}.traditions td{vertical-align:top;padding:10px 6px;border-bottom:1px solid rgba(214,181,128,.1);line-height:1.8}.traditions td:first-child{width:34%;color:var(--ink)}.tr-sources{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:4px;font-size:.74rem}.all-sources ul{margin:0;padding-inline-start:18px;columns:2;font-size:.8rem;line-height:2}.idris-app.lens .verse-card{box-shadow:0 0 0 1px #d6aa6299,0 0 30px #d6aa6226}.reduced *,.reduced *:before,.reduced *:after{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){.loading-line{animation:none}}@media(max-width:1100px){.wide-only,.track .name{display:none}.track li button{justify-content:center}}@media(max-width:900px){.ledger-cols{grid-template-columns:1fr}.all-sources ul{columns:1}}@media(max-width:760px){.topbar{height:56px;padding:0 10px;gap:8px}.brand-sub{display:none}.topbar nav{gap:4px}.topbar nav button{height:36px;padding:0 9px}.topbar .lens-toggle span{display:none}.lens-legend{top:62px;font-size:.78rem}.panel{top:auto;bottom:80px;inset-inline:8px;width:auto;max-height:52px;transition:max-height .35s ease;border-radius:12px}.sheet-open .panel{max-height:min(54vh,470px)}.sheet-handle{display:flex;justify-content:space-between;width:100%;min-height:50px;padding:0 16px;flex:none}.sheet-title{display:flex;align-items:center;gap:10px;font-family:Amiri,serif;font-size:1.15rem;font-weight:700;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html[lang=en] .sheet-title{font-family:DM Sans,sans-serif;font-size:.95rem}.sheet-title small{color:var(--brass);font-family:DM Sans,sans-serif;font-size:.75rem}.sheet-chevron{transform:rotate(-90deg);transition:transform .3s}.sheet-open .sheet-chevron{transform:rotate(90deg)}.panel-scroll{padding:4px 16px 20px}.chapter-head h1{font-size:1.6rem}blockquote{font-size:1.42rem}.bottombar{bottom:10px;width:calc(100% - 16px);padding:6px;gap:4px;min-height:60px}.mode button{padding:0 8px;font-size:.74rem;gap:4px}.mode button svg{display:none}.step-btn{display:none}.track li button{padding:0;height:40px}.play,.sound{width:38px;height:38px}.near-prompt{bottom:142px;font-size:.8rem}.sheet-open .near-prompt,.sheet-open .joystick-wrap,.sheet-open .captions{display:none}.joystick-wrap{bottom:146px;inset-inline-end:14px}.captions{bottom:196px}.notice{display:none}.welcome{bottom:80px;padding:18px 18px 16px;max-height:calc(100dvh - 150px);overflow-y:auto}.welcome h2{font-size:2.1rem}.welcome p{font-size:.86rem}.map-grid{grid-template-columns:1fr}.dialog-head,.dialog-body{padding-inline:16px}}
