/*! (c) 2026 Khalid Al-Ghamdi — خالد الغامدي. Private work, please do not copy. */
@font-face{font-family:Reem Kufi;font-weight:700;font-display:swap;src:url(../fonts/reem-kufi-arabic-700-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFF}@font-face{font-family:Reem Kufi;font-weight:700;font-display:swap;src:url(../fonts/reem-kufi-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF}@font-face{font-family:Plex Arabic;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFF}@font-face{font-family:Plex Arabic;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F}@font-face{font-family:Plex Arabic;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-arabic-500-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFF}@font-face{font-family:Plex Arabic;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F}:root{--night: #101633;--night-2: #161B38;--stone: #1F2440;--stone-2: #262C4C;--sand: #B9875A;--amber: #F29A38;--ember: #FFD27A;--rim: #8FB3D1;--ink: #EFE7DA;--dim: #A3A7BE;--line: rgba(143, 179, 209, .18);--accent: var(--amber);--accent-ink: #2A1606;--r: 14px;--gutter: 16px;--k: 1;--fs: calc(16px * var(--k));color-scheme:dark}.fs-130{--k: 1.3}.fs-160{--k: 1.6}.fs-200{--k: 2}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--night);color:var(--ink);font:400 var(--fs)/1.75 "Plex Arabic",system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:6px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}[hidden]{display:none!important}#app,.screen{min-height:100dvh}.start{display:grid;grid-template-rows:auto 1fr auto auto;gap:18px;padding:max(28px,env(safe-area-inset-top)) var(--gutter) max(20px,env(safe-area-inset-bottom));background:radial-gradient(120% 60% at 50% 105%,rgba(242,154,56,.16),transparent 60%),radial-gradient(80% 40% at 50% -10%,rgba(143,179,209,.12),transparent 70%),var(--night);max-width:980px;margin:0 auto}.start-head{text-align:center;padding-top:4vh}.brand{font:700 clamp(64px,18vw,112px)/1 "Reem Kufi",serif;margin:0;color:var(--ember);text-shadow:0 0 28px rgba(242,154,56,.35)}.lede{margin:10px 0 0;color:var(--dim)}.doors{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-self:center}.door-card{position:relative;width:100%;aspect-ratio:3 / 5;border:1px solid var(--line);border-radius:999px 999px 12px 12px;background:linear-gradient(180deg,var(--c2, #2B3048),var(--c1, #141829) 70%);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:0 6px 16px;text-align:center;overflow:hidden;transition:transform .25s cubic-bezier(.2,.8,.3,1.2),box-shadow .25s}.door-card:before{content:"";position:absolute;inset:18% 22% 34%;border-radius:999px 999px 4px 4px;background:radial-gradient(70% 60% at 50% 100%,var(--glow, rgba(255, 210, 122, .55)),transparent 70%);opacity:.9}.door-card b{position:relative;font:700 calc(clamp(18px,5vw,26px) * var(--k))/1.2 "Reem Kufi",serif;color:var(--ink)}.door-card span{position:relative;font-size:calc(12.5px * var(--k));color:var(--dim);line-height:1.5}.door-card[data-id=haris]{--c1: #1A1408;--c2: #4A3018;--glow: rgba(255, 210, 122, .7)}.door-card[data-id=alim]{--c1: #170F09;--c2: #3E2412;--glow: rgba(227, 151, 82, .45)}.door-card[data-id=kaen]{--c1: #0B0A1E;--c2: #1E2050;--glow: rgba(120, 214, 220, .45)}.door-card:not(:disabled):hover{transform:translateY(-4px);box-shadow:0 14px 40px -14px #f29a3880}.door-card:disabled{cursor:default;filter:saturate(.5) brightness(.7)}.door-card .soon{position:relative;margin-top:4px;font-size:calc(11px * var(--k));color:var(--rim)}.start-foot{display:flex;justify-content:center;gap:22px}.link{background:none;border:0;color:var(--rim);padding:8px 4px;border-bottom:1px solid transparent}.link:hover{border-bottom-color:var(--rim)}.privacy{margin:0;text-align:center;font-size:calc(12.5px * var(--k));color:var(--dim)}.play{display:flex;flex-direction:column;height:100dvh}.bar{display:flex;align-items:center;gap:8px;padding:max(8px,env(safe-area-inset-top)) 10px 8px;background:linear-gradient(180deg,#101633f2,#10163399);border-bottom:1px solid var(--line);position:relative;z-index:2}.icon{width:44px;height:44px;display:grid;place-items:center;background:none;border:1px solid transparent;border-radius:12px;color:var(--ink)}.icon:hover{border-color:var(--line)}.icon svg{width:22px;height:22px}#mute .slash{opacity:0}#mute[aria-pressed=true] .slash{opacity:1}#mute[aria-pressed=true] .note{opacity:.45}.who{flex:1;min-width:0}.who h2{margin:0;font:700 calc(21px * var(--k))/1.2 "Reem Kufi",serif;color:var(--ember)}.who span{font-size:calc(12.5px * var(--k));color:var(--dim)}.stage{flex:1;min-height:0;display:flex;flex-direction:column}.scene{position:relative;height:clamp(230px,38dvh,520px);flex:none;overflow:hidden;background:var(--night)}.scene-svg{width:100%;height:100%;display:block}.scene-svg .tw{animation:twinkle 3.6s ease-in-out infinite}@keyframes twinkle{50%{opacity:.15}}.panel{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;padding:12px var(--gutter) max(12px,env(safe-area-inset-bottom));background:linear-gradient(180deg,var(--night-2),var(--night));border-top:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain}.goal{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:4px 10px}.goal-label{font-size:calc(12px * var(--k));color:var(--accent);border:1px solid rgba(242,154,56,.45);border-radius:999px;padding:0 10px}.goal p{margin:0;font-weight:500;font-size:.95em}.meter-line{margin:0;font-size:calc(12.5px * var(--k));color:var(--dim);white-space:nowrap}.meter-line b{color:var(--ember);font-weight:500}.why{margin:0;min-height:1.4em;font-size:calc(13px * var(--k));color:var(--ember);opacity:0;transition:opacity .4s}.why.on{opacity:1}.log{list-style:none;margin:0;padding:0;flex:1;min-height:calc(60px * var(--k));overflow-y:auto;display:flex;flex-direction:column;gap:8px;scroll-behavior:smooth}.msg{max-width:86%;padding:9px 14px;border-radius:var(--r);line-height:1.7;white-space:pre-wrap;word-wrap:break-word}.msg.me{align-self:flex-start;background:#f29a3824;border:1px solid rgba(242,154,56,.3);border-start-end-radius:4px}.msg.them{align-self:flex-end;background:var(--stone);border:1px solid var(--line);border-start-start-radius:4px}.msg.them:before{content:attr(data-name);display:block;font:700 calc(12px * var(--k))/1.4 "Reem Kufi",serif;color:var(--accent)}.msg.reveal{align-self:stretch;max-width:none;text-align:center;background:linear-gradient(180deg,#ffd27a2e,#f29a380f);border:1px solid var(--ember);font:700 1.15em/1.9 Reem Kufi,serif;color:var(--ember)}.msg.note{align-self:center;background:none;color:var(--dim);font-size:calc(13px * var(--k));padding:2px 8px}.msg.typing:after{content:"▍";color:var(--accent);animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.dots{display:inline-flex;gap:5px;padding:6px 0}.dots i{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:dot 1.2s ease-in-out infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes dot{40%{transform:translateY(-4px);opacity:1}0%,80%,to{opacity:.35}}.chips{display:flex;flex:none;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.chips::-webkit-scrollbar{display:none}.chip{flex:none;padding:7px 14px;border-radius:999px;font-size:calc(14px * var(--k));background:var(--stone);border:1px solid var(--line);color:var(--ink)}.chip:hover{border-color:#f29a388c}.say{display:flex;gap:8px}.say input{flex:1;min-width:0;min-height:48px;padding:0 14px;border-radius:var(--r);background:#0c1028;border:1px solid var(--line);color:var(--ink)}.say input::placeholder{color:#6e7392}.say input:focus{border-color:#f29a3899;outline:none}.say button,.primary{min-height:48px;padding:0 20px;border-radius:var(--r);border:0;background:var(--accent);color:var(--accent-ink);font-weight:500}.say button:disabled,.say input:disabled{opacity:.5;cursor:not-allowed}#ts-box{min-height:70px;display:flex;justify-content:center}.left{margin:0;text-align:center;font-size:calc(12.5px * var(--k));color:var(--dim)}dialog{border:0;padding:0;background:none;color:var(--ink);max-width:min(440px,calc(100% - 32px));width:100%;max-height:calc(100dvh - 32px);overflow-y:auto}dialog::backdrop{background:#060814b3;backdrop-filter:blur(3px)}.sheet{background:var(--night-2);border:1px solid var(--line);border-radius:18px;padding:20px;display:grid;gap:10px}.sheet h2{margin:0 0 4px;font:700 calc(22px * var(--k))/1.3 "Reem Kufi",serif;color:var(--ember)}.sheet p{margin:0;color:var(--ink)}.sheet .small{font-size:calc(12.5px * var(--k));color:var(--dim)}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;border-bottom:1px solid var(--line)}.row.col{flex-direction:column;align-items:stretch;justify-content:center;padding:6px 0}.row input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent)}.row input[type=range]{accent-color:var(--accent)}.sheet .primary{margin-top:6px}@media(min-width:900px){.stage{flex-direction:row}.scene{height:auto;flex:1.15}.panel{flex:1;border-top:0;border-inline-end:1px solid var(--line);max-width:520px}}@media(prefers-reduced-motion:reduce){.scene-svg .tw,.msg.typing:after,.dots i{animation:none}.door-card{transition:none}}.play[data-c=alim]{--accent: #E8935A;--accent-ink: #2A1206}.play[data-c=alim] .who h2{color:#f2b27a}.play[data-c=kaen]{--accent: #6FD3DB;--accent-ink: #04161A}.play[data-c=kaen] .who h2{color:#9beaee}.play[data-c=kaen] .goal-label{border-color:#6fd3db80}.play[data-c=alim] .goal-label{border-color:#e8935a80}.play[data-c=kaen] .msg.me{background:#6fd3db1f;border-color:#6fd3db4d}.play[data-c=alim] .msg.me{background:#e8935a24;border-color:#e8935a4d}.door-card .badge{position:relative;margin-top:6px;font-size:calc(11.5px * var(--k));color:var(--ember);border:1px solid rgba(255,210,122,.4);border-radius:999px;padding:0 8px}.msg.end{align-self:stretch;max-width:none;text-align:center;background:var(--stone-2);border:1px solid var(--accent);display:grid;gap:8px;justify-items:center;padding:14px}.msg.end b{font:700 1.2em/1.5 Reem Kufi,serif;color:var(--accent)}.msg.end p{margin:0;color:var(--dim);font-size:calc(14px * var(--k))}.msg.end .chip{margin:0 4px}.scene .hot{cursor:pointer;outline:none}.scene .hot:focus-visible>*{stroke:var(--ember);stroke-width:2;stroke-dasharray:4 4}.seg{display:flex;flex-wrap:wrap;gap:8px}.seg button{flex:1 1 auto;min-height:44px;padding:0 12px;border-radius:12px;background:var(--stone);border:1px solid var(--line);color:var(--ink)}.seg button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:500}.sheet .row>span{min-width:0}.fs-130 .meter-line,.fs-160 .meter-line,.fs-200 .meter-line{white-space:normal}.fs-130 .goal,.fs-160 .goal,.fs-200 .goal{grid-template-columns:auto 1fr}.fs-130 .goal #goal,.fs-160 .goal #goal,.fs-200 .goal #goal{grid-column:1 / -1;grid-row:2}.fs-130 .goal .meter-line,.fs-160 .goal .meter-line,.fs-200 .goal .meter-line{text-align:end}.fs-160 .scene,.fs-200 .scene{height:clamp(120px,22dvh,520px)}.fs-160 .doors,.fs-200 .doors{grid-template-columns:1fr}.fs-160 .door-card,.fs-200 .door-card{aspect-ratio:auto;min-height:150px;border-radius:80px 80px 12px 12px;padding-top:70px}.fs-160 .start-foot,.fs-200 .start-foot{flex-wrap:wrap}.msg,.goal p,.privacy,.left,.why{overflow-wrap:anywhere}@media(min-width:900px){.fs-160 .scene,.fs-200 .scene{height:auto}}.boot{position:fixed;inset:0;z-index:50;display:grid;place-content:center;justify-items:center;gap:14px;text-align:center;padding:24px;background:radial-gradient(120% 60% at 50% 105%,rgba(242,154,56,.16),transparent 60%),var(--night);transition:opacity .35s}.boot.gone{opacity:0;pointer-events:none}.boot .brand{font-size:clamp(64px,18vw,112px)}.boot p{margin:0;color:var(--dim);max-width:22em}.boot .primary{min-height:48px;padding:0 28px}@media(hover:hover){.scene .hot:hover>*{stroke:var(--ember);stroke-opacity:.55;stroke-width:2;filter:drop-shadow(0 0 5px rgba(255,210,122,.8))}}.scene.hint .hot>*{stroke:var(--ember);stroke-width:2;animation:hint 1.2s ease-in-out 3 forwards}@keyframes hint{0%,to{stroke-opacity:0}50%{stroke-opacity:.9;filter:drop-shadow(0 0 6px rgba(255,210,122,.9))}}@media(prefers-reduced-motion:reduce){.scene.hint .hot>*{animation:none;stroke:none}.boot{transition:none}}.scene .hot:focus-visible{outline:none}.chip:focus-visible,.link:focus-visible,.door-card:focus-visible,.say button:focus-visible,.primary:focus-visible,.icon:focus-visible,.seg button:focus-visible{outline:2px solid var(--ember);outline-offset:3px}.chips{padding:5px;margin:-5px}.say input:focus-visible{box-shadow:0 0 0 2px #ffd27a8c}.sheet .chip{justify-self:start}.scene .hot>rect,.scene .hot:hover>rect,.scene.hint .hot>rect{stroke:none!important;filter:none!important;animation:none!important}.scene .hot:focus-visible>rect{stroke:var(--ember)!important;stroke-width:2;stroke-dasharray:4 4}.page{max-width:720px;margin:0 auto;padding:max(24px,env(safe-area-inset-top)) var(--gutter) 40px}.page h1{font:700 calc(34px * var(--k, 1))/1.3 "Reem Kufi",serif;color:var(--ember);margin:16px 0 4px}.page h2{font:700 calc(20px * var(--k, 1))/1.4 "Reem Kufi",serif;color:var(--ember);margin:24px 0 8px}.page ul{padding-inline-start:1.2em}.page li{margin-bottom:10px}.page .small{font-size:13px;color:var(--dim)}.page hr{border:0;border-top:1px solid var(--line);margin:28px 0}.ts-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}#check::backdrop{backdrop-filter:none;background:#060814d1}.jukebox{position:fixed;inset:auto 12px 12px;z-index:50;background:var(--night-2);border:1px solid var(--accent);border-radius:14px;padding:10px;display:grid;gap:8px}.jb-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.jb-row b{min-width:52px;color:var(--ember);font-size:13px}.jukebox .chip.on{border-color:var(--accent);background:var(--stone-2)}
