/* Tinkimi web app — one column, sticky top bar, fixed bottom nav, RTL. */
:root{
  --bg:#EEF2EF; --surface:#FFFFFF; --sunk:#F4F7F5; --ink:#15211D; --muted:#5D6B66; --line:#DCE3DF;
  --accent:#0C7A63; --accent-ink:#FFFFFF; --accent-soft:#DDF0EA; --warm:#E8A33A; --danger:#B4412F; --online:#22A35A;
  --scrim:rgba(8,14,12,.62);
  --display:"Secular One","Assistant",system-ui,sans-serif;
  --body:"Assistant",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --r:14px; color-scheme:light;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#0F1614; --surface:#18221F; --sunk:#131C19; --ink:#E7EFEB; --muted:#93A39D; --line:#2A3632;
  --accent:#3DBF9D; --accent-ink:#06231C; --accent-soft:#1C3A32; --warm:#F0B957; --danger:#E3765F; --online:#3DDC84;
  --scrim:rgba(0,0,0,.72); color-scheme:dark}}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.bar{position:sticky;top:0;z-index:6;background:var(--surface);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}
.bar-in{max-width:680px;margin:0 auto;padding:8px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand .faces{width:62px;height:33px}
.brand h1{font-family:var(--display);font-weight:400;font-size:1.5rem;margin:0;color:var(--accent);direction:ltr}
.brand h1 span{color:var(--warm)}
.ib{width:40px;height:40px;border-radius:50%;border:0;background:var(--sunk);display:grid;place-items:center;color:var(--ink);flex:none}
.ib svg{width:20px;height:20px}

.nav{position:fixed;inset:auto 0 0 0;z-index:6;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.nav-in{max-width:680px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.nv{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px 7px;color:var(--muted);font-size:.76rem;font-weight:600;text-decoration:none}
.nv svg{width:23px;height:23px}
.nv[aria-current="page"]{color:var(--accent)}
.badge{position:absolute;top:4px;inset-inline-start:calc(50% + 4px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--danger);color:#fff;font-size:.7rem;display:grid;place-items:center}

main{max-width:680px;margin:0 auto;padding:14px max(16px,env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:12px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.h2{font-family:var(--display);font-weight:400;font-size:1.35rem;margin:0}
.meta{font-size:.82rem;color:var(--muted)}
.row{display:flex;align-items:center;gap:10px}
.row-end{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.who{display:flex;flex-direction:column;min-width:0;flex:1}
.name{font-weight:700;color:var(--ink);text-decoration:none}
.name:hover{color:var(--accent)}
.empty{text-align:center;color:var(--muted);padding:28px 16px}
.empty strong{display:block;color:var(--ink);font-family:var(--display);font-weight:400;font-size:1.15rem;margin-bottom:4px}
.notice{background:var(--accent-soft);border-radius:12px;padding:10px 14px;font-size:.92rem}
.err{color:var(--danger);font-size:.92rem;margin:0}

.btn{border:0;border-radius:999px;padding:9px 18px;font-weight:700;background:var(--accent);color:var(--accent-ink);white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.btn:disabled{opacity:.5;cursor:default}
.btn.ghost{background:var(--accent-soft);color:var(--accent)}
.btn.plain{background:var(--sunk);color:var(--ink)}
.btn.danger{background:var(--danger);color:#fff}
.btn.small{padding:6px 14px;font-size:.88rem}
.btn svg{width:18px;height:18px}
.field{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.9rem}
.inp,.field input,.field textarea{border:1px solid var(--line);background:var(--sunk);border-radius:12px;padding:10px 12px;font-weight:400;font-size:1rem;width:100%}
textarea{resize:vertical}

.av{border-radius:50%;object-fit:cover;flex:none;background:var(--sunk)}
.av32{width:32px;height:32px}.av40{width:40px;height:40px}.av56{width:56px;height:56px}.av96{width:96px;height:96px}

/* auth */
.auth{max-width:420px;margin:24px auto 0;display:flex;flex-direction:column;gap:14px}
.auth .logo{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.auth .logo svg{width:120px;height:64px}
.auth .logo h1{font-family:var(--display);font-weight:400;font-size:2.6rem;margin:0;color:var(--accent);direction:ltr}
.auth .logo h1 span{color:var(--warm)}
.tabs{display:flex;background:var(--sunk);border-radius:999px;padding:4px}
.tabs button{flex:1;border:0;background:none;border-radius:999px;padding:8px;font-weight:700;color:var(--muted)}
.tabs button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.auth form{display:flex;flex-direction:column;gap:12px}

/* composer & posts */
.composer{display:flex;flex-direction:column;gap:10px}
.composer textarea{min-height:70px;border:1px solid var(--line);background:var(--sunk);border-radius:12px;padding:10px 12px;width:100%}
.tools{display:flex;gap:6px;flex-wrap:wrap}
.tool{display:flex;align-items:center;gap:6px;border:0;background:var(--sunk);border-radius:999px;padding:6px 12px;font-weight:600;font-size:.9rem}
.tool svg{width:18px;height:18px;color:var(--accent)}
.thumbs{display:flex;gap:8px;flex-wrap:wrap}
.thumb{position:relative;width:84px;height:84px;border-radius:10px;overflow:hidden;background:var(--sunk)}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb button{position:absolute;top:4px;inset-inline-start:4px;width:24px;height:24px;border-radius:50%;border:0;background:var(--scrim);color:#fff;line-height:1}
.post{display:flex;flex-direction:column;gap:10px}
.text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.media{display:grid;gap:3px;border-radius:12px;overflow:hidden}
.media.n2,.media.n3,.media.n4{grid-template-columns:1fr 1fr}
.media.n3 > :first-child{grid-column:1 / -1}
.media img{width:100%;display:block;object-fit:cover;max-height:520px;background:var(--sunk);cursor:zoom-in}
.media.n2 img,.media.n3 img,.media.n4 img{aspect-ratio:1}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;border-top:1px solid var(--line);padding-top:6px}
.act{display:flex;align-items:center;justify-content:center;gap:6px;background:none;border:0;border-radius:10px;padding:7px;font-weight:600;color:var(--muted)}
.act:hover{background:var(--sunk)}
.act.on{color:var(--accent)}
.act svg{width:18px;height:18px}
.more{background:none;border:0;color:var(--muted);font-size:.85rem;padding:4px 6px;border-radius:8px}
.more:hover{color:var(--danger)}
.comments{display:flex;flex-direction:column;gap:8px}
.cmt{display:flex;gap:8px;align-items:flex-start}
.bubble{background:var(--sunk);border-radius:14px;padding:6px 12px;min-width:0}
.bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.inline-form{display:flex;gap:8px;align-items:center}
.inline-form input{flex:1;min-width:0;border:1px solid var(--line);background:var(--sunk);border-radius:999px;padding:8px 14px}

/* people & profile */
.list{display:flex;flex-direction:column;gap:8px}
.person{display:flex;align-items:center;gap:12px}
.av.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--online)}
.ptop{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.pname{font-family:var(--display);font-weight:400;font-size:1.6rem;margin:0}
.stats{display:flex;gap:18px;color:var(--muted);font-size:.92rem;justify-content:center}
.stats b{color:var(--ink)}
.seg{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}

/* messages */
.thread{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;text-decoration:none;color:var(--ink)}
.thread .txt{flex:1;min-width:0}
.thread .txt span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thread.unread .txt span{font-weight:700;color:var(--ink)}
.dot{width:10px;height:10px;border-radius:50%;background:var(--accent);flex:none}
.chat-head{display:flex;align-items:center;gap:10px}
.chat{display:flex;flex-direction:column;gap:4px;padding:6px 0}
.msg{max-width:78%;padding:7px 12px;border-radius:18px;background:var(--surface);border:1px solid var(--line);align-self:flex-start;white-space:pre-wrap;overflow-wrap:anywhere}
.msg.me{align-self:flex-end;background:var(--accent);color:var(--accent-ink);border-color:transparent}
.msg .t{font-size:.7rem;opacity:.72;display:block}
.day{align-self:center;font-size:.75rem;color:var(--muted);padding:6px 0}
.chat-form{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));display:flex;gap:8px;align-items:center;background:var(--bg);padding-block:8px}
.chat-form input{flex:1;min-width:0;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:10px 16px}
.rec{background:var(--danger)!important;color:#fff!important}
.rec svg{color:#fff!important}

/* overlays */
.ov{position:fixed;inset:0;z-index:30;background:var(--scrim);display:flex;align-items:flex-end;justify-content:center}
@media (min-width:640px){.ov{align-items:center}}
.sheet{background:var(--surface);width:100%;max-width:520px;max-height:88vh;overflow:auto;border-radius:18px 18px 0 0;padding:16px 16px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}
@media (min-width:640px){.sheet{border-radius:18px}}
.sheet-head{display:flex;justify-content:space-between;align-items:center}
.x{width:36px;height:36px;border-radius:50%;border:0;background:var(--sunk)}
.pick{display:flex;align-items:center;gap:12px;padding:8px 6px;border-radius:10px;cursor:pointer}
.pick:hover{background:var(--sunk)}
.pick input{width:20px;height:20px;accent-color:var(--accent)}
.lightbox{background:rgba(0,0,0,.92);align-items:center}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain}

/* calls */
.call{position:fixed;inset:0;z-index:50;background:#0B1210;color:#fff;display:flex;flex-direction:column}
.call-top{padding:calc(12px + env(safe-area-inset-top)) 16px 8px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.call-top .meta{color:rgba(255,255,255,.7)}
.grid{flex:1;display:grid;gap:6px;padding:6px;min-height:0;grid-template-columns:1fr}
.grid.n2,.grid.n3,.grid.n4{grid-template-columns:1fr 1fr}
.tile{position:relative;background:#1B2622;border-radius:14px;overflow:hidden;min-height:0;display:grid;place-items:center}
.tile video{width:100%;height:100%;object-fit:cover;background:#1B2622}
.tile .label{position:absolute;bottom:8px;inset-inline-start:8px;background:rgba(0,0,0,.55);padding:2px 10px;border-radius:999px;font-size:.85rem}
.tile .wait{color:rgba(255,255,255,.7);text-align:center;padding:16px}
.self{position:absolute;bottom:calc(96px + env(safe-area-inset-bottom));inset-inline-end:16px;width:min(28vw,150px);aspect-ratio:3/4;border-radius:12px;overflow:hidden;border:2px solid rgba(255,255,255,.4);background:#000;z-index:2}
.self video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}
.controls{display:flex;justify-content:center;gap:16px;padding:14px 16px calc(18px + env(safe-area-inset-bottom))}
.cbtn{width:56px;height:56px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;display:grid;place-items:center}
.cbtn svg{width:24px;height:24px}
.cbtn.off{background:#fff;color:#0B1210}
.cbtn.end{background:#E0483A}
.ringing{position:fixed;inset-inline:16px;top:calc(16px + env(safe-area-inset-top));z-index:60;max-width:440px;margin-inline:auto;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px;display:flex;align-items:center;gap:12px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
@media (prefers-reduced-motion:no-preference){.ringing{animation:ring 1.4s ease-in-out infinite}@keyframes ring{50%{transform:translateY(3px)}}}

.toast{position:fixed;bottom:calc(84px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--ink);color:var(--surface);padding:8px 16px;border-radius:999px;font-size:.9rem;z-index:70;max-width:calc(100% - 32px);text-align:center}
