@font-face{font-family:Kufam;font-weight:500;font-display:swap;src:url(/fonts/kufam-arabic-500.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Kufam;font-weight:700;font-display:swap;src:url(/fonts/kufam-arabic-700.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Kufam;font-weight:900;font-display:swap;src:url(/fonts/kufam-arabic-900.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Kufam;font-weight:500;font-display:swap;src:url(/fonts/kufam-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF}
@font-face{font-family:Kufam;font-weight:700;font-display:swap;src:url(/fonts/kufam-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF}
@font-face{font-family:Kufam;font-weight:900;font-display:swap;src:url(/fonts/kufam-latin-900.woff2) format("woff2");unicode-range:U+0000-00FF}
@font-face{font-family:Plex;font-weight:400;font-display:swap;src:url(/fonts/plex-arabic-400.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Plex;font-weight:500;font-display:swap;src:url(/fonts/plex-arabic-500.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Plex;font-weight:600;font-display:swap;src:url(/fonts/plex-arabic-600.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Plex;font-weight:400;font-display:swap;src:url(/fonts/plex-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF}
@font-face{font-family:Plex;font-weight:500;font-display:swap;src:url(/fonts/plex-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF}
@font-face{font-family:Plex;font-weight:600;font-display:swap;src:url(/fonts/plex-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF}

:root{
  --ink:#131217; --surface:#1F1D25; --surface-2:#2A2732; --line:#37333F;
  --paper:#F5F0E6; --paper-dim:#A8A2B0; --coral:#FF5A36; --lime:#D4F34A; --on-accent:#131217;
  --gut:clamp(16px,3vw,32px); --r:24px;
  --head:Kufam,Plex,system-ui,sans-serif; --body:Plex,system-ui,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0}
[hidden]{display:none!important}
html,body{height:100%}
body{background:var(--ink);color:var(--paper);font:400 16px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
button,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.muted{color:var(--paper-dim)}

/* ---------- البداية ---------- */
.screen{min-height:100dvh;padding:calc(var(--gut) + env(safe-area-inset-top)) var(--gut) calc(var(--gut) + env(safe-area-inset-bottom))}
#welcome{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(24px,5vw,72px);align-items:stretch}
.hero{display:flex;flex-direction:column;justify-content:flex-end;gap:14px;padding-block:clamp(8px,4vw,40px)}
.hero-logo{width:clamp(72px,11vw,132px);height:clamp(72px,11vw,132px);margin-block-end:auto}
.hero h1{font:900 clamp(84px,15vw,210px)/1 var(--head);letter-spacing:-.01em}
.hero p{font-size:clamp(17px,1.7vw,22px);color:var(--paper-dim);max-width:30ch}
.choices{display:grid;grid-template-rows:1fr 1fr;gap:14px;min-height:0}
.choice{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;text-align:start;padding:clamp(20px,3vw,36px);border-radius:var(--r);color:var(--on-accent);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.choice:hover{transform:translateY(-4px)}
.choice:active{transform:scale(.985)}
.choice.coral{background:var(--coral)}
.choice.lime{background:var(--lime)}
.choice strong{font:900 clamp(30px,4.4vw,62px)/1.15 var(--head);position:relative}
.choice small{font-size:clamp(15px,1.3vw,18px);font-weight:500;position:relative}
.choice-art{position:absolute;inset-inline-start:clamp(-34px,-2vw,-14px);top:clamp(-34px,-2vw,-14px);width:clamp(150px,19vw,260px);aspect-ratio:1}
/* رسمة باركود مسطحة */
.qr-art i{position:absolute;width:37%;height:37%;border:clamp(12px,1.6vw,22px) solid var(--ink);border-radius:18%}
.qr-art i:nth-child(1){inset:auto 0 0 auto}
.qr-art i:nth-child(2){top:0;left:0}
.qr-art i:nth-child(3){top:0;right:0}
.qr-art b{position:absolute;background:var(--ink);width:12%;height:12%;border-radius:22%}
.qr-art b:nth-of-type(1){left:0;bottom:0;width:37%}
.qr-art b:nth-of-type(2){left:0;bottom:24%}
.qr-art b:nth-of-type(3){left:25%;bottom:24%}
.qr-art b:nth-of-type(4){left:44%;top:44%}
/* رسمة عدسة */
.lens-art{border:clamp(20px,2.6vw,36px) solid var(--ink);border-radius:50%}
.lens-art i{position:absolute;inset:22%;background:var(--ink);border-radius:50%;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.choice:hover .lens-art i{transform:scale(.7)}

/* ---------- الربط ---------- */
.pair-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;position:relative}
.pair-screen h2,#locking h2{font:900 clamp(26px,4vw,44px)/1.25 var(--head)}
.pair-screen p{max-width:38ch}
.back{position:absolute;top:calc(var(--gut) + env(safe-area-inset-top));inset-inline-start:var(--gut);background:var(--surface);padding:8px 18px;border-radius:99px;font-weight:500}
.qr-sheet{background:var(--paper);padding:clamp(18px,3vw,28px);border-radius:var(--r);width:min(76vw,46vh,400px);aspect-ratio:1}
#qr,#qr svg{display:block;width:100%;height:100%}
.viewfinder{position:relative;width:min(86vw,54vh,460px);aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:var(--surface)}
.viewfinder video{width:100%;height:100%;object-fit:cover;display:block}
.corners{position:absolute;inset:14%;
  --c:var(--lime);--l:15%;--w:6px;
  background:
    linear-gradient(var(--c) 0 0) 0 0/var(--l) var(--w),linear-gradient(var(--c) 0 0) 0 0/var(--w) var(--l),
    linear-gradient(var(--c) 0 0) 100% 0/var(--l) var(--w),linear-gradient(var(--c) 0 0) 100% 0/var(--w) var(--l),
    linear-gradient(var(--c) 0 0) 0 100%/var(--l) var(--w),linear-gradient(var(--c) 0 0) 0 100%/var(--w) var(--l),
    linear-gradient(var(--c) 0 0) 100% 100%/var(--l) var(--w),linear-gradient(var(--c) 0 0) 100% 100%/var(--w) var(--l);
  background-repeat:no-repeat}

#locking{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.lock-art{width:min(62vw,44vh);height:min(62vw,44vh);overflow:visible}
.slide-a{animation:inA 1s cubic-bezier(.7,0,.15,1.15) both}
.slide-b{animation:inB 1s cubic-bezier(.7,0,.15,1.15) both}
#locking h2{animation:rise .4s .85s both}
@keyframes inA{from{transform:translate(-170px,170px)}}
@keyframes inB{from{transform:translate(170px,-170px)}}
@keyframes rise{from{opacity:0;transform:translateY(10px)}}

/* ---------- اللوحة ---------- */
.board{min-height:100dvh;display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;padding:calc(12px + env(safe-area-inset-top)) var(--gut) 12px;background:var(--ink)}
.brand{display:flex;align-items:center;gap:9px;font:900 24px/1 var(--head);margin-inline-end:auto}
.brand svg{width:32px;height:32px}
.status{display:flex;align-items:center;gap:8px;padding:6px 14px;border-radius:99px;background:var(--surface);font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.status span{overflow:hidden;text-overflow:ellipsis}
.status i{flex:none;width:9px;height:9px;border-radius:50%;background:var(--coral)}
.status[data-state=on]{background:var(--lime);color:var(--on-accent)}
.status[data-state=on] i{background:var(--on-accent)}
.status[data-state=wait] i{animation:blink 1.2s infinite}
@keyframes blink{50%{opacity:.25}}
.icon-btn{flex:none;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--surface)}
.icon-btn svg{width:22px;height:22px}

.wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));grid-auto-rows:4px;column-gap:14px;padding:6px var(--gut) 130px;flex:1;align-content:start}
.cell{min-width:0}
.card{position:relative;border-radius:var(--r);overflow:hidden;background:var(--surface);animation:pop .4s cubic-bezier(.2,.9,.25,1.1) both}
@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.97)}}
.card-foot{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500}
.tag{display:inline-flex;align-items:center;gap:6px}
.tag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--dot,var(--lime))}
.mine{--dot:var(--coral)}
.time{opacity:.65;margin-inline-end:auto}
.link-btn{font-size:13px;font-weight:600;padding:2px 0;opacity:.7}
.link-btn:hover{opacity:1}
.remove{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;opacity:.55;flex:none}
.remove:hover{opacity:1;background:rgb(127 127 127/.22)}
.remove svg{width:16px;height:16px}

/* زر الزاوية */
.corner{position:absolute;top:12px;inset-inline-end:12px;z-index:2;display:flex;align-items:center;gap:6px;height:40px;padding-inline:14px;border-radius:99px;background:var(--ink);color:var(--paper);font-size:14px;font-weight:600;transition:transform .15s,background .15s}
.corner:hover{transform:scale(1.05)}
.corner svg{width:18px;height:18px}
.corner.done{background:var(--lime);color:var(--on-accent)}

/* الرسائل */
.note{padding:18px 20px 12px}
.note.in{background:var(--paper);color:var(--ink)}
.note.in .link-btn,.note.in .time{color:var(--ink)}
.note .say{white-space:pre-wrap;overflow-wrap:anywhere;font-size:18px;line-height:1.75;font-weight:500;padding-block:40px 14px;max-height:430px;overflow:hidden}
.note.open .say{max-height:none}
.note .say a{color:inherit;text-decoration-thickness:2px;text-underline-offset:3px}
.note.in .say a{text-decoration-color:var(--coral)}
.note.big .say{font:700 clamp(24px,2.3vw,30px)/1.45 var(--head)}

/* الوسائط */
.media{position:relative;background:#0B0A0E;display:block;width:100%}
.media img,.media video{display:block;width:100%;max-height:520px;object-fit:contain}
.media img{cursor:zoom-in}
.meta{padding:12px 16px 10px}
.fname{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-block-end:2px}
.fsize{font-weight:400;opacity:.7}

/* صوت */
.audio-card{background:var(--surface-2)}
.player{display:flex;align-items:center;gap:12px;padding:66px 16px 6px}
.play{flex:none;width:54px;height:54px;border-radius:50%;background:var(--lime);color:var(--on-accent);display:grid;place-items:center}
.play svg{width:24px;height:24px}
.bars{flex:1;height:54px;display:flex;align-items:center;gap:2px;cursor:pointer;min-width:0;direction:ltr}
.bars i{flex:1;min-width:1px;background:var(--line);border-radius:2px}
.bars i.on{background:var(--lime)}
.clock{font-size:13px;font-variant-numeric:tabular-nums;opacity:.8;flex:none}

/* ملف عام */
.tile{min-height:190px;display:flex;align-items:flex-end;padding:18px;background:var(--surface-2);overflow:hidden}
.tile span{font:900 clamp(52px,6vw,76px)/1 var(--head);color:var(--coral);direction:ltr;overflow:hidden;white-space:nowrap}

/* التقدم */
.progress{padding:18px 18px 14px;background:var(--surface-2)}
.progress .pct{font:900 44px/1.1 var(--head);font-variant-numeric:tabular-nums;direction:ltr;display:block;text-align:start;unicode-bidi:plaintext}
.progress .what{font-size:14px;color:var(--paper-dim);min-height:22px}
.track{height:10px;border-radius:99px;background:var(--line);overflow:hidden;margin-block:10px 2px}
.track i{display:block;height:100%;width:0;background:var(--lime);border-radius:99px;transition:width .2s linear}
.failed .progress .pct{color:var(--coral);font-size:26px}
.failed .track{display:none}

/* المرسال */
.dock{position:fixed;z-index:6;bottom:calc(14px + env(safe-area-inset-bottom));inset-inline:50%;transform:translateX(50%);width:min(calc(100% - 2 * var(--gut)),720px);display:flex;align-items:flex-end;gap:8px;padding:8px;border-radius:32px;background:var(--surface-2);border:1px solid var(--line)}
.dock textarea{flex:1;min-width:0;resize:none;border:0;background:none;outline:0;padding:9px 6px;max-height:34vh;line-height:1.5;font-size:17px}
.dock textarea::placeholder{color:var(--paper-dim)}
.dock-btn{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;transition:transform .15s}
.dock-btn:hover{transform:scale(1.07)}
.dock-btn svg{width:22px;height:22px}
.attach{background:var(--surface);}
.send{background:var(--coral);color:var(--on-accent)}
.mic{background:var(--surface)}
.mic.on{background:var(--lime);color:var(--on-accent);animation:listen 1.1s ease-in-out infinite}
@keyframes listen{50%{transform:scale(1.12)}}

.empty{position:absolute;inset-inline:var(--gut);top:90px;bottom:110px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;pointer-events:none}
.empty-big{font:900 clamp(72px,14vw,190px)/1.08 var(--head);color:var(--surface-2)}

.drop{position:fixed;inset:10px;z-index:9;border-radius:var(--r);background:var(--lime);color:var(--on-accent);display:grid;place-items:center;font:900 clamp(40px,8vw,96px)/1 var(--head);pointer-events:none}

/* القوائم */
dialog{border:0;color:inherit}
dialog::backdrop{background:rgb(10 9 13/.72)}
.sheet{margin:auto;width:min(calc(100vw - 32px),420px);padding:22px;border-radius:var(--r);background:var(--surface)}
.sheet h3{font:900 24px/1.35 var(--head);margin-block-end:4px}
.sheet .muted{font-size:14px;margin-block-end:14px}
.hint{font-size:14px;color:var(--paper-dim);padding:6px 4px 12px}
.row{display:block;width:100%;padding:13px 16px;margin-block-start:8px;border-radius:16px;background:var(--surface-2);font-weight:600;text-align:start}
.row:hover{background:var(--line)}
.row.danger{color:var(--coral)}
.row.quiet{background:none;color:var(--paper-dim);text-align:center}
.ask-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-block-start:10px}
.ask-row .row{text-align:center}
.viewer{width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;background:var(--ink)}
.viewer img{width:100%;height:100%;object-fit:contain;display:block}
.viewer .icon-btn{position:fixed;top:calc(14px + env(safe-area-inset-top));inset-inline-end:14px}

.toast{position:fixed;z-index:20;bottom:calc(92px + env(safe-area-inset-bottom));inset-inline:0;margin-inline:auto;width:fit-content;max-width:calc(100vw - 32px);padding:9px 18px;border-radius:99px;background:var(--paper);color:var(--ink);font-weight:600;animation:rise .2s both}

@media (max-width:760px){
  #welcome{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:18px}
  .hero{padding:0;gap:6px}
  .hero-logo{width:60px;height:60px;margin-block-end:10px}
  .hero h1{font-size:clamp(68px,22vw,104px)}
  .hero p{font-size:16px}
  .choices{min-height:340px}
  .choice-art{width:132px}
  .status{font-size:13px;padding:5px 11px}
  .brand span{display:none}
}
@media (hover:none){.choice:hover{transform:none}.dock-btn:hover{transform:none}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
